Too radical or not radical enough?

Size: px
Start display at page:

Download "Too radical or not radical enough?"

Transcription

1 Too radical or not radical enough? - Progress report on AUML- James Odell Ann Arbor, Michigan USA

2 Traditional Business Handling request Business Handler

3 Service-Oriented Handling - 1 request Events Current State Plan Library Adaptive Manager (Agent Server) Condition

4 Service-Oriented Handling - 2 request Events Current State Plan Library Adaptive Manager (Agent Server) Condition Condition

5 Service-Oriented Handling - 3 request Events Current State Plan Library Adaptive Manager (Agent Server) Condition Condition Condition

6 How BDI Plan-Execution Agents Work in Agentis request Goal Hierarchy Agent Current State Plan Library Events Goal Sub-goal Adaptive Manager (Agent Server) Condition Condition

7 How BDI Plan-Execution Agents Work in Agentis request Goal Hierarchy Agent Current State Plan Library Events Goal Sub-goal Adaptive Manager (Agent Server) Condition Condition Condition

8 Methodology Overview Requirements Project Management Development Environment Core Development es Area Analysis Development Spanning es Testing Change Management Area Design Maintenance Configuration Management Area Implementation Technology Architecture Reuse Management Assembly and Deployment Strategic IT Planning Method Engineering

9 Requirements - Perform High-Level Analysis Requirements 1.0 Requirements Specify Actors, Goals, and Services 1.2 Perform Highlevel Analysis Area Analysis 1.1 Prepare for Requirements Refine Goals and Use Cases Area Design 1.2 Perform High-level Analysis 1.3 Specify Initial Application Architecture Define Use Case Scenarios Area Implementation 1.4 Determine Analysis Areas and Interactions Specify High-level Specify High-level Class Model Assembly and Deployment 1.5 Validate Requirements and Plan Application Review High-level Scenario Models

10 Specify Actors, Goals, Services: Describe the context Tracking System

11 Specify Actors, Goals, Services: Identify actor roles (stakeholders) DHL Tracking System Inquirer Check Point System Tracking Inquiry

12 Specify Actors, Goals, Services: Identify actor roles (stakeholders) DHL Tracking System Tracking Inquiry {general : Check Point System} Inquirer Or, you can use a shorthand notation.

13 Specify Actors, Goals, Services: Identify goals and subgoals Inquirer 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 GOALS: To resolve shipment problems quickly (NF?) To appropriately allocate resolving customer service agents (CSA) Tracking System GOAL: DHL Tracking Inquiry {general : Check Point System} (None for this application.) (NF = Non-functional goal)

14 Specify Actors, Goals, Services: Identify use cases from goals 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 GOALS: To resolve shipment problems quickly (NF?) To appropriately allocate resolving customer service agents (CSA) Find Lost Determine ETA Determine Status Allocate Appropriate CSA Resolve Problem Quickly?? invocable service? (If not, remove.)

15 Specify Actors, Goals, Services: Identify use cases (results) DHL Find Lost Allocate Appropriate CSA Tracking Inquiry {general : Check Point System} Inquirer Determine ETA Determine Status

16 Specify Actors, Goals, Services: Specify actor interfaces DHL Inquirer Request to find lost shipment Lost shipment status Request for ETA Request Status Status ETA Find Lost Determine ETA Determine Status Allocate Appropriate CSA Request for tracking info Tracking info Tracking Inquiry {general : Check Point System}

17 Specify Actors, Goals, Services: Specify actor interfaces (w/service) DHL Inquirer Request to find lost shipment Lost shipment status Request for ETA ETA Find Lost Determine ETA Allocate Appropriate CSA Tracking Inquiry {general : Check Point System} provider Request Status Status Determine Status Request for tracking info Tracking info Search

18 Excerpt from W3C Web Services Architecture General Architecture: Service-Oriented Model Web Services Architecture W3C Working Group Note 11 February 2004

19 Specify Actors, Goals, Services: Specify actor interfaces (w/service) DHL Inquirer Request to find lost shipment Lost shipment status Request for ETA ETA Find Lost Determine ETA Allocate Appropriate CSA Tracking Inquiry {general : Check Point System} provider Request Status Status Determine Status Request for tracking info Tracking info Search

