Organization-Driven System Development Building Agent Software for E-Business Manuel Kolp mkolp@cs.toronto.edu http://www.cs.toronto.edu/~mkolp/tropos Department of Computer Science University of Toronto M5S 3G4 Toronto, Canada At a Glimpse We Disagree Installing the Information Organization TROPOS: Enterprise Requirements Development Agents = An Organizational Paradigm Developing a B2C System with TROPOS – Requirements Analysis ( organizational models) – System Design (organizational architectures) – Implementation (agent organizations) The Final Picture Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 2 We Disagree "Software always has errors. We're just happy that no one gets killed when the system fails." Berlin S-Bahn train control system. Software Engineering Notes vol 22 no 2, 03/1997. ”That is not the software system that must adapt to the Organization but the Organization that must adapt to SAP or Notes” SAP & Lotus Notes solutions for Knowledge Management @ Ernst & Young. Business Week, 06/98. Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 3 Users don’t know what they want until they don’t get it [Jim Townsend Wired 05/00] Runaway projects – 52% of projects cost ~ 180% of original estimate; – Average project overrun: 222% [Standish Grp, 95] – 50% of projects become runaways [LaPlante, 98] – 65% of firms “grossly” over budget [Cringley, 97] Project abandonment – 31% of projects canceled before completion [Standish Grp, 95] – For 6 new large systems put in operation, 2 canceled [Gibbs, 94] Ineffective systems – Average project : 61% of original functions [Standish Grp, 95] See CHAOS Report - http://standishgroup.com Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 4 Do You Know What It Costs ? E.g., Y2KB Forecasts [Forbes 04/99] 1994-1999 – Initial software repairs – Secondary "bad fix" software repairs – Test library repairs – Database repairs – Hardware chip replacements – Hardware performance upgrades $ 530 $ 50 $ 75 $ 454 $ 76 $ 150 2000-2005 – Litigation and damages – Post-2000 damages (??) – Post-2000 recovery expenses (??) $ 300 $ 582 $ 1406 Grand Total Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 $ 3,623 BILLIONS Organization-Driven System Development 5 We Need Methodologies(ists) TROPOS [Mylopoulos 00] Project on Software / IS Engineering @ DCS - U of T Keywords: Requirements-Driven Method, Organization Modeling, Organizational Architectures, Agent Platforms, ... Previous research : 2 long-term projects on Conceptual Modeling over 25 years: – Taxis [Mylopoulos80] : “object “ design language for IS; – Telos [Mylopoulos90] : language for modeling requirements, design, implementation for IS. Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 6 Instilling the Information Organization Enterprise Information Systems must integrate organizational and system models to match their Operational Environment. – ERP systems: Process view of the enterprise to meet organizational goals, integrating all functions from the enterprise organization. – Knowledge management systems help the enterprise gain insight from its knowledge hidden in the organization. [Nonaka95, Davenport 98] • KM: IT System + Organizational Adjustments + Personnel Incentives – E-business systems implement “virtual enterprises” organizational patterns that drive their business processes. Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 on Organization-Driven System Development 7 Knowledge and Information Economy Organizational Leadership has to adapt to Corporate Knowledge and Information Tacit Assets [Hagel & Singer 1999] Customer Relationship Management Product Innovation Leadership System Knowledge & Information Management Infrastructure Management Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Underlies Intellectual Capital [Sveiby97] Organization-Driven System Development 8 Mismatch and Requirements-Driven Development Operational environment in terms of stakeholders, qualities, responsibilities, objectives, and resources, roles, needs... Versus information systems as a collection of (software) modules, data structures and interfaces. Impedance Mismatch Poor quality, Failure Why not requirements-driven to avoid that mismatch? Organizational concepts not only for Early Requirements but the Entire Development Life Cycle TROPOS Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 9 Life Cycle 1. Early requirements: understanding a problem by studying an organizational setting; output : organizational model with relevant actors, their goals and inter-dependencies 2. Late requirements: system-to-be described within operational environment, with relevant functions and qualities 3. Architectural design: global architecture defined in terms of interconnected subsystems 4. Detailed design: behavior of each architectural component defined in detail 5. Implementation: system implementation carried out consistently with detailed design Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 its Organization-Driven System Development 10 Requirements-Driven = Business-Centric Focusing on Goals (Intentions) and Requirements (Needs) Natural – pre-teen, teen: want to be a firefighter, NHL player, pop star – Ivy League Student: want/need to pass exams Same concepts for Requirements and Enterprise Ontologies Enterprise Ontology [Uschold98] : – Requirements, Goals, Quality Goals, Needs, Stakeholders, Strategic Relationships, Tasks, Roles, Organizational Dependencies, ... – Ex.: “Higher profits”, “Faster time-to-market”, “Good performance”, … – (+ Balanced Scorecard [Kaplan2000]: Strategy-Focused Organization) Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 11 Who is considering Corporate Requirements? i* TROPOS GAIA KAOS Z AUML UML, Catalysis & Co. !! The GAP !! Oracle / Designer 2000, IBM / Websphere, SAP/R3 Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 12 An Organizational Computing Paradigm Agent : Individual who can act – Autonomous, pro- active, adaptative with/in its environment Intelligence Software Agent – Implemented with/in software technologies – Environment : humans, machines, other software agents, platforms. Multi-agent system: organization of individuals to achieve particular, possible common goals. Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 13 Inside the BDI Model Human Belief, Desire, Intentions Agent Beliefs - database of perceived world knowledge Beliefs - perceived understanding of the world Goals or desires Goals or desires Execution Engine Intentions currently executing plans Pre-compiled plans Accumulated behaviours Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 14 Agents at Work Goal/Desire/Need Contextual Beliefs New Beliefs/Facts Running Plan/Intention Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 15 Agents for Companies & Firms – Nomadic Computing (SUN, Oracle) – Call Centers (Bell, AT&T), Internet Routing (CISCO, Nortel, Juniper) – Knowledge Management (Ernst & Young, McKinsey & Company) – Information Management : Brokering (Hotbot), Meta Search (Digital) – Groupware (Lotus), Workflow (IBM) – E-trading, E-Brokering (Goldman & Sachs, Prudential Securities) L'euro a également succombé aux programmes de vente automatiques des institutions financières: les grands acteurs du marché des changes (banques, fonds, etc.) utilisent en effet des programmes dits “agents intelligents” qui déclenchent automatiquement un ordre de vente dans certaines conditions. Il semble que ces programmes se soient déclenchés ce mercredi matin à Londres après que l'euro a touché plusieurs fois le seuil des 88,51 cents , explique un cambiste allemand. (from Le Soir 09/07/2000) Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 16 A User 2 On-line Buying System Media taxonomy – on-line catalog – DBMS E-Shopping Cart – Check In – Buying – Check Out Search Engine – catalog browser – Keywords – full-text Secure – $ transactions – orders Multimedia – description – samples Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 17 1. Early Requirements Analysis with TROPOS Understanding the problem by studying an existing organizational setting; Output : Organizational model with relevant actors and respective goals. i* [Yu95] Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 18 Softgoals Functional goals, such as “Handle Customers Orders” : well defined goals in the sense that they admit a formal definition. Not all goals are functional. “Increase Market Share”, “Happy Customers” or “Easily Adaptable System” : qualities that the software system should adhere to. Non functional Goals: softgoals, “fuzzy goals” (clouds) with no clearcut criteria for satisfaction; Hence softgoals are satisficed, not satisfied. How well the system accomplishes its functions Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 19 Means-Ends Analysis & Functional Alternatives Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 20 2. Late Requirements (Strategic Relationships) ”Organizational Map” Functions and qualities for the system within its environment Late Requirements (Strategic Rationale Model) ”Rationale Map” Medi@ 3. Architectural Design Global architecture in terms of interconnected subsystems. 3 Steps – 1 Macrolevel : Organizational Styles (Organization Theory) • Vertical Integration, Pyramid, Joint Venture, Structure in 5, Bidding, Hierarchical Contracting, Co-optation, Takeover – 2 Micro level : Patterns (Agent Community) • Broker, Matchmaker, Contract-Net, Mediator, Monitor, Embassy, Wrapper, Master-Slave, ... – 3 Assigning Actors to Agents, Positions, Roles Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 23 Organizational Architectures (Macro Level) Joint Venture Structure in 5 Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 24 Patterns (Micro level) Monitor Embassy Broker Contract-Net Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 25 Quality Attributes for Organizational Architectures Predictability, Security, Adaptability, Cooperativity, Competitivity, Availability, Failability, Modularity, Aggregability, Correlation Catalog Predict. Secur. Adapt. Flat Structure BREAK BREAK MAKE Structure-in-5 HELP HELP Pyramid MAKE MAKE Join Venture HELP Bidding Cooperat. Compet. Availab. Failabil. Modul. Aggreg. HELP HELP MAKE HURT MAKE MAKE HELP HURT HELP HELP MAKE BREAK HELP HELP MAKE HELP HURT MAKE BREAK BREAK MAKE HURT MAKE HURT Takeover MAKE MAKE HURT MAKE BREAK HELP Arm’s-Length HURT BREAK HELP HURT MAKE BREAK HELP HELP HELP HELP Hierarch. Cont. BREAK HELP BREAK MAKE HELP HELP HURT HELP HURT HELP BREAK Co-optation HURT HURT MAKE MAKE HELP HURT HELP MAKE MAKE HELP Vert. Integ. Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 HURT HELP HELP HELP HELP BREAK BREAK Organization-Driven System Development 26 Selecting System Architecture [Chung00] Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 27 A Joint-Venture E-commerce Architecture ”E-Business Organizational Map” Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 28 4. Detailed Design Architectural Agent components defined in details in terms of inputs, outputs, control, and other relevant information. Shopping Cart UML Classes Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 29 Agent Interaction Protocol with AUML Customer Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Shopping Cart The Checkout Dialogue Organization-Driven System Development 30 Plan Diagram for checking out Check Out Plan Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 31 5. From i* to JACK 5. Partial JACK Implementation for checking out Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 33 Why be Formal? Precise Semantics Entity Order Has orderId: Number, cust: Customer, date: Date, tems: SetOf [MediaItem] Entity MediaItem Has itemId: Number, itemTitle: String, description: Text, editor: String … GoalDependency BuyMediaItems Mode Fulfil Has order: Order Defined ItemsReceivedOK(order) Depender Customer Dependee MediaShop Necessary Fulfil( PlaceOrder(order)) SoftGoalDependency IncreaseMarketShare Actor Customer Has customerId: Number, name: Name, address: Address, tel: PhoneNumber, … Capable of MakeOrder, Pay, Browse, … Goal "order:Order $buy:BuyMediaItems[order] (order.cust=self Fulfil(buy)) Mode Maintain Depender MediaShop Dependee Customer Necessary "cust:Customer $place:PlaceOrder[order] (order.cust=cust ) Fulfil(place)) Action MakeOrder Actor MediaShop Has name: {MediaLive}, address: {“735 Yonge Street”}, phone#: 0461-762-883 Capable of Sell, Ship, SendInvoice, … Goal $ ms:IncreaseMarketShare(Fulfil(ms)) Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Performed By Customer Refines PlaceOrder Input cust : Customer, date : Date, items : SetOf [MediaItem] Output order : Order Post order.cust = cust order.date = date order.items items Organization-Driven System Development 34 The TROPOS Ontologies (Formal) Specification of a conceptualization (= conceptual model) – Social -- who are the relevant actors, what do they want? What are their obligations? What are their capabilities? – Intentional -- what are the relevant goals and how do they interrelate? How are they being met, and by whom ask dependencies? – Communicational -- how the actors dialogue and how can they interact with each other? – Process-oriented -- what are the relevant business processes? – Structural -- How the actors are structured along with their interrelationships? Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 35 The Final Picture IS Analysis and Design is – in no way UML only (or Oracle 8i, SAP/R3 methods) • Lots of weaknesses Software Engineering in 2025 = Requirements Engineering + Software Geriatry + ? [van Lamsweerde 00] Enterprise Information Systems should reflect the organizational environment – Modeled and Driven in terms of organization concepts and models to avoid mismatch and consider corporate assets TROPOS, i* – Engineered within an organizational paradigm Agents Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 36 Q&A Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001 Organization-Driven System Development 37