Solutions and Recommendations

 < Day Day Up > 



Adaptive Learning Environments

An adaptive learning environment is a learning environment in which an automatic modification is performed at usage time, i.e., during the educational session, and is based on the learner’s characteristics. These characteristics, such as the learner’s familiarity with the educational subject and the learner’s goals and interests, are assumed to be continuously modified during the same educational session. These characteristics are not known prior to each educational session and are automatically detected by the system, through monitoring the learner’s actions. According to Jones and Winne (1992), adaptive learning environments can be viewed as the intersection of two traditionally distinct areas of research: instructional science and computational science.

We call an adaptive learning environment for distributed learning a “distributed adaptive learning environment.” The main features of such environments are adaptivity and distribution.

Adaptivity

The adaptivity includes adaptive curriculum planning, adaptive sequencing, adaptive course generation and delivery, and adaptive testing. Adaptivity needs intelligence. We need some intelligent tools that are “smart” enough for the tasks at hand. These tasks need highly deliberative tools for mining databases of learner information and educational resources and taking the collective task knowledge contained in the heads of the educators and codifying it into software systems.

Distribution

From IEEE LTSA, we can see the dynamic and distributed nature of data and applications in distributed learning environments. Therefore, a common under- standing seems to be that a distributed learning system must consider a decentralized approach in which overall management is performed “centrally,” but course materials (hypertext documents, multimedia documents, technical manuals, scripts, and other applications) are served up locally by using various pieces of software that run on the students’ machines (Wang & Holt, 2002). Interactivity and intelligent tutoring capabilities (i.e., various help facilities) must be provided by client-side software, as well.

Unfortunately, none of the currently available distributed learning systems delivers these advanced functionalities, mainly because of the complexity and heterogeneousness of the systems and the lack of methodology for systems modeling, in particular, knowledge modeling.

Web Services Based Approach

A “Web service” is an accessible application that other applications and humans can automatically discover and invoke. An application is a Web service if it is (a) independent as much as possible from specific platforms and computing paradigms; (b) developed mainly for interorganizational situations rather than for intraorganizational situations; and (c) easily able to be integrated(i.e., combining it with other Web services does not require the development of complex adapters) (Dale et al., 2003).

Web services fundamentally offer new ways of doing business through a set of standardized tools, and they support a service-oriented view of distinct and independent software components interacting to provide valuable functionality. In learning systems, a learning services architecture and learning services stack have been proposed by the Learning Systems Architecture Lab at Carnegie Mellon University. These provide a framework for developing service-based learning technology systems. In this approach, rather than building large, closed systems, the focus is on flexible architectures that provide interoperability of components and learning content, and that rely on open standards for information exchange and component integration (Blackmon et al., 2003).

However, Web services technologies have several limitations (Huhns, 2003): a Web service knows only about itself, not about its users, clients, or customers; Web services are not designed to use and reconcile ontologies among each other or with their clients; Web services are passive until invoked and cannot provide alerts or updates when new information becomes available; and Web services do not cooperate with each other or self-organize, although they can be composed by external systems.

Due to these limitations, Web services cannot completely overcome the information overload issue in distributed learning environments. Overcoming these limitations appears to require agent-like capabilities.

Intelligent Software Agent-Based Approach

We believe that the software engineering challenges involved in developing large-scale distributed learning environments can be overcome by using an agent-based approach. We can design some processes in a distributed learning system as autonomous, cooperating components that communicate intelligently with one another, automate or semi-automate educational processes, and interact with human users at the right times with the right information.

Agent-oriented software engineering (AOSE) has become one of the most active areas in the field of software engineering. The agent concept provides a focal point for providing accountability and responsibility for coping with the complexity of software systems during design and execution. The agent-based approach to developing complex distributed systems has been successfully applied and documented in many domains, including air-traffic control, manufacturing, information retrieval, network management, and entertainment (Wooldridge & Jennings, 1998).

What are “Agents”?

Agents are software programs that operate autonomously when triggered and perform tasks of repetitive nature. Research on agent-based computing has evoked much interest in multiagent systems (MAS). For intelligent agents to solve problems efficiently, they must cooperate and communicate with each other. A MAS is described, according to O’Hare and Jennings (1996), as “a loosely-coupled network of problem solvers that work together to solve problems that are beyond their individual capabilities.” Similarly, the various MASs should be able to interact with each other in the form of virtual communities. The logical extension of MASs is “agent societies”—groupings of agents that come together to collaborate to meet certain common goals (Dellarocas, 2000).

Why Agents?

