Building the University of Michigan Digital Library:

Interacting Software Agents in Support of Inquiry-Based Education

Daniel E. Atkins, William P. Birmingham, Edmund H. Durfee, Eric Glover, Tracy Mullen, Elke A. Rundensteiner, Elliot Soloway, Jose M. Vidal, Raven Wallace, Michael P. Wellman[1]

University of Michigan
Ann Arbor, MI 48109

Keywords: Digital library architecture, inquiry-based education, software agents, distributed search, team formation, market-based resource allocation.

A revised version of this paper will appear in the IEEE Computer special issue on Building Large-Scale Digital Libraries, May 1996.


The University of Michigan Digital Library (UMDL) is a large-scale effort to provide information services for research and education, in university and high school environments. Supporting our wide range of users and uses presents daunting problems of scale and heterogeneity. We address these issues in the UMDL by designing an open, distributed system architecture where interacting software agents cooperate and compete to provide library services. The distributed architecture promotes modularity, flexibility, and incremental development, and accommodates diversity in current and future library environments. At the same time, distribution presents difficult problems in interoperability, coordination, search, and resource allocation. We coordinate activity in the UMDL by dynamically forming agent teams to perform complex library tasks. A virtual economy of information goods and services directs resource allocation in the distributed system. We report some of the main concepts and results from our efforts to date in designing and implementing a large-scale digital library using this approach. In particular, experience in deploying the UMDL in high school classrooms has driven our requirements for developing specialized agent services.

1. Introduction

True access to the human record means the ability to find desired information without prohibitive search or being overwhelmed with potentially relevant sources. Libraries facilitate this access through two mechanisms: an overall organization to the information they contain, and services performed by highly skilled individuals, such as reference librarians. Librarians themselves often rely on other services to do their jobs, such as information systems or bibliographic databases.

Digital libraries must likewise provide organizational schemes, as well as a wide variety of services. While it is generally assumed that vast amounts of information will be available through digital libraries (and delivered in new and interesting ways) it is the bounty of services that we believe will ultimately demonstrate the potential of digital libraries.

The University of Michigan Digital Library (UMDL) project (Birmingham et al., 1993) is a large-scale, multidisciplinary effort to design, build, and deploy a flexible, scalable infrastructure for rendering library services in a digital networked environment. When fully developed, the UMDL will provide users with a wealth of information sources and library services. Moreover, because we cannot pretend to anticipate to anticipate all the types of services that will eventually constitute a digital library, the UMDL will provide a medium for third-party developers to produce and deliver new services and collections.

We are deploying the UMDL in three different arenas aimed at fundamentally different users: secondary school science classrooms, the University library, and space-science laboratories. Computer skills, information demands, and level of subject knowledge vary greatly among these user populations. Addressing the special needs of high school students within a general-purpose digital library particularly stresses the flexibility of our underlying architecture by forcing us to support services quite distinct from the standard fare found in other digital libraries or on the world-wide web.

The UMDL project is designed to accommodate this diversity, with special focus on inquiry-based education in secondary schools. At a time when a number of researchers and policy groups argue that students need to engage in sustained inquiry activities to promote more in-depth understanding of science, the wealth of resources available through digital libraries provide an outstanding opportunity to vitalize science education in public schools. However, we must be careful to avoid inflated expectations (typical in the annals of technology in the schools), recognizing that technology is just one part of a complex educational environment. An entire complex involving students, teachers, and curriculum materials and plans must be woven together for a successful digital classroom library.

This paper describes how we are addressing our ambitious scale and heterogeneity requirements through the design of an open, distributed environment for interacting software agents. We present key features of the UMDL architecture--including automated team formation, structuring the information space, and market-based resource allocation--that support the coordination of agent activities in the provision of library services. After returning to the challenge of inquiry-based education, we conclude by outlining the status of this project, including current content and capabilities of the UMDL and its deployment in the Ann Arbor high schools.

2. Distributed Agent Architecture

2.1 Strategy: Agents for Specialized Tasks

