Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of...

24
1 © 2006 John Mylopoulos RE'06 -- 1 Goal-Oriented Requirements Engineering: Part II John John Mylopoulos Mylopoulos University of University of Toronto/Trento Toronto/Trento 14th IEEE Requirements Engineering Conference Minneapolis, September 15, 2006 © 2006 John Mylopoulos RE'06 -- 2 Abstract We briefly review the history and key ideas in Goal-Oriented Requirements Engineering research. We then sketch two applications of these ideas. The first involves establishing an Agent-Oriented Software Development method called Tropos which covers not only requirements but also design phases. The second addresses the design of high-variability software for applications such as home care software and business process design. The research reported in this presentation was conducted with colleagues at the Universities of Toronto (Canada) and Trento (Italy).

Transcript of Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of...

Page 1: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

1

© 2006 John Mylopoulos RE'06 -- 1

Goal-Oriented RequirementsEngineering: Part II

JohnJohn MylopoulosMylopoulosUniversity of University of Toronto/TrentoToronto/Trento

14th IEEE Requirements Engineering ConferenceMinneapolis, September 15, 2006

© 2006 John Mylopoulos RE'06 -- 2

Abstract We briefly review the history and key ideas in Goal-Oriented

Requirements Engineering research. We then sketch twoapplications of these ideas. The first involves establishing anAgent-Oriented Software Development method called Troposwhich covers not only requirements but also design phases. Thesecond addresses the design of high-variability software forapplications such as home care software and business processdesign.

The research reported in this presentation was conducted withcolleagues at the Universities of Toronto (Canada) and Trento(Italy).

Page 2: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

2

© 2006 John Mylopoulos RE'06 -- 3

GORE, Parts I & II GORE = Goal-Oriented Requirements Engineering Axel van Lamsweerde delivered a keynote talk with this

title at RE'04 in Kyoto. His talk reviewed the history and key ideas of GORE and

described some of the on-going research and industrialexperiences of the KAOS project.

The talk made an elegant case for GORE as animportant edition to SE practice.

In this presentation, I review some of the researchresults and on-going work of the i*/Tropos project.

I'll also make the case for GORE as a foundation for aTheory of Software Design.

© 2006 John Mylopoulos RE'06 -- 4

This Talk Goal-Oriented RE -- History and key ideas Moving forward -- Tropos Moving forward -- Designing high-variability

software Afterthoughts and conclusions

Page 3: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

3

© 2006 John Mylopoulos RE'06 -- 5

Goal-Oriented RequirementsEngineering (~1993)

Goal-oriented analysis focuses on early requirements, whenproblems are identified, and alternative solutions are exploredand evaluated.

During goal-oriented analysis, we start with initialstakeholder goals such as “Fulfill every book request”, or“Schedule meeting” and keep refining them until we havereduced them to alternative collections of functionalrequirements each of which can satisfy the initial goals.

Initial goals may be contradictory, so the analysis mustfacilitate the discovery of tradeoffs and the search of thefull space of alternatives, rather than a subset.

© 2006 John Mylopoulos RE'06 -- 6

Goal-Oriented Analysis a la KAOS (Organizational) goals lead to requirements. Goals justify and explain the presence of requirements which

are not necessarily comprehensible by clients. Goals provide basic information for detecting and resolving

conflicts that arise from multiple viewpoints [Dardenne93]. Example goal:

SystemGoalSystemGoal Achieve[BookRequestSatisfied]InstanceOfInstanceOf SatisfactionGoalConcernsConcerns Borrower, Book, Borrowing,...DefinitionDefinition ( ∀bor: Borrower, b: Book, lib: Library)(Requesting(bor, b) ∧ b.subject ∈ lib.coverageArea ⇒ F[(∃bc: BookCopy) (Copy(bc, b) ∧ Borrowing(bor, bc)))]

Page 4: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

4

© 2006 John Mylopoulos RE'06 -- 7

Goal Analysis Leads to AlternativesSchedulemeeting

Chooseschedule

ByPerson

Collecttimetables

Automatically

ManuallyCollect fromusersCollect from

agents

Receiverequest

Sendrequest

AND AND

AND AND

OR OR

OR ORBy

System

OR OR

(Functional/hard)Goals

© 2006 John Mylopoulos RE'06 -- 8

Alternatives Lead to Designs/PlansSchedulemeeting

Chooseschedule

ByPerson

Collecttimetables

Automatically

ManuallyCollect fromusersCollect from

agents

Receiverequest

Sendrequest

