Dec 11, Analysis and Design of MLC Services using JADE (1) Oscar Lin
Dec 11, Mobile Learning Communities (MLC) (1) AU wants to provide an intelligent system to its mobile learners, which will support a group of learning community members (learners) of AU a series of services, AU wants to provide an intelligent system to its mobile learners, which will support a group of learning community members (learners) of AU a series of services, The services include (to be extended) The services include (to be extended) –Learning communities formation –scheduling face-to-face academic/social meeting. –Problem-based learning –Location-based Q&A
Dec 11, MLC (2) The system should allow a learner (who subscribed at least one of the services) to: The system should allow a learner (who subscribed at least one of the services) to: –invite some friends (classmates) to meet each other, –collect preferences from both the inviter and the invitees, and –suggest the option that best matches the average preferences of the group.
Dec 11, MLC (3) The service must be accessible by users through their mobile phones. The service must be accessible by users through their mobile phones. It is also assumed that a mobile learner has a GPS receiver. It is also assumed that a mobile learner has a GPS receiver.
Dec 11, MLC (4) Learner location (i.e. where the learner is situated) must be based on the GPS localization system Learner location (i.e. where the learner is situated) must be based on the GPS localization system The system allows for the retrieval of the position of a mobile phone given its telephone number and notification of relevant changes in the mobile learner’s position. The system allows for the retrieval of the position of a mobile phone given its telephone number and notification of relevant changes in the mobile learner’s position.
Dec 11, Analysis Use cases Use cases Initial agent type identification Initial agent type identification Responsibilities identification Responsibilities identification Acquaintances identification Acquaintances identification Agent refinement Agent refinement Agent deployment information Agent deployment information
Dec 11, Step 1: Use Cases Why use “Use Cases” of OOP? Why use “Use Cases” of OOP? –Though use cases are used extensively by object-oriented practitioners, their applicability is not restricted to object- oriented systems, because they are not object-oriented in nature
Use Cases Diagram for MLC Initiate Invitation Handle Incoming Invitation Classmates Selection Preference Selection Accept Invitation Decline Invitation AU MLC Management AU Mobile Learner AU MLC Service Provider >
Dec 11, Step 2: Initial Agent Types Identification The following rules are applied: The following rules are applied: –Add one type of agent per user/device –Add one type of agent per resource (which includes legacy software)
Agent Diagram for MLC Mobile Learner Agent AU Mobile Learner Localization Agent MLC Localization System AU MLC Service Agent Learner Profiles, MLC & Meeting Schedules, etc Database
Dec 11, Different Approaches to Accounting for External/legacy Systems Transducer Approach Transducer Approach Wrapper Wrapper Rewriting Rewriting Transducer External/Legacy Resource Wrapper Legacy Code Rewrite ACL
Dec 11, Step 3: Responsibilities Identification Rules Rules –Derive the initial set of responsibilities from the use cases identified in Step 1 –Consider the agents where these responsibilities are clearer first and delay the identification of responsibilities for other agents to later steps Note: responsibilities are similar to roles in Gaia methodologies. Note: responsibilities are similar to roles in Gaia methodologies.
Dec 11, Initial Responsibilities Table Agent Type Responsibilities Mobile Learner Agent 1. Serve requests to initiate invitation from the MLC member (learner) 2. Let the MLC member select members to invite 3. Let the learner insert preferences about discussion topics and meetings (places, time) 4. Present meeting schedules 5. Respond to invitations from other mobile learner agents
Step 4: Acquaintance Identification Mobile Learner Agent AU Mobile Learner Localization Agent MLC Localization System AU MLC Service Agent Learner Profiles, MLC & Meeting Schedules, etc Database
Dec 11, Updated Agent Diagram Agent Type Responsibilities Mobile Learner Agent 1. Serve requests to initiate invitation from the MLC member (learner) 2. Let the MLC member select members to invite 3. Let the learner insert preferences about discussion topics and meetings (places, time) 4. Present meeting schedules 5. Respond to invitations from other mobile learner agents 6. Present (to the user) incoming information from other mobile learner agents 7. Let the user accept an incoming invitation 8. Let the user reject an incoming invitation 9. Retrieve MLC meeting schedules from the relevant AU MLC Service Agent Respond to meeting schedules retrieval requests from Mobile Learner Agent
Dec 11, Step 5: Agent Refinement Considerations: Considerations: –Support: what supporting information agents need to accomplish their responsibilities, and how, when, and where is this information generated/stored –Discovery: how agents linked by an acquaintance relation discover each other –Management and monitoring: is the system required to keep track of existing agents, or the starting and stopping of agents on demand.
Dec 11, Support Localization agent: Localization agent: –retrieve current location from the localization agent –Respond to location retrieval requests from Mobile learner agent
Dec 11, Agents Discovery Yellow page mechanism Yellow page mechanism –Allows discovery of agents on the basis of their characteristics, e.g. the services they provide. –Can be fully distributed across all agents in the system or centralized with a single agent responsible for it (recommended).
Step 5: Agent Refinement Mobile Learner Agent AU Mobile Learner Localization Agent MLC Localization System AU MLC Service Agent Learner Profiles, MLC & Meeting Schedules, etc Database Yellow Pages Agent
Dec 11, Responsibilities Table Updated after Step 5 Agent Type Responsibilities Mobile Learner Agent 1. Serve requests to initiate invitation from the MLC member (learner) 2. Let the MLC member select members to invite 3. Let the learner insert preferences about discussion topics and meetings (places, time) 4. Present meeting schedules 5. Respond to invitations from other mobile learner agents 6. Present (to the user) incoming information from other mobile learner agents 7. Let the user accept an incoming invitation 8. Let the user reject an incoming invitation 9. Retrieve MLC meeting schedules from the relevant 10. Retrieve the current location from the localization agent 11. Retrieve the relevant service provider agent from the Yellow pages agent AU MLC Service Provider Agent 1. Respond to meeting schedules retrieval requests from Mobile Learner Agent 2. Register with the yellow pages agent Localization Agent 1. Respond to location requests from Mobile learner agents
Dec 11, Step 6: Agent Deployment (System Architecture) Agent deployment diagram: physical hosts/devices agents are going to be deployed Agent deployment diagram: physical hosts/devices agents are going to be deployed Mobile Learner Agent Mobile Learner Agent Mobile Learner Agent AU MLC Service Agent Yellow Pages Agent Localization Agent AU MLC Service Agent AU MLC Service Agent
Step 6: Agent Deployment Mobile Learner Agent AU Mobile Learner Localization Agent MLC Localization System AU MLC Service Agent Learner Profiles, MLC & Meeting Schedules, etc Database Yellow Pages Agent
Dec 11, Analysis Phase Use Case Diagram Agent Diagram Responsibilities Table Agent Deployment Diagram update
Dec 11, Next …
Dec 11, Design (specific to the JADE platform) Step 1: Agent Splitting/Merging/Renaming Step 1: Agent Splitting/Merging/Renaming Step 2: Interaction Specification Step 2: Interaction Specification Step 3: Ad-hoc Interaction Protocol Definition Step 3: Ad-hoc Interaction Protocol Definition Step 4: Message Templates Step 4: Message Templates Step 5: Description to be Registered/Searched (Yellow Pages) Step 5: Description to be Registered/Searched (Yellow Pages) Step 6: Agent-Resource Interactions Step 6: Agent-Resource Interactions Step 7: Agent-User Interactions Step 7: Agent-User Interactions Step 8: Internal Agent Behaviors Step 8: Internal Agent Behaviors Step 9: Defining an Ontology Step 9: Defining an Ontology Step 10: Content Language Selection Step 10: Content Language Selection
Dec 11,
Dec 11,