Evolving System Architecture to Meet Changing Business Goals An Agent and Goal-Oriented Approach Daniel Gross & Eric Yu Faculty of Information Studies University of Toronto May 2001 1 The Problem How to support evolving system s to meet changing business goals. the bigger picture How to have goals among agents drive the design process. 2 1
Given a Telephone System I know what the system does, however: What business goals led to these architectural structures? What happens to the structures when business goals change? Drawn Drawn by by a senior senior architect architect during during the the case case study study Proprietary, Proprietary, Centralized Centralized 3 For example: adding internet browsing on the telephone sets through WAP* It s a business tactic to differentiate the companies telephone set offering through enhancing the ability to design & access internet based service *WAP Wireless Application Protocol Open, Open, Decentralized Decentralized 4 2
Where to place the Client in the telephone system? 1. 1. Within Within Call Call Control Control?? (stick (stick to to centralized centralized arch.) arch.)? 2. 2. Within Within the the Virtual Virtual Peripheral? Peripheral? (towards (towards decentralized decentralized contr. contr. arch.) arch.) 3. 3. Within Within the the intelligent intelligent phone phone set? set? (decentralized (decentralized arch.) arch.) More More generally: generally: Where Where to to place place other other future future applications applications in in the the telephone telephone system system? How to make a decision without goals? Who cares about the alternatives and why? 5 Goals Goals originate originate from from organizational stakeholders stakeholders Organizational View View 6 3
Goals Goals originate originate from from organizational stakeholders stakeholders Organizational View View 7 Modeling assumptions How to model during design when requirements notations drive architectural notations [Mylopoulos, STRAW] when acknowledging that of a system is a living dynamic evolving organism the design process never ends but spirals up and down design & evolution is a social negotiation process 8 4
Actor Notation Actors = (capabilities+ Goals) that eventually become components or connectors in the finished design For example: Denotes the new application, such as the WAP client, to be introduced into the current Actor Actor A denotes denotes some some design design unit unit under under development. We We wish wish to to show show how how goals goals are are propagated propagated among among actors actors during during design design!! 9 Intentional Goal Dependency Actors = (capabilities+ Goals) that eventually become components or connectors in the finished design Intentional Intentional dependency dependency Actor Actor A depends depends on on Actor Actor B to to achieve achieve Goal Goal X during during further further design. design. new application expects the new ler to be designed such that it can grant ownership to a shared telephone set (not shown). 10 5
Intentional Softgoal Dependency Actors = (capabilities+ Goals) that eventually become components or connectors in the finished design Actor Actor A depends depends on on Actor Actor B to to achieve achieve Qualities Qualities 1,2 1,2 while while achieving achieving Goal Goal X. X. new application expects the new ler to be designed such that its performance is not degraded and that no processing errors occur during ling. 11 Actor Internal View Actors = (capabilities+ Goals) that eventually become components or connectors in the finished design Actor Actor B needs needs to to achieve achieve design design Goal Goal X, X, Qualities Qualities 1, 1, 2 by by designing designing some some capabilities. capabilities. 12 6
Capabilities and Goals Actors = (capabilities+ Goals) that eventually become components or connectors in the finished design Contribution Contribution Actor Actor B adopts adopts capability capability 1 to to achieve achieve design design Goal Goal X, X, and and address address Quality Quality 2 Means-ends Means-ends 13 Alternatives during design Actors = (capabilities+ Goals) that eventually become components or connectors in the finished design Actor Actor new new application application & new new ler ler negotiate negotiate achievement achievement of of desired desired qualities qualities wrt. wrt. alternatives alternatives proposed proposed by by new new ler ler Actor Actor new new ler ler has has know-how know-how & autonomy autonomyto to adopt adopt alternative alternative ways ways of of achieving achieving design design goals goals X. X. 14 7
Actors establishing new Actors Distribution Distribution of of design design goals goals based based on on the the stateless stateless ling ling alternative alternative Softgoal Softgoal achieved achieved Softgoal Softgoal further further propagated propagated 15 Additional intentional dependencies Architecture is is a social network!!!! Some Some tradeoffs tradeoffs during during design design of of the the new new ler ler actor actor 16 8
Shared Shared ler ler Architecture is is a social network!!!! Stateful Stateful shared shared ler ler Stateless Stateless shared shared ler ler 17 Conclusions & Future work Treating architectural elements as Actors allows Introducing, distributing, negotiating and tracing goals and their achievement by architectural elements during the design process and during evolution. Provides the basis for goal driven design guidance Better integration of modeling views needed Methodological support Also possible integration into Boehm et. al. work related to negotiations Stakeholder oriented viewpoints Management view, designers view, etc. Actor/Agent extension for ITU-URN/GRL effort 18 9
Supplements 19 Reusing architectural fragments through ISA links Device Device sharing sharing architectural architectural pattern pattern Device Device Controller Controlleris is part part of of a devicesharinsharing device- I/O I/O Handler Handleris is part part of of a telephone telephone system system The designer of the I/O Handler might now: Grant ownership to user services Deal with Performance and/or Minimizing processing errors to keep the user services actor happy. Note: Note: Creating Creating ISA ISA links links is is a step step in in the the design design process process 20 10
Intentional dependencies are inherited Note: Note: Inheriting Inheriting intentional intentional dependencies is is a design design step step done done interactively interactivelyand and selectively selectivelytogether together with with rationales rationales which which are are recorded recorded in in the the process process view view Telephone Telephone system system fragment fragment 21 Modeling Views relationships 22 11
Partitioning Partitioning of of the the system system over over time time (with (with alternatives) alternatives) Shared Shared ler ler based based s s comes comes in in two two flavors flavors 23 Design Process over time (design states) Quality Quality requirements requirements Functional Functional Design Design goals goals & tasks tasks 24 12