AND AND

AND AND

OR OR

OR ORBy

System

OR OR

Collect Schedule

Tasks

Page 5: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

5

© 2006 John Mylopoulos RE'06 -- 9

Softgoals Functional goals, such as “Schedule meeting” are well

defined in the sense that they admit a formal definition. Non-functional goals, such “higher profits”, “higher

customer satisfaction” or “easily maintainable system”specify qualities a socio-technical system should adhere to.

Such qualities usually admit no generally agreed upondefinition, are inter-related and often contradictory.

Such qualities are represented as softgoalssoftgoals. Softgoals can be thought as “fuzzy goals” with no clear-cut criteria for satisfaction; hence softgoals are

satisficedsatisficed, rather than satisfied (NFR framework,[Mylopoulos92], [Chung93]).

© 2006 John Mylopoulos RE'06 -- 10

Softgoals for Representing Non-Functional Requirements

Programmability

+

+

++SupportChange of

ColoursSupport

Change ofState

SupportChange ofLanguage

ErrorAvoidance

InformationSharing

Ease of Learning

UserTailorability

Usability

Allow User-DefinedWriting Tool

Modularity

UseComponents

UserFlexibility

Allow Change ofSettings

+

+

+

ANDAND ANDAND

ANDAND

Change colour Change

stateChange language

Page 6: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

6

© 2006 John Mylopoulos RE'06 -- 11

Schedule

meeting

Collect

timetables

Choose

schedule

By Person By System

Manually Automatically

Minimal effort

Collection

effort

Matching effort

Good quality

schedule

Minimal conflicts

Good participation

Send

Request

Receive

Response

OR

OR

OROR

AND

AND

AND

AND

AND AND

AND

AND

+

-

- +++

-

-

Collect from Users

Collect from Agents

OROR

AccurateConstraints

Minimal

Disturbances

+ -

+-

EvaluatingAlternatives

with Softgoals

© 2006 John Mylopoulos RE'06 -- 12

Stakeholders and Their Goals In KAOS, goals are global objectives for the system-to-

be. In i* [Yu93], goals are desired by actors and are

delegated to other actors for fulfillment. In this framework then, early requirements involve

identifying stakeholders and their goals, analyzing thesegoals, delegating them to other actors etc.

The result of this process consists of actor dependencyand actor rationale models.

Page 7: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

7

© 2006 John Mylopoulos RE'06 -- 13

An Actor Dependency ModelInitiatorContributeToMtg

AttendMtg

UsefulMtg

CalendarInfo

SuitableTime

SchedulerParticipant

ScheduleMtg

resourcetask

actor

© 2006 John Mylopoulos RE'06 -- 14

An Actor Rationale Model

Throughpersonal contact

By email

ScheduleScheduleMeetingMeetinggoal treegoal tree

Reception

Actor dependencies are intentional: One actor wantssomething, another is willing and able to deliver.

By Person

Page 8: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

8

© 2006 John Mylopoulos RE'06 -- 15

Goals in Software Design KAOS, the NFR proposal, as well as i* advocate the use

of goals in designing software. KAOS uses goals to go from organizational objectives to

functional requirements. NFR uses them to represent and analyze non-functional

requirements. Non-functional requirements lead tocriteria for evaluate functional alternatives ( … ANDfunctional requirements).

i* relates goals to the actors who want them and keepstrack of delegations.

© 2006 John Mylopoulos RE'06 -- 16

So What?Early Requirements Phase

Early

Early

require

ments

require

ments Lat

e Lat

e

require

ments

require

ments

Archit

ectura

l

Archit

ectura

l

design

des

ign

Detaile

d

Detaile

d

design

design

Imple

menta

tion

Imple

menta

tion

KAOSKAOS

ZZ

UML and co.UML and co.AUMLAUML

GAIAGAIA

!!!! A GAP !!A GAP !!

i*i*JACK

SADTSADT

Page 9: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

9

© 2006 John Mylopoulos RE'06 -- 17

Credits Many other researchers worked with goals a decade or

more ago, including: Martin Feather and Steve Fickas; Colin Potts and Annie Anton; Janis Bubenko; Colette Rolland; Periklis Loucopoulos and Evangelia Kavakli;

© 2006 John Mylopoulos RE'06 -- 18

Goals, Intentions and Tasks Goals are desired states of affairs, e.g., "I want to be

president of the USA" ( … ) Intention = goal + commitment Actions are things agents can perform to change the

state of affairs. Task = action + intention We use "intention" and "goal" synonymously; likewise for

