Goal-Oriented Requirements Engineering: Part II



Similar documents
Agent-Oriented Software Development

Towards an Agent Oriented approach to Software Engineering

Goal-Based Self-Contextualization

Agent-Oriented Software Engineering PORTO Methodology AIAD 2013/2014. António Castro and Eugénio Oliveira

feature requirements engineering

Lecture 3 Topics on Requirements Engineering

Deriving Use Cases from Organizational Modeling

Location-based Software Modeling and Analysis: Tropos-based Approach

An Investigation of Agent Oriented Software Engineering Methodologies to Provide an Extended Methodology

The Tropos Metamodel and its Use. 1 Introduction. 2 Models and Methodology

Requirements-Driven Design and Configuration Management of Business Processes

Integrating Security and Systems Engineering: Towards the Modelling of Secure Information Systems

How To Develop A Multi Agent System (Mma)

Identifying Candidate Aspects with I-star Approach

Goal-Oriented Requirements Engineering: An Overview of the Current Research. by Alexei Lapouchnian

A Survey of Good Practices and Misuses for Modelling with i* Framework

The Tropos Software Development Methodology: Processes, Models and Diagrams

Modeling Mental States in Requirements Engineering An Agent-Oriented Framework Based on i* and CASL

Evaluating the Coverage of Development Lifecycle in Agent Oriented Software Engineering Methodologies

Addressing Agent Autonomy in Business Process Management - with Case Studies on the Patient Discharge Process

When security meets software engineering: A case of modelling. secure information systems

Tropos: An Agent-Oriented Software Development Methodology

Mastem: A Mathematics Tutoring Multi-Agent System

Tool-supported Development with Tropos: The Conference Management System Case Study.

Ubiquitous, Pervasive and Mobile Computing: A Reusable-Models-based Non-Functional Catalogue

An Agent-based Middleware for Adaptive Systems

GOAL-BASED WEB DESIGN TOWARDS BRIDGING THE GAP BETWEEN REQUIREMENTS AND DESIGN OF WEB APPLICATIONS

How To Develop Use Cases In Uml From Organizational Modeling

Goals and Scenarios to Software Product Lines: the GS2SPL Approach

Strategic Actors Modeling for Requirements Engineering - the i* framework

Socially Grounded Analysis of Knowledge Management Systems and Processes.

Engineering of a Clinical Decision Support Framework for the Point of Care Use

A Methodology to Evaluate Agent Oriented Software Engineering Techniques

Evolving System Architecture to Meet Changing Business Goals: an Agent and Goal-Oriented Approach

How To Teach I* To A First Year Bachelor Degree

Social Patterns for Designing Multiagent Systems

Understanding the Role of Enterprise Architecture. towards Better Institutionalization

Modelling Strategic Actor Relationships to Support Intellectual Property Management

Multi-Agent and Software Architectures: A Comparative Case Study

4. Multiagent Sys stems Design. Part 2: The PROMETHEUS methodology.

Towards a Risk-Based Security Requirements Engineering Framework

The Tropos and MaSE Agent-Oriented Software Engineering Methodologies. Msury Mahunnah, Tallinn University of Technology

Customizing Software for Users with Special Needs. Software for Oi Polloi

Visualizing non-functional requirements

Designing for Privacy and Other Competing Requirements Eric Yu 1 and Luiz Marcio Cysneiros 2 1 Faculty of Information Studies

Goal Modeling and Designing

Analyzing Security Requirements As Relationships among Strategic Actors

Goal-Oriented Requirement Analysis for Data Warehouse Design

The Agent Modeling Language (AMOLA)

On the Adequacy of i* Models for Representing and Analyzing Software Architectures

How To Write A Security Requirements Engineering, Information Ment System, And Privacy Protection System

Agent-Oriented Requirements Engineering Using ConGolog and i*

INFORMATION INTEGRATION ARCHITECTURE DEVELOPMENT: A MULTI-AGENT APPROACH

