Developing Agent Systems for E-Business A Requirements

advertisement
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
Download