Download presentation
Presentation is loading. Please wait.
Published byJustin Henry Modified over 8 years ago
1
Agent-Oriented Software Engineering Mohammad Badri Bio-IT Research Group ( Bioinformatics Research Center ) Advanced Information and Communication Technology Center Sharif University of Technology Badri@bioinformatics.ir www.Bio-IT.org/~badri In the Name of God
2
Objectives To introduce agents and multi-agent systems To introduce applications of agent-based systems To study the relationship between agents and objects ( object-oriented vs. agent-oriented ) To introduce agent-oriented Software development methodologies
3
Agenda Definition Why agent-oriented software engineering –Advantages –Disadvantages Question to be answered by AOSE System lifecycle –Requirements –Analysis –Design –Implementation
4
Paradigm Shifts real world mapping (abstraction level) time agents role/goal oriented C++, Java object oriented 3GL, C, Pascal,... function oriented 2GL, Assembler command oriented
5
Definition of agents (weak notion) Autonomous Pro-active Reactive Social ability
6
Definition of agents (strong notion) Belief Desire Intentions Goals Knowledge Obligations
7
Other possible attributes Rationality Veracity Mobility Learning capacity Cooperativeness
8
“ encapsulated computer system, situated in some environment, and capable of flexible autonomous action in that environment in order to meet its design objectives ” ( Wooldridge ) Definition
9
Relationship between Agents and Objects An object encapsulates some state, and has some control over this state in that it can only be accessed or modified via the methods that the object provides. Agents encapsulate state in just the same way. However, we also think of agents as encapsulating behavior, in addition to state. An object does not encapsulate behavior: it has no control over the execution of methods Significant difference is the degree to which agents and objects are autonomous
10
Relationship between Agents and Objects-2 The locus of control with respect to the decision about whether to execute an action is different. In OO case the decision lies with the object that invokes the method. In the agent case, the decision lies with the agent that receives the request. Agents exhibit flexible (reactive, pro-active and social) autonomous behaviour. Objects do not. Agents are considered to have their own thread of control and assumed to be continually active. Objects are assumed to be quiescent for most of the time and active when required by another object.
11
Agents vs. ES Personalized –agents -> different actions –ES -> same actions active, autonomous –agents - on their own –ES - passively answer adaptive –agent - learn and change –ES - remain static
12
Types of Agents
13
Building Agents Agent Oriented Programming (e.g. 3APL) –Close to agent theory, but far from industrial use Based on Java components (e.g. Jade) –More robust, but build intelligence yourself in Java Based on robust infrastructure (e.g. Tryllian ADK) –Industry standard systems (robust, efficient, scalable), but no intelligence
14
3APL agents (I)
15
3APL agents (II) PROGRAM "patrol_agent.3apl" CAPABILITIES: { at_east(self) } WalkWest() { NOT at_east(self), at_west(self) }, { at_west(self) } WalkEast() { at_east(self), NOT at_west(self) } BELIEFBASE: at_west(self) GOALBASE: patrol() RULEBASE: patrol() ¬ at_east(self) | WalkWest() ; patrol(), patrol() ¬ at_west(self) | WalkEast() ; patrol().
16
From Agents to Multi-Agent Systems Agent communication Agent societies –realise there are other agents –use other agents for your actions Collective plans, goals, etc. MAS vs. Autonomous agents
17
Some General Application Areas: (I) Industrial applications –manufacturing –process control –Air Traffic Control –telecommunications –transportation systems Electronic Commerce –electronic markets/auctions –buying agents (e.g. Jango, shopbot, etc.) Business Process Management Information Management –information gathering –information filtering
18
Some General Application Areas: (II) Medical Applications –Patient Monitoring –Healthcare E-Learning –Intelligent Tutoring Systems …
19
Electronic Data Interchange (EDI) Business Partners electronically exchange trading documents in a pre-arranged format. Advantages: Reduced paperwork, faster transactions, easy to automate. Disadvantages: Lock-in to small number of business partners. PurchaserSupplier Purchase order Payment Invoice
20
Electronic Markets Many potential trading partners meet and negotiate at an internet site. Advantages: Very flexible. More competition, leading to better deals. Disadvantages: Not automated, so slower and more labour-intensive than EDI. E-Market Buyer Seller
21
Agent-Mediated Electronic Commerce Agents represent buyers and sellers, and can participate in many Electronic markets. Advantages: Best of both worlds – Flexible but automated. Disadvantages: Technology not yet widely accepted. Agent Auction E-Market Buyer Seller
22
The Stages of E-Commerce Matchmaking Negotiation Contracting Contract Fulfilment
23
List of contacts Matchmaking Buyer Agent Directory Service Purchase goal Request
24
Negotiation Seller Buyer Agent Seller Agent Auction E-Market A A A A A A
25
Contracting Seller Buyer Agent Seller Agent Contract
26
Contract Fulfilment Seller Buyer Agent Seller Agent Payment Service delivery
27
General MAS Architecture for Information Management User1 User2 User- interface agent Profile agent Information agent Source agent Info Source1 Info Source2 Info Source3
28
The User interface agent Interface Manager Profile Manager Query handler Profile Agent User interface agent User profile User
29
Agent-oriented approaches can significantly enhance our ability to model, design and build complex (distributed) software systems
30
Tackling Complexity Decomposition Abstraction Organization (Grady Booch)
32
Agent-Oriented Software Engineering What is it? –An approach to developing software using agent-oriented abstractions Agents High-level interactions Organizational relationships Agent-Based Computing: A New Synthesis for AI and CS
33
Why Agent-oriented Software Engineering (AOSE)? Agent-oriented decomposition is an effective way of partitioning complex problems The key abstractions of agent-orientation are a natural way to model complex systems The agent-oriented –approach to dealing with organizational relationships is appropriate for complex systems
34
Agent-oriented Decomposition A natural representation for complex systems that are invariably distributed Agents make run-time decisions about the nature and scope of interactions –complexity makes it –impossible to know a –priori about all potential –links –process of managing –control relationships is –simplified coordination is handled bottom-up
35
Agent-Oriented Abstraction Complex systems can be characterized by subsystems, interactions, and organizational relationships – subsystems can be viewed as agents – interaction between –subsystems can be –viewed as high-level social –interactions – complex system organization –must be flexible to meet –demands of its changing –environment
36
Flexible Management of Organizational Structure Organizational constructs are first-class entities in multiagent systems Multiagent systems have built in mechanisms for flexibly forming, maintaining, and disbanding organizations Multiagent systems can provide a variety of stable intermediary forms in rapid systems development
37
Downside to Agent-Oriented Software Engineering The patterns and outcomes of interactions are inherently unpredictable u Predicting behavior of the overall system based on its components is extremely difficult (and sometimes impossible) due to possibility of emergent behavior
38
Questions to be Answered AOSE An agent-oriented software engineering methodology must address two levels –individual agent level –multiagent level
39
Individual Agent Questions What in the system should become an agent? How will each agent model the environment? How will agents be structured internally?
40
Multiagent Questions How many agents are there? What communication mechanisms will the agents use? What communication protocols will the agents use? How will relationships between agents be established? How will agents coordinate their actions?
41
Agent-Oriented Software Life Cycle Requirements specifications for agent systems Requirements Analysis Design How to implement such systems How to verify that implemented systems satisfy their specifications
42
Approaches to Agent-Oriented Analysis and Design –Object-oriented Extend/adapt existing techniques or methodologies –Knowledge-based systems Build on existing modeling techniques from knowledge engineering –Formal methods Use formal methods & languages such as Z and provide definitions to support agent systems –Domain specific Focus on a particular type of agent system
43
Requirements Provided by the user –Often in terms of desired scenarios or undesired scenarios –Often ambiguous and contradictory –Generally insufficient basis for system design
44
Analysis Analyze requirements to determine –What is the overall desired behavior of the system Main goals of the system What roles must be played to solve the problem Resources available to solve the problem Human interface requirements –What can be varied to –achieve this behavior –What cannot be varied
45
Design Transform high-level goals and roles into concrete agent types –What agents will perform which roles –Define number and types of agents Transform high-level interactions into specific interaction protocols –Derived from high-level role –Interactions
46
Design (2) Define low-level functions of each agent type to carry out high-level behaviors –Define ontology used by each agent
47
Implementation If not part of requirements, decide on –communication mechanism –communication languages –content languages –implementation language Transform protocols and low-level behavior into code
48
Summary AOSE methodology must be able to answer questions about individual as well us organizational issues Agent-oriented software engineering covers typical software development lifecycle –Requirements –Analysis –Design –Implementation
49
Conclusions Agents are here to stay! Agents are NOT simple Difference between theory and implementation Useful in complex domains: –Inter-organizational applications –Internet applications –Distributed applications Agents have a high potential Agents are increasingly used in practice
50
Agent research and practice AgentLink: Network of excellence –Research groups in agents www.agentlink.org Agent Cities: Network for deploying agent applications www.agentcities.org FIPA: foundation for agent standards www.fipa.org
51
Thanks for your attention Mohammad Badri badri@bioinformatics.ir Presentation available at www.Bio-IT.org/~badri/presentation/agent.ppt
54
Decomposition : Agents In terms of entities that have: –own persistent thread of control (active: “say go”) –control over their own destiny (autonomous: “say no”) Makes engineering of complex systems easier: –natural representation of multiple loci of control “real systems have no top” (Meyer) –allows competing (sub-) objectives to be represented and reconciled in context sensitive fashion
55
Decomposition : Interactions Agents make decisions about nature & scope of interactions at run time Makes engineering of complex systems easier: –unexpected interaction is expected all interactions need not be set at design time –simplified management of control relationships between components coordination occurs on as-needed basis between continuously active entities
56
Suitability of Abstractions Design is about right models In software, minimise gap between units of analysis and constructs of solution paradigm OO techniques natural way of modelling world
57
Agents Consistent with Trends in Software Engineering Conceptual basis rooted in problem domain Increasing localisation and encapsulation Greater support for re-use of designs and programs –whole sub-system components (cf. design patterns, component-ware) e.g. agent architectures, system structures –flexible Interactions (cf. application frameworks) e.g. contract net protocol, auction protocols –legacy software e.g. place “wrapper” around existing code to give it agent interface
58
Agents Support System Development by Synthesis An agent is a stable intermediate form able to operate to achieve its objectives and interact with others in flexible ways construct “system” by bringing agents together and watching overall functionality emerge from their interplay well suited to developments in: –open systems (eg Internet) –e-commerce
59
3. Flexible Management of Changing Organisational Structures Organisations are first-class entities in agent systems: –explicit representations of relationships and structures –computational mechanisms for forming, maintaining and disbanding them Makes engineering of complex systems easier: –primitive component varied according to observer’s needs –provide variety of stable intermediate forms build up system in incremental fashion
60
Internetapplications Dynamic Open Traditionalapplications Static Closed Increasing demand Environment’s Properties predictable unpredictable Software Development is getting harder!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.