Software Technology Design anditecture

However, the marketplace for replaceable components is still not at sight due to many

Analyzing Requirements of Knowledge Management Systems with the Support of Agent Organizations

REASONING ABOUT GOAL SATISFACTION FOR EARLY REQUIREMENTS ENGINEERING IN THE i* FRAMEWORK USING INTER-ACTOR DEPENDENCY

A Modeling Ontology for Integrating Vulnerabilities into Security Requirements Conceptual Foundations

Agent-Oriented Modelling: Software Versus the World

Collaborative Aspect-oriented Requirement Tool (CAORT)

Requirements Engineering for Social Applications

Cloud Adoption: A Goal-Oriented Requirements Engineering Approach

Towards Engineering Transparency as a Requirement in Socio-technical Systems

Agent-Oriented Software Engineering

An Ontology for Secure Socio-Technical Systems

Transforming Socio-Technical Security Requirements in SecBPMN Security Policies

Agent-Based Software and Practical Case of Agent-Based Software Development

Evolving System Architecture to Meet Changing Business Goals. The Problem

Capturing Web Application Requirements through Goal-Oriented Analysis

Abstract. Keywords: requirements engineering; threats; security; ATM; analysis; reuse

A Change Impact Analysis Approach to GRL Models

Designing Law-Compliant Software Requirements

To Comply Software and IT System Development with Related Laws Abstract. Keywords: 1. PROBLEM STATEMENT

Secure Information Systems Engineering: Experiences and Lessons Learned from two Health Care Projects

Goal-oriented Specification of Adaptation Requirements Engineering in Adaptive Systems

Evaluating Agent-Oriented Software Engineering Methodologies

Alignment of Misuse Cases with Security Risk Management

Exploring the Effectiveness of Normative i* Modelling: Results from a Case Study on Food Chain Traceability

A Context-Specific Definition of Risk for Enterprise-Level Decision Making

Business Process Configuration with NFRs and Context-Awareness

Lecture 9: Requirements Modelling

Integrating requirements engineering and cognitive work analysis: A case study

CS 6361, SPRING 2010 Advanced Requirements Engineering Web Based Meeting Scheduler- Project Plan

GRAnD: A Goal-Oriented Approach. to Requirement Analysis in Data Warehouses

Perspective Methods and Tools for the Design of Distributed Software Systems Based on Services

Perspective Methods and Tools for the Design of Distributed Software Systems Based on Services

Software Rapid Approach to Agency Design and Development

Business Intelligence System Using Goal-Ontology Approach: A Case Study in Universiti Utara Malaysia

Understanding Software Ecosystems: A Strategic Modeling Approach

Business modeling with the support of multiple notations in requirements engineering

Security Attack Testing (SAT) testing the security of information systems at design time $

Toward a Goal-oriented, Business Intelligence Decision-Making Framework

Chapter 10. Practical Database Design Methodology. The Role of Information Systems in Organizations. Practical Database Design Methodology

Special Issue on Drivers of Business Process Development: Business, IT, Compliance

Combining i* and BPMN for Business Process Model Lifecycle Management

Defining Agents in a COTS-Aware Requirements Engineering Approach

A Goal-Driven Project Management Framework for Multi- Agent Software Development: The Case of I-Tropos

Reusable Knowledge-based Components for Building Software. Applications: A Knowledge Modelling Approach

From Stakeholder Goals to High-Variability Software Designs

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Transcription:

GoalOriented Requirements Engineering: Part II John Mylopoulos University of Toronto/Trento 14th IEEE Requirements Engineering Conference Minneapolis, September 15, 2006 2006 John Mylopoulos RE'06 1 Abstract We briefly review the history and key ideas in GoalOriented Requirements Engineering research. We then sketch two applications of these ideas. The first involves establishing an AgentOriented Software Development method called Tropos which covers not only requirements but also design phases. The second addresses the design of highvariability 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). 2006 John Mylopoulos RE'06 2 1