"task" and "plan".

Page 10: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

10

© 2006 John Mylopoulos RE'06 -- 19

Expressiveness of Goal Models Different researchers use different notations and

different primitive goal relationships. In our work, we adopted a goal model that includes:

Goal types: (hard)goals, softgoals Relationship types: AND (n-ary), OR (n-ary), ++

(makes, binary), -- (breaks, binary), + (helps,binary), - (hurts, binary)

This model without +, - is expressively equivalent toPropositional Calculus (PC).

The problem of deciding if given root-level goals can befulfilled can be reduced to the satisfiability problem inPC.

© 2006 John Mylopoulos RE'06 -- 20

This Talk

GORE -- History and key ideas Moving forward -- Tropos Moving forward -- Designing high-variability

software Afterthoughts and conclusions

Page 11: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

11

© 2006 John Mylopoulos RE'06 -- 21

…An Idea... (~2000) Software Engineering methods have traditionally come

about in a “late-to-early” phase (or, “downstream-to-upstream”) fashion.

In particular, Structured Programming precededStructured Analysis and Design; likewise, Object-Oriented Programming preceded Object-Oriented Designand Analysis.

In both cases, programming concepts were projectedupstream to dictate how designs and requirements areconceived.

What would happen if we projected requirements conceptsdownstream to define software designs and even

implementations?

© 2006 John Mylopoulos RE'06 -- 22

The Tropos Methodology Proposes a set of primitive concepts adopted from i* (actor,

goal, actor dependency,…) and a process for building agent-oriented software.

Covers four phases of software development: Early requirements -- identify stakeholders and their

goals; Late requirements -- introduce system-to-be as another

actor who can accommodate some of these goals; Architectural design -- more system actors are added

and are assigned responsibilities; Detailed design -- complete the specification of system

actors.

Page 12: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

12

© 2006 John Mylopoulos RE'06 -- 23

Agent-Oriented SoftwareEngineering

Many researchers working on it. Research on the topic generally comes in two flavours:

Extend UML to support agent communication,negotiation etc. (e.g., AUML [Bauer99, Odell00]);

Extend current agent programming platforms (e.g.,JACK) to support not just programming but also designactivities, e.g., GAIA [Jennings00].

All AOSE methods involve to a greater or lesser extendintentional concepts, analysis of alternatives, etc.

© 2006 John Mylopoulos RE'06 -- 24

Software Developmentas Multi-Agent Planning

Initialization: Identify stakeholder actors and theirgoals;

Step: For each new goal, the actor who owns it: adopts it; delegates it to another existing actor; delegates it to a new actor; decomposes it into new subgoals; declares the goal “denied”.

Termination condition: All initial goals have been fulfilled(…to an acceptable degree), assuming all actors deliveron their commitments.

Page 13: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

13

© 2006 John Mylopoulos RE'06 -- 25

Analyzing Tropos Models Models are used primarily for human communication But, this is not enough! Large models can be hard to

understand, or take seriously. We need analysis techniques which offer evidence that a

model makes sense: Simulation through model checking, to explore the

properties of goals, entities, etc. over their lifetime[RE'01, RE'03, REJ];