Agents probably have two main advantages in this context. First, distributing tasks to numerous specialized, fine-grained agents promotes the modularity, flexibility, and incrementality of learning systems and lets new services come and go without disturbing the overall system. The agents have their local knowledge about specific tasks and their autonomy. Limiting the complexity of an individual agent simplifies control, promotes reusability, and provides a framework for tackling interoperability. Second, agents’ autonomous nature makes their use a “fire-and-forget” approach, as they are able to react by themselves if they have access to the right data. This central feature of software agents, the ability to independently carry out tasks delegated to them by people or other software, reduces the workload of users.

For example, the vast educational resources available today or tomorrow simply could not function without being able to delegate to software the multitude of tasks that would otherwise be left to armies of people to handle.

Some Related Work

Greer et al. (2001) elaborated the lessons learned from several large-scale real-world deployments in the I-Help (Greer et al., 1998) agent-based peer- help learning support system. The software engineering lessons learned are useful for us in deploying a complex system in the real world for a large number of users. Gavrilova et al. (1999) described a project involving an intelligent MAS for distance learning using the Learner model approach (Gavrilova et al., 1999). Conceptualized in the literature (Jafari, 2001) are three types of intelligent agents to assist teachers and learners. Thaiupathump et al. (1999) investigated the effects of applying intelligent-agent techniques to an online learning environment (Thaiupathump et al., 1999). These researchers created the “knowbots” that automated the repetitive tasks of human facilitators in a series of online workshops. The findings indicated that the use of knowbots was positively associated with higher learner completion rates in the workshops. Lin and Holt (2001) identified the roles of agents in distributed educational activities (Lin & Holt, 2001). Baylor (1999) defined three major potential educational uses for agents as cognitive tools: (a) managing information overload, (b) serving as pedagogical experts, and (c) creating programming environments for the learners (Baylor, 1999).

The application of agent-based systems to commercial complex distributed systems has generated tremendous interest. However, researchers have been very slow in developing this technology for commercial applications, mainly because of the lack of an accepted industry-standard method for the development and implementation of agent-based systems (Sturm et al., 2003).

Agents

In a distributed adaptive learning environment, agents are seen as software entities that pursue their objectives and perform their tasks while taking into account the resources and skills available to them. The resources include human users, other agents, information, and data. Therefore, we can divide all agents in distributed learning environments into three categories: (a) personal agents,(b) task agents, and (c) regulatory agents.

Personal Agents

A “personal agent” is a virtual representation of a human user operating in a distributed adaptive learning environment and is comprised of several subcomponents that act together to perform the functions required of the agent.

First, a personal agent has a unique identity, which allows it to be recognized by other users as well as gives credibility to the transactions that the virtual self may engage in subsequently.

Second, a personal agent has a memory function that stores the user’s preferences, which may be explicitly indicated by the user or learned from past experiences. Similarly, the personal agent also learns from interaction with other agents. For efficiency purposes, the memory module is able to “forget” information that is not used, avoiding storage overload.

Third, the personal agent possesses a processing capability that serves the dual purpose of resource allocation and coordination of functions, e.g., prioritization of various tasks set by the user. To do so effectively, the processing capability interacts with the memory component, as well as with the external sensors, to generate a response. Last, the personal agent contains an internal audit function with the role of monitoring the status of the agent for maintenance purposes as well as restricting the agent’s behavior to a generally accepted code of agent practices. To become effective, the personal agent must be able to sense new developments in the environment, filter the variety, as well as effectively respond to changes in the environment.

Task Agents

A task agent is required to perform certain specific tasks, such as providing services, knowledge, and information resources, and also providing intermediary functions such as coordinating and communicating with the other agents. Therefore, the task agent’s memory contains specific task-related information in greater depth than the personal agent’s memory possesses. The task agent also has a monitoring and learning function that allows it to update its own information through new updates when necessary. Because the task agent is deemed a “common resource” shared by many users, its processing capability comprises a spooling function, in which requests are queued in accordance to their priority. In performing multiple tasks, the resource allocation function determines how many resources should be provided to each uncompleted task.

An Example of Task Agents—User Profile Agent

User profiles represent the users’ information needs and preferences. Such profiles can take a variety of forms, ranging from sparse-vectors of document ratings to rich, highly structured representations based upon XML. A profile may be located entirely within the locus of the user’s control, e.g., on his or her own personal computer (PC) or personal digital assistant (PDA), or may be retained as one of many profiles on a server controlled by a Web service. Recently, some research has begun to focus on a more distributed approach, in which the Web service needs to be able to deal with the security or privacy of user profiles, and how users can find relevant information even if they do not want to reveal too much of their profiles. A user profile agent can be developed to fulfill these requirements.

Regulatory Agents