GE, Parts I & II GE = GoalOriented 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 GE and described some of the ongoing research and industrial experiences of the KAOS project. The talk made an elegant case for GE as an important edition to SE practice. In this presentation, I review some of the research results and ongoing work of the i*/tropos project. I'll also make the case for GE as a foundation for a Theory of Software Design. 2006 John Mylopoulos RE'06 3 This Talk GoalOriented RE History and key ideas Moving forward Tropos Moving forward Designing highvariability software Afterthoughts and conclusions 2006 John Mylopoulos RE'06 4 2

GoalOriented Requirements Engineering (~1993) Goaloriented analysis focuses on early requirements, when problems are identified, and alternative solutions are explored and evaluated. During goaloriented analysis, we start with initial stakeholder goals such as Fulfill every book request, or Schedule meeting and keep refining them until we have reduced them to alternative collections of functional requirements each of which can satisfy the initial goals. Initial goals may be contradictory, so the analysis must facilitate the discovery of tradeoffs and the search of the full space of alternatives, rather than a subset. 2006 John Mylopoulos RE'06 5 GoalOriented 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: SystemGoal Achieve[BookRequestSatisfied] InstanceOf SatisfactionGoal Concerns Borrower, Book, Borrowing,... Definition ( bor: Borrower, b: Book, lib: Library) (Requesting(bor, b) b.subject lib.coveragearea F[( bc: BookCopy) (Copy(bc, b) Borrowing(bor, bc)))] 2006 John Mylopoulos RE'06 6 3

Goal Analysis Leads to Alternatives (Functional/hard) Goals Schedule meeting By Person Collect timetables agents By System users Manually Choose Automatically Send request Receive request 2006 John Mylopoulos RE'06 7 Alternatives Lead to Designs/Plans Schedule meeting Tasks By Person Collect timetables agents By System users Manually Choose Automatically Collect Send request Receive request Schedule 2006 John Mylopoulos RE'06 8 4

Softgoals Functional goals, such as Schedule meeting are well defined in the sense that they admit a formal definition. Nonfunctional goals, such higher profits, higher customer satisfaction or easily maintainable system specify qualities a sociotechnical system should adhere to. Such qualities usually admit no generally agreed upon definition, are interrelated and often contradictory. Such qualities are represented as softgoals. Softgoals can be thought as fuzzy goals with no clearcut criteria for satisfaction; hence softgoals are satisficed, rather than satisfied (NFR framework, [Mylopoulos92], [Chung93]). 2006 John Mylopoulos RE'06 9 Softgoals for Representing Non Functional Requirements Support Change of Colours Error Avoidance Allow Change of Settings Change colour Support Change of State Information Sharing Change state Usability Programmability 2006 John Mylopoulos RE'06 10 Modularity Support Change of Language Change language Ease of Learning User Flexibility Use Components User Tailorability Allow UserDefined Writing Tool 5

Collection Evaluating Alternatives By Person with Softgoals Matching Collect timetables By System Good quality conflicts Good participation Schedule meeting Choose Agents Users Manually Automatically Disturbances Accurate Constraints Send Request Receive Response 2006 John Mylopoulos RE'06 11 Stakeholders and Their Goals In KAOS, goals are global objectives for the systemtobe. 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 these goals, delegating them to other actors etc. The result of this process consists of actor dependency and actor rationale models. 2006 John Mylopoulos RE'06 12 6

