Agent-Oriented Software Engineering

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

description

Agent-Oriented Software Engineering. Muhammed Al-Muhammed Brigham Young University. Supported in part by NSF. Outline. Software Engineering Agents Agent-Oriented Software Engineering Agent Modeling Tools Methodologies Reuse in Agent Software Future Directions. Software Engineering. - PowerPoint PPT Presentation

Transcript of Agent-Oriented Software Engineering

Page 1: Agent-Oriented Software Engineering

April 15, 2005 Department of Computer Science, BYU

Agent-Oriented Software Engineering

Muhammed Al-Muhammed

Brigham Young University

Supported in part by NSF

Page 2: Agent-Oriented Software Engineering

April 15, 2005 Department of Computer Science, BYU (2)

Outline

Software Engineering Agents Agent-Oriented Software Engineering

Agent Modeling Tools Methodologies Reuse in Agent Software

Future Directions

Page 3: Agent-Oriented Software Engineering

April 15, 2005 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)

Page 4: Agent-Oriented Software Engineering

April 15, 2005 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

Page 5: Agent-Oriented Software Engineering

April 15, 2005 Department of Computer Science, BYU (5)

Outline

Software Engineering Agents Agent-Oriented Software Engineering

Agent Modeling Tools Methodologies Reuse in Agent Software

Future Directions

Page 6: Agent-Oriented Software Engineering

April 15, 2005 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] Autonomyhas control over its behavior Re-activitycontinuously observes and react to

changes in its environment in timely fashion Pro-activitygoal oriented Socialitycommunicate in a high-level way

Page 7: Agent-Oriented Software Engineering

April 15, 2005 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

Page 8: Agent-Oriented Software Engineering

April 15, 2005 Department of Computer Science, BYU (8)

Outline

Software Engineering Agents Agent-Oriented Software Engineering

Agent Modeling Tools Methodologies Reuse in Agent Software

Future Directions

Page 9: Agent-Oriented Software Engineering

April 15, 2005 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

Page 10: Agent-Oriented Software Engineering

April 15, 2005 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

Page 11: Agent-Oriented Software Engineering

April 15, 2005 Department of Computer Science, BYU (11)

Outline

Software Engineering Agents Agent-Oriented Software Engineering

Agent Modeling Tools Methodologies Reuse in Agent Software

Future Directions

Page 12: Agent-Oriented Software Engineering

April 15, 2005 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]

Page 13: Agent-Oriented Software Engineering

April 15, 2005 Department of Computer Science, BYU (13)

Outline

Software Engineering Agents Agent-Oriented Software Engineering

Agent Modeling Tools Methodologies Reuse in Agent Software

Future Directions

Page 14: Agent-Oriented Software Engineering

April 15, 2005 Department of Computer Science, BYU (14)

Methodologies

Methodologies based on agent theory Extensions of object-oriented

methodologies Methodologies based on knowledge

engineering Hybrid methodologies

Page 15: Agent-Oriented Software Engineering

April 15, 2005 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

Page 16: Agent-Oriented Software Engineering

April 15, 2005 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]

Page 17: Agent-Oriented Software Engineering

April 15, 2005 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

Page 18: Agent-Oriented Software Engineering

April 15, 2005 Department of Computer Science, BYU (18)

Extensions of Object-Oriented Methodologies

But these methodologies do not address many agent aspects Mental states Social dimensions

Page 19: Agent-Oriented Software Engineering

April 15, 2005 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]

Page 20: Agent-Oriented Software Engineering

April 15, 2005 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

Page 21: Agent-Oriented Software Engineering

April 15, 2005 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

Page 22: Agent-Oriented Software Engineering

April 15, 2005 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

Page 23: Agent-Oriented Software Engineering

April 15, 2005 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

Page 24: Agent-Oriented Software Engineering

April 15, 2005 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

Page 25: Agent-Oriented Software Engineering

April 15, 2005 Department of Computer Science, BYU (25)

Outline

Software Engineering Agents Agent-Oriented Software Engineering

Agent Modeling Tools Methodologies Reuse in Agent Software

Future Directions

Page 26: Agent-Oriented Software Engineering

April 15, 2005 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

Page 27: Agent-Oriented Software Engineering

April 15, 2005 Department of Computer Science, BYU (27)

Outline

Software Engineering Agents Agent-Oriented Software Engineering

Agent Modeling Tools Methodologies Reuse in Agent Software

Future Directions

Page 28: Agent-Oriented Software Engineering

April 15, 2005 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