The regulatory agents primarily perform the following two functions, setting standards and auditing. The regulatory agents are separated at various levels and are mainly localized regulatory agents and international regulatory agents. In their standard-setting role, the international regulatory agents set standards mainly for the baseline requirements to which each agent must comply. In turn, the personal agents and the task agents, which constantly monitor the external environment, update their respective baseline requirements to include the latest standards. As an illustration of the rules constituting these baseline requirements, universal rules such as the following are to be included: (a) agents will not harm their masters, (b) agents will not harm other agents, and (c) agents will have to protect themselves from other agents.

In their auditing roles, the international regulatory agents will audit the localized regulatory agents, which in turn, audit the personal agents and the task agents. The scope of the audit services includes the accuracy of an agent’s baseline requirements, the program’s integrity (the audit will look for any virus infection), and so on. As mentioned earlier, the personal agents and the task agents have limited life spans. At regular intervals, individual personal agents and task agents must report to their localized regulatory agents for a thorough audit screening in order to extend their life spans.

Agent Interactions

The interaction among various agents and, subsequently, among various MASs is based on accepted standards and principles and forms the basis of the interactions among the intelligent agents’ societies.

User—Personal Agent Interactions

The major purpose of personal agents is to help (rather than replace) users in handling complexity in the environment. We will explain how a human user and the personal agent of the user interact through the three stages: configuration, processing, and presentation.

Configuration

Here, the human user configures his or her personal agent’s personality, goal, and other characteristics based on the human user’s beliefs, values, desires, and intentions. This configuration forms the “DNA” of the personal agent. The instructions must be precise, not open to interpretation, and coherent with the baseline requirements. Also, another source of input comes from the external environment, which is constantly changing, churning out new information exogenously. The agent is constantly learning from interactions with the external environment, adding to its wealth of experience.

Processing

Based on the human user’s predetermined preferences and from its learning of the user’s unspecified and hidden preferences through observation over time, the personal agent is able to filter the information from the data smog in the environment and extract the relevant information of interest to the user. Subsequently, the personal agent classifies, summarizes, and presents the extracted information in the desired form to the user.

Presentation

The content of the output report is that of highly personalized and topic-based information according to the user’s preferences and desires. Moreover, this content is highly relevant, as it is based on real-time events. The content can be presented by multimedia. The determination of the type of presentation format is in accordance with the users’ preference and the inherent limitation of the delivery devices. For example, a message in a text format has to be carried as text in the form of a short message system (SMS) if the user is to access the message by using a mobile phone. In a situation in which the user is accessing his or her PDA, then the report can be translated into video form to provide a richer medium to the user. Users can specify how their personal agents can contact them when the users are away from their desks, for example, by desktop computer, mobile phone, or PDA.

At times, the users will want to initiate a conversation with their personal agents when the users are away from their desks. If so, the users can log on to any terminal, stipulating a password to authenticate them in order to access their personal agents.

Agent–Agent Interactions

The interactions among agents can be divided into three major categories: Personal Agent–Personal Agent, Personal Agent–Task Agent, and Task Agent–Task Agent.

Personal Agent (PA)–Personal Agent (PA)

Communication between two personal agents is important, because they are expected to learn, not only from their past errors, but also from the experiences of other personal agents. Similarly, two or more PAs can collaborate on similar tasks. Just as humans can cooperate in the real world, groups of agents can cooperate with one another to achieve a common purpose. For effective collaboration to take place, personal agents, each with separate competencies, need to coordinate their actions with various task agents. Individual PAs in the environment may take up different roles in a group, e.g., notification, monitoring, and coordination. Moreover, PAs may be hostile to one another. However, based on the baseline requirements, PAs are not allowed to harm one another.

Personal Agent (PA)–Task Agent (TA)

At times, a personal agent needs to interact with one or more task agents in carrying out its assignment. The communication of the personal agent and the task agent(s) varies according to two situations. When the personal agents know the task agents, i.e., when the PAs know explicitly which task agent they wish to contact, this knowledge facilitates direct communication. On the other hand, when the personal agent does not know the identity of the task agents in question, then the use of Web services comes into play.

Task Agent (PA)–Task Agent (TA)

The interaction between two task agents is similar to the Personal Agent–Task Agent interaction.

Regulatory Agents–Other Agents

As mentioned earlier, the role of the regulatory agents is to set new standards. Hence, the international regulatory agents set new standards and broadcast them to the international service providers, which then disseminate the standards down to the local service providers. The other agents, e.g., the personal agents and the task agents, which are constantly monitoring for the latest updates on their respective service providers, in turn, update the latest standards into their baseline requirements. At intervals, the local regulatory agents then ensure that the personal agents and the task agents have accurately and promptly updated their baseline requirements with the latest standards. If the local regulatory agents discover any noncompliance, they correct the mistake themselves and, at the same time, file a report to the owner of the personal 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