An Actor Dependency Model ContributeToMtg Initiator actor UsefulMtg CalendarInfo ScheduleMtg Participant AttendMtg Scheduler task SuitableTime resource 2006 John Mylopoulos RE'06 13 An Actor Rationale Model By Person Schedule Meeting goal tree Reception Through personal contact By email Actor dependencies are intentional: One actor wants something, another is willing and able to deliver. 2006 John Mylopoulos RE'06 14 7

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 nonfunctional requirements. Nonfunctional requirements lead to criteria for evaluate functional alternatives ( functional requirements). i* relates goals to the actors who want them and keeps track of delegations. 2006 John Mylopoulos RE'06 15 i* So What? Early Requirements Phase KAOS!! A GAP!! SADT UML and co. Z AUML JACK GAIA Early requirements Late requirements Architectural design Detailed design Implementation 2006 John Mylopoulos RE'06 16 8

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 17 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". 2006 John Mylopoulos RE'06 18 9

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: (nary), (nary), (makes, binary), (breaks, binary), (helps, binary), (hurts, binary) This model without, is expressively equivalent to Propositional Calculus (PC). The problem of deciding if given rootlevel goals can be fulfilled can be reduced to the satisfiability problem in PC. 2006 John Mylopoulos RE'06 19 This Talk GE History and key ideas Moving forward Tropos Moving forward Designing highvariability software Afterthoughts and conclusions 2006 John Mylopoulos RE'06 20 10

An Idea... (~2000) Software Engineering methods have traditionally come about in a latetoearly phase (or, downstreamtoupstream ) fashion. In particular, Structured Programming preceded Structured Analysis and Design; likewise, Object Oriented Programming preceded ObjectOriented Design and Analysis. In both cases, programming concepts were projected upstream to dictate how designs and requirements are conceived. What would happen if we projected requirements concepts downstream to define software designs and even implementations? 2006 John Mylopoulos RE'06 21 The Tropos Methodology Proposes a set of primitive concepts adopted from i* (actor, goal, actor dependency, ) and a process for building agentoriented software. Covers four phases of software development: Early requirements identify stakeholders and their goals; Late requirements introduce systemtobe 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. 2006 John Mylopoulos RE'06 22 11

