A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather...
Transcript of A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather...
![Page 1: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/1.jpg)
1
A Concept of Agent A Concept of Agent A Concept of Agent A Concept of Agent for Software Developmentfor Software Developmentfor Software Developmentfor Software Development
Eric YuUniversity of TorontoJune 2001
AOIS workshop @ CAiSE’01
![Page 2: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/2.jpg)
2
What is AOIS? Why AOIS? What is AOIS? Why AOIS? What is AOIS? Why AOIS? What is AOIS? Why AOIS? • AOIS is a (specialized) class of information
technology solutions ?compare: software agents technology, data mining tech.,…Solutions looking for problems?
• AOIS is a (specialized) class of IS applications?compare: e-commerce, m-commerce, digital libraries,…Problems looking for solutions?
•• AOIS is a new conception of what information AOIS is a new conception of what information systems are, by adopting “agent” as a key systems are, by adopting “agent” as a key abstraction.abstraction.
Agent concepts can (should) be used throughout Agent concepts can (should) be used throughout conceptualization, requirements analysis, architecture, design, conceptualization, requirements analysis, architecture, design, and implementation, as well as during ongoing support.and implementation, as well as during ongoing support.Provides techniques for expressing problems, solutions, and for matching problems with solutions (at each stage)
![Page 3: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/3.jpg)
3
Problems & Solutions inProblems & Solutions inProblems & Solutions inProblems & Solutions inIS & SEIS & SEIS & SEIS & SE
• Problems in IS/SEhigh costs, frequent failures, …legacy, evolution, …inflexibility, incompatibilities, …
• Solutions in IS/SEtechnologies, platforms, …• e.g., C/S, dist’d systems, DBs, web technologies,
models, languages, toolsformal methods, informal (structured) methodologies for system development – requirements, design, implementation,…reuse, patterns, frameworks, …
![Page 4: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/4.jpg)
4
Problems & Solutions inProblems & Solutions inProblems & Solutions inProblems & Solutions inAOISAOISAOISAOIS
• Problems addressed by AOIS ?high costs, frequent failures, …legacy, evolution, …inflexibility, incompatibilities, …
• Solutions offered by AOIS ?agent technologies, platforms, …models, languages, toolsmethodologies for system development ??• – requirements, design, implementation,…
reuse, patterns, frameworks, …??
same as in IS/SE
same as in IS/SE
same as in IS/SE
same as in IS/SE
+ new opportunities
+ new opportunities
+ new opportunities
+ new opportunities
![Page 5: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/5.jpg)
5
Points to rememberPoints to rememberPoints to rememberPoints to remember
1. AOIS (and IS) is not just about technology. Systems exist in a social/organizational environment.ISD/SE continues to be intensely a human activity.
![Page 6: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/6.jpg)
6
So…So…So…So…
•• If If agentagent concepts are to be used throughout concepts are to be used throughout conceptualization, requirements analysis, conceptualization, requirements analysis, architecture, design, and implementation, as architecture, design, and implementation, as well as during ongoing support,well as during ongoing support,
what concept(s) of agent is appropriate?what concept(s) of agent is appropriate?what properties/characteristics should it what properties/characteristics should it have?have?what abstractions should the agent concept what abstractions should the agent concept provide?provide?
![Page 7: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/7.jpg)
7
Conception of Agent Conception of Agent Conception of Agent Conception of Agent as a as a as a as a Computational Computational Computational Computational AbstractionAbstractionAbstractionAbstraction
e.g., Jennings, Sycara, Wooldridge (1998)
• Situated sense the environment and perform actions that change the environment
• Autonomous have control over their own actions and internal statescan act without direct intervention from humans
• Flexibleresponsive to changes in environment, goal-oriented, opportunistic, take initiatives
• Socialinteract with other artificial agents and humans to complete their tasks and help others
![Page 8: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/8.jpg)
8
Analysis and Design of AgentAnalysis and Design of AgentAnalysis and Design of AgentAnalysis and Design of Agent----Oriented SystemsOriented SystemsOriented SystemsOriented Systems
e.g., Wooldridge Jennings Kinny (JAAMAS 2000) “GAIA”
• Analysis levelRoles and Interactions• Permissions• Responsibilities
» liveness properties» safety properties
• Activities • Protocols
• Design levelAgent typesServicesAcquaintances
Modelling concepts being
driven from programming
again?!!
• Structured Analysis from
Structured Programming
• OOA from OOD, OOP
• AOA from AOP ??
![Page 9: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/9.jpg)
9
Requirements EngineeringRequirements EngineeringRequirements EngineeringRequirements Engineering
• relationship between system and environment.Bubenko (1980), Greenspan (1982), Jackson (1983)…
• Traditional focus:consistency, completeness, …e.g., “Three Dimensions of RE” Pohl (1993)• informal -> formal (representation)• opaque -> complete (specification)• personal view -> common view (agreement)
• Recent:goals, scenarios, agents van Lamsweerde (ICSE 2000)
![Page 10: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/10.jpg)
10
Points to rememberPoints to rememberPoints to rememberPoints to remember
1. AOIS (and IS) is not just about technology. Systems exist in a social/organizational environment.ISD/SE continues to be intensely a human activity.
2. Need to model relationships between machine and world.
![Page 11: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/11.jpg)
11
Ontologies Ontologies Ontologies Ontologies for for for for ModellingModellingModellingModelling
• Static Ontologies
• Dynamic Ontologies
•• Intentional Intentional OntologiesOntologies
•• Social Social OntologiesOntologies
[J. Mylopoulos CAiSE 97 Keynote]
• Most current conceptions and models of information systems are based on static and dynamic ontologies.• business process models• workflow models• enterprise models
![Page 12: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/12.jpg)
12
i* ---- agentagentagentagent----oriented oriented oriented oriented modellingmodellingmodellingmodelling
![Page 13: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/13.jpg)
13
I* objectives, premises, key I* objectives, premises, key I* objectives, premises, key I* objectives, premises, key conceptsconceptsconceptsconcepts
• Actors are semi-autonomous, partially knowable
• Strategic actors, intentional dependencies
• have choice, reasons about alternate means to ends
means-endsalternatives
D D
wants andabilities
![Page 14: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/14.jpg)
14
i* modelingmodelingmodelingmodeling1. explicit intentionality goals
2. implicit intentionality agents
functionaldecomposition
wants andabilities
inputsoutputs
means-endsalternatives
D D
![Page 15: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/15.jpg)
15
“Strategic Dependency” Model“Strategic Dependency” Model“Strategic Dependency” Model“Strategic Dependency” Model
Meeting Scheduling ExampleMeeting Scheduling Example
[Yu RE97]
![Page 16: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/16.jpg)
16
Revealing goals, finding alternativesRevealing goals, finding alternativesRevealing goals, finding alternativesRevealing goals, finding alternatives• Ask “Why”, “How”, “How else”
![Page 17: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/17.jpg)
17
DevelopmentDevelopmentDevelopmentDevelopment----World modelWorld modelWorld modelWorld modelrefers to and reasons about…refers to and reasons about…refers to and reasons about…refers to and reasons about…
Operational-World models
Alt-1 Alt-2 To-beAs-is
![Page 18: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/18.jpg)
18
Scheduling meeting …with meeting schedulerScheduling meeting …with meeting schedulerScheduling meeting …with meeting schedulerScheduling meeting …with meeting scheduler
![Page 19: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/19.jpg)
19
“Strategic Rationale” Model “Strategic Rationale” Model “Strategic Rationale” Model “Strategic Rationale” Model with Meeting Schedulerwith Meeting Schedulerwith Meeting Schedulerwith Meeting Scheduler
• SR2
![Page 20: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/20.jpg)
20
So what are the important concepts So what are the important concepts So what are the important concepts So what are the important concepts forforforfor
Agent Orientation as a Agent Orientation as a Agent Orientation as a Agent Orientation as a ModellingModellingModellingModelling Paradigm ?Paradigm ?Paradigm ?Paradigm ?
• Intentionality
• Autonomy
• Sociality
• Identity & Boundaries
• Strategic Reflectivity
• Rational Self-Interest
E. Yu. “Agent Orientation as a Modelling Paradigm,” Wirtschaftsinformatik, April 2001.
![Page 21: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/21.jpg)
21
Agent Orientation as a ModellingParadigm
1. IntentionalityAgents are intentional.Agent intentionality is externally attributed by the modeller.Agency provides localization of intentionality.Agents can relate to each other at an intentional level.
Meeting Scheduling Meeting Scheduling ExampleExample
![Page 22: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/22.jpg)
22
Agent Orientation as a ModellingParadigm
2. AutonomyAn agent has its own initiative, and can act independently. Consequently, for a modeller and from the viewpoint of other agents:• its behaviour is not fully predictable. • It is not fully knowable, • nor fully controllable.
The behaviour of an agent can be partially characterized, despite autonomy, using intentional concepts.
![Page 23: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/23.jpg)
23
Agent Orientation as a ModellingParadigm
3. SocialityAn agent is characterized by its relationships with other agents, and not by its intrinsic properties alone.Relationships among agents are complex and generally not reducible.Conflicts among many of the relationships that an agent participates in are not easily resolvable.Agents tend to have multi-lateral relationships, rather than one-way relationships.Agent relationships form an unbounded networkCooperation among agents cannot be taken for granted. Autonomy is tempered by sociality.
![Page 24: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/24.jpg)
24
Agent Orientation as a ModellingParadigm
4. Identity & BoundariesAgents can be abstract, or physical.The boundaries, and thus the identity, of an agent are contingent and changeable.Agent, both physical and abstract, may be created and terminated.Agent behaviour may be classified, and generalized.
![Page 25: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/25.jpg)
25
Agent Orientation as a ModellingParadigm
5. Strategic ReflectivityAgents can reflect upon their own operations.Development world deliberations and decisions are usually strategic with respect to the operational world.The scope of reflectivity is contingent.
![Page 26: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/26.jpg)
26
Agent Orientation as a ModellingParadigm
6. Rational Self-InterestAn agent strives to meet its goals.Self-interest is in a context of social relations.Rationality is bounded and partial.
![Page 27: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/27.jpg)
27
Points to rememberPoints to rememberPoints to rememberPoints to remember
1. AOIS (and IS) is not just about technology. Systems exist in a social/organizational environment.ISD/SE continues to be intensely a human activity.
2. Need to model relationships between machine and world.
• Requirements Engineering
3. Use agent concepts for modeling, analysis, design, regardless of implementation technology.
• goals, means-ends, strat. deps., opportunities, vulnerabilities…
![Page 28: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/28.jpg)
28
Now apply to …Now apply to …Now apply to …Now apply to …
Software Development Software Development Software Development Software Development throughoutthroughoutthroughoutthroughout
![Page 29: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/29.jpg)
29
A RequirementA Requirement--Driven Development Driven Development MethodologyMethodology
JaelsonJaelson Castro Castro †† Manuel Manuel KolpKolp ‡‡ John John MylopoulosMylopoulos ‡‡
‡‡ Department of Computer ScienceDepartment of Computer ScienceUniversity of TorontoUniversity of TorontoToronto M5S 3G4, CanadaToronto M5S 3G4, Canada
†† Centro de Centro de Informática Informática UniversidadeUniversidade Federal de Federal de Pernambuco Pernambuco RecifeRecife 5073250732--970, Brazil970, Brazil
CAiSE’01 CAiSE’01 -- June 6 2001, Interlaken, SwitzerlandJune 6 2001, Interlaken, Switzerland
CAiSE
CAiSE
CAiSE
CAiSE 2001200120012001
This Wed
nesday
This Wed
nesday
This Wed
nesday
This Wed
nesday
![Page 30: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/30.jpg)
30
AgentAgentAgentAgent----Oriented Software Development Oriented Software Development Oriented Software Development Oriented Software Development [J. Mylopoulos AOIS’99 Invited Talk]
Early Early
requirements
requirements Late Late
requirements
requirements
Architectural
Architectural
design
design Detailed
Detailed
designdesign Agent
Agent
Implementation
Implementation
KAOSKAOSZZ
UML & co.UML & co.
i*i*
AUMLAUML
TROPOSTROPOS
GAIAGAIA
The GAP !!The GAP !!
![Page 31: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/31.jpg)
31
Tropos Tropos Tropos Tropos & related projects& related projects& related projects& related projectshttp://www.cs.toronto.edu/km/tropos
U. of Toronto, Canada• John Mylopoulos • Eric Yu • Yves Lespérance • Manuel Kolp • Ariel Fuxman
RWTH Aachen, Germany• Matthias Jarke• Gerhard Lakemeyer• Gunther Gans
U. of Trento/IRST, Italy• Paolo Bresciani• Paolo Giorgini• Fausto Giunchiglia• John Mylopoulos• Anna Perini• Marco Pistore• Paolo Traverso
UFPE Recife, Brazil• Jaelson Castro
![Page 32: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/32.jpg)
32
Research AgendaResearch AgendaResearch AgendaResearch Agenda
• Ontology • Formalization • Analysis and reasoning• Methodologies• Knowledge Based Support
Generic knowledge, e.g., common NFR goals, refinements, solution techniques (e.g., for security, safety,…)Larger patterns
• Tools• Evaluation, Validation, Empirical studies• Heterogeneous modelling frameworks
![Page 33: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/33.jpg)
33
Recent WorkRecent WorkRecent WorkRecent Work
• Requirements -> architecturaql design STRAW01
• Trust & security Trust00
• GRL – part of URN proposal for ITU standard• GRL+UCM STRAW01
• Intellectual property management submitted
• Others – Tropos AOIS@AA01 i*+ConGolog Lesperance+
![Page 34: A Concept of Agent for Software DevelopmentAgents tend to have multi-lateral relationships, rather than one-way relationships. Agent relationships form an unbounded network Cooperation](https://reader033.fdocuments.us/reader033/viewer/2022051912/60031954d7f22f50a862a5cb/html5/thumbnails/34.jpg)
34
Points to rememberPoints to rememberPoints to rememberPoints to remember
1. AOIS (and IS) is not just about technology. Systems exist in a social/organizational environment.ISD/SE continues to be intensely a human activity.
2. Need to model relationships between machine and world.
• Requirements Engineering
3. Use agent concepts for modeling, analysis, design, regardless of implementation technology.
• goals, means-ends, strat. deps., opportunities, vulnerabilities…
4. AOIS means new ways for understanding problems, and for translating them into solutions.
• techniques for expressing, analyzing problems, solutions, and for matching them at each stage/level in development.