Because digital-library technology is changing at such a rapid pace, we believe that it is critical to accommodate future innovations in user interfaces, search engines, and the structure of information sources. Rather than adopt specific standards, therefore, we define a system architecture that performs generic management operations, such as allocating resources to user-requested tasks and brokering connections among collaborating system modules. For instance, the UMDL architecture specifies a language and protocol for communicating about informational or processing capabilities and interests, so that users and collections can be brought together appropriately. At that point, however, what they do with that connection (how they interact to accomplish their task) is not determined at the level of our architecture.

Distributing tasks to large numbers of specialized, fine-grained modules promotes modularity, flexibility, and incrementality, as new services can come and go without disturbing the overall system. We refer to these modules as agents, emphasizing their local knowledge about specific tasks, and their autonomy with respect to the overall system. Limiting the complexity of any individual agent simplifies control, promotes reusability, and provides a framework for tackling the interoperability problems. Each agent supports a highly specialized library task, as well as a generic communication interface. The advantage of this combination is that the task competence made possible by specialization can be brought to bear in a wide variety of situations, through flexible interaction with other agents.

For example, in formulating a query, it may be useful to generate synonyms for specified terms, in order to produce query variants that are likely to find relevant documents. In an alternate search scheme, synonyms might be useful in assessing how well some text matches an already formulated query. By encapsulating a general synonym service within a specialized thesaurus agent, we can provide the component functionality without committing to how it is to be employed system-wide.

2.2 Agent Types

Figure 1 depicts the three broad classes of agents populating the UMDL:

Figure 1: UMDL agent types.

The agent architecture serves modularity and extensibility by enabling us to develop specialized capabilities, and add these capabilities to the UMDL as needed. For example, by introducing new UIAs, we can create user interfaces that are customized to a particular class of users rather than to a particular collection or access mechanism. These UIAs, in turn, can call on any mediator services available in the system.

2.3 Agent Teams

Complex UMDL tasks require the coordination of multiple specialized agents working together on behalf of users and collection providers. While the scope and nature of the desired tasks will continually evolve, a fundamental requirement of agents is that they be able to form teams. Agents must therefore be capable of describing their capabilities in a way that other agents understand, and communicating these descriptions to other agents.

2.3.1 Levels of Agent Communication

UMDL agents communicate at three distinct levels of abstraction. At the lowest level, agents employ network protocols such as TCP/IP to transport messages among themselves. How these messages are interpreted and processed is dictated by task-specific protocols. For example, agents could employ SQL to convey a request to perform a particular data retrieval task. UMDL in general imposes no restrictions on task-specific protocols; whoever designs and introduces agents to the network can freely choose the language(s) that the agents speak.

Of course, agents are more likely to be frequently used if they communicate in more widely-adopted languages. In particular, a desire for broad interoperability between information sources and user interfaces in the UMDL can provide incentives to support standards like Z39.50 that are in wide use in libraries. This increases the likelihood that a query posed by a user could be answered by diverse collections in the UMDL. While standardization of this sort has significant benefits (and in fact many current UMDL agents do communicate in Z39.50), it is not a requirement for joining UMDL.

The capabilities of a specialized agent will remain untapped unless the agent can make its abilities and location known, and participate in the team-formation process. We thus define special protocols for the team formation and negotiation tasks, shared by all UMDL agents. These UMDL protocols represent the third level of abstraction in agent communication.

2.3.2 Conspectus Language

UMDL agents are defined by the information content they can deliver, the information services they can render, or both. To participate in UMDL protocols, agents need a language for describing these capabilities, including what they can contribute to an agent team, and what their limitations might be (e.g., task-specific protocols they can speak). Facilitators can also use this Conspectus Language (CL) to describe (perhaps partially) capabilities that are required to participate in a team. CL thus serves both as a language for disclosing capabilities and for querying about capabilities.

To discern the intent of a message incorporating CL or other expressions, the UMDL protocols adopt a flexible notion of message types, patterned after KQML (Finin et al., 1994). UMDL message types (called "performatives" in KQML) correspond to high-level communication acts. For example, messages intended to inform are of type TELL, and the purpose of ASK messages is to elicit information. CL expressions can be included in the content of a message, with the message type dictating the intent of the message (conveying what the recipient is supposed to do with the supplied content). The UMDL protocols define a small number of standard message types that all agents should be able to interpret and process appropriately.