AgentOriented Software Engineering 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 design activities, e.g., GAIA [Jennings00]. All AOSE methods involve to a greater or lesser extend intentional concepts, analysis of alternatives, etc. 2006 John Mylopoulos RE'06 23 Software Development as MultiAgent Planning Initialization: Identify stakeholder actors and their goals; 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 deliver on their commitments. 2006 John Mylopoulos RE'06 24 12

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 a goal can be fulfilled [ER'02, JoDS'03, CAiSE'04]; Social analysis uses a planner to explore alternative delegations for a given set of actors and goals. The tools we have developed use offtheshelf inference engines (respectively nusmv, MinWeight solver, LPGtd). 2006 John Mylopoulos RE'06 25 Phases Palette Diagram Editor Model Properties Window http://sra.itc.it/tools/taom/ 2006 John Mylopoulos RE'06 26 13

Social Analysis Given a set of actors, each with associated root goals, and a goal graph for each root goal, find an actor dependency network that fulfills all root goals. A 1 A 2 A 1 G G A 1 A 2 G 1 G 2 G 1 G 2 G 2 2006 John Mylopoulos RE'06 27 WellFormed Dependency Networks Some dependency graphs don t make sense... A 1 A 2 G G What is a good dependency network, assuming that we are interested in: minimizing dependence; distributing work; network stability PhD thesis by Volha Bryl (Trento). 2006 John Mylopoulos RE'06 28 14

The Tropos Project Project was launched in April 2000. Participating teams includes: UToronto (Canada): Eric Yu, Alexei Lapouchnian, Sotirios Liaskos, Yijun Yu, Yiqiao Wang, Neil Ernst; UTrento/IRST (Italy): Anna Perini, Angelo Susi, Loris Penserini, Paolo Giorgini, Fabio Massacci, Roberto Sebastiani, 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 be found at http://www.troposproject troposproject.org. 2006 John Mylopoulos RE'06 29 This Talk GE History and key ideas Moving forward Tropos Moving forward Designing highvariability software Afterthoughts and conclusions 2006 John Mylopoulos RE'06 30 15

Designing for High Variability Instead of choosing one solution for the fulfillment of a toplevel goal, we could choose to support them all. This leads to software solutions that can be customized in many different ways, depending on stakeholder preferences and environmental parameters. 2006 John Mylopoulos RE'06 31 OnGoing Research From goals to generic designs: Develop a toolsupported method for generating different design views from a given goal model; in our work we have focus on the generation of a feature model, a statechart model and a software architecture. Characterize variability: Goal models constitute one source of variability in design, but there are also others. These may 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, Lei Jiang (Toronto). 2006 John Mylopoulos RE'06 32 16

Collection By Person Matching Collect timetables VP1 By System Good quality conflicts Good participation Schedule meeting VP2 Choose Disturbances Agents Accurate Constraints VP3 Send Request Users Receive Response Manually From a Automatically Goal Model to Design Views 2006 John Mylopoulos RE'06 33 to a Feature Model Good quality Good participation Schedule Matching meeting conflicts Collection Choose Collect timetables By Person By System Agents Manually Users Automatically Disturbances Send Receive Request Response Accurate Constraints Collect timetables VP1 VP3 Agents By System Schedule meeting Request from Users Choose VP2 Automatically Send Request Receive Response conflicts [minimal disturbances ] conflicts [accurate constraints] 2006 John Mylopoulos RE'06 34 17

to a Statechart Collection Matching Collect timetables By Person By System Good quality conflicts Good participation Schedule meeting Choose Schedule meeting [VP1=1]/by_person Agents Manually Users Disturbances Send Accurate Request Constraints Receive Response Automatically [VP1=2] Choose [VP2=1]/manually [VP3=1]/collectByAgents [VP2]=2/automatically [VP3=2] Send Request... receive response 2006 John Mylopoulos RE'06 35 to a Software Architecture Meeting Scheduler Prepare UI Constraint Collection Module VP1 IPrepare IScheduleMeeting ICollectConstr Scheduling Mgr Automatic Collection Good quality Good participation Schedule Matching meeting conflicts Collection Choose Collect timetables By Person By System Agents Manually Users Automatically Disturbances Send Receive Request Response Accurate Constraints Constraint Request Server IFindUserAddr Find Address Communication Module Request Mailer Slot Calculator VP4 RequestCnstr IGetConstraints Constraint Input UI VP3 ICommunicateReqs Request Instant Messaging ISelectSlotAuto Priority Based Algorithm TravelCost Minimization Algorithm Conflicts Minimization Algorithm 2006 John Mylopoulos RE'06 36 18

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 highvariability software: Business process design (Alexei Lapouchnian); Home care software for the elderly (Sotiris Liaskos). 2006 John Mylopoulos RE'06 37 HighVariability Business Goal Model Open OME BP Specifications for All the Alternatives WB Modeler From Business Requirements To Adaptive Business Processes Elicit/Analyze Simulate/Analyz e HighVariability BPEL WID Business Measures WB Monitor BPEL, WSDL, XSD WID CBEs/CEI Integrate Monitor Integrate [Lapouchnian06] WPS Deploy 2006 John Mylopoulos RE'06 38 19

Autonomic (Application) Software (According to IBM) This is software that can selfconfigure, selfrepair and selfoptimize. For us, Autonomicity = HighVariabilityMonitoringDiagnosisAdaptivity Our goaloriented 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 Selfrepair realtime reconfiguration and recovery Selfconfiguring and selfoptimization offline reconfiguration, no recovery PhD thesis by Yiqiao Wang (Toronto) is looking at the problem of designing monitoring and diagnostic mechanisms for autonomic software. 2006 John Mylopoulos RE'06 39 Other Threads [Security] Extend Tropos to support concepts of ownership, permission and trust; this leads to models where you can check whether every actor has the permissions she needs to carry out her obligations [RE'05]; PhD thesis by Nicola Zannone (Trento). [Risk Management] Extend the DDP risk management framework [Feather05] to allow hierarchical goal/requirement and risk decompositions; PhD thesis by Yudis Asnar (Trento). 2006 John Mylopoulos RE'06 40 20

