-- introduction / examplesjs/download/rad.pdf · introduction original paper ould & roberts...

23
Role Activity Diagrams -- Introduction / Examples – © Josef Schiefer, IBM Watson © Josef Schiefer, IBM Watson © Josef Schiefer, IBM Watson © Josef Schiefer, IBM Watson

Upload: others

Post on 17-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

Role Activity Diagrams

-- Introduction / Examples –

© Josef Schiefer, IBM Watson© Josef Schiefer, IBM Watson© Josef Schiefer, IBM Watson© Josef Schiefer, IBM Watson

Page 2: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

����

Role Activity Diagrams

Outline

Notation

Business Processes Control

Interaction

Role Activity Diagrams

2/15/2001 - v4

RoleActivity

EventInteraction

State

IntroductionTypes

Difference to e-Business Processes

"OR" Connector"AND" ConnectorIteration

TypesStateEvents

Page 3: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

����

Role Activity Diagrams

Introduction

� Original paper Ould & Roberts (1986)

� Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

� Widely used. Promoted by Praxis (Ould, Huckvale & others) & Coordination Systems (Roberts)

� Applied to a number of domains, e.g., Software Engineering, finance, Retail and Construction

Page 4: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

����

Role Activity Diagrams

3 Types of Processes

ManagementProcesses

Core Processes

Cus

tom

er re

ques

t

Cus

tom

ersa

tisfa

ctio

n

Support processes

Page 5: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

����

Role Activity Diagrams

Important Business Process Constructs

� Interactions?

� Parallel / concurrent threads?

� Choices?

� Iteration?

Page 6: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

����

Role Activity Diagrams

RAD Notation

Project stated

Start new Designer

Write plan

Goal reached

Designer

State

State Description

An Activity

Start anouther Role

External Event Occurs

A Role

Page 7: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

����

Role Activity Diagrams

Roles and RADs

� Business depicted in terms of roles

� Roles are types - e.g., they describe the behaviour of a class of individuals

� A Role is independent of other roles, but communicates through interactions

� Instances of roles therefore act in parallel, with the interaction between roles being their only synchronisation mechanism

Page 8: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

����

Role Activity Diagrams

Basics: Role Activity Diagram (RAD)

Director

Project Manager

Designer

Roles

Page 9: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

����

Role Activity Diagrams

Role Behavior: Actions

� An action is an activity which the role carries out in isolation

� Carrying out an action moves the role from its present state to the next state

Choose a method

Delegated

Method chosen

Page 10: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

����

Role Activity Diagrams

Basics: Role Activity Diagram (RAD)

Director

Project Manager

Designer

ExternalEvents

Activity

Page 11: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

����

Role Activity Diagrams

Roles have State

� Not required to explicitly label the states of a role, though some authors prefer to do so.

� Labeling states (with circles or ellipses) helps the semantics of the role become clearer – Labels make explicit the pre-conditions, pre-actions and

consequences (post-conditions) of each activity. – Sometimes need to separate parallel threads into separate (or main

and sub) roles…

� Diagram becomes larger and this may hamper understanding

Page 12: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

����

Role Activity Diagrams

Basics: Role Activity Diagram (RAD)

Director

Project Manager

Designer

State

Instantiatenew Role

StateDescription

Page 13: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

����

Role Activity Diagrams

Example: Design Project

Director

Project Manager

Designer

Agreement on Project Guidelines

Agreement onProject Guidelines

New Project was accepted

Writting Project Guidelinesfor Designer

Determine PM

Determine Designer

Page 14: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

����

Role Activity Diagrams

Behavior: Interactions

� An activity carried out at the same point as another activity (or other activities) in another role (or roles). A shared event.

� The consequence of an interaction is that all of the roles involved move from their current state to their next state.

� Interaction must be initiated by some (driving) role.

� Interactions are synchronous

Page 15: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

����

Role Activity Diagrams

Interactions

Role A Role B Role C

Agreementon Budget

Buyer Broker Seller

Gets ProductOrganizesPurchase

Gets Money

Interaction Driver

Page 16: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

����

Role Activity Diagrams

Control

� Thread of control in a role need not proceed sequentially

� Choice or case-refinement. There may be any number of alternative threads but only one of the threads (or cases) may be chosen

� Concurrent threads or part-refinement. Each thread represents part of the path. The threads all join together again after the split denoting that all paths have been completed

Page 17: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

����

Role Activity Diagrams

RAD: Control

� Alternative Paths, Case Refinement

� Concurrent paths, Part Refinement

All OK?Alternative paths

depending onthe condition

("case refinement")

Concurrent paths("part refinement")

Page 18: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

����

Role Activity Diagrams

“AND” & “OR” Connectors

Designer Project Manager

Is Everything OK?NoYes

ANDOR

Page 19: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

����

Role Activity Diagrams

Example: Design Project

Designer Project Manager

Agreement on Project Guidelines

Make Proposal

Receives Proposal

Select Method

Prepare Plan

Hand over Plan

AND

Page 20: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

����

Role Activity Diagrams

Iteration

� Iteration is where a state may be revisited. Shown by: – Drawing a loop back to a previous point on the role. – Having the post-state of an action as a previously

named state.

� Typically used when there is some checking or control mechanism to be modeled

Page 21: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

����

Role Activity Diagrams

Example: Design Project

Designer Project Manager

Hand over Plan

Write Report

Handover Design

Project finished

YesNoDesign OK?

OR

QualityAssurance

Page 22: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

����

Role Activity Diagrams

“TOKENS”

Designer Project Manager

NYEverything OK?

Page 23: -- Introduction / Examplesjs/download/rad.pdf · Introduction Original paper Ould & Roberts (1986) Formal semantics. Similar to Petri Nets. Can be mapped to other formal notations

����

Role Activity Diagrams

RAD Literature

� Martyn A. Ould: Business Processes: Modeling and Analysis for Re-engineering and Improvement

� RAD Visio Stencils: http://www.the-old-school.demon.co.uk/veniceresources.htm