Title: Case Study
1Case Study
- Progress report on AUML-
- James Odell
- Ann Arbor, Michigan USA
- www.jamesodell.com
2Traditional Business Process Handling
Business Process Handler
3How BDI Plan-Execution Agents Work in Agentis
Agent
Plan Library
Goal Hierarchy
Adaptive Process Manager (Agent Server)
4How BDI Plan-Execution Agents Work in Agentis
Agent
Plan Library
Goal Hierarchy
Adaptive Process Manager (Agent Server)
5Methodology Overview
Project Management
Development Environment
Requirements
Development Spanning Processes
Core Development Processes
Change Management
Area Analysis
Testing
Area Design
Maintenance
Reuse Management
Technology Architecture
Area Implementation
Strategic IT Planning
Method Engineering
Assembly and Deployment
6Requirements - Perform High-Level Analysis
Requirements
Area Analysis
Area Design
Area Implementation
Assembly and Deployment
7 Describe the context
Specify Actors, Goals, Services
Shipment Tracking System
8 Identify actor roles (stakeholders)
DHL
Shipment Tracking System
Shipment Inquirer
Tracking Inquiry
Check Point System
9 Identify actor roles (stakeholders)
Specify Actors, Goals, Services
DHL
Tracking Inquiry Check Point System
Shipment Tracking System
Shipment Inquirer
Or, you can use a shorthand notation.
10 Identify goals and subgoals
Specify Actors, Goals, Services
GOALS To resolve shipment problems quickly
(NF?) To appropriately allocate resolving
customer service agents (CSA)
GOALS To identify lost shipment To obtain
customer info To determine shipment status To
trace shipment To sort out the problem To
identify switched shipment To obtain customer
info To determine shipment status To trace
shipment To sort out the problem To compute
ETA To obtain customer info To determine shipment
status To calculate ETA To locate a shipment To
determine if a valid shipment To determine
current status
DHL
Shipment Tracking System
Tracking Inquiry Check Point System
Shipment Inquirer
GOAL (None for this application.)
(NF Non-functional goal)
11 Identify use cases from goals
Specify Actors, Goals, Services
GOALS To resolve shipment problems quickly
(NF?) To appropriately allocate resolving
customer service agents (CSA)
GOALS To identify lost shipment To obtain
customer info To determine shipment status To
trace shipment To sort out the problem To
identify switched shipment To obtain customer
info To determine shipment status To trace
shipment To sort out the problem To compute
ETA To obtain customer info To determine shipment
status To calculate ETA To locate a shipment To
determine if a valid shipment To determine
current status
12 Identify use cases (results)
Specify Actors, Goals, Services
DHL
Allocate Appropriate CSA
Find Lost Shipment
include
Tracking Inquiry Check Point System
include
Determine ETA
Shipment Inquirer
include
Determine Shipment Status
13 Specify actor interfaces
Specify Actors, Goals, Services
DHL
Allocate Appropriate CSA
Find Lost Shipment
include
Request to find lost shipment
Lost shipment status
Tracking Inquiry Check Point System
include
Request for ETA
Determine ETA
ETA
Shipment Inquirer
Request Shipment Status
include
Request for tracking info
Tracking info
Shipment Status
Determine Shipment Status
14 Specify actor interfaces (w/service)
Specify Actors, Goals, Services
DHL
Allocate Appropriate CSA
Find Lost Shipment
include
Request to find lost shipment
Lost shipment status
Tracking Inquiry Check Point System
include
Request for ETA
Determine ETA
ETA
Shipment Inquirer
Request Shipment Status
provider
include
Shipment Status
Determine Shipment Status
Request for tracking info
Shipment Search
Tracking info
15Excerpt from W3C Web Services Architecture
General Architecture Service-Oriented Model
Web Services Architecture W3C Working Group Note
11 February 2004
16 Specify actor interfaces (w/service)
Specify Actors, Goals, Services
DHL
Allocate Appropriate CSA
Find Lost Shipment
include
Request to find lost shipment
Lost shipment status
Tracking Inquiry Check Point System
include
Request for ETA
Determine ETA
ETA
Shipment Inquirer
Request Shipment Status
provider
include
Shipment Status
Determine Shipment Status
Request for tracking info
Shipment Search
Tracking info
17 Identify providing actor
Specify Actors, Goals, Services
DHL
Allocate Appropriate CSA
Find Lost Shipment
include
Request to find lost shipment
Lost shipment status
Tracking Inquiry general Check Point System
provider
include
provider
Request for ETA
Determine ETA
provider
ETA
Allocation Mgr general CSA
provider
Shipment Inquirer
Request Shipment Status
Shipment Inquiry Interface general CSA
provider
include
Shipment Status
Determine Shipment Status
Request for tracking info
Shipment Search
Tracking info
18 Identify sub-goals
Refine Goals and Use Cases
GOALS To identify lost shipment To obtain
customer info To determine shipment status To
trace shipment To sort out the problem To
identify switched shipment To obtain customer
info To determine shipment status To trace
shipment To sort out the problem
Request to find lost shipment
provider
Find Lost Shipment
Lost shipment status
Shipment Inquirer
Shipment Inquiry Interface general CSA
19 Identify sub-use cases
Refine Goals and Use Cases
Retrieve Customer Info
Determine Shipment Status
Request to find lost shipment
provider
Find Lost Shipment
Lost shipment status
Shipment Inquirer
Raise Shipment Trace Request
Shipment Inquiry Interface general CSA
Allocate Appropriate CSA
20 Identify sub-use cases (improved)
Refine Goals and Use Cases
Retrieve Customer Info
include
Determine Shipment Status
Request to find lost shipment
include
Find Lost Shipment
Lost shipment status
include
Shipment Inquirer
Raise Shipment Trace Request
provider
include
Allocate Appropriate CSA
Shipment Inquiry Interface general CSA
21 Identify provider actor
Refine Goals and Use Cases
Retrieve Customer Info
provider
include
Determine Shipment Status
provider
Request to find lost shipment
include
Shipment Inquiry Interface general CSA
Find Lost Shipment
Lost shipment status
include
Shipment Inquirer
provider
Raise Shipment Trace Request
provider
include
Allocate Appropriate CSA
provider
Shipment Inquiry Interface general CSA
Allocation Mgr general CSA
22Define Use Case Scenarios
For each use case, identify, and specify the
various kinds of scenarios in the following
steps 1) Identify use case subtypes
(specializing the use case into possible use case
subtypes) 2) Specify basic scenario for each
subtype (main successful scenarios, i.e., where
nothing goes wrong.) 3) Specify alternative
scenarios (business process faults scenarios
where the external actor(s) can exercise a choice
or ability to make a corrective
action) 4) Specify exception scenarios (technical
faults scenarios where the external actor(s)
cannot make a corrective action)
23Specify High-Level Process
Find Lost Shipment
Plan rule BasicScenario
Determine Shipment Status
Retrieve Customer Info
Raise Shipment Trace Request
Shipment Inquiry Interface
actor
Allocate Appropriate CSA
Allocation Mgr
24Specify High-Level Process (w/Actor role)
Or, as an alternative to partition swim lanes.
Find Lost Shipment
Plan rule BasicScenario
(Shipment Inquiry Interface)
(Shipment Inquiry Interface)
(Shipment Inquiry Interface)
(Allocation Mgr)
Determine Shipment Status
Retrieve Customer Info
Allocate Appropriate CSA
Raise Shipment Trace Request
25Specify High-Level Process (w/data flow)
Information access and data coupling
Find Lost Shipment
Plan rule BasicScenario
(Shipment Inquiry Interface)
(Shipment Inquiry Interface)
(Shipment Inquiry Interface)
(Allocation Mgr)
Allocate Appropriate CSA
Determine Shipment Status
Retrieve Customer Info
Raise Shipment Trace Request
datastore Customer
datastore Shipment
datastore CSR
datastore Shipment Trace
Accessed via external actor
26Specify High-Level Process (Sequence Diagram)
Plan rule BasicScenario
sd
Find Lost Shipment
Shipment Inquirer
Shipment Inquiry Interface
Allocation Mgr
Find Lost Shipment
Retrieve Customer Info
Determine Shipment Status
Raise Shipment Trace Request
Allocate Appropriate CSA
Lost shipment status
27Specify High-Level Class Model
For each scenario, this step identifies and
defines business concepts. Business concepts are
those entities that are necessary for shared
understanding and communication within the
enterprise. For each scenario, the applicable
concept classes are modeled. In the example
below, the concepts for the Find Lost Shipment
use case are represented as a class diagram.
Customer
1
Shipment
Shipment Segment
Receiver
Party
1
1..
1
1..
1
Shipper
28Review High-Level Scenario Models
- Review models - developed in the two previous
steps for completeness and consistency. - Consolidate models - bringing together each
different type of model separately to reveal
common patterns and structure without losing
individual variation.
29Requirements - Perform High-Level Analysis
Requirements
Area Analysis
Area Design
Area Implementation
Assembly and Deployment
30Case Study so far
- Many different notations can be used to represent
high-level analysis notions. - UML 2.0 is used here as a first solution
because most of IT customers are familiar with
it. It is not necessarily the only solution. - UML 2.0 is also being extended to support agents.
- The approach is not solely agent focused, because
applications are hybrid in nature. It supports
many approaches, such as relational, OO,
components, SOA, agents, etc. - It is a
- goal-directed,
- service-oriented, and
- role-based approach.
- It models
- business stakeholders,
- business goals,
- business processes, and
- business concepts.
Is this too radicalor not radical enough?
31Some next steps
Dynamic Role Classification
2 question
ltltrole changegtgt
Competitor
Contractor
Competitor
Analyzer
ltltrole changegtgt
3 inform
4
1.1 request
ltltrole changegtgt
5 propose
9 assert
1.2 request
7 commit
Contractor2
Contractor1
Customer
Negotiator
12 assert
6 request
10 refuse
request
1.3 request
14 pay
8 commit
13 ship
11 ship
Contractor
Debtor
UML 2.0 Interaction Diagram
32Some next steps
Roles and Groups
agent
ABC Customer Sales
Purchase
Purchase
Customer
Cashier
fulfillment
fulfillment
process
process
Purchase
fulfillment
process
Authorization
request
process
Manager
UML 2.0 Composite Structure Diagram
33Some next steps
Addressing all UML 2.0 diagramsor not
- Behavior Diagrams
- Sequence diagrams
- Communication diagrams
- Activity diagrams
- State Machine
- Use Case diagrams
- Structure Diagrams
- Class diagrams
- Composite structure diagrams
- Component diagrams
- Packages
- Deployment diagrams
34Class Diagrams - OO or Agents?
Customer
Sales
Accepted Order
Filled Order
Order
Shipped Order
Stock
Line Item
35Composite Structure Diagrams
Collaborating parts with ports and interfaces
Car
rear wheel Wheel
car engine Engine
1
Engine
powertrain
land movement
2
powers
Boat
power
boat engine Engine
1
water movement
Propeller
1
powers
- Innovations
- Composite structures can be instantiated in their
own right. - Agents can be either on or within cell
membranes - Replace interface methods with interface agents
(and their responsibilities)
36Components In UML 2.0
Specifies a modular unit with well-defined
interfaces that is replaceable within its
environment.
OrderEntry
OrderableItem
component
required interface
Order
component
Order
provided interface
OrderEntry
OrderableItem
gt
OrderableItem
component
component
Product
Product
OrderableItem
Component wiring symbols provide a more
intuitive representation in UML 2.0.
37Components In UML 2.0 - Component internals
White-box view depicts internal assembly and
physical containment.
Order
OrderEntry
1
Order
Customer
1..
delegate
OrderableItem
1
OrderEntry
1..
OrderableItem
delegate
LineItem
However, this does not fully provide the
intuition needed for a composite structure for
agents.The component Order and the class Order
are not equivalent. For example, what does it
mean to create an instance of Order?
38Packages
Packages can specify agent aggregate hierarchies.
Manufacturing
Cell
Common
Function
Agents
Common
Function
Agent
0..
Dispatch
Process
Resource
Agent
Resource
Planning
Agent
1..
Agent
Capacity
1..
Account
Manager
Manager
0..
Agent
Agent
- With UML 2.0, composite structure diagrams are
generally better for aggregation. - Packages could be used to express agent
environments and subsystems.
39Deployment Diagrams
40Some next steps
Addressing all UML 2.0 diagramsor not
- Behavior Diagrams
- Sequence diagrams
- Communication diagrams
- Activity diagrams
- State Machine
- Use Case diagrams
- Structure Diagrams
- Class diagrams
- Composite structure diagrams
- Component diagrams
- Packages
- Deployment diagrams
41Some next steps
Other deficiencies in UML 2.0 diagrams
- goals
- agent
- group
- multicasting
- generative functions, such as cloning, birthing,
reproduction - parasitism and symbiosis
- emergent phenomena
- . . .
42And what about TROPOS
43And what about PROMETHEUS
44And what about MaSE
45And what about MESSAGE
46Too radical or not radical enough?
- Progress report on AUML-www.jamesodell.com/RMIT.p
df
- James Odell
- Ann Arbor, Michigan USA
- www.jamesodell.com