This Talk GE History and key ideas Moving forward Tropos Moving forward Designing highvariability software Afterthoughts and conclusions 2006 John Mylopoulos RE'06 41 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) the reasoning 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 Knowledge Representation research. 2006 John Mylopoulos RE'06 42 21

Formal vs Informal Many of the modelling language we (in the RE community) use are formal. There are great (and known) pitfalls in using informal ones. Most of the models we built are semiformal; this means that the models capture and formalize some aspects of the domain, but not all. This is the nature of the SE enterprise For example, Collection Matching Collect timetables Good quality conflicts Good participation Schedule meeting Choose By Person By System Agents Users Manually Automatically Disturbances Send Accurate Request Constraints Receive Response 2006 John Mylopoulos RE'06 43 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 on other dimensions. We are also working on a theory for evaluating design alternatives with respect to a set of criteria consisting of stakeholder needs and preferences. These together can form the basis for a theory of design, along the lines of Herbert Simon's vision for a Science of Design [Simon69]. 2006 John Mylopoulos RE'06 44 22

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 underconstrained, include too many variables [Menzies99]. To have autonomic/adaptive systems, models and their implementations will need to evolve at runtime. For sure, other things as well 2006 John Mylopoulos RE'06 45 Conclusions GE introduces new concepts in software development processes. We have argued that GE shows a path towards defining and analyzing design spaces for software. We also sketched two applications of GE concepts: Designing agentoriented software the Tropos project [JAAMAS04, JInformationSystems03]; Designing highvariability software [RE'03, RE'06a, RE'06b]. 2006 John Mylopoulos RE'06 46 23

References [Bauer99] Bauer, B., Extending UML for the Specification of Agent Interaction Protocols. OMG document ad/991203. [Castro02] Castro, J., Kolp, M., Mylopoulos, J., Towards RequirementsDriven Software Development Methodology: The Tropos Project, Information Systems 27(2), Pergamon Press, June 2002, 365389. [Chung00] Chung, L., Nixon, B., Yu, E., Mylopoulos, J., NonFunctional Requirements in Software Engineering, Kluwer Publishing, 2000. [Dardenne93] Dardenne, A., van Lamsweerde, A. and Fickas, S., Goal directed Requirements Acquisition, Science of Computer Programming, 20, 1993. [Fuxman01a].Fuxman, A., Pistore, M., Mylopoulos, J. and Traverso, P., Model Checking Early Requirements Specifications in Tropos, Proceedings Fifth International IEEE Symposium on Requirements Engineering, Toronto, August 2001. [Fuxman01b] Fuxman,A., Giorgini, P., Kolp, M., Mylopoulos, J., Information Systems as Social Organizations, Proceedings International Conference on Formal Ontologies for Information Systems, Ogunquit Maine, October 2001. [Iglesias98] Iglesias, C., Garrijo, M. and Gonzalez, J., A Survey of AgentOriented Methodologies, Proceedings of the 5th International Workshop on Intelligent Agents: Agent Theories, Architectures, and Languages (ATAL98), Paris, France, July 1998. 2006 John Mylopoulos RE'06 47...More References [Jennings00] Jennings, N. On AgentBased 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 ProcessOriented Approach," IEEE Transactions on Software Engineering 18(6), June 1992, 483497. [Odell00] Odell, J., Van Dyke Parunak, H. and Bernhard, B., Representing Agent Interaction Protocols in UML, Proceedings 1st International Workshop on AgentOriented Software 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 AgentOriented Analysis and Design, Journal of Autonomous Agents and MultiAgent Systems, 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 TolksDorf R., (editors), Coordination of Internet Agents: Models, Technologies, and Applications, SpringerVerlag LNCS, 2000, 326 346. 2006 John Mylopoulos RE'06 48 24