Analysis, Design, and Implementation of an Agent Based Management Information System Management...
-
Upload
richard-newman -
Category
Documents
-
view
223 -
download
0
Transcript of Analysis, Design, and Implementation of an Agent Based Management Information System Management...
Analysis, Design, and Implementation of an Agent Analysis, Design, and Implementation of an Agent BasedBased
Management Information SystemManagement Information System
Supervisor: Dr. RazzaziSupervisor: Dr. Razzazi
Advisor: Dr. RahmatiAdvisor: Dr. Rahmati
By: Leila HomaeianBy: Leila Homaeian
Summer 1381Summer 1381
22
General ConceptsGeneral Concepts
• Agent DefinitionAgent Definition
• OntologyOntology
• Agent Characteristics of JavaAgent Characteristics of Java
33
Agent DefinitionAgent Definition
• ReactiveReactive• AutonomousAutonomous• Goal-DrivenGoal-Driven• Temporally ContinuousTemporally Continuous
Orthogonal PropertiesOrthogonal Properties
• CommunicativeCommunicative• MobileMobile• LearningLearning• BelievableBelievable
44
Seven Reasons for Using Seven Reasons for Using mobile agents mobile agents • Reducing the Network LoadReducing the Network Load
• Overcoming Network LatencyOvercoming Network Latency
• Encapsulating Encapsulating ProtocolsProtocols
• Executing Asynchronously and AutonomouslyExecuting Asynchronously and Autonomously
• Adapting DynamicallyAdapting Dynamically
• Naturally HeterogeneousNaturally Heterogeneous
• Robust and Fault TolerantRobust and Fault Tolerant
55
OntologyOntology
• What is an Ontology?What is an Ontology?
• A Simple Knowledge-Engineering MethodolA Simple Knowledge-Engineering Methodologyogy
66
A Simple Knowledge-A Simple Knowledge-EngineeringEngineering Methodology Methodology• Determining the Domain and Scope of the Determining the Domain and Scope of the
OntologyOntology
• Considering Reusing Existing OntologiesConsidering Reusing Existing Ontologies
• Enumerating Important Terms in the Enumerating Important Terms in the OntologyOntology
• Defining the Classes and the Class HierarchyDefining the Classes and the Class Hierarchy
• Defining the Properties of Classes- SlotsDefining the Properties of Classes- Slots
• Defining the Facets of the SlotsDefining the Facets of the Slots
• Creating InstancesCreating Instances
77
Agent Characteristics of JavaAgent Characteristics of Java
• Platform IndependentPlatform Independent
• Secure ExecutionSecure Execution
• Dynamic Class LoadingDynamic Class Loading
• Multithread ProgrammingMultithread Programming
• Object SerializationObject Serialization
• ReflectionReflection
88
Project DescriptionProject Description
• System IdentificationSystem Identification
• Methodology for Analysis and Design: MESSAGEMethodology for Analysis and Design: MESSAGE
Methodology for Engineering Systems of Software AGEntsMethodology for Engineering Systems of Software AGEnts
Case Tool: MetaEdit+Case Tool: MetaEdit+
• Tool for Implementation: ASDKTool for Implementation: ASDK
Aglets Software Development KitAglets Software Development Kit
99
System IdentificationSystem Identification
• Requirements IdentificationRequirements Identification
• Components within the SystemComponents within the System
• How the Functionality of the System is How the Functionality of the System is done?done?
1010
Analysis and Design of the Analysis and Design of the Registrar office Registrar office
• Main MESSAGE ConceptsMain MESSAGE Concepts
• Analysis Model ViewsAnalysis Model Views
• Analysis ProcessAnalysis Process
• Analysis DiagramsAnalysis Diagrams
• Design ProcessDesign Process
1111
Main MESSAGE ConceptsMain MESSAGE Concepts
• FoundationsFoundations
• Knowledge-level ConceptsKnowledge-level Concepts
1212
Knowledge-level ConceptsKnowledge-level Concepts
• Concrete EntitiesConcrete Entities
• ActivitiesActivities
• Mental State EntitieMental State Entitiess
1313
Concrete EntitiesConcrete Entities
• AgentAgent
• OrganizationOrganization
• RoleRole
• ResourceResource
1414
ActivitiesActivities
• TaskTask
• Interaction and Interaction ProtocolInteraction and Interaction Protocol
1515
Mental State EntitiesMental State Entities
• GoalGoal
• Information EntityInformation Entity
• MessageMessage
1616
Analysis Model ViewsAnalysis Model Views
• Definition of ViewsDefinition of Views
• Consistency between the Consistency between the ViewsViews
1717
Definition of ViewsDefinition of Views
• Organization ViewOrganization View
• Goal/Task ViewGoal/Task View
• Agent/Role ViewAgent/Role View
• Interaction ViewInteraction View
• Domain ViewDomain View
1818
Analysis ProcessAnalysis Process• IntroductionIntroduction
• Inputs to Modelling ProcessInputs to Modelling Process
• Overview of Modelling ProcessOverview of Modelling Process
1919
Introduction to Analysis Introduction to Analysis ProcessProcess• Refinement ApproachRefinement Approach
• Analysis Refinement StrategiesAnalysis Refinement Strategies
2020
Components within the Components within the systemsystem• Interface AgentInterface Agent
Student RoleStudent Role Administrator RoleAdministrator Role
• Broker AgentBroker Agent Broker RoleBroker Role
• Staff AgentStaff Agent Staff RoleStaff Role
2121
Analysis DiagramsAnalysis Diagrams
• MESSAGE NotationMESSAGE Notationss
• Level 0 AnalysisLevel 0 Analysis
• Level 1 AnalysisLevel 1 Analysis
2222
MESSAGE NotationsMESSAGE Notations
• Symbol SummarySymbol Summary
• Usage of RelationsUsage of Relations
2323
Symbol SummarySymbol Summary
2424
Usage of RelationsUsage of Relations Implication AssignmentImplication Assignment
DataFlowDataFlow
Assignment
Wish Play Performance Provision Participation
2525
Level 0 AnalysisLevel 0 Analysis
• Organization ViewOrganization View
• Goal/Task ViewGoal/Task View
2626
Organization ViewOrganization ViewLevel 0 Organization Diagram (Structural Relationships)Level 0 Organization Diagram (Structural Relationships)
Level 0 Organization Diagram (Acquaintance Relationships)Level 0 Organization Diagram (Acquaintance Relationships)
2727
Goal/Task ViewGoal/Task ViewLevel 0 Goal/Task Implication Diagram Level 0 Workflow D. of Receiving Level 0 Goal/Task Implication Diagram Level 0 Workflow D. of Receiving
InformationInformation
Level 0 Workflow D. of Delivering Information Level 0 Workflow D. of Replacing Level 0 Workflow D. of Delivering Information Level 0 Workflow D. of Replacing InformationInformation
2828
Goal/Task ViewGoal/Task ViewLevel 0 Workflow D. of Receiving Question Level 0 workflow D. of Understanding Level 0 Workflow D. of Receiving Question Level 0 workflow D. of Understanding
QuestionQuestion
& Designating the Staff& Designating the Staff
Level 0 Workflow D. of Forwarding Level 0 Workflow D. of Forwarding
Student to StaffStudent to Staff
2929
Goal/Task ViewGoal/Task View Level 0 Workflow D. of Finding AnswerLevel 0 Workflow D. of Finding Answer
Level 0 Workflow D. of Offering Answer to End UserLevel 0 Workflow D. of Offering Answer to End User
3030
Level 1 AnalysisLevel 1 Analysis
• Organization ViewOrganization View
• Agent/Role ViewAgent/Role View
• Interaction ViewInteraction View
• Domain ViewDomain View
3131
Organization ViewOrganization View
Level 1 Organization D. (Acquaintance Relationship)Level 1 Organization D. (Acquaintance Relationship)
3232
Agent/Role ViewAgent/Role View
Level 1 Delegation Structure DiagramLevel 1 Delegation Structure Diagram
3333
Interaction viewInteraction viewInteraction D. (Student & broker) Interaction D. (Student & Staff)Interaction D. (Student & broker) Interaction D. (Student & Staff)
Interaction D. (Administrator & Staff)Interaction D. (Administrator & Staff)
3434
Domain ViewDomain View
Domain Information DiagramDomain Information Diagram date
month : Integerday : Integeryear : Integer
Term
startDate : datefinalDate : datedateOf_form5 : datedateOf_omission_addition : datedateOf_registeration : datehave_preRegisteration : BooleancoursesOf_semester : StringmidExam : examfinalExam : exam
exam
startDate : datefinalDate : date has
has
student
ID : IntegerfirstName : StringlastName : Stringcourse : course_of_education
pass_term()
term of student
startDate : dateaverage : Doublepassed_cources : Stringfailed_cources : String$ failing_cnd : String$ allowed_absence : String
course_of_education
allowed_failings : String<<array>> terms : Term
date
month : Integerday : Integeryear : Integer
1n
has
n
1
1n
pass1n
is composed of
1
n
pass
1
1
has
1
n
3535
Design ProcessDesign Process
• Agent-Platform Oriented ApproachAgent-Platform Oriented Approach• Architecture Driven ApproachArchitecture Driven Approach
• Design Activities Design Activities
3636
Design ActivitiesDesign Activities
• Refining the Analysis EntitiesRefining the Analysis Entities
• Selecting the Agent ArchitectureSelecting the Agent Architecture
• Structuring the Results according to the Organization Structuring the Results according to the Organization ViewView
Organization View in the AnalysisOrganization View in the Analysis Organization View in the DesignOrganization View in the Design
• Fulfilling the ArchitectureFulfilling the Architecture Identifying components for External BehaviourIdentifying components for External Behaviour Fulfilling the Domain LayerFulfilling the Domain Layer Fulfilling the Decision and Management LayerFulfilling the Decision and Management Layer
3737
Refining the Analysis EntitiesRefining the Analysis Entities Interaction between Student & Broker Student & StaffInteraction between Student & Broker Student & Staff
Staff & AdministratorStaff & Administrator
receive question
Broker
send error message send keywords & staff's address
send result<<include>><<include>>
send question
receive result
Student
receive keywords
send answer
Staffsend keywords
receive answer
Student
send new informationAdministrator
replace new information
Staff
receive new information
Student Broker
send question
designate staffsend result
Studentsend keywords
Staff
extract answersend answer
Administrator Staff
send new information
replaceInfo
3838
Identifying components for Identifying components for ExternalExternal Behaviour Behaviour • Generate InterfacesGenerate Interfaces
• Generate ProxiesGenerate Proxies
• Generate serversGenerate servers
• Generate Session EntitiesGenerate Session Entities
3939
Identifying components for External Identifying components for External BehaviourBehaviourResource Layer for Interface agent Resource Layer for Interface agent Broker agentBroker agent
Staff AgentStaff Agent
Resource Layer
Interface Agent<<agent>>
Administrator
sendOneWayMessage()goTo()
<<Interface>>
StudentProxy
sendOneWayMessage()
BrokerServer
StaffServer
Broker
handleMessage()split()designateStaff()delMark()
<<Interface>>
Staff
handleMessage()replaceInfo()findAnswer()
<<Interface>>
AdministratorServer
BrokerProxy
sendOnewayMessage()
StaffProxy
sendOneWayMessage()
StudentServer
Student
goTo()handleMessage()
<<Interface>>
Resource Layer
Broker Agent<<agent>>
StudentProxy
sendOneWayMessage()
BrokerServer
Broker
handleMessage()split()designateStaff()delMark()
<<Interface>>BrokerProxy
sendOnewayMessage()
StudentServer
Student
goTo()handleMessage()
<<Interface>>
Resource Layer
Staff Agent<<agent>>
Administrator
sendOneWayMessage()goTo()
<<Interface>>
StudentProxy
sendOneWayMessage()StaffServer
Staff
handleMessage()replaceInfo()findAnswer()
<<Interface>>
AdministratorServer
StaffProxy
sendOneWayMessage()
StudentServer
Student
goTo()handleMessage()
<<Interface>>
4040
Fulfilling the Domain LayerFulfilling the Domain Layer
• Domain Entity Mangers Domain Entity Mangers
• TasksTasksdate
month : Integerday : Integeryear : Integer
exam
startDate : datefinalDate : date
term of student
startDate : dateaverage : Doublepassed_cources : Stringfailed_cources : String$ failing_cnd : String$ allowed_absence : String
date
month : Integerday : Integeryear : Integer
course_of_education
allowed_failings : String<<array>> terms : Term
student
ID : IntegerfirstName : StringlastName : Stringcourse : course_of_education
pass_term()
has
1
n
is composed of
1
n
pass1n
pass
1
1
Staff1
replaceInfo()findAnswer()
Staff2
replaceInfo()findAnswer()
Term
startDate : datefinalDate : datedateOf_form5 : datedateOf_omission_addition : datedateOf_registeration : datehave_preRegisteration : BooleancoursesOf_semester : StringmidExam : examfinalExam : exam
1n
has
n
1
has
1n
has
4141
ImplementationImplementation
• Java Aglet API (J-AAPI)Java Aglet API (J-AAPI) and Aglet Object Modeland Aglet Object Model
• Aglet Event ModelAglet Event Model
• Aglet APIAglet API
• Implementation Description of Registrar OfficeImplementation Description of Registrar Office
4242
Java Aglet API (J-AAPI)Java Aglet API (J-AAPI) and Aglet and Aglet Object ModelObject ModelMain ElementsMain Elements
– AgletAglet– ContextContext– ProxyProxy– MessageMessage– ItineraryItinerary– IdentifierIdentifier
Supported BehaviourSupported Behaviour
– CreationCreation– CloningCloning– DispatchDispatch– RetractRetract– Activate/DeactivateActivate/Deactivate– DisposeDispose– MessagingMessaging
4343
Aglet Event ModelAglet Event Model
• Clone ListenerClone Listener
• Mobility ListenerMobility Listener
• Persistence ListenerPersistence Listener
4444
Aglet APIAglet API
• Aglet classAglet class
• AgletProxy InterfaceAgletProxy Interface
• Aglet ContextAglet Context
• Message ClassMessage Class
4545
Implementation Description of Implementation Description of Registrar OfficeRegistrar Office
• Interface AgentInterface Agent
• Broker AgentBroker Agent
• Staff AgentStaff Agent
4646
RefrencesRefrences1. Danny B. Lang, Mitsuru Oshima, 1. Danny B. Lang, Mitsuru Oshima, Mobile Agents with Java: The Aglet APIMobile Agents with Java: The Aglet API, 1998 , 1998 www.moe-lange.com/danny/wwwj.pdfwww.moe-lange.com/danny/wwwj.pdf. .
2. Danny B. Lang, Mitsuru Oshima, Gunter Karjoth, Kazuya Kosaka, 2. Danny B. Lang, Mitsuru Oshima, Gunter Karjoth, Kazuya Kosaka, Aglets: Programming Mobile Agents in JavaAglets: Programming Mobile Agents in Java,1996,1996 http://www.http://www.trltrl..ibmibm.co..co.jpjp/aglets/aglets..
3. 3. WWW.WWW.sourceforgesourceforge.net/projects/aglets.net/projects/aglets..
4. Giovanni Caire, Francisco Leal, Paulo Chainho, Richards Evans, Francisco Garijo, Jorge Gomez, Juan Pavon, Paul Kearney, Jamie Stark, 4. Giovanni Caire, Francisco Leal, Paulo Chainho, Richards Evans, Francisco Garijo, Jorge Gomez, Juan Pavon, Paul Kearney, Jamie Stark, Philippe Massonet, Philippe Massonet, Agent Oriented Analysis using MESSAGE/UMLAgent Oriented Analysis using MESSAGE/UML, 2000 , 2000
http://www.http://www.cediticediti.be/download/software_agent..be/download/software_agent.pdfpdf . .
5. MESSAGE: Methodology for Engineering Systems of Software 5. MESSAGE: Methodology for Engineering Systems of Software Agents:Agents: Methodology for agent-Oriented Software agents, Methodology for agent-Oriented Software agents, www.www.eurescomeurescom.de/projects/p907.de/projects/p907, September 2001., September 2001.
6. MESSAGE: Methodology for Engineering Systems of Software Agents, 6. MESSAGE: Methodology for Engineering Systems of Software Agents, Recommendations on Supporting Case Tools, Recommendations on Supporting Case Tools, www.www.eurescomeurescom.de/projects/p907.de/projects/p907..
7. Natalya F. Noy, Deborah L. McGuinness, 7. Natalya F. Noy, Deborah L. McGuinness, Ontology Development 101:Ontology Development 101: A Guide to Crating Your First OntologyA Guide to Crating Your First Ontology http://protege.stanford.edu/publications/ontology_development/ontology101-noy-mcguinness.htmlhttp://protege.stanford.edu/publications/ontology_development/ontology101-noy-mcguinness.html..
8. Joseph P. Bigus, Jennifer P. Bigus, 8. Joseph P. Bigus, Jennifer P. Bigus, Constructing Intelligent Agents using JavaConstructing Intelligent Agents using Java, 2nd Edition, JOHN WIELY & SONS INC, 2001. , 2nd Edition, JOHN WIELY & SONS INC, 2001.
9. Federico Bergenti, Agostino Poggi,9. Federico Bergenti, Agostino Poggi, Exploiting UML in the Design of Multi-Agent Systems Exploiting UML in the Design of Multi-Agent Systems, 1999., 1999.
10. Amund Tveit, 10. Amund Tveit, A Survey of Agent-Oriented Software EngineeringA Survey of Agent-Oriented Software Engineering, May 2001. , May 2001. www.jfipa.org/publications/AgentOrientedSoftwareEngineeringwww.jfipa.org/publications/AgentOrientedSoftwareEngineering.. 11. James J. Odell, H. Van Dyke Parunak, Bernhard Bauer, 11. James J. Odell, H. Van Dyke Parunak, Bernhard Bauer, Representing Agent Interaction Protocols in UML. Representing Agent Interaction Protocols in UML.
www.jamesodell.com/Rep_Agent_Protocols.pdfwww.jamesodell.com/Rep_Agent_Protocols.pdf..
1212. . Cay S. Horstmann, Gray Cornell, Cay S. Horstmann, Gray Cornell, Core JavaCore Java Volume I- Volume I- Fundamentals 1999, Sun Microsystems.Fundamentals 1999, Sun Microsystems.
13. Choge Xu, Dobgin Tao, 13. Choge Xu, Dobgin Tao, Building Distributed Application with Aglet.Building Distributed Application with Aglet. www.cs.duke.edu/~chong/aglet/www.cs.duke.edu/~chong/aglet/
14. 14. Alex L. G. Alex L. G. HayzeldenHayzelden, Rachel Bourne, , Rachel Bourne, Agent Technology for Communication InfrastructuresAgent Technology for Communication Infrastructures, John Wiley & Sons, 1st edition, January 31, , John Wiley & Sons, 1st edition, January 31, 2001.2001.
15. Hans-Erik Eriksson, Magnus Penker, 15. Hans-Erik Eriksson, Magnus Penker, Business Modeling with UMLBusiness Modeling with UML, John Wiley & Sons, 2000. , John Wiley & Sons, 2000.