antonio de padua a. oliveira eduardo magno l. figueiredo luiz marcio cysneiros carlos jose p. lucena...
TRANSCRIPT
Antonio de Padua A. OliveiraEduardo Magno L. Figueiredo
Luiz Marcio CysneirosCarlos Jose P. Lucena
Julio Cesar Sampaio do Prado Leite
[email protected]{padua, emagno, lucena, julio}@inf.puc-rio.br
{apadua, cysneiros}@yorku.ca
Integrating Scenarios, i*, and AspectT in the Context of Multi-
Agent Systems
2
Work at a glance
1) Introduction2) Scenarios technique 3) The i* Model - Expert Committee
a) The Strategic Dependency Modelb) The Strategic Rationale Model
4) Aspect-oriented technologya) The Framework Structure b) A High-Level View
5) Conclusions and Future Works
3
Motivation
1. The MAS Development Life Cicle We use the traditional
(1) understand the problem and (2) solve.
(1) Inception & Elaboration
Requirements
(2) Construction Implementation
2. The MAS Modelling needs concepts and metaphors that reflect the way we understand the world MAS involves a large number of intentional actors with opportunities and vulnerabilities [Cysneiros
and Yu].
4
3. Manage and control the complexity MAS modeling process faces 3 additional types of
interactions compared with the traditional software modeling [Jennings, Silva et all].
Traditional systems: Actor System MAS: Actor System
Actor Agent, Agent System, and Agent Agent
4. MAS deals with agenthood properties (Autonomy, Adaptation, and Interaction) as well as aditional properties (Collaboration, Learning, and Mobility) [Wooldridge]. Each property apears for all the agents.
Motivation
5
Application Booundary
Agent YAgent X
Actor YActor X
1 1
4
2 2
3 3
System
Multi- Agent SystemCommon Information System
Application Booundary
Actor YActor X
Aplication
1 1
The problem: Manage the complexity
MAS organization: agents and environment
6
What do we propose? Why?
1. Emphasize feedback Emphasis in the use of feedbacks in order to
make the verification and the validation of the system.
2. The MAS Modelling needs concepts and metaphors that reflect the way which we understand the world Use i* framework for modelling; Link i* to scenarios;
7
What do we propose? Why?
3. Addressing complexity Model each important interaction in a dedicated diagram.
4. Deal with agency properties Use one implementation tool that is agent-oriented. AspectT was chosen because most of the agency
properties may be classified as cross-cutting concerns, therefore suitable to be deal with using an aspect-oriented approach.
Give more attention on the representation of the elements reflecting these properties when modeling with i*.
EC System is a classical example of application based on software agents;
EC is a conference management system.
Software agents can be introduced to the EC System in order to assist researchers (members) with time-consuming activities in the paper submission and reviewing processes.
EC agents are software assistants, who represent actors in different roles of the conference such as: paper authors, reviewers, committee members, chairs and coordinators.
The exemplar: The Expert Committee (EC) System
9
The Proposed Integration Process ( SADT )
MODELI NTENTI ONALI TY
2
DEFI NESCENARI OS
1
scenariotechnique
scenariosspecifications
SD & SRmodels
BUI LDMAS
3
UofD
software
OMEtool
C & Ltool AspectT
AspectTMASconcepts
MASconcepts
i *
techniques
tools
10
The Scenario Technique [Leite]:
A scenario is a structured description of one situation that uses the language of the problem (user domain).
These situations occur in the real world and the construction of scenarios, based on situations, needs the peculiar and most used words or phrases used in user domain. Scenarios are supported by LEL – Lexicon Extended
Language.
Situations have the following characteristics: they are concretes and have goals; they involve actors and resources are used; they happen
at a defined time and place; they may have constrains, they are individually
independent, interrelated and they have alternative course.
11
(1) DEFINE SCENARIOS, the steps:
1. Elaborate the LELMake the identification of symbols (words or sentences) that are peculiar to the social environment.
Use one or more technique for fact gathering (e.g.: interviews, observation, document reading);
Classify symbols in LEL as: object, subject, verb, and state; Obey (1) the principle of circularity (also called “closure
principle”) and the (2) principle of minimal vocabulary;2. Write the scenarios
Use the symbols of LEL when describing each scenario. Describe: actors, goals, resources, episodes, and
constrains. Emphasize agency properties (autonomy, adaptation,
interaction, collaboration, learning, and mobility). Bring to first level episodes (tasks) that implement these
properties.
12
Title: Designate articles Goal: Designate articles to reviewers. Context: Geographical Location: WEB Temporal Location: Right after the submission deadline. Precondition: Reviewers list and articles list have been prepared. Resources: Computer, Internet, reviewers list, articles list Actors: Chair Episodes:
Select reviewers within the same area of the article. Separate out reviewers of the same institution of the author.Make proposals to reviewers. Send proposals to each reviewer giving the acceptance deadline . Restriction: Each reviewer can not receive more than 3 articles.
Exceptions: If there is at least one article without 3 reviewers: (scenario: "Hire more reviewers")
Example: The scenario “Designate articles”
“First version”
13
Title: Designate articles Goal: Proposal Be Accepted Context: Geographical Location: WEB Temporal Location: Right after the submission deadline. Precondition: Reviewers list and articles list have been prepared. Resources: Computer, Internet, reviewers list, articles list Actors: Chair, Reviewer Episodes: * Chair Prepares proposals
* Chair selects reviewers within the same area of the article. * Chair separates out reviewers of the same institution of the author. * Chair makes proposals to reviewers. * Chair sends proposals to each reviewer giving the acceptance deadline . * Chair receives answered proposals* Chair verifies answered proposalsRestriction: NFR: effortless, secret, security - Each reviewer can not receive more than 3 articles.
Exceptions: If there is at least one article without 3 reviewers: (scenario: "Hire more reviewers")
Example: The scenario “Designate articles”
“Last version”
Interaction
resources
A goal is a condition or state of affairs in the world that the actor would like to achieve. [E. Yu]
Autonomy
Interaction
pro-activeness Softgoals
Learning
14
Intentional Modeling with i * [E. Yu]
The i* framework proposes an agent-oriented approach to requirements engineering centering on the intentional characteristics of the agent. Agents attribute intentional properties (such as goals, beliefs, abilities, commitments) to each other and reason about strategic relationships.
Dependencies between agents give rise to opportunities as well as vulnerabilities. Networks of dependencies are analyzed using a qualitative reasoning approach.
The framework is used in contexts in which there are multiple parties (or autonomous units) with strategic interests which may be reinforcing or conflicting in relation to each other.
15
Addressing elements from scenarios to i*
SCENARIO I* MODELING
Element multiplicity Element
goal 1 .. N 1 goal
context 1
1 { resources } n 1 1 resource
1 { episodes } n 1 1 tasks*/goals
0 { exceptions } n
1 1 tasks*/softgoal
0 {restrictions } n
1 1 softgoal*/tasks
1 { actors } n 1 1 actor
(*) most commom
16
(2) MODEL ITENTIONALITY, the steps:
1. Pick up actors from scenarios definition. (Who?) An actor represented in one scenario will be mapped to an actor in i*
SD model, later we will refine the actor representation.
2. Model interdependencies between actors. (Why?) Use the SD model to express intentional relationships. Pick up goals,
tasks, resources and softgoals from scenarios definition. Only one goal dependency can be mapped using the goal of the
scenario. The scenario goal has a functional conception, although the goal in i* modeling means the intentional agreement between two actors.
Each resource will be mapped either as a resource dependency or as a task dependency depending on the direction of the dependency and if the actor can perform the task needed by the other actor.
One or more episodes presented in Scenarios should be modeled by one task in i* model.
The actor representation can be refined into more detailed representation such as roles played and positions occupied.
17
3. Model, each interaction, the “internal rationale”. (How? How else?)
Use the SR model to express intentional relationships. Pick up goals, tasks, resources and softgoals from scenarios
definition, show elements inside of the boundary of the actor (dot-dashed circle).
Connect the elements using intentional links (means-ends link, decomposition, and contribution).
Identify the internal main goal for each actor. One actor can have more than one goal. Often one actor has one or more intermediary goals.
High level episodes will map tasks and they will be mapped as means-ends links to the goal.
Alternative episodes will be mapped as alternatives in the SR model, if there is more than one way to achieve a goal (means-ends link to a goal).
Low level episodes will be sub-tasks connected using a decomposition link.
Resources used in one episode will be mapped either as a resource needed by the task or as a resource dependency.
NFRs (quality attributes, such as performance) will be softgoals.
(2) MODEL ITENTIONALITY, the steps:
18
4. Model the “intentional delegation” Use the SR model to express intentional relationships. Prepare one SR model for each relationship between one actor and
the agent that will represent the actor in the environment. It must be decided which duties the actor wants to delegate to the
agent. For each goal (that the agent will support the actor), use the similar
goal of the actor including the word “support” in the name of the agent goal.
Emphasize MAS properties (autonomy, adaptation, interaction, collaboration, learning, and mobility).
5. Model the intentional relationships among agents. Use the SR model to express intentional relationships. Prepare one model for each relationship between two agentes that
will be representing actors in the environment. Emphasize MAS properties (autonomy, adaptation, interaction,
collaboration, learning, and mobility).
(2) MODEL ITENTIONALITY, the steps:
Reasons: Validation, verification and to mitigate the complexity.
19
Tabel of Symbols – the standard
Goal
Resource
Actor
Sof tgoal
Task
Quality[GoodReview]
Syntax ExampleElement
Name
EventDates
ReviewArticles
Subject+ BeVerb
Sof tgoal[Topic]
Noun
Verb +Object
ProposalBeAccepted
Chair
21
Components [Yu 95]
• An actor is an active entity that carries out activities to achieve goals by exercising his know-how.
• An agent (can be a person) is an actor with concrete physical manifestations, such as a human.
• Agent, Role, and Position are specializations of generic Actor. An agent occupies positions. Agents play roles. A position covers a role (A position is a set of
roles typically played by one agent). A role is an abstrat characterization of the
behavior of a social actor. Roles, positions and agents can each have
subparts.
23
EC – i* Models
Strategic Dependency (SD) Model
Strategic Rationale (SR) Models
(3 diagrams for each couple actors 3*4 + 1 = 13 diagrams)Reviewer ChairReviewer ReviewerAgent ReviewerAgent ChairAgent
SR Models – Author & Chair SR Models – Reviewer & Chair SR Models – Coordinator & Chair SR Models – Committee Member & Chair
Chair & ChairAgent
28
AspectT [Garcia]
In the AspectT approach, an agent is an object with added features and aspect notion is used to enrich objects with the agents’ properties in a transparent way.
Objects can be considered the basic structure for building agents. However, a single agent is a much richer abstraction than an object, and then the approach emphasizes separation of agency concerns in order to reason about the agent behavior from different perspectives.
Component
29
AspectT [Garcia]
AspectT software framework supports modeling agency properties in a modular way. Each of the agents’ properties should be modeled as an aspect
due to their crosscutting nature. Supports the OO programming of:
Agents, goals, plans, actions, and beliefs.
Supports the AO modularization and programming of: Interaction, Adaptation, and Autonomy; Collaboration, Learning, and Mobility.
Supports the integration with other MAS platforms: JADE, TSpaces
Component
30
AspectT
AspectT
AspectInt(interaction)
Kernel
AspectAd(adaptation)
AspectAut(autonomy)
AspectCo(collaboration)
AspectL (learning)
AspectM (mobility)
Total
Component
31
IKnowledge IServices
High-Level View
Kernel
Legend:
aspectual component
component
crosscutting interfacenormal interface
BehaviorAdaptation
KnowledgeAdaptation
TravelingMessageReception
Interaction
Adaptation
GoalCreation
ExecutionAutonomy
Autonomy
RoleBinding
CollaborationProtocol
Collaboration
Mobility
MessageSending
ExtrinsicKnowledge
InformationGathering
LearningKnowledge
Learning
32
Flexible Composition
KnowledgeUpdating
BehaviorAdaptation
Kernel
Services
KnowledgeAdaptation
TravelingMessageReception
Interaction
Adaptation
GoalCreation
ExecutionAutonomy
Autonomy
RoleBinding
CollaborationProtocol
Collaboration
MobilityMessageSending
Agenthood Additional Properties
Environment
ExtrinsicKnowledge
Sensory
InformationGathering
LearningKnowledge
Learning
KnowledgeUpdating
BehaviorAdaptation
Kernel
Services
KnowledgeAdaptation
TravelingMessageReception
Interaction
Adaptation
GoalCreation
ExecutionAutonomy
Autonomy
RoleBinding
CollaborationProtocol
Collaboration
MobilityMessageSending
Agenthood Additional Properties
Environment
ExtrinsicKnowledge
Sensory
InformationGathering
LearningKnowledge
Learning
• Expert Committee - learning component- sensing behavior
33
Addressing elements from i* to AspectT
I* model AspectT frameworkactor agent role
agent agent role
dependency message / event
goal goal
softgoal aspect
task plan
resource belief
34
Heuristics used to derive elements in AspectT
a) Actors and Agents in SR models will be mapped as Agent and Roles class in AspectT.
b) Because agents play roles, AspectT Framework permits specializations of roles (e.g.: Author, Reviewer, Chair, and so on). Agents can play one or more roles in this platform. Agents must be linked with the correspondent role.
c) Both dependency between two agents and between an agent and an actor will be mapped using either class Message or class Event (depends on the direction of the dependency). If the element (goal, softgoal, task, or resource) is sent it will be mapped as a class Message. If the element is received it will be mapped as a class Event.
d) A Goal will be mapped to a ReactiveGoal.
35
Heuristics used to derive elements in AspectT
e) A Task will be mapped to a ReactivePlan. Tasks can be specialized if there are alternatives.
f) A Resource will be mapped as a belief.g) After having mapped goals, tasks, and resources, the
attributes of these elements should be created.h) A ReactivePlan must be linked with the correspondent
ReactiveGoal.i) Each ReactivePlan should be created and linked with the
correspondent class of agency property: interaction, adaptation, autonomy, collaboration, learning, and mobility.
j) For each Softgoal (NFR) one new aspect must be created the same way as well as agency properties has been created previously into the framework.
36
Mapping elements of Reviewer- Agent using the SR model: Reviewer & Reviewer-Agent.
Agent
ReactiveGoal
ProposalBeAnswered ReviewsBePrepared
ActorRole AgentRole
ArticlesToReview
ReviewedArticles
Message / Event
.....................................
Role
1
ArticlesBeReviewed
ReactivePlan
PrepareResponseofReviews SendReviewedArticles
ComunicateArticlesToReview
TASK
Reviewer ReviewerAgent
RESOURCE
GOAL
ACTOR / AGENT
DEPENDENCY
sender receiver
ASPECT
Iteraction
From i* to AspectT
37
(3) BUILD MAS, the steps:
1. Refine component Kernel2. Refine component Interaction3. Refine component Adaptation4. Refine component Autonomy5. Refine component Mobility6. Refine component Learning7. Refine component Collaboration
Directions of design:
40
Advantages and Results:
1. Scenarios Scenarios prior to start modeling helped us to get a good
understanding of the problem. The heuristics to derive i* models were also very useful for us,
allowing us to get to initial versions of the i* models very easily and fast.
2. AspectT The programming became straightforward because AspectT was
implemented, and the heuristics to use the i* models as a front-end to AspectT were simple to use.
The framework is still limited for supporting NFRs.
3. Produtivity Team (two software engineers) spent around 35 hours describing
scenarios and 55 hours developing i* models. The example used one very well trained programmer in the AspectT.
He spent only 40 hours. The team spent 18 hours on testing and fixing bugs.
41
Conclusions and Future Works
1. Evaluate the framework using another example.Can it be improved?And to evaluate, more accurately, the adequacy of the approach.Integrating the approaches was an easy task and the time spent to develop the resultant application is encouraging.
2. Future work point to investigate more detailed backward traceability from i* models to scenarios:– i.e. how can we pinpoint the scenario that will be affected by
any new feature we may want to add while developing and evaluating i* models.
3. We also intend to develop heuristics to allow scenarios to represent and deal with intentionality:– bringing the use of intentionality to very early stages of the
software development process.
42
[01] AspectJ – The AspectJ Programming Guide. [online] http://eclipse.org/aspectj/, December de 2004.
[02] Castro, J.; Kolp, M.; Mylopoulos, J. (2002) "Towards Requirements-Driven Information Systems Engineering: The Tropos Project." In: The 13th international conference on advanced information systems engineering, Oxford: Elsevier Science Ltd, v.27, n.6. p. 365-389.
[03] L.M. Cysneiros and E. Yu. Requirements Engineering for Large-Scale Multi-Agent Systems Book chapter in Software Engineering for Large-Scale Multi-Agent Systems – Research Issues and Practical Applications. A. Garcia, C. Lucena, F. Zambonelli, A. Omicini and J. Castro (eds.) LNCS 2603, Springer Verlag. 2003. (revised and extended version of [SELMAS02])
[04] Deloach, S. et al. Multiagent Systems Engineering. International. In: Journal of Software Engineering and Knowledge Engineering, 11(3):231--258, 2001.
[05] Garcia, A. F.; From Objects to Agents: An Aspect-Oriented Approach. PhD Tese, PUC-Rio, 2004.
[06] Garcia, A. F.; Lucena, C. J. P.; Cowan, D. D.; Agents in Object-Oriented Software Engineering; In: Software, Practice & Experience, Elsevier, vol. 34, Issue 5, pp. 489-521, May 2004.
[07] Jennings, N., “An Agent-Based Approach for Building Complex Software Systems” Communications of The ACM, April 2001, Vol. $$ No 4.
References
43
[08] Leite, J.C.S.P., Hadad, G., Doorn, J., Kaplan, G. A Scenario Construction Process - Requirements Engineering Journal: Vol. 5, N. 1, Pags. 38 -- 61, (2000), Springer-Verlag London Limited.
[09] Leite, J. C. S. P.; Doorn, J. H.; Hadad, G. D. S. and Kaplan, G. N.; “Scenario Inspections” - Requirements Engineering Journal 10.1007/s00766-003-0186-9 – Springer Verlag - London Limited – 2004.
[10] Ross, D. T.; "Structured Analysis (SA): A Language for Communicating Ideas", IEEE Transactions on Software Engineering Vol. SE-3 NO. 1, 1977.
[11] Silva, V.; Lucena, C. "From a Conceptual Framework for Agents and Objects to a Multi-Agent System Modeling Language", In: Sycara, K., Wooldridge, M. (Edts.), Journal of Autonomous Agents and Multi-Agent Systems, Kluwer Academic Publishers, 2004.
[12] Wooldridge, Michael, An Introduction to Multi-Agent Systems, John Wiley and Sons Limited: Chichester, 2002, ISBN 047149691X
[13] Yu, E. Modeling Strategic Relationships for Process Reengineering. PhD Thesis, Graduate Department of Computer Sci ence, University of Toronto, Toronto, Canada, 1995, pp. 124.
[14] E. Yu Agent Orientation as a Modeling Paradigm Wirtschaftsinformatik. 43(2) April 2001. pp. 123-132.
[15] Yu, E., Agent-Oriented Modeling: Software Versus the World In Agent-Oriented Software Engineering AOSE-2001 Workshop Proceedings, Montreal, Canada - May 29th 2001. LNCS 2222.
References
44
• AspectJ – The AspectJ Programming Guide. [online] http://eclipse.org/aspectj/, Dezembro de 2004.
• Paolo Bresciani, Anna Perini, Paolo Giorgini, Fausto Giunchiglia, J. Mylopoulos, Tropos: An Agent-Oriented Software Development Methodology,, In: Journal of Autonomous Agents and Multi-Agent Systems, v:8, i:3, pp. 203-236, 2004.
• Jaelson Castro. Manuel Kolp. John Mylopoulos. Tropos: Toward Agent-Oriented Information Systems Engineering. In Position Paper @ the Second International Bi-Conference Workshop on Agent-Oriented Information Systems AOIS2000. 2000. Stockolm, Sweden, June 5-6.
• Castro, J.; Kolp, M.; Mylopoulos, J. (2002) "Towards Requirements-Driven Information Systems Engineering: The Tropos Project." In: The 13th international conference on advanced information systems engineering, Oxford: Elsevier Science Ltd, v.27, n.6. p. 365-389.
• Cysneiros and Yu• Garcia, A. F.; Lucena, C. J. P.; Cowan, D. D.; Agents in Object-Oriented Software Engineering; In:
Software, Practice & Experience, Elsevier, vol. 34, Issue 5, pp. 489-521, May 2004.• Garcia, A. F.; From Objects to Agents: An Aspect-Oriented Approach. PhD Tese, PUC-Rio, 2004.• Jennings, N. R. and Wooldridge, M. (2000) Agent-oriented software engineering. In Bradshaw, J.
(Ed.) Handbook of Agent Technology, AAAI/MIT Press.• Jennings, N., “An Agent-Based Approach for Building Complex Software Systems”
Communications of The ACM, April 2001, Vol. $$ No 4.
Bibliography
45
• Leite, Julio C. S. P.; Oliveira, A de Padua A Client Oriented Requirements Baseline, Proceedings of the Second Interantional Symposium on Requirements Engineering, RE95, IEEE Computer Society Press, 1995, pp. 108-115.
• Leite, J. C. S. P.; Doorn, J. H.; Hadad, G. D. S. and Kaplan, G. N.; “Scenario Inspections” - Requirements Engineering Journal 10.1007/s00766-003-0186-9 – Springer Verlag - London Limited – 2004.
• Luck, M.; d'Inverno, M. “A conceptual framework for agent definition and development.” The Computer Journal, 44(1):1--20, 2001.
• Mulopoulos, J., Kolps, M., Casro, J. (2001) "UML for Agent-Oriented Software Development: the Tropos Proposal." In: Proceedings of the Fourth International Conference on the Unified Modeling Language, Canada.
• Potts, C; “Using schematic scenarios to understand user needs”; In: Proceedings of DIS95 - symposium on designing interactive systems: processes, practices and techniques. ACM Press, University of Michigan, pp 247–256 – 1995.
• Ross, D. T.; "Structured Analysis (SA): A Language for Communicating Ideas", IEEE Transactions on Software Engineering Vol. SE-3 NO. 1, 1977.
• Silva, V., Garcia, A., Brandao, A., Chavez, C., Lucena C., and Alencar, P. “Taming Agents and Objects in Software Engineering,” In Software Engineering for Large-Scale Multi-Agent System, Garcia, A., Lucena, C., Zamboneli, F., Omicini, A, and Castro, J., Eds., LNCS, Springer-Verlag, 2003.Silva, V.; Lucena, C. "From a Conceptual Framework for Agents and Objects to a Multi-Agent System Modeling Language", In: Sycara, K., Wooldridge, M. (Edts.), Journal of Autonomous Agents and Multi-Agent Systems, Kluwer Academic Publishers, 2004.
Bibliography
46
Bibliography
• Silva, V., Garcia, A., Brandao, A., Chavez, C., Lucena C., and Alencar, P. “Taming Agents and Objects in Software Engineering,” In Software Engineering for Large-Scale Multi-Agent System, Garcia, A., Lucena, C., Zamboneli, F., Omicini, A, and Castro, J., Eds., LNCS, Springer-Verlag, 2003.
• Weiss, Gerhard, Multi-Agent Systems: A Modern Approach to Distributed Artificial Intelligence, MIT Press, 1999. ISBN 0-262-23203-0
• Wooldridge, Michael, An Introduction to Multi-Agent Systems, John Wiley and Sons Limited: Chichester, 2002, ISBN 047149691X
• Yu, E. Modelling Strategic Relationships for Process Reengineering. PhD Thesis, Graduate Department of Computer Sci ence, University of Toronto, Toronto, Canada, 1995, pp. 124.
• Yu, E. “Towards Modeling ad Reasoning Support for Early-Phase Requirements Engineering”, Proceedings of the 3rd IEEE International Symposium on Requirements Engineering, Washington D.C., USA, Jan. 1997, pp. 226-235.
• Yu, E., Agent-Oriented Modelling: Software Versus the World In Agent-Oriented Software Engineering AOSE-2001 Workshop Proceedings, Montreal, Canada - May 29th 2001. LNCS 2222.
• Zorman, L., Requirements envisaging by utilizing scenarios (rebus). PhD dissertation, University of Southern California - 1995.
• Zheng You, Julio Cesar Leite, Eric Yu, “An Assessment of i* Modeling and Evaluation Using the London Ambulance Service Case Study”, Department of Computer Science, University of Toronto.