• No results found

Intelligent Agent-based Implementation

8. Design and Pre-Implementation Studies

8.4. Detailing IPA Supported Learning Scenario

8.4.2. Intelligent Agent-based Implementation

In order to implement the learning scenario with intelligent agents, a BDI-based agent system is needed. Several agent platforms such as 3APL, JACK, JADE, AgentSpeak/Jason, Agent Factory, and GOAL are good candidates for implementation, as visited in Section ‎8.2.1. Several of such environments are used to develop and integrate agents for virtual worlds. However, the selection and implementation are not trivial and hence, experience, evaluation information of specific platforms, and relevant issues are reported. One major obstacle in a selection is the lack of experience with those frameworks that have differences in implementation and the challenge in designing BDI-based agents that are non-deterministic. An ease of use, or pragmatic importance such as tool support gives a good start to the novice developer who considers it as an important factor.

While JACK (JACK, 2013) is a commercial platform, it provides graphical tools that can facilitate easy development and generation of intelligent agents. Then further criteria of evaluation can be investigated. Braubach, Pokahr, and Lamersdorf (2008) provide details of evaluation criteria and results concerning those agent platforms. While ‎ the work by Braubach, Pokahr, and Lamersdorf (2008) resulted in good scores for JACK in the evaluation result, a commercial open source agent platform is essential. Considering a non-commercial open source platform, Jadex is a good candidate given its JADE standard orientation while fulfilling the deficiency of the BDI implementation (see Section 8.2). Therefore, experimentation with both JACK and Jadex is beneficial.

Experimentation with JACK

Implementing the learning scenario with JACK involves creating three agents: pedagogical agent, learner agent, and a learning object. The role of the pedagogical agent is to direct and monitor learner-to-learning object interaction.

Since it is not implemented directly into the virtual world, the purpose of the learner agent is to simulate the learner avatar. The learning object agent simulates a virtual world learning object that can by a physics experiment. The simulation allows running the device with simple controls that results in different observations. The experiment runs as either the pedagogical agent asks the learner to run the experiment or provide a step-wise guidance. At certain instances, the pedagogical agent intervenes so that the device generates an alternative behavior that the learner should respond differently. Upon learner incorrect input, the pedagogical agent updates the learning result belief base.

‎Figure 57 illustrates JACK design diagrams of the learner agent and the pedagogical agent. Events generated are sent, posted, or handled by different plans.

Figure 57: JACK design diagrams of the pedagogical agent and the learner in the learning scenario. The envelope shape represents an event while the oval represents plans.

Figure 58: JACK IDE. The left panel shows lists agents, plans, events, and Beliefs. The right side includes an agent definition and a sample plan that is relevant to a particular event.

Jadex based Implementation

Jadex (Jadex, 2012; Braubach, Pokahr, & Lamersdorf, 2005) has similar BDI concepts to JACK in agent plans, goals, events, and beliefs. Jadex has importance in relation to JADE as it is regarded as its BDI extension. Being built on top of it gives JADE features, especially the FIPA standardization. Communication in Jadex follows the Agent Communication Language (ACL) FIPA standard as well.

A major characteristic of Jadex is the XML based Agent Definition File (ADF) that describes the agent, goals, and beliefs (see Figure 59). A plan in Jadex is a Java-based program. There are two types of plans in Jadex; a service plan that handles multiple events, and a passive plan for each event. Events can be message events, goal events, or belief updates. Figure 60 shows plan definition and two event types in a Jadex implementation of the learning scenario. In Jadex, there are four types of goals: 1) achieve, 2) query, 3) maintain, and 4) perform goals.

An agent, defined in an ADF along with the Java plans can either run individually or through the Jadex Control Center (JCC) (see Figure 61).

Figure 59: Jadex Agent Definition File (Jadex, 2012).

<!-- A Learning plan - step 2 -->

<plan name="runStep2">

<body class="Step2actionPlan"/>

<trigger>

<messageevent ref="do_step2"/>

</trigger>

</plan>

</plans>

<events>

<!-- 1. action request do step 2 of the experiment initiating this plan with perfor. request. 2. learner performs action2, internal ev. -->

<messageevent name="do_step2" direction="receive" type="fipa">

<parameter name="performative" class="String" direction="fixed">

<value>SFipa.REQUEST</value>

</parameter>

</messageevent>

<internalevent name="action2_update">

<parameter name="content" class="String"/>

</internalevent>

Figure 60: Code snippet from Jadex agent ADF showing plan definition and two types of events: plan triggering event and an internal event.

Similar to JACK, three agents to represent the simulation are created:

pedagogical agent, learner, and device simulator as separate ADFs with the corresponding plans. One major difference from JACK is in the inter-agent communication between different agents. In JACK, an event can be processed from another agent plan rather than the one that has generated it as long as it is declared to be handled. In Jadex, events are handled by different plans but for the same agent as long as inter-agent communication is handled through ACL message passing.

Figure 61: Jadex Control Center (JCC) using simulation Java package (learningscenario.jar).

Implementing the learning scenario in Jadex yields the following results:

 It shows feasibility of a mixed mode of agent control and learner control. In this simulation, the learner is an agent while in Open Wonderland implementation, the learner is an actual avatar.

 It provides a proof-of-concept detailing interaction details that helps in the design process of an agent system supporting a pedagogical agent in Open Wonderland (see Chapter 9).

 It provides input on the expectations of the device design aspects. For example, it shows the need for the simulation device to generate alternative behavior and the pedagogical agent control on the device operation rather than the expected user.

 It provides an input about the assessment component. As learner succeeds or fails certain steps, the pedagogical agent records in the learner belief base.

 It gives an input of experience for further implementation or enhancement in the intelligent agent side in both the design of plans with BDI agents, and the implementation details.

 It reveals the method of inter-agent communication. In this implementation, the learner agent, the pedagogical agent, and the device agent send and receive message. The communication among them shows a FIPA style details. Initial messages can be propagated through the conversation center of JCC. In subsequent implementations, pedagogical agents, through their supporting Jadex agents, communicate using the same method.

8.4.3. Further Considerations with Agent Oriented