20 Specify Actors, Goals, Services: Identify providing actor DHL Inquirer Request to find lost shipment Lost shipment status Request for ETA Request Status Status ETA Find Lost Determine ETA Determine Status provider provider Inquiry provider Allocate Appropriate CSA Interface {general: CSA} provider Request for tracking info Tracking info Allocation Mgr {general: CSA} Tracking Inquiry {general : Check Point System} provider Search

21 Refine Goals and Use Cases: Identify sub-goals GOALS: To identify lost shipment To obtain customer info Inquirer Request to find lost shipment Lost shipment status Find Lost provider Inquiry Interface {general: CSA} 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

22 Refine Goals and Use Cases: Identify sub-use cases Retrieve Customer Info Inquirer Request to find lost shipment Lost shipment status Find Lost provider Inquiry Interface {general: CSA} Determine Status Raise Trace Request Allocate Appropriate CSA

23 Refine Goals and Use Cases: Identify sub-use cases (improved) Retrieve Customer Info Inquirer Request to find lost shipment Lost shipment status Find Lost provider Determine Status Raise Trace Request Inquiry Interface {general: CSA} Allocate Appropriate CSA

24 Refine Goals and Use Cases: Identify provider actor Retrieve Customer Info provider Inquirer Request to find lost shipment Lost shipment status Find Lost provider Determine Status Raise Trace Request provider Inquiry Interface {general: CSA} provider Inquiry Interface {general: CSA} Allocate Appropriate CSA provider Allocation Mgr {general: CSA}

25 Define 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)

26 Specify High-Level Find Lost {Plan rule = BasicScenario} «actor» Inquiry Interface Allocation Mgr Retrieve Customer Info Determine Status Raise Trace Request Allocate Appropriate CSA

27 Specify High-Level (w/actor role) Or, as an alternative to partition swim lanes. Find Lost {Plan rule = BasicScenario} ( Inquiry Interface) Retrieve Customer Info ( Inquiry Interface) Determine Status ( Inquiry Interface) Raise Trace Request (Allocation Mgr) Allocate Appropriate CSA

28 Specify High-Level (Sequence Diagram) sd Find Lost {Plan rule = BasicScenario} Inquirer Find Lost Inquiry Interface Retrieve Customer Info Allocation Mgr Determine Status Raise Trace Request Lost shipment status Allocate Appropriate CSA

29 Specify 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 use case are represented as a class diagram. Customer 1 Party Receiver 1 * 1..* 1..* 1 * Segment Shipper 1

30 Review 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.

31 Requirements - Perform High-Level Analysis Requirements 1.0 Requirements Specify Actors, Goals, and Services 1.2 Perform Highlevel Analysis Area Analysis 1.1 Prepare for Requirements Refine Goals and Use Cases Area Design 1.2 Perform High-level Analysis 1.3 Specify Initial Application Architecture Define Use Case Scenarios Area Implementation 1.4 Determine Analysis Areas and Interactions Specify High-level Specify High-level Class Model Assembly and Deployment 1.5 Validate Requirements and Plan Application Review High-level Scenario Models

32 Case 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 radical or not radical enough?

33 Some next steps Dynamic Role Classification 1.1: request <<role change>> Contractor <<role change>> 4: Competitor Analyzer <<role change>> 2: question 3: inform Competitor Customer 1.2: request Contractor1 5: propose 7: commit Negotiator 9: assert Contractor2 12: assert + request 14: pay 1.3: request 6: request 10: refuse Debtor 13: ship 8: commit 11: ship Contractor UML 2.0 Interaction Diagram

34 Some next steps Roles and Groups «agent role» ABC Customer Sales Cashier Purchase fulfillment process Purchase fulfillment process Customer Authorization request process Purchase fulfillment process Manager UML 2.0 Composite Structure Diagram

35 Some next steps Addressing all UML 2.0 diagrams or not Structure Diagrams Class diagrams Composite structure diagrams Component diagrams Packages Deployment diagrams Behavior Diagrams Sequence diagrams Communication diagrams Activity diagrams State Machine Use Case diagrams

36 Some 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...

37 And what about: TROPOS

38 And what about: PROMETHEUS Goal implication

39 And what about: MaSE

40 And what about: MESSAGE

41 Too radical or not radical enough? - Progress report on AUML- James Odell Ann Arbor, Michigan USA