Tropos A Framework for RequirementsDriven Software Development Jaelson
- Slides: 40
Tropos: A Framework for Requirements-Driven Software Development Jaelson Castro* Centro de Informatica - CIN Universidade Federal de Pernambuco - UFPE / Brazil www. cin. ufpe. br/~jbc * Visiting Assoc. Prof. at University of Toronto - Canada
A bit of geography 2
Outline l Introduction l Early Requirements l Late Requirements l Architectural Design l Detailed Design l Implementation l Research Issues l Conclusion 3
Team l University of Toronto: John Mylopoulos, Eric Yu, Manuel Kolp, Ariel Fuxman l University of York: Yves Lespérance l Universidade Federal de Pernambuco: Jaelson Castro l University of Trento/IRST: Paolo Bresciani, Paolo Giorgini, Fausto Giunchiglia, Anna Perini, Marco Pistore, Paolo Traverso Warning: Work in Progress!! TROPOS at the AGE of 15 months 4
Software Development Techniques l Software development techniques offer concepts, tools and methods for building software systems. l Traditionally, such techniques have been implementation-driven. l This means that the programming paradigm of the day dictated the design and requirements paradigms. l So, structured programming led to structured design and structured (requirements) analysis, while object-oriented programming led to object-oriented design and analysis. l Aligning the paradigms used for requirements, design and implementation makes perfect sense. But why start with implementation? What would requirements-driven software development look like? ? 5
A Multi-Perspective View of Software l We are working towards an agent-oriented software development methodology, founded on the key concepts of actor, goal, (goal, task, resource) dependency, etc. l Software ca be viewed from four perspectives: – Organizational -- who are the relevant actors, what do they want? What are their obligations? …capabilities? ? – Intentional -- what are the relevant goals and how they interrelate? How are they being met? … by whom? ? – Process-oriented -- what are the relevant business/computer processes? Who is responsible for what? – Object-oriented -- relevant objects l We are focusing on organizational and intentional perspectives because they are novel. 6
Tropos* Ontology Actors, social dependencies, goals, resources, . . . Structuring Contexts (+generalization, aggregation, classification and attribution) Application area (Requirements-driven) Software development Tools Software development, process analysis, enactment support, goal and softgoal analysis * Tropos, Tropos in Greek, means manner (as in “manner of doing things”) Guiding Principle: Push concepts as far down as possible (…and see what happens!) 7
Where Do We Want to Be? ? Agent-Oriented Programming TROPOS i* GAIA KAOS Z AUML The GAP !! UML & co. al e ly t r r tu n La ts Ea nts c n te sig e e i h de m m c e e r r r A ui ui q q re re d e l ai gn t De esi d nt e Ag tion ta n e m e pl Im 8
Early vs Late Requirements l We need to distinguish between early phases of requirements analysis, when the analyst is trying to understand an organizational setting, from late phases when the analyst formulates a solution Organizational model Requirements Contractual requirements System 9
Early vs Late Requirements l Early requirements amount to the definition of a search space (“scoping”) and a search among alternatives within that space. l Late requirements amount to refining, disambiguating and completing the description of the chosen alternative. l Structured and object-oriented analyses are OK for late requirements. l Goal-oriented analysis is more appropriate for early requirements analysis because it focuses on the definition and exploration of a space of alternatives 10
Goal-Oriented Analysis l Goal-oriented analysis focuses on early requirements phases, when alternatives are being explored and evaluated. l During goal-oriented analysis, we start with initial goals such as “Increase Market Share”, “Handle Customer Orders”, “Buy Media Items”, “Easily maintainable system”, “Good performance” etc. and keep decomposing them until we have reduced them to alternative collections of design decisions each of which can satisfy the initial goals. l Initial goals may be organization- or system-oriented; they may also be conflicting, so the analysis must facilitate the discovery of tradeoffs and the search of the full space of alternatives, rather than a subset. 11
Goal-Oriented Analysis is not New! l Specification of composite systems -- [Feather 87] l Goal-oriented elaboration of requirements -- ALBERT [Dubois 94] l Goal-oriented requirements acquisition -- KAOS [Dardenne 93] l Knowledge representation and reasoning in the design of composite systems -- Critter [Fickas 92] l Goal-oriented requirements analysis -- Potts, Anton l i* and Non-Functional Requirements framework -- Yu, Chung l NATURE -- [Jarke 93] l F 3 -- [Bubenko 93] . . . and many others. . . 12
An E-commerce Case Study l Media taxonomy – on-line catalog – DBMS l E-Shopping Cart – Check In – Buying – Check Out l Search Engine – catalog browser – Keywords – full-text l Secure – $ transactions – orders 13
Early Requirements Analysis with TROPOS l Understanding the problem by studying an existing organizationa l Output : Organizational model with relevant actors and respective 14
Means-Ends Analysis & Functional Alternatives 15
Late Requirements with TROPOS l The (software) system is now represented as one or more actors which participate in a strategic dependency model. l Resource, task and softgoal dependencies correspond naturally to functional and non-functional requirements. l Functional Goals generally operationalized during Late Requirements 16
Late Requirements (Strategic Relationships) Specifications describing functional and non functional requirem 17
Late Requirements (Strategic Rational Model) Medi@ 18
Assigning Responsabilities to Subactors Adaptability Availability 19
Late Requirements with TROPOS l Leaving (some) goal dependencies between software system actors and other actors is a novelty. Traditionally, functional goals are “operationalized” during late requirements, and quality softgoals are either operationalized or “metricized”. l Removing goals early on leads to fragile software systems l Leaving goal dependencies with system actors as dependees makes sense whenever there is a foreseeable need for flexibility in the performance of a task on the part of the system. – We have left 3 goals : Availability, Security and Adaptability 20
Architectural Design l Global system architecture defined in terms of subsystems, interconnected through data, control and other dependencies. l 3 Steps – 1 Macro level : Architectural Styles (Organizational Styles) : “From Late Requirements to Architectural Design” Vertical Integration, Pyramid, Joint Venture, Structure in 5, Bidding, Hierarchical Contracting, Co-optation, Takeover – 2 Micro level : Patterns (Agent Community) Contract-Net, Broker, Matchmaker, , Mediator, Monitor, Embassy, Wrapper, Master-Slave, . . . – 3 Assigning Actors to Agents, Positions, Roles: “From Actors to Agents” In Progress 21
Organizational Architectures (Macro Level) Joint Venture 22
Quality Attributes for Agent Systems 23
A Joint-Venture E-commerce Architecture 24
Patterns (Micro level) Contract-Net 25
Detailed Design l The skills of all actors and their input/output data are refined using some specification technique. l As with detailed design for other techniques, the idea here is to specify completely the behaviour and I/O of each actor. l (A)UML [Odell 00] l Plan Diagrams [Kinny 96] 26
Detailed Design: Shopping Cart Actor 27
Agent Interaction Protocol with AUML Customer Shopping Cart The Checkout Dialogue 28
Plan Diagram for checking out 29
Implementing Agent-Oriented Software l Agents are implemented using some agent-oriented implementation platform (ex. JACK). Such platforms offer a communication protocol, possibly a negotiation protocol, perhaps some generic planning facility, a generic agent architecture, knowledge base management facilities, and more [Coburn 00]. l If there are dangling goal dependencies, I. e. , goal dependencies for which no one has undertaken the responsibility to fulfill, build into the responsible agent skills for meeting these goals. E. g. , a communication goal might be met through repeated email, asking a third party to communicate etc. l If there are dangling softgoal dependencies, build into the responsible agent skills for addressing such softgoals. E. g. , a security agent would have a number of ways of meeting security goals 30
From TROPOS to JACK Java Agents 31
Partial JACK Implementation for checking out 32
Formality Entity Order Has order. Id: Number, cust: Customer, date: Date, items: Set. Of [Media. Item] Entity Media. Item Has item. Id: Number, item. Title: String, description: Text, editor: String … Goal. Dependency Buy. Media. Items Mode Fulfil Has order: Order Defined Items. Received. OK(order) Depender Customer Dependee Media. Shop Necessary Fulfil( Place. Order(order)) Actor Customer Has customer. Id: Number, name: Name, address: Address, tel: Phone. Number, … Capable of Make. Order, Pay, Browse, … Goal "order: Order $buy: Buy. Media. Items[order] (order. cust=self Ù ◊Fulfil(buy)) Actor Media. Shop Has name: {Media. Live}, address: {“ 735 Yonge Street”}, phone#: 0461 -762 -883 Capable of Sell, Ship, Send. Invoice, … Goal $ ms: Increase. Market. Share(Fulfil(ms)) Soft. Goal. Dependency Increase. Market. Share Mode Maintain Depender Media. Shop Dependee Customer Necessary "cust: Customer $place: Place. Order[order] (order. cust=cust ) Ù ◊Fulfil(place)) Action Make. Order Performed By Customer Refines Place. Order Input cust : Customer, date : Date, items : Set. Of [Media. Item] Output order : Order Post order. cust = cust Ù order. date = date Ù order. items 33
Research Issues l An agent-oriented software development methodology with clear guidelines on what decisions are made when. l Applications of planning paradigms to agent-oriented software development. l Modeling (multi-agent) processes with coordination and exceptions. l Simulation and invariant analysis for agent and goal models. l Viability and workability analysis for dependencies. l Filling and managing positions and roles. l Goal and softgoal means-ends analysis. 34
Research Tasks l Management of commitments and obligations, individual and global issues. l Case studies -- doing early and late requirements, architectural and detailed design in Tropos; l Modelling issues for late requirements, architectural design, detailed design: diagrams, annotations, formal specs; l An environment for building and analyzing Tropos specs; l …more. . . 35
Conclusions From a Software Engineering perspective, this framework, however speculative, has advantages: l Leads to more flexible, robust and open software architectures; l Offers a coherent framework which encompasses all phases of software development, from early requirements to implementation l Is consistent with the next generation programming paradigm, I. e. , agentoriented programming, which is already gaining a foothold in key application areas, such as telecommunications, electronic commerce and web-based systems. 36
. . . More Conclusions As well, from an Agent-Based Systems perspective the proposal l Suggests a comprehensive methodology for building agent-oriented software; l Offers a design dimension along which one decides how to accommodate tradeoffs among qualities such as flexibility, robustness, and performance. 37
References l [Bubenko 93] Bubenko, J. , “Extending the Scope of Information Modelling”, Proceedings Fourth International Workshop on the Deductive Approach to Information Systems and Databases, Costa Brava, 1993. l [Chung 93] Chung, L. , Representing and Using Non-Functional Requirements: A Process. Oriented Approach, Ph. D thesis, Department of Computer Science, University of Toronto, June 1993. l [Coburn 00] Coburn, M. , “Jack Intellignet Agents: User Guide version 2. 0, ” AOS Pty Ltd, 2000. l [Dardenne 93] Dardenne, A. , van Lamsweerde, A. and Fickas, S. , ”Goal-Directed Requirements Acquisition”, in The Science of Computer Programming 20, 1993. l [Feather 87] Feather, M. , “Language Support for the Specification and Development of Composite Systems”, ACM Transactions on Programming Languages and Systems 9(2), 1987. l [Fickas 92] Fickas, S. and Helm, R. , “Knowledge Representation and Reasoming in the Design of Composite Systems”, IEEE Transactions on Software Engineering 18(6), June 1992. l [Greenspan 84] Greenspan, S. , Requirements Modelling: A Knowledge Representation Approach to to Software Requirements Definition, Ph. D thesis, Department of Computer Science, University of Toronto, 1994. 38
References (cont’d) l [Kinny 96] Kinny, D and Georgeff M. , “Modelling and Design of Multi-Agent System”, Proceedings of the Third International Workshop on Agent Theories, Architectures and Languages (ATAL-96). l [Odell 00] Odell, J. , Paranuk, V. , and Bauer, B. , “Extending UML for Agents”, Proceedings Agent. Oriented Information System Workshop at 17 National Conference on Artificial Intelligence, 2000. l [Singh 99] Singh, M. , “Synthesizing Requirements for Heterogeneous Autonomous Agents”, Autonomous Agents and Multi-Agent Systems, Kluwer, (to appear). l [Wooldridge 00] Wooldridge, M. , Jennings, N. , Kinny, D. , “The Gaia Methodology for Agent. Oriented Analysis and Design”, Journal of Autonomous Agents and Multi-Agent Systems, 3(3), 2000. l [Yu 94] Yu, E. , “Modelling Strategic Relationships for Process Reengineering”, Ph. D thesis, Department of Computer Science, University of Toronto, December 1994. l [Yu 95] Yu, E. , Du Bois, P. , Dubois, E. and Mylopoulos, J. , “From Organization Models to System Requirements: A ‘Cooperative Agents’ Approach”, Proceedings Third International Conference on Cooperative Information Systems, Vienna, May 1995. 39
Tropos references l Mylopoulos, J. and Castro, J. , “Tropos: A Framework for Requirements-Driven Software Development”, Brinkkemper, J. and Solvberg, A. (eds. ), Information Systems Engineering: State of the Art and Research Themes, Springer-Verlag, June 2000. l Castro, J. , Kolp, M. and Mylopoulos, J. , Developing Agent-Oriented Information Systems for the Enterprise, Proceedings of the Second International Conference On Enterprise Information Systems (ICEIS 00), Stafford, UK, July 2000. l Mylopoulos, J. and Fuxman, A. and Giorginei, P. “From Entities and Relationships to Social Actors and Dependencies”, Proceedings of the 19 th International Conference on Conceptual Modeling, 2000. l Castro, J. , Kolp, M. and Mylopoulos, J. , “A Requirments Driven Development Methodology”, November 2000 (submitted for publication). l Kolp, M. and Mylopoulos, J. , “Architectural Styles for Information Systems: An organizational Perspective”, November 2000 (submitted for publication). http: //www. cs. toronto. edu/~km/tropos www. cs. toronto. edu/uml 2001 www. cin. ufpe. br/~ler 40
- Tropos software
- Figuras literarias tropos
- Tropos
- Sinestesia ejemplos
- Hiperbole
- Tropos greek root
- Sttool
- Kontinuitetshantering i praktiken
- Typiska drag för en novell
- Nationell inriktning för artificiell intelligens
- Ekologiskt fotavtryck
- Varför kallas perioden 1918-1939 för mellankrigstiden
- En lathund för arbete med kontinuitetshantering
- Särskild löneskatt för pensionskostnader
- Personlig tidbok
- Sura för anatom
- Vad är densitet
- Datorkunskap för nybörjare
- Boverket ka
- Hur skriver man en tes
- Delegerande ledarskap
- Nyckelkompetenser för livslångt lärande
- Påbyggnader för flakfordon
- Arkimedes princip formel
- Svenskt ramverk för digital samverkan
- Urban torhamn
- Presentera för publik crossboss
- Teckenspråk minoritetsspråk argument
- Kanaans land
- Treserva lathund
- Mjälthilus
- Claes martinsson
- Centrum för kunskap och säkerhet
- Byggprocessen steg för steg
- Mat för unga idrottare
- Verktyg för automatisering av utbetalningar
- Rutin för avvikelsehantering
- Smärtskolan kunskap för livet
- Ministerstyre för och nackdelar
- Tack för att ni har lyssnat
- Referatmarkering