Architecture of the COLE

 < Day Day Up > 



Several issues must be considered when designing and implementing online learning environments. Larry et al. (2004) conducted a necessary and interesting discussion about security in such environments. Within the COLE, the focus of the work is on how intelligent agents can help build an effective collaborative online learning environment.

The COLE has an open architecture. The concept of an open architecture is used in several areas in computer science: (a) in the interconnections between the architectures of different machines (the OSI model), (b) in the dynamic binding between a client and a server (the CORBA model), (c) in dynamic reconfiguration and mutual selection (the Contract-Net model), and (d) in the dynamic integration of an agent in a work context (the agent model). The dynamic integration of an agent implies its capability to learn about the current tasks going on. In most multiagent systems, whenever a change occurs, everything must be brought to a halt, corrections must be done, code must be recompiled, and the system usually has to be reinitiated. This process is clearly inadequate for large agent systems, which must continue to function even when some agents have problems or when new agents are brought in.

The COLE uses both a nonhierarchical and a federative architecture. The federative architecture is necessary to allow for easy and natural communication among the agents distributed on the Internet. The COLE is based on independent cognitive agents with a model of their expertise, the world, and themselves. Agents communicate asynchronously by using a variety of protocols.

The next section describes how particular agents can be implemented in the COLE by cloning a generic agent from which they inherit basic mechanisms so that they can interact with other agents and learn from the environment.

The Generic Agent

A generic agent (GAg) is an entity possessing basic mechanisms, structures, and skills, ensuring a minimal internal and external behavior and allowing an agent to adapt itself to a new environment (Scalabrin et al., 1996). The GAg was developed in the Open System for Asynchronous Cognitive Agents project (OSACA) (Scalabrin, 1996). Current agents are produced by cloning a GAg, and thus, they inherit its basic structure and mechanisms. Thus, an agent can communicate with other agents, learn what the others do, and organize itself in order to cooperate toward achieving a common goal. By giving agents this capability, a GAg allows for the quick and economical development of multiagent systems by reusing code.

Managing Context

OSACA agents are complex. They must be able to function at several tasks at the same time. Indeed, cloning an agent each time it receives a new request, in the same way an actor is cloned in Hewitt’s approach (Hewitt, 1988), would not be economically viable. Thus, our agents are multithreaded. In order to organize the work of an agent, one must provide a mechanism for distinguishing among the different tasks in which the agent is involved. The concept of a “project” is adopted rather than the traditional concept of a “task.”

“Projects” are defined as “a set of tasks.” They possibly involve different agents and are intended to solve particular problems. When constructing ideas in an individual portfolio, students need services from the librarian agent (which searches for documents), the portfolio agent (which provides tips about ideas), and the ballot agent (which submits an idea to the other students). When requesting a service, some parameters sent to an agent will probably be necessary later and may also be necessary when requesting another service from another agent (e.g., an idea’s keywords). An agent does not know the projects in which it can be involved. Thus, the architecture must provide mechanisms for an agent to learn about projects and to manage them. A project can be represented as a working context with a model of behavior and as a structure allowing the agent to realize an objective in a more organized and intelligent way than would be possible by using a simple skill. A project is composed of a set of skills and a set of information with values that are bound to the project. As several agents may cooperate to accomplish a goal, every agent that participates in a project constructs a specific model of the project. Depending on the project, the conditions of the usage of skills may differ.

The first aim of a project is to allow the various contexts of work to coexist by memorizing typical parameters required to execute the skills. One can monitor the message flow while it stores the values of typical parameters in order to accelerate the work. A second goal is to organize the skills used in the project. When an agent participates in a project, the agent already has an idea of what it will do. In some circumstances, the agent can anticipate a request and prepare an answer. A third goal is to charge agents with only useful information, avoiding cognitive overload.

Generic Agent Architecture

GAg architecture lets particular agents with minimal previous knowledge manage projects. Thus, all agents have several functionalities, as Figure 3 illustrates.

click to expand
Figure 3: Agent architecture

The elements that embed knowledge inside an OSACA agent are as follows:

  • Self-Representation. It has information about what the agent can do, what the agent needs from other agents, and the agent’s identification and functions (name, language, ontology, address, communication protocols).

  • External-Representation. It contains the information concerning the other agents: what the other agents can do, what the other agents can request, information on the requests that cannot be satisfied, and concepts manipulated by different agents.

  • Project Representation. A project is represented on two levels: the project-model level and the project-instance level. The model contains the skills (project-skills) required in the project and the associated useful information. The model can evolve with agent interactions. An instance of a project model is a specific project. An instance can be active, suspended, or finished.

  • Communication. It has the communication protocols giving the agent the capabilities to exchange information and negotiate in a collaborative manner. OSACA agents collaborate in order to reach their objectives. Examples of these objectives are reduction of the time to accomplish a task (stimulating parallelism); providing a choice among the local solutions proposed by other agents; improvement of the quality of the results by sharing and comparing results among agents; attribution of a problem to a limited number of agents in order to reduce the possibility of process duplication; and reduction of the communication overload by exchanging only relevant information (Durfee et al., 1987). All objectives suggest specific communication protocols (e.g., the choice of a performative set or the implementation of different forms of collaboration and control). Thus, an agent must have a set of protocols and must know when to use them.

