Title: Antonio de Padua A. Oliveira
1Integrating Scenarios, i, and AspectT in the
Context of Multi-Agent Systems
- Antonio de Padua A. Oliveira
- Eduardo Magno L. Figueiredo
- Luiz Marcio Cysneiros
- Carlos Jose P. Lucena
- Julio Cesar Sampaio do Prado Leite
- padua_at_ime.uerj.br
- padua, emagno, lucena, julio_at_inf.puc-rio.br
- apadua, cysneiros_at_yorku.ca
2Work at a glance
- Introduction
- Scenarios technique
- The i Model - Expert Committee
- The Strategic Dependency Model
- The Strategic Rationale Model
- Aspect-oriented technology
- The Framework Structure
- A High-Level View
- Conclusions and Future Works
3Motivation
- The MAS Development Life Cicle
- We use the traditional
- (1) understand the problem and (2) solve.
(1) Inception Elaboration Requirements
(2) Construction Implementation
- 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.
4Motivation
- 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 - 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.
5MAS organization agents and environment
The problem Manage the complexity
6What do we propose? Why?
- Emphasize feedback
- Emphasis in the use of feedbacks in order to make
the verification and the validation of the
system. - 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
7What do we propose? Why?
- Addressing complexity
- Model each important interaction in a dedicated
diagram. - 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.
8The exemplar The Expert Committee (EC) System
- 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.
9The Proposed Integration Process ( SADT )
10The 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
- Elaborate the LEL
- Make 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 - 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 Example The scenario Designate articles
First version
13 Example The scenario Designate articles
- A goal is a condition or state of affairs in the
world that the actor would like to achieve. E.
Yu
Last version
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.
15Addressing elements from scenarios to i
SCENARIO SCENARIO I MODELING I MODELING
Element multiplicity 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
- 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. - 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(2) MODEL ITENTIONALITY, the steps
- 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.
18(2) MODEL ITENTIONALITY, the steps
- 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). - 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).
- Reasons Validation, verification and to mitigate
the complexity.
19Tabel of Symbols the standard
20Strategic Dependency (SD) Model
21Components 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.
22Components
23EC i Models
Chair ChairAgent
- Strategic Dependency (SD) Model
- Strategic Rationale (SR) Models
- (3 diagrams for each couple actors ? 34 1 13
diagrams) - Reviewer ?? Chair
- Reviewer ?? ReviewerAgent
- ReviewerAgent ?? ChairAgent
- SR Models Author Chair
- SR Models Reviewer Chair
- SR Models Coordinator Chair
- SR Models Committee Member Chair
24SR Model Author Chair
25Detailed in another SR model
SR Model Reviewer Chair
26SR Model Reviewer ReviewerAgent
27SR Model ReviewerAgent ChairAgent
28AspectT Garcia
Component
- 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.
29AspectT Garcia
Component
- 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
30AspectT
Component
AspectT
AspectAd (adaptation)
AspectCo (collaboration)
AspectL (learning)
Kernel
AspectInt (interaction)
AspectAut (autonomy)
AspectM (mobility)
31High-Level View
Knowledge Adaptation
Behavior Adaptation
Learning
Adaptation
Information Gathering
Learning Knowledge
IKnowledge
IServices
Message Reception
Traveling
Message Sending
Interaction
Mobility
Kernel
Extrinsic Knowledge
Collaboration Protocol
Role Binding
Execution Autonomy
Goal Creation
Autonomy
Legend
Collaboration
aspectual component
component
crosscutting interface
normal interface
32Flexible Composition
- learning component
- sensing behavior
33Addressing elements from i to AspectT
I model AspectT framework
actor agent role
agent agent role
dependency message / event
goal goal
softgoal aspect
task plan
resource belief
34Heuristics used to derive elements in AspectT
- Actors and Agents in SR models will be mapped as
Agent and Roles class in AspectT. - 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. - 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. - A Goal will be mapped to a ReactiveGoal.
35Heuristics used to derive elements in AspectT
- A Task will be mapped to a ReactivePlan. Tasks
can be specialized if there are alternatives. - A Resource will be mapped as a belief.
- After having mapped goals, tasks, and resources,
the attributes of these elements should be
created. - A ReactivePlan must be linked with the
correspondent ReactiveGoal. - Each ReactivePlan should be created and linked
with the correspondent class of agency property
interaction, adaptation, autonomy, collaboration,
learning, and mobility. - 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.
36Mapping elements of Reviewer- Agent using the SR
model Reviewer Reviewer-Agent.
From i to AspectT
37(3) BUILD MAS, the steps
Directions of design
- Refine component Kernel
- Refine component Interaction
- Refine component Adaptation
- Refine component Autonomy
- Refine component Mobility
- Refine component Learning
- Refine component Collaboration
38User interface to show the system implementation
- 1
39User interface to show the system implementation
- 2
40Advantages and Results
- 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. - 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. - 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.
41Conclusions and Future Works
- 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. - 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. - 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.
42References
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.
43References
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 Science,
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.
44Bibliography
- 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, v8, i3, pp. 203-236, 2004. - Jaelson Castro. Manuel Kolp. John Mylopoulos.
Tropos Toward Agent-Oriented Information Systems
Engineering. In Position Paper _at_ 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.
45Bibliography
- 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 247256 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.
46Bibliography
- 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 Science, 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. -