Download
agent oriented software engineering n.
Skip this Video
Loading SlideShow in 5 Seconds..
Agent-Oriented Software Engineering PowerPoint Presentation
Download Presentation
Agent-Oriented Software Engineering

Agent-Oriented Software Engineering

276 Vues Download Presentation
Télécharger la présentation

Agent-Oriented Software Engineering

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Agent-Oriented Software Engineering Muhammed Al-Muhammed Brigham Young University Supported in part by NSF Department of Computer Science, BYU

  2. Outline • Software Engineering • Agents • Agent-Oriented Software Engineering • Agent Modeling Tools • Methodologies • Reuse in Agent Software • Future Directions Department of Computer Science, BYU

  3. Software Engineering • “The establishment and use of sound engineering principles (methods) in order to obtain economically software that is reliable and works on real machines” (Bauer, F. L. Software Engineering. Information Processing 71., 1972) Department of Computer Science, BYU

  4. Software Engineering • Some principles [GJM91] • Modularity • Abstraction • Process of developing software • Requirement analysis, design, testing,… • Software Architecture [Gar00] • Past trends • Current and future trends Department of Computer Science, BYU

  5. Outline • Software Engineering • Agents • Agent-Oriented Software Engineering • Agent Modeling Tools • Methodologies • Reuse in Agent Software • Future Directions Department of Computer Science, BYU

  6. Agents • Definition [FG96] “An agent is a system situated within and part of environment that senses that environment and acts on it, over time, in pursuit of its own agenda and so as to effect what it senses in the future.” • Agent properties [JSW98, Bra97] • Autonomyhas control over its behavior • Re-activitycontinuously observes and react to changes in its environment in timely fashion • Pro-activitygoal oriented • Socialitycommunicate in a high-level way Department of Computer Science, BYU

  7. Agents • Contributors to agent research [JSW98] • Artificial intelligence • Object systems • Human-computer interface design • Multi-agent systems • Agent communication languages • KQML [FLM97] & FIPA Department of Computer Science, BYU

  8. Outline • Software Engineering • Agents • Agent-Oriented Software Engineering • Agent Modeling Tools • Methodologies • Reuse in Agent Software • Future Directions Department of Computer Science, BYU

  9. Agent-Oriented Software Engineering [Jen00] • The case for agent orientation to software engineering • Agent-oriented decomposition is an effective way of partitioning a problem space • Agent mindset (agent, interactions, and organizational relationships) are a natural means for modeling complex systems Department of Computer Science, BYU

  10. Agent-Oriented Software Engineering[Jen00] • Problems of agent-based approaches to software engineering • Unpredictable patterns and outcomes of the interactions • Difficult (or impossible) to predict the behavior of the overall system based on its constituent components Department of Computer Science, BYU

  11. Outline • Software Engineering • Agents • Agent-Oriented Software Engineering • Agent Modeling Tools • Methodologies • Reuse in Agent Software • Future Directions Department of Computer Science, BYU

  12. Agent Modeling Tools • UML – unsuitable for agent modeling • Two major extensions to UML • AUML – extends UML specifically it extends UML interaction diagrams to support agent protocols [PO04] • AML – extends UML and uses concepts from AUML, OWL, MESSAGE, FIPA-S… [CTCG04] Department of Computer Science, BYU

  13. Outline • Software Engineering • Agents • Agent-Oriented Software Engineering • Agent Modeling Tools • Methodologies • Reuse in Agent Software • Future Directions Department of Computer Science, BYU

  14. Methodologies • Methodologies based on agent theory • Extensions of object-orientedmethodologies • Methodologies based on knowledge engineering • Hybrid methodologies Department of Computer Science, BYU

  15. Methodologies Based on Agent Theory • Provides more support for agent aspects than other approaches • Lacks maturity and support outside of research labs Department of Computer Science, BYU

  16. Methodologies Based on Agent Theory • Exiting methodologies • GAIA [ZJW03] • Conceptualizes a multi-agent system as a society • Covers only analysis and design phase • Others • ROADMAP [JPS02], • Tropos [GMP02], and • SODA [Omi01] Department of Computer Science, BYU

  17. Extensions of Object-Oriented Methodologies • Rationale • Similarities between agents and objects • Both paradigms use message passing for communication • Agents can be thought of as active objects • Object techniques well understood by engineers • Using these techniques accelerates agent use in industry Department of Computer Science, BYU

  18. Extensions of Object-Oriented Methodologies • But these methodologies do not address many agent aspects • Mental states • Social dimensions Department of Computer Science, BYU

  19. Extensions of Object-Oriented Methodologies • Existing methodologies • MaSE [WD01] • Leads engineers from specification to implementation • Covers many phases: capturing goals, applying use cases, … • Others • PASSI [CP02] • Prometheus [PW02] Department of Computer Science, BYU

  20. Methodologies Based on Knowledge Engineering • Rationale • Agent knowledge can be considered as a knowledge acquisition process • Acquired experience in knowledge engineering can help expedite introducing agent technology to industry • Do not address many agent aspects • Social aspects • Reactive and proactive behaviors Department of Computer Science, BYU

  21. Methodologies Based on Knowledge Engineering • MAS-CommonKADS [IMGV98] • Incorporates aspects from knowledge engineering and object technology • Covers the following phases: • Conceptualization: obtaining a preliminary description of the problem • Analysis: agent model, task model, expertise model … • Design: design model Department of Computer Science, BYU

  22. Hybrid Methodologies • General-purpose methodologies may be infeasible • Each methodology has strengths and weaknesses • Integrating strong features from different methodologies may produce a better methodology Department of Computer Science, BYU

  23. Hybrid Methodologies • Two approaches • Skeleton methodology (integrates two methodologies) [JSW02] • The core of skeleton has six models from both methodologies • Can model systems with low agency needs • Optional models are available when more agency required • Modular methodology [JSMM03] • Promotes the use of more than methodology • Depends on the notion of software engineering feature • Add features from different methodology as needed Department of Computer Science, BYU

  24. Other Approaches • A three level technique to build multi-agent systems [HGR03] • Phases: • Three models: role model, agent model, and object model • Meta-model for each level along with a translator to next level • A one-process model technique to build multi-agent systems [KR02] • Simplifies obtaining requirements • Relies on one model—process model Department of Computer Science, BYU

  25. Outline • Software Engineering • Agents • Agent-Oriented Software Engineering • Agent Modeling Tools • Methodologies • Reuse in Agent Software • Future Directions Department of Computer Science, BYU

  26. Reuse in Agent Software • Researchers have identified many patterns [Lin02,GL04] such as • Interaction patterns • Organizational Patterns • Role patterns • Each pattern is described by a schema • A collection of aspects that fully capture a software pattern Department of Computer Science, BYU

  27. Outline • Software Engineering • Agents • Agent-Oriented Software Engineering • Agent Modeling Tools • Methodologies • Reuse in Agent Software • Future Directions Department of Computer Science, BYU

  28. Future Directions • Openness • No good support for open systems • More specialized methodologies are required • Semantic web • Engineering semantic web services • Users (not software engineers) will design their applications • Library of ready-to-use, high-level components • Methodologies to guide users to configure components • Generation of agents on-the-fly, as needed to perform services Department of Computer Science, BYU