2.3.3 Registry Agent

The UMDL protocols are designed to allow agents to advertise themselves and find each other based on capabilities. Rather than have every agent maintain individual models of all others and periodically broadcast its descriptions to every other agent, we employ a designated registry agent. The registry is special in several respects. First, it is assumed to be known to all other agents at their inception, thus avoiding the bootstrapping problem. Second, all agents are capable of communicating with the registry using the UMDL protocols, as detailed further below. Third, the registry provides its services for a static price (currently free).[2]

The registry agent maintains a database containing information about all the agents in the UMDL system, including their respective content and capability descriptions. The registry agent accepts descriptions expressed in CL, and updates the database accordingly. Descriptions contained in the registry specify the following types of characteristics:

One simple, yet representative, example of a CL description is that characterizing an author index agent:

< CL description { 
	<Agent_ID AID_777>
	<Agent_type Author_index>
		<Author *$A> <CIA $U*> >
	<Task_Language SQL>
		<Broad_Topics 'SCIENCES'>
		<Last_updated 12.31.1995>
		<Frequency_of_update end_of_year> >
	<Pricing fixed (1-bibliobuck-per-search) >
	<Content_Language {English,German,Latin}> } 
The author index agent is representative of a general class of UMDL agents that support search across a fixed set of information sources without executing the search request in each of them. Its CL description specifies its type and describes the service it provides in terms of what interactions are supported. The <Capability> field specifies that the agent accepts queries with a specific author $A as bound input parameter, and returns the associated CIAs for all collections in which the author is known to appear (cf. (Rajaraman et al., 1995)).[3] It does not, however, accept requests of the reverse order--asking for authors associated with a particular collection.

The registry agent communicates using UMDL protocols, translating incoming requests into queries on the registry database. Since the availabililty and fault-tolerance of this service is critical, we employ a persistent implementation of the registry database, currently using an SQL server. This supports the basic properties of consistency, concurrency, and recovery, and enables a high throughput of concurrent agent requests. Our second-generation registry agent, under development, uses a more powerful, distributed, and open architecture.[4]

2.3.4 The UMDL System

We have instantiated a first version of the distributed agent architecture, containing on the order of a hundred CIAs, and spawning a UIA for each active user. In addition to the registry, we have implemented several other mediator agent types. Three of these, the query planner, the market facilitator, and the remora, are described further below.

3. Search

In any given UMDL context, the core task is to find the right combinations of information content and services to satisfy the objectives of the participants. This could mean answering the question of a user, finding customers for the content of a publisher, applying a sequence of format translation services, etc. In all of these cases, the fundamental activity is search for useful content or services at minimal combinations of effort, time, and (dollar) cost.

Within UMDL, search takes several forms. Once a user (represented by a UIA) is in contact with a collection (CIA), the search concerns documents from the collection that satisfy the user's specifications. We refer to this level of search as collection search. Before collection search takes place, however, appropriate collections must be identified from among the multitude of those available based on how agents have described themselves in the conspectus language. We refer to this level of search as conspectus search. Finding mediators with particular capabilities is another form of conspectus search. In the UMDL, these various types of search are interleaved in order to accomplish an overall task.

3.1 Collection Search

As explained in Section 2.1, the UMDL architecture supports arbitrary types of collections and search engines by encapsulating them using CIAs. Thus we can accommodate collections that offer common retrieval protocols (such as Z39.50 gateways), as well as those that require their own custom browsers (such as the Blue-Skies weather service (Samson et al., 1994)). We have extended those in the former category by developing Z39.50 interfaces for MIRLYN (which provides access to the University of Michigan library catalog and several abstracting and indexing databases), FTL (a UMDL-specific search engine), and WAIS. We are also investigating the use of structuring techniques for search across complex objects, such as SGML documents (Nica and Rundensteiner, 1995).

