370 likes | 714 Views
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
E N D
Organization-Driven System DevelopmentBuilding 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
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
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
Do You Know What It Costs ? E.g., Y2KB Forecasts [Forbes 04/99] • 1994-1999 • Initial software repairs $ 530 • Secondary "bad fix" software repairs $ 50 • Test library repairs $ 75 • Database repairs $ 454 • Hardware chip replacements $ 76 • Hardware performance upgrades $ 150 • 2000-2005 • Litigation and damages $ 300 • Post-2000 damages (??) $ 582 • Post-2000 recovery expenses (??) $ 1406 • Grand Total$ 3,623 BILLIONS Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001
We Need Methodologies(ists) TROPOS[Mylopoulos 00] • Project on Software / IS Engineering @ DCS - U of T • Keywords:Requirements-Driven Method, Organization Modeling, Organizational Architectures, AgentPlatforms, ... • 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
Instilling the Information Organization Enterprise Information Systems must integrate organizational and system models to match theirOperational 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” on organizational patterns that drive their business processes. Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001
Customer Relationship Management System Product Innovation Knowledge & Information Management Knowledge and Information Economy Organizational Leadership has to adapt to Corporate Knowledge and Information Tacit Assets [Hagel & Singer 1999] Leader- ship Infrastructure Management Underlies Intellectual Capital [Sveiby97] Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001
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
Life Cycle • 1. Early requirements: understanding a problem by studying an organizationalsetting; output : organizational model with relevant actors, their goals and inter-dependencies • 2. Late requirements: system-to-be described within its operationalenvironment, 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
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 Sameconcepts 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
Who is considering Corporate Requirements? i* TROPOS GAIA KAOS Z AUML UML, Catalysis & Co. !! The GAP !! Oracle / Designer 2000, IBM / Websphere, SAP/R3 Detailed design Architectural design Early requirements Late requirements Implementation Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001
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
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
Goal/Desire/Need New Beliefs/Facts Contextual Beliefs Running Plan/Intention Agents at Work Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001
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
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
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
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
Means-Ends Analysis & Functional Alternatives Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001
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 • 1Macrolevel : OrganizationalStyles (Organization Theory) • Vertical Integration, Pyramid, Joint Venture, Structure in 5, Bidding, Hierarchical Contracting, Co-optation, Takeover • 2Micro level : Patterns (Agent Community) • Broker, Matchmaker, Contract-Net, Mediator, Monitor, Embassy, Wrapper, Master-Slave, ... • 3Assigning Actors to Agents, Positions, Roles Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001
Organizational Architectures (Macro Level) Joint Venture Structure in 5 Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001
Patterns (Micro level) Monitor Embassy Broker Contract-Net Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001
Quality Attributes for Organizational Architectures • Predictability, Security, Adaptability, Cooperativity, Competitivity, Availability, Failability, Modularity, Aggregability, Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001
Selecting System Architecture [Chung00] Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001
A Joint-Venture E-commerce Architecture ”E-Business Organizational Map” Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001
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
Agent Interaction Protocol with AUML The Checkout Dialogue Customer Shopping Cart Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001
Plan Diagram for checking out Check Out Plan Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001
5. Partial JACK Implementation for checking out Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001
Entity Order HasorderId: Number, cust: Customer, date: Date, tems: SetOf[MediaItem] Entity MediaItem HasitemId: Number, itemTitle: String, description: Text, editor: String … ActorCustomer HascustomerId: Number, name: Name, address: Address, tel: PhoneNumber, … Capable of MakeOrder, Pay, Browse, … Goal"order:Order $buy:BuyMediaItems[order] (order.cust=self ÙFulfil(buy)) ActorMediaShop Hasname: {MediaLive}, address: {“735 Yonge Street”}, phone#: 0461-762-883 Capable of Sell, Ship, SendInvoice, … Goal$ ms:IncreaseMarketShare(Fulfil(ms)) GoalDependencyBuyMediaItems Mode Fulfil Hasorder: Order DefinedItemsReceivedOK(order) Depender Customer Dependee MediaShop NecessaryFulfil( PlaceOrder(order)) SoftGoalDependency IncreaseMarketShare Mode Maintain Depender MediaShop DependeeCustomer Necessary"cust:Customer $place:PlaceOrder[order] (order.cust=cust ) Ù Fulfil(place)) ActionMakeOrder Performed ByCustomer RefinesPlaceOrder Input cust : Customer, date : Date, items : SetOf[MediaItem] Output order : Order Post order.cust = cust Ù order.date = date Ù order.itemsitems Why be Formal? Precise Semantics Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001
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 inter-relationships? Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001
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
Q & A Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001