antonio de padua a. oliveira eduardo magno l. figueiredo luiz marcio cysneiros carlos jose p. lucena...

46
Antonio de Padua A. Oliveira Eduardo Magno L. Figueiredo Luiz Marcio Cysneiros Carlos Jose P. Lucena Julio Cesar Sampaio do Prado Leite padua@ime.uerj.br {padua, emagno, lucena, julio}@inf.puc-rio.br {apadua, cysneiros}@yorku.ca Integrating Scenarios, i*, and AspectT in the Context of Multi- Agent Systems

Upload: holly-agnes-cole

Post on 30-Dec-2015

218 views

Category:

Documents


1 download

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

20

Strategic Dependency (SD) Model

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.

22

Components

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

24

SR Model – Author & Chair

25

SR Model – Reviewer & ChairDetailed in another

SR model

26

SR Model – Reviewer & ReviewerAgent

27

SR Model – ReviewerAgent & 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:

38

User interface to show the system implementation - 1

39

User interface to show the system implementation - 2

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.