There are two modes for interacting with (both searching and browsing) collections. If the UIA knows which collection is desired (perhaps based on a prior conspectus search, described in Section Error! Reference source not found.), then the user connects directly to this collection's CIA and uses the native retrieval facilities. Alternately, the UIA may conduct a search across collections, relying on an information fusion agent to organize the results, combining or ranking the retrieved information for presentation to the user.

3.2 Conspectus Search

Conspectus search aims to find an appropriate connection between service/content providers and consumers based on the needs and capabilities of agents as described in the conspectus language. Typical conspectus search tasks include finding appropriate collections for a user to search over, identifying authors of a particular work, or determining the cheapest price for access to a certain piece of information. This generally involves several intermediate tasks, including other conspectus search tasks. For example, in the course of finding appropriate collections for a user, a conspectus search for an agent to provide thesaurus services might be conducted.

A conspectus search task is formulated in terms of the content or services sought and the search process to be employed in finding them. A description of a particular conspectus search task includes:

A conspectus search returns a set of agent deals, each representing an offer by an agent to provide the desired services or content, and the terms of the offer. The initiating agent can review the agent deals, accept one or more of them based on criteria such as price and reputation, and address the particular agent(s) in a task-specific language. Or, the initiating agent can reinitiate conspectus search to find alternate deals.

While some conspectus searches can be as simple as retrieving one or more relevant entries from the registry based directly on the request, other searches can involve the pooled capabilities of a team of agents to reformulate the user's request and balance the conflicting demands of search thoroughness and cost. The expertise required for this kind of task can be embedded in a query planning mediator.

3.3 Query Planning Mediators

The class of agents capable of accomplishing conspectus search tasks are referred to as task planners. As noted above, a task planner might require additional information or services from other agents to accomplish the task. More specifically, query planning mediators are a subclass of task-planning agents that deal specifically with conspectus search tasks aimed at locating collections to satisfy a user's query. Our initial development draws on the UM-PRS system that we previously developed for flexible procedure specification and execution as a general basis of task planning agents (Lee et al., 1994). Our UM-PRS task planners communicate using UMDL protocols, and are goal-driven, persistent, independent, and proactive.

Query planning mediators embody specialized knowledge about how to seek out information sources in response to a user's query. These procedures are based on interviews with librarians, and specify the flow of control among various resources within the UMDL that can help find and deal with relevant collections. Depending on user characteristics, library load, desired completeness and timeliness of the conspectus search, different procedures may be invoked. Since these procedures in turn can post subtasks that could be accomplished in a variety of ways (again, depending on the context), the query planning mediators provide a flexible mechanism for performing conspectus search.

Figure 2 illustrates the kinds of activities that might be invoked by the query planner. The nodes contain the name of the task and, in some cases, the names of some of the procedures for achieving it. The arrows represent subtask relationships. The actual procedure executed by the query planner depends on context, as specified by our consulting librarians. And, because the various capabilities are possessed by different agents within the UMDL, the elaboration of procedures by the query planner dynamically builds a team of agents that together accomplish the task. We present a brief example of this in Section 7.1 below.

Figure 2: Query planner procedure.

4. Market-Based Resource Allocation

Within the digital library, there is potentially unbounded demand for computational resources. For example, any amount of preprocessing of collection data--such as indexing, meta-data gathering, or caching--might improve the response of the system to subsequent user requests. With only finite resources, however, we cannot take advantage of all such opportunities. We also cannot try every method for accomplishing a given task, but rather must choose among those available based on resource requirements and prospects for success.

4.1 Information Service Economy

Alternative information services can be viewed as competing economic activities, striving to provide the highest level of service using the minimal computational resources. The goal of UMDL as a whole is to achieve an efficient overall allocation of resources towards the optimal provision of services to users.

To organize the processing activities within an economic framework, we view the interactions between agents as supplier-producer relationships, where each agent produces value-added information products from the input products provided by others (Wellman, 1993). Agents dynamically connect as opportunities arise for mutually beneficial exchanges. The collections provide some ultimate "raw materials" in this process, whereas the end users are the ultimate consumers of the "finished goods". The mediators ("middlemen") bridge the gap by bringing to bear knowledge, processing, storage, or other computational resources to improve the value of the information as it passes from agent to agent.

4.2 Market Facilitators

Market facilitators, or auctions, operate by collecting offers and determining agreements among agents. One simple kind of auction collects bids and settles them by some market-clearing process; others may perform a more complicated matching and search process. In our basic UMDL market protocol, there is one auction agent for each good, where a good may denote delivery of digital objects, translation services, or other agent product. Each auction agent accepts OFFER messages from agents interested in buying or selling that good. Offers include a demand schedule that specifies the amount (quantity or quality) the agent is willing to transact at various prices. The auction's task is to find a price such that supply balances demand, report these prices to the corresponding agents, and execute the transaction, if appropriate.

4.3 Describing Goods and Services

To design a market in library services we must determine the goods and services to be exchanged, and how to represent them in the system (Mullen and Wellman, 1995). However, in large-scale dynamic markets, the set of goods as well as their important distinctions change over time. By employing a structured, expressive good description language (part of the conspectus language described in Section 2.3.2), we can define goods as variations and combinations of primitive concepts, and then automatically generate agents able to perform the necessary transformations.

For example, from knowledge of the concepts NPR and Broadcast, we can construct a description of the concept NPR Broadcast. Since one of the possible operations which can be performed on Broadcasts is to make Transcripts from them, it follows that there is a meaningful notion of NPR Transcript. Parametrization provides extra degrees of freedom: for example, NPR Transcripts may be qualified by date and topic.

4.4 Intellectual Property Usage Licenses

In a market of information and information services, the essential element of goods is their information content, not their tangible realization in some physical medium. This suggests that an exchange in information goods should distinguish between the intellectual property and its physical manifestations. Having a copy of an intellectual work is not necessarily the same thing as having the authority to do anything in particular with the information represented by that work. We refer to such authority generically as intellectual property usage licenses, and treat licenses as the primary type of information good exchanged in the system.

5. (Sidebar): The Remora Agent

As an example of the kind of value-added service the UMDL is designed to accommodate, we are developing a mediator agent, called the remora, that offers event-driven notification services for a variety of library resources. Through the remora, users can specify events of interest, such as new items matching given descriptions appearing in collections, and receive notifications when such events occur.

The name "remora" derives from a kind of fish that attaches itself to sharks and other large swimming things. In the UMDL, remoras attach themselves to CIAs for the purpose of detecting events. The remora works on behalf of other UMDL agents (typically UIAs) by accepting scripts specifying the events of interest and the actions to be taken when the events occur. For example, a script might ask for e-mail notification (perhaps accompanied by a convenient order form) whenever a new image from the Hubble Space Telescope is added to an accessible collection. Another script might define filters to extract articles matching current curricular items from a web page, and include processing instructions to add them to a particular portfolio document in a specified way. This process is depicted in Figure 3.

Figure 3: Flow of information through the Remora agent.

The remora participates in the UMDL information economy through several markets. Remoras compete with each other and perhaps other subscription agents to supply the service of running scripts. At the same time, remoras must bid for the right to receive events (i.e., attach to CIAs), and to acquire the computational resources required to process them.

6. Supporting Inquiry-Based Education

As noted in the Introduction, merely wiring a classroom to the Internet--or even to a digital library--will not create an environment where students learn through inquiry (Soloway, 1995). Existing Internet-based tools do not effectively support access to digital resources and do not support the ancillary tasks necessary to conduct sustained inquiry within the constraints of the secondary school classrooms (e.g., 50-minute class periods are very confining for students and teachers trying to engage in inquiry). Our strategy, as represented in the following two vignettes, is to understand the real challenges in the classroom and design UMDL services that explicitly address these needs and goals.

6.1 Teacher Challenges

In general, developing good curriculum materials is a time-consuming task; finding motivating, engaging, content-filled on-line materials is particularly so. Moreover, our experiences with on-line curriculum design and implementation suggest that in preparing a unit on a particular topic, a teacher needs to seed the curriculum web pages with a few jump-start collections: students need to find something quickly and have some immediate success to maintain their motivation and engagement.

There are at least two types of UMDL agent services designed to facilitate development and management of curriculum materials. First, we are developing a customized version of the query planning agent (Section 3.4), called QuickScan, that uses specialized knowledge of pedagogical relevance to enable a teacher to quickly search and retrieve material likely to be useful in the high school science class. For example, the QuickScan agent focuses on collections that are age appropriate, and have a range of non-textual media types (e.g., video, images, sound). Note that students too will be able to use QuickScan to find relevant information in a timely manner.

Second, the remora agents (see sidebar) provide a time-saving mechanism for teachers to monitor the development of on-line materials. For example, (1) while the WWW contains a plethora of sites potentially relevant to curriculum topics, a large percentage of them are still not sufficiently developed to permit effective classroom use; (2) while there are web sites that provide information resources about current events (e.g., volcanic eruptions, telescope images), checking sites manually is tedious and time consuming. Remora agents will help teachers monitor the evolution of these sites, permitting those materials to be easily incorporated into the portfolio of on-line curriculum materials.

6.2 Student Challenges

Teachers are often reluctant to have their students "waste precious classroom time" searching for materials; they would rather tell the students sites that provide answers. However, in the inquiry-based approach, by definition, students need to engage in on-line search--finding and evaluating sites for relevance is an intrinsic component of inquiry. The tension is real: current search technology, particularly keyword search mechanisms, are time consuming, frequently unproductive, and foster a random approach to searching for information.

Our strategy is to provide UMDL services, interfaces and agents that support and scaffold (i.e., provide explicit support for) students' learning through the search process. For instance, the UMDL search interface will provide a range of tools from spell checking to content-specific thesauri, to help sharpen query formulation. We are developing a UIA with an interface designed to scaffold query reformulation in particular, as we have found that students have great difficulty in "re-searching" and following a coherent line of exploration.

A second real problem faced in classrooms is the lack of collaboration among students. Substantive classroom conversation is a key component of learning (Brown and Campione, 1996); just as professionals continually engage in discourse in order to invent, explicate and refine their ideas, students need contentful dialog for these same reasons. Classroom interaction is facilitated when students have something to talk about. We are developing interface, registry, and search agents that make it easy for students to share with each other the fruits of their on-line searches, thus providing artifacts, or things, for them to discuss. For example, one group of students who have built up a collection of on-line materials on a specific topic can register that collection in the UMDL; other groups of students in the class will be directed to that collection first by the search agents.

Fast, simple registry of student-generated work is also allowing students to more easily publish their findings in the UMDL. For example, a class of 11th graders recently completed a six-week unit on water contaminants; each group of two students took a different water contaminant, wrote a report (that typically included biological, chemical, and ecological issues), and then published it on the world-wide web. These students were filling a gap: until their effort there was no comparable site on the web with an in-depth treatment of various water contaminants. When students feel that their ideas are respected--even desired--their motivation is greatly heightened. Typically this translates into more engagement and more effective learning.

7. UMDL Status

The first version of the UMDL is currently operational at the University, and in the process of deployment at Ann Arbor high schools. The collections focus on earth and atmospheric sciences, including material from popular press, academic journals, encyclopedia, world-wide web, and local curricular sources. The system is highly extensible, and content and services provided are continually expanded and enhanced.

7.1 Example Queries

We can illustrate a subset of the UMDL's current capabilities by displaying summaries of its behavior for two example queries. The population of agents in our demonstration includes a query planner, a thesaurus agent, a "BSO" (for Broad System of Ordering) agent that uses a hierarchy of terms to broaden or narrow a topical search, and a remora agent that has the persistent task of monitoring and summarizing message traffic in the UMDL.

For a simple task, the query planner is given a query that matches entries in the registry, requiring little interaction among the various services (as summarized in the communication matrix generated by the remora, Figure 4a). A more difficult query, however, causes the query planner to invoke the BSO and thesaurus agents to reformulate the query in terms of topics about which some collections have professed capability. These communications are summarized in Figure 4b). These examples, while simple, are suggestive of the kinds of dynamic and flexible interactions among agents that we rely on to fulfill our ambitious vision for the UMDL.

(a) Figure 4a goes here.

(b) Figure 4b goes here.

Figure 4: Agent activity on two simple queries. We use the remora agent (see sidebar) to monitor message traffic and tabulate the number of messages passed between agents. (a) The query planner returns a single CIA ("MSU") that can respond to the query. (b) The query planner consults the BSO and thesaurus agents before passing the query to a web crawler.

7.2 High School Deployment

The UMDL is being deployed initially in four high schools and two middle schools in Ann Arbor; deployment in other locations is planned. In addition to installing the UMDL infrastructure, we have developed a substantial body of associated curricular material, including tutorials on searching for on-line information, and specific topics in high school earth and space science.

By May 1996, we expect that over 1,000 students will have used UMDL services. Working in a handful of classrooms is an important start, but our aim is not merely to make successful innovation on a pilot level. Our fundamental goal in this work is to understand the range of issues that arise in making digital library technologies feasible for implementation in school settings, and relevant to today's classrooms.

8. Conclusion

As the discussion above suggests, there remain many challenges to making effective use of technologies such as the UMDL in inquiry-based education. While we are only in the initial stages of deploying the UMDL in high school and middle school classrooms, we are already finding that the UMDL agent architecture is providing welcome leverage for creating technology-based strategies to deal with those challenges.

In building the UMDL, we are addressing many difficult issues of scale, decentralization, interoperability, and resource allocation. Our approach has been to define very general mechanisms, and then test them with specific instances of software agents and protocols that use these mechanisms to provide library services.

Although our work on the UMDL must still be regarded as preliminary, it is already clear from our first year and a half of effort that the scale and diversity of the digital library conceived here will put to the test our technical ideas--on distributed agents, interoperability, mediation, and economic allocation of resources--and will likewise test our theories about the role and impact of educational technology.

9. References

  1. Birmingham, W. P., et al. The University of Michigan Digital Library: This is not your father's library. In Proceedings of Digital Libraries `94, pages 53-60, June 1994.
  2. Brown, A. L., and J. C. Campione. Psychological theory and the design of innovative learning environments: On procedures, principles, and systems. In L. Schauble and R. Glaser (eds.), Contributions of instructional innovation to understanding learning, Hillsdale, NJ: Erlbaum, 1996 (in press).
  3. Finin, T., R. Fritzon, D. McKay, et al. KQML as an agent communication language. Third International Conference on Information and Knowledge Management, ACM Press, 1994.
  4. Lee, J., M. J. Huber, E. H. Durfee, and P. G. Kenny. UM-PRS: An implementation of the procedural reasoning system for multirobot applications. In Proceedings of the AIAA/NASA Conference on Intelligent Robotics in Field, Factory, Service, and Space, pages 842-849, March 1994.
  5. Mullen, T., and M. P. Wellman. A simple computational market for network information services. First International Conference on Multiagent Systems, pages 283-289, June 1995.
  6. Nica, A., and E. A. Rundensteiner. Uniform structured document handling using a constraint-based object approach. In Advances in Digital Libraries (ADL-95), Springer Verlag, May 1995.
  7. Rajaraman, A., Y. Sayiv, and J. D. Ullman. Answering queries using templates with binding patterns. Proceedings of the ACM Symposium on Principles of Database Systems, pages 105-112, May 1995.
  8. Samson, P. J., K. Hay, J. Ferguson. Blue-Skies: Curriculum Development for K-12 Education. Amer. Meteor. Soc. Conference. on Interactive Information and Processing Systems, Nashville, TN, January 1994.
  9. Soloway, E. Beware, techies bearing gifts. Communications of the ACM 38(1):17-24, 1995.
  10. Wellman, M. P. A market-oriented programming environment and its application to distributed multicommodity flow problems. Journal of Artificial Intelligence Research, 1:1-23, 1993.
  11. Wiederhold, G. Mediators in the architecture of future information systems. IEEE Computer, 25(3):38-49, 1992.