Goal analysis uses a SAT prover to determine whether agoal can be fulfilled [ER'02, JoDS'03, CAiSE'04];

Social analysis uses a planner to explore alternativedelegations for a given set of actors and goals.

The tools we have developed use off-the-shelf inferenceengines (respectively nuSMV, MinWeight solver, LPG-td).

© 2006 John Mylopoulos RE'06 -- 26

PhasesPalette Diagram Editor

Model

Properties Window

http://sra.itc.it/tools/taom/

Page 14: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

14

© 2006 John Mylopoulos RE'06 -- 27

Social Analysis Given a set of actors, each with associated root goals,

and a goal graph for each root goal, find an actordependency network that fulfills all root goals.

G

G1 G2

A1 A2 A1

G

A1 A2

G1

G2

G2

AND

AND AND

© 2006 John Mylopoulos RE'06 -- 28

Well-Formed Dependency Networks Some dependency graphs don’t make sense...

What is a “good” dependency network, assuming that weare interested in: minimizing dependence; distributing work; network stability

PhD thesis by Volha Bryl (Trento).

A1 A2G

G

Page 15: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

15

© 2006 John Mylopoulos RE'06 -- 29

The Tropos Project Project was launched in April 2000. Participating teams includes:

UToronto (Canada): Eric Yu, Alexei Lapouchnian, SotiriosLiaskos, Yijun Yu, Yiqiao Wang, Neil Ernst;

UTrento/IRST (Italy): Anna Perini, Angelo Susi, LorisPenserini, Paolo Giorgini, Fabio Massacci, RobertoSebastiani, Nicola Zannone, Yudis Asnar, Volha Bryl,Paolo Traverso,...;

Elsewhere: Jaelson Castro (Brazil), Matthias Jarke(Germany), Manuel Kolp (Belgium), Julio Leite (Brazil),Gerhard Lakemeyer (Germany), Lin Liu (China);

Publications and other information about the project can befound at http://www.http://www.troposprojecttroposproject.org..org.

© 2006 John Mylopoulos RE'06 -- 30

This Talk

GORE -- History and key ideas Moving forward -- Tropos Moving forward -- Designing high-variability

software Afterthoughts and conclusions

Page 16: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

16

© 2006 John Mylopoulos RE'06 -- 31

Designing for High Variability Instead of choosing one solution for the fulfillment of a

top-level goal, we could choose to support them all. This leads to software solutions that can be customized

in many different ways, depending on stakeholderpreferences and environmental parameters.

© 2006 John Mylopoulos RE'06 -- 32

On-Going Research From goals to generic designs: Develop a tool-supported

method for generating different design views from a givengoal model; in our work we have focus on the generationof a feature model, a statechart model and a softwarearchitecture.

Characterize variability: Goal models constitute one sourceof variability in design, but there are also others. Thesemay be dependent on what is the design about (e.g.,software, business process, database) [RE'06a, RE'06b].

PhD theses by Sotiris Liaskos, Alexei Lapouchnian, LeiJiang (Toronto).

Page 17: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

17

© 2006 John Mylopoulos RE'06 -- 33

Schedule

meeting

Collect

timetables

Choose

schedule

By Person By System

Manually Automatically

Minimal effort

Collection

effort

Matching effort

Good quality

schedule

Minimal conflicts

Good participation

Send

Request

Receive

Response

OR

OR

OROR

AND

AND

AND

AND

AND AND

AND

AND

+

-

- +++

-

-

Collect from Users

Collect from Agents

OROR

AccurateConstraints

Minimal

Disturbances

+ -

+-

VP1

VP3

VP2

From aGoal Modelto Design

Views

© 2006 John Mylopoulos RE'06 -- 34

… to a Feature Model

Schedule

meeting

Collect

timetables

Choose

schedule

By Person By System

Manually Automatically

Minimal effort

Collection

effort

Matching effort

Good quality

schedule

Minimal conflicts

Good participation

Send

Request

Receive

Response

OR

OR

OROR

AND

AND

AND

AND

AND AND

AND

AND

+

-

- +++

-

-

Collect from Users

Collect from Agents

OROR

AccurateConstraints

Minimal

Disturbances

+ -

+-

Schedule

meeting

Collect

timetables

Choose

schedule

By System Automatically

Collect from

Agents

Request

from Users

+conflicts [minimal disturbances ]

+conflicts [accurate constraints]

Send

Request

Receive

Response

VP1 VP2

VP3

Page 18: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

18

© 2006 John Mylopoulos RE'06 -- 35

… to a Statechart

Schedule

meeting

Collect

timetables

Choose

schedule

By Person By System

Manually Automatically

Minimal effort

Collection

effort

Matching effort

Good quality

schedule

Minimal conflicts

Good participation

Send

Request

Receive

Response

OR

OR

OROR

AND

AND

AND

AND

AND AND

AND

AND

+

-

- +++

-

-

Collect from Users

Collect from Agents

OROR

AccurateConstraints

Minimal

Disturbances

+ -

+-

Schedule meeting

...

[VP3=2]Send

Request

receive

response

[VP1=1]/by_person

Choose schedule

[VP2=1]/manually

[VP2]=2/automatically

[VP1=2]

[VP3=1]/collectByAgents

© 2006 John Mylopoulos RE'06 -- 36

… to a SoftwareArchitecture

Meeting Scheduler

Constraint

Collection

Module

Constraint

Request

Server

Communication

Module

Slot Calculator

Scheduling Mgr

ICollectConstr

RequestCnstr

Automatic

Collection

Constraint

Input UI

IGetConstraints

IScheduleMeeting

Prepare UI IPrepare

ISelectSlotAuto

Find

Address

Request

Instant

Messaging

IFindUserAddr

VP1

Request

Mailer

VP3

VP4

ICommunicateReqs

Priority

Based

Algorithm

TravelCost

Minimization

Algorithm

Conflicts

Minimization

Algorithm

Schedule

meeting

Collect

timetables

Choose

schedule

By Person By System

Manually Automatically

Minimal effort

Collection

effort

Matching effort

Good quality

schedule

Minimal conflicts

Good participation

Send

Request

Receive

Response

OR

OR

OROR

AND

AND

AND

AND

AND AND

AND

AND

+

-

- +++

-

-

Collect from Users

Collect from Agents

OROR

AccurateConstraints

Minimal

Disturbances

+ -

+-

Page 19: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

19

© 2006 John Mylopoulos RE'06 -- 37

Why is this Problem Important? Enterprise Resource Planning (ERP) software is generic

and can be customized in (very) many different ways. But we don't have yet systematic ways of generating

such designs. Envisioned applications for high-variability software:

Business process design (Alexei Lapouchnian); Home care software for the elderly (Sotiris Liaskos).

© 2006 John Mylopoulos RE'06 -- 38

WID

WB Modeler

High-VariabilityBusiness Goal Model

BP Specifications for Allthe Alternatives

Open OME

BPEL, WSDL,XSD

Elicit/Analyze Simulate/Analyze

Integrate

WPS

Deploy

WB MonitorBusiness Measures

Monitor

High-Variability BPEL

WID

Integrate

From Business RequirementsTo Adaptive Business

Processes

CBEs/CEI

[Lapouchnian06]

Page 20: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

20

© 2006 John Mylopoulos RE'06 -- 39

Autonomic (Application) Software (According to IBM) This is software that can self-

configure, self-repair and self-optimize. For us,

Autonomicity = High-Variability+Monitoring+Diagnosis+Adaptivity Our goal-oriented framework may not be appropriate for

autonomic system software (e.g., an OS) or middleware(e.g., a DBMS); But it certainly is for application software!

Different mechanisms required for Self-repair -- real-time reconfiguration and recovery Self-configuring and self-optimization -- off-line

reconfiguration, no recovery PhD thesis by Yiqiao Wang (Toronto) is looking at the

problem of designing monitoring and diagnostic mechanismsfor autonomic software.

© 2006 John Mylopoulos RE'06 -- 40

Other Threads [Security] Extend Tropos to support concepts of

ownership, permission and trust; this leads to modelswhere you can check whether every actor has thepermissions she needs to carry out her obligations[RE'05]; PhD thesis by Nicola Zannone (Trento).

[Risk Management] Extend the DDP risk managementframework [Feather05] to allow hierarchicalgoal/requirement and risk decompositions; PhD thesis byYudis Asnar (Trento).

Page 21: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

21

© 2006 John Mylopoulos RE'06 -- 41

This Talk

GORE -- History and key ideas Moving forward -- Tropos Moving forward -- Designing high-variability

software Afterthoughts and conclusions

© 2006 John Mylopoulos RE'06 -- 42

Research on Modelling Much research in RE involves building and analyzing

models. Not surprisingly, the quality of such research depends

critically on (a) the modelling language used, (b) thereasoning facilities provided.

Two pitfalls to avoid: Treating variations of modelling languages as

contributions; Proposing new modelling languages, instead of building

on what already exists. There is a very rich theory of (formal) models and

reasoning support to be found in KnowledgeRepresentation research.

Page 22: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

22

© 2006 John Mylopoulos RE'06 -- 43

Formal vs Informal Many of the modelling language we (in the RE community)

use are formal. There are great (and known) pitfalls inusing informal ones.

Most of the models we built are semi-formal; this meansthat the models capture and formalize some aspects ofthe domain, but not all. This is the nature of the SEenterprise …

For example,Schedule

meeting

Collect

timetables

Choose

schedule

By Person By System

Manually Automatically

Minimal effort

Collection

effort

Matching effort

Good quality

schedule

Minimal conflicts

Good participation

Send

Request

Receive

Response

OR

OR

OROR

AND

AND

AND

AND

AND AND

AND

AND

+

-

- +++

-

-

Collect from Users

Collect from Agents

OROR

AccurateConstraints

Minimal

Disturbances

+ -

+-

© 2006 John Mylopoulos RE'06 -- 44

The Big Picture … We are working on characterizations of design spaces

for software, business processes, databases, …. These spaces are partly defined by variations in goal

fulfillment and actor delegation strategies, but also onother dimensions.

We are also working on a theory for evaluating designalternatives with respect to a set of criteria consistingof stakeholder needs and preferences.

These together can form the basis for a theory ofdesign, along the lines of Herbert Simon's vision for aScience of Design [Simon69].

Page 23: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

23

© 2006 John Mylopoulos RE'06 -- 45

What is Missing? The (qualitative) models we built may be formalizable,

BUT they are subjective. We need theories of measurement for cognitive/social

phenomena. Our models are often under-constrained, include too

many variables [Menzies99]. To have autonomic/adaptive systems, models and their

implementations will need to evolve at run-time. … For sure, other things as well …

© 2006 John Mylopoulos RE'06 -- 46

Conclusions GORE introduces new concepts in software development

processes. We have argued that GORE shows a path towards

defining and analyzing design spaces for software. We also sketched two applications of GORE concepts:

Designing agent-oriented software -- the Troposproject [JAAMAS04, JInformationSystems03];

Designing high-variability software [RE'03, RE'06a,RE'06b].

Page 24: Goal-Oriented Requirements Engineering: Part II€¦ · second addresses the design of high-variability software for applications such as home care software and business process ...

24

© 2006 John Mylopoulos RE'06 -- 47

References [Bauer99] Bauer, B., Extending UML for the Specification of Agent Interaction Protocols.

OMG document ad/99-12-03. [Castro02] Castro, J., Kolp, M., Mylopoulos, J., “Towards Requirements-Driven Software

Development Methodology: The Tropos Project,” Information Systems 27(2), PergamonPress, June 2002, 365-389.

[Chung00] Chung, L., Nixon, B., Yu, E., Mylopoulos, J., Non-Functional Requirements inSoftware Engineering, Kluwer Publishing, 2000.

[Dardenne93] Dardenne, A., van Lamsweerde, A. and Fickas, S., “Goal–directedRequirements Acquisition”, Science of Computer Programming, 20, 1993.

[Fuxman01a] .Fuxman, A., Pistore, M., Mylopoulos, J. and Traverso, P., “Model CheckingEarly Requirements Specifications in Tropos”, Proceedings Fifth International IEEESymposium on Requirements Engineering, Toronto, August 2001.

[Fuxman01b] Fuxman,A., Giorgini, P., Kolp, M., Mylopoulos, J., “Information Systems asSocial Organizations”, Proceedings International Conference on Formal Ontologies forInformation Systems, Ogunquit Maine, October 2001.

[Iglesias98] Iglesias, C., Garrijo, M. and Gonzalez, J., “A Survey of Agent-OrientedMethodologies”, Proceedings of the 5th International Workshop on Intelligent Agents:Agent Theories, Architectures, and Languages (ATAL-98), Paris, France, July 1998.

© 2006 John Mylopoulos RE'06 -- 48

...More References… [Jennings00] Jennings, N. “On Agent-Based Software Engineering”, Artificial lntelligence

117, 2000. [Menzies99] Menzies, T., Easterbrook, S., Nuseibeh, B., and S.Waugh. “An Empirical

Investigation of Multiple Viewpoint Reasoning in Requirements Engineering”, In RE’99,1999. Available from http://menzies.us/pdf/99re.pdf.

[Mylopoulos92] Mylopoulos, J., Chung, L. and Nixon, B., "Representing and Using Non-Functional Requirements: A Process-Oriented Approach," IEEE Transactions on SoftwareEngineering 18(6), June 1992, 483-497.

[Odell00] Odell, J., Van Dyke Parunak, H. and Bernhard, B., “Representing AgentInteraction Protocols in UML”, Proceedings 1st International Workshop on Agent-OrientedSoftware Engineering (AOSE00), Limerick, June 2000.

[Simon69] Simon, H., The Sciences of the Artificial, The MIT Press, 1969 [Wooldridge00] Wooldridge, M., Jennings, N., and Kinny, D., “The Gaia Methodology for

Agent-Oriented Analysis and Design,” Journal of Autonomous Agents and Multi-AgentSystems, 3(3), 2000, 285–312.

[Yu95] Yu, E., Modelling Strategic Relationships for Process Reengineering, Ph.D. thesis,Department of Computer Science, University of Toronto, 1995.

[Zambonelli00] Zambonelli, F., Jennings, N., Omicini, A., and Wooldridge, M., “Agent-Oriented Software Engineering for Internet Applications,” in Omicini, A., Zambonelli, F.,Klusch, M., and Tolks-Dorf R., (editors), Coordination of Internet Agents: Models,Technologies, and Applications, Springer-Verlag LNCS, 2000, 326–346.