april 15, 2005department of computer science, byu agent-oriented software engineering muhammed...

Download April 15, 2005Department of Computer Science, BYU Agent-Oriented Software Engineering Muhammed Al-Muhammed Brigham Young University Supported in part by

Post on 21-Dec-2015

212 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Slide 1
  • April 15, 2005Department of Computer Science, BYU Agent-Oriented Software Engineering Muhammed Al-Muhammed Brigham Young University Supported in part by NSF
  • Slide 2
  • April 15, 2005Department of Computer Science, BYU(2) Outline Software Engineering Agents Agent-Oriented Software Engineering Agent Modeling Tools Methodologies Reuse in Agent Software Future Directions
  • Slide 3
  • April 15, 2005Department 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)
  • Slide 4
  • April 15, 2005Department 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
  • Slide 5
  • April 15, 2005Department of Computer Science, BYU(5) Outline Software Engineering Agents Agent-Oriented Software Engineering Agent Modeling Tools Methodologies Reuse in Agent Software Future Directions
  • Slide 6
  • April 15, 2005Department 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
  • Slide 7
  • April 15, 2005Department 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
  • Slide 8
  • April 15, 2005Department of Computer Science, BYU(8) Outline Software Engineering Agents Agent-Oriented Software Engineering Agent Modeling Tools Methodologies Reuse in Agent Software Future Directions
  • Slide 9
  • April 15, 2005Department 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
  • Slide 10
  • April 15, 2005Department 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
  • Slide 11
  • April 15, 2005Department of Computer Science, BYU(11) Outline Software Engineering Agents Agent-Oriented Software Engineering Agent Modeling Tools Methodologies Reuse in Agent Software Future Directions
  • Slide 12
  • April 15, 2005Department 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]
  • Slide 13
  • April 15, 2005Department of Computer Science, BYU(13) Outline Software Engineering Agents Agent-Oriented Software Engineering Agent Modeling Tools Methodologies Reuse in Agent Software Future Directions
  • Slide 14
  • April 15, 2005Department of Computer Science, BYU(14) Methodologies Methodologies based on agent theory Extensions of object-oriented methodologies Methodologies based on knowledge engineering Hybrid methodologies
  • Slide 15
  • April 15, 2005Department 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
  • Slide 16
  • April 15, 2005Department 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]
  • Slide 17
  • April 15, 2005Department 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
  • Slide 18
  • April 15, 2005Department of Computer Science, BYU(18) Extensions of Object-Oriented Methodologies But these methodologies do not address many agent aspects Mental states Social dimensions
  • Slide 19
  • April 15, 2005Department 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]
  • Slide 20
  • April 15, 2005Department 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
  • Slide 21
  • April 15, 2005Department 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
  • Slide 22
  • April 15, 2005Department 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
  • Slide 23
  • April 15, 2005Department 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
  • Slide 24
  • April 15, 2005Department 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 modelprocess model
  • Slide 25
  • April 15, 2005Department of Computer Science, BYU(25) Outline Software Engineering Agents Agent-Oriented Software Engineering Agent Modeling Tools Methodologies Reuse in Agent Software Future Directions
  • Slide 26
  • April 15, 2005Department 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
  • Slide 27
  • April 15, 2005Department of Computer Science, BYU(27) Outline Software Engineering Agents Agent-Oriented Software Engineering Agent Modeling Tools Methodologies Reuse in Agent Software Future Directions
  • Slide 28
  • April 15, 2005Department 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

Recommended

View more >