Agent Communication Language

The Interagent Communication Language (IACL) in the OSACA has two layers: a message layer and a content layer. The message layer encodes a set of communication features that describes the parameters at the lower level of the message, such as the identities of the sender and the receiver, a unique identifier, and the protocol used. Also, the message layer contains the minimal vocabulary necessary to overcome the problems concerning the common communication language among the agents. A communication language that is independent of the internal language used by the agents is the first step to make interactions possible among heterogeneous systems. The content layer is the actual content of a message in the agent’s own language representation.

Communication Management

Interactions among agents are structured by using communication protocols available as a protocol library. Managing several protocols allows an agent to increase cooperation according to the operation to be accomplished. Protocols can be classified in categories corresponding to the different kinds of operation. Protocols can be derived from the canonical Contract-Net Protocol (Smith, 1980) or can be based upon simple communication acts like requests or answers.

Messages Routing

In OSACA, all agents in the same LAN can see and retrieve all the messages passing through the network. In each agent, messages are filtered and distributed by a process that places them in two waiting queues: W1 and W2. W1 contains the messages explicitly addressed to it, and W2 contains the messages retrieved by the agent but not addressed to it. Two different processes treat the messages in W1 and W2. W2 allows an agent to learn about other agents and about projects in progress. We assume that W2 is an essential condition for learning agents to be proactive. Proactiveness is a quality that characterizes intelligent agents.

Thus, OSACA agents can learn from three sources of data:

  • From W1—the interactions these agent can have with other artificial or human agents (e.g., when producing the user profile and using it to be proactive and rational for the benefit of the user)

  • The messages from W2, which can be used to identify new opportunities to act

  • The data obtained through these agents’ sensors

The three elements above were identified to determine the minimal conditions necessary to test and adapt machine-learning algorithms in the OSACA agents.

Implementation

Our COLE is a research project being developed by four Master of Science students and one undergraduate student.

Our COLE is being installed on Linux™ including various machines running Linux™ The UDP/IP (User Datagram Protocol/Internet Protocol) will be used to carry messages between agents in a LAN (Local Area Network) environment, and e-mail servers will be used to carry messages between agents on the Internet.

The users of the COLE will be teachers and students. The former will define, conduct, and evaluate portfolios that will synthesize what the latter learned in the projects they completed. For both, creating and assessing portfolios will be new activities needing guidance and help. As the teachers and students using the COLE may be anywhere in the world, synchronous human interaction is not easily obtainable because of different working schedules and time zones. Even if some services can be centralized in servers (e.g., virtual libraries, group- related dictionaries, specific searching engines, and databases), some will be stored in the users’ computers, so that users will be able to work on their individual portfolios even if a given remote service or the Internet is unavailable.

Thus, we have developed a network in which some cognitive agents will be on the Internet and other agents providing services to teachers or students will be placed in the users’ machines (e.g., the user’s proxy, mini-libraries, the portfolio viewer, and the portfolio editor).

Figure 4 presents how agents can be physically deployed on a network.

click to expand
Figure 4: Agents’ physical deployment

Agent Deployment

Agents communicate through asynchronous messages. Any agent can communicate with any other agent (no hierarchy exists among agents). Access keys are used for security reasons.

Figure 5 presents how agents can be logically deployed. The three layers can be understood as presentation, business, and data access. The presentation layer is defined by the Interface Agent. The business layer is composed of the Individual Portfolio, WEB search, Portfolio Inspection, Group Portfolio, and Ballot agents. The data-access layer is composed of the Librarian, Broker, and Dictionary agents.

click to expand
Figure 5: Agents’ logical deployment

Layer A remains in the client machine. The agents of Layer B can be placed in the client machine or elsewhere, but in the second case, they losing manageability. The agents of Layer C are stationary. The Broker agent remains in Layer C, because this agent’s address must be fixed; the Dictionary and Librarian remain in Layer C because of their huge amount of data.

Figure 6 presents the main classes in the COLE environment. Figure 7 and Figure 8 provide examples of cases involving the Portfolio agent, students, teachers, the Librarian agent, and the Ballot agent.

click to expand
Figure 6: Main classes present in a COLE environment

click to expand
Figure 7: A case using the Portfolio agent

click to expand
Figure 8: A case using the Dictionary agent



 < Day Day Up > 



Designing Distributed Environments with Intelligent Software Agents
Designing Distributed Learning Environments with Intelligent Software Agents
ISBN: 1591405009
EAN: 2147483647
Year: 2003
Pages: 121

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net