a concept of agent for software developmentagents tend to have multi-lateral relationships, rather...

34
1 A Concept of Agent A Concept of Agent A Concept of Agent A Concept of Agent for Software Development for Software Development for Software Development for Software Development Eric Yu University of Toronto June 2001 AOIS workshop @ CAiSE’01

Upload: others

Post on 22-Sep-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.