You are on page 1of 35

TU Kaiserslautern

Process Modeling

5.7 IDEF0
Integration Definition for Function Modeling (IDEF0)
Federal Information Processing Standards Publication 183
Initial document:
Air Force Wright Aeronautical Laboratories Integrated Computer
Manufacturing (ICAM) Architecture, Part II; Volume IV - Function
Modeling Manual (IDEF0), June 1981

Function modeling
Systems
Company (Process modeling)

Based on SADT (Structured Analysis and Design Technique)

Slide 65

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Background of IDEF0
Project
USAF ICAM (Integrated Computer Aided Manufacturing)
1975 - 1980
IDEF = ICAM DEFinition Language

Three languages
IDEF0 (What do I do?)
function model
IDEF 1-1x (What do I need to know to do what I do?)
information model
IDEF2 (When do I need to know what I need to know to do what I do?)
dynamics model

Slide 66

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Characteristics of IDEF0
Simplicity of process documentation
Advantages
Comprehensive graphical representation
Simple notation
Supports human communication
Widely applied in practice
Prescriptive models (especially organization-specific reference models)

Tool support

Slide 67

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Syntactical Elements of IDEF0


Boxes - Function

Develop Model

Function name (Verb)


Number

1
Arrows - Data / Objects
Straight-line arrow segment
Curved-arrow segment (corners
are rounded with 90 degree arcs)
Forking arrows
Rejoining arrows

Slide 68

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Syntax Rules of IDEF0


Boxes
Boxes shall be sufficient in size to insert box name
Boxes shall be rectangular in shape, with square corners
Boxes shall be drawn with solid lines

Arrows
Arrows that bend shall be curved using only 90 degree arcs
Arrows shall be drawn in solid-line segments
Arrows shall be drawn vertically or horizontally, not diagonally
Arrow ends shall touch the outer perimeter of the function box and shall
not cross over into the box
Arrows shall attach at box sides, not at corners

Ref: Draft Federal


Information Processing
Standards Publication 183

Slide 69

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Connecting Arrows, Boxes and Names

Design
Requirements
Recommended
Detailed Design
Preliminary
Design Data

Perform Detailed Design 2


Design
Engineer
MFG/A632

Each side of a box has a specific meaning


a) Input: left side
b) Control: upper side
c) Output: right side
d) Mechanisms: upwards, lower side
e) Usage of a mechanism: downwards, lower side

Slide 70

Dr. Jrgen Mnch 2002-2007

A squiggle (
)is used for
connection of names to arrows
when clear positioning is not possible

TU Kaiserslautern
Process Modeling

Diagram

Design
Requirements

Recommended
Detailed Design

Preliminary
Design Data

Perform Detailed Design


2

Design
Engineer
MFG/A632

PURPOSE: Designing the software system


VIEWPOINT: Design Team

QA/A-0

TOP LEVEL

Diagrams create a
decomposition hierarchy!

Slide 71

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Evaluation of IDEF0

Criterion
Natural representation

Support of quality management

Adaptability of model

Formality

Understandability

Interpretability (execution & enactment)

Flexibility

Traceability

Slide 72

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

5.8 ETVX
Development by IBM [Radice] beginning of 1980s
Notation for description of activities
Entry Task Verification eXit
Entry criteria must be satisfied before a set of tasks can be performed
Tasks set of tasks to be performed
Verification & validation - The means to determine that the tasks are
completed properly
eXit criteria - criteria for task completion

Slide 73

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Basic Schema in ETVX

Tasks
Entry
Criteria

Verification &
Validation

Slide 74

Dr. Jrgen Mnch 2002-2007

Exit
Criteria

TU Kaiserslautern
Process Modeling

Example ETVX: Size Estimation


Top-level description

Entry

P ro d u c t s tru c tu re is a s d e ta ile d a s t e c h n ic a lly


p o s s ib le .

Task

P re c is e ly d e fin e s ta n d a rd o f m e a s u re m e n t.
E s tim a te s iz e o f e a c h e le m e n t.
S u m s iz e o f e a c h e le m e n t.
A p p l y c o n tin g e n c y fa c to rs .
C o m p a r e t o h i s t o r i c a l d a t a o f s i m i la r t y p e /
c o m p le x it y.
C h e c k fo r c a lc u la tio n e rr o rs .
E s tim a te h a s b e e n v e rifie d a g a in s t h is to ric a l
d a ta .
C a lc u la tio n s h a v e b e e n c h e c k e d .
E s tim a te h a s b e e n a d d e d to h is to ric a l d a ta .
D e t a i l e d s i z e e s t im a t e p r o d u c e d .

Validation /
Verification
eXit

Slide 75

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Estimation ETVX
Advantages
Intuitive understanding of tasks
Detailed enough for the implementation of processes for many purposes
Can be used for delegation of tasks (prescriptive models)

Disadvantages
Becomes complex very fast
General flow difficult to understand

Slide 76

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Evaluation of ETVX

Criterion
Natural representation

Support of quality management

Adaptability of model

Formality

Understandability

Interpretability (execution & enactment)

Flexibility

Traceability

Slide 77

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

5.9 SPEM
Software Process Engineering Model
Released 2005 by the Object Management Group (OMG)
Based on UML notation (UML 1.4)
Uses parts of UML metamodel
Defined as a subset of UML

Metamodel for description of software development processes


(or a family of processes) and their components
Intended for development and adoption of processes
Planning and execution of processes (in a project) is not part of
metamodel

Slide 78

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Roles, Activities, Work Products


Activities are performed by roles on work products
Different roles work together by exchanging work products and
initiating activities

Slide 79

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Basic Types of SPEM


Work products
Can be consumed, produced, modified
Can have different states
Can be composed of other work products (aggregation)
Can formally be defined as deliverables

Work product state machine:


created

drafted

reviewed

approved

Guidance
Special type of products (are not work products)
Cannot be produced or modified (e.g., technique, template, checklist,)

Process roles
Define responsibilities for work products
Perform activities
Slide 80

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Basic Types of SPEM


Activities
Done by a single process role
The process role executing the activity is its owner, others can be
assistants
Can be refined into activity steps
Entry and exit criteria by preconditions and goals

Work breakdown structure


Process can be described on different levels of detail:
Activity
Work definition: composite set of activities
Iteration: composite work definition with a minor milestone
Phase: time span between two milestones (entry, exit criteria)
Lifecycle: complete process

Slide 81

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Example SPEM: Activity

<<Activity>>
Find Actors and Use Cases
/performer: System Analyst
/assistant: Customer
/assistant: Architect

Slide 82

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

SPEM Diagrams
Process models can be visualized using standard UML
diagrams
Class diagram
Package diagram
Activity diagram
Use case diagram
Sequence diagram
State chart diagram

As in UML, process models can be structured using packages


Discipline: specialization of package used to categorize activities
according to a common theme
Process component: self-contained, internally consistent piece of
process description

Slide 83

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Slide 84

Example SPEM: Activity Diagram

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Evaluation of SPEM

Criterion
Natural representation

Support of quality management

Adaptability of model

Formality

Understandability

Interpretability (execution & enactment)

Flexibility

Traceability

Slide 85

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

5.10 Little-JIL
Little-JIL
Agent coordination language
Process divided into small units of work: steps
Steps can be assigned to agents

JIL vs. Little-JIL


JIL: complex process language
Text-based
Based on ADA
Many complex functions

Little-JIL: coordination language


Subset of JIL
Only essential functions
Graphical representation for every function

Slide 86

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Agents and Steps


Agent
Autonomous entity
Can be human or automated
Each agent has one or more agendas
with work (i.e., steps) assigned to it
When work is done, the agent has to report success or failure

Step
Basic building block
Represents a unit of work
Can be decomposed into sub-steps
Every Little-JIL program is represented by its root step, which is
decomposed to describe the process

Slide 87

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

States of a Step
Completed
Started
Terminated
Posted
Retracted
Opted-Out

Posted

Started

Step is removed from agenda without being started (can be reposted to another agent)

Opted-Out

Slide 88

Step failed to complete (e.g., after an exception was thrown)

Retracted

Completion is indicated by the agent

Terminated

Start is indicated by the agent

Completed

Step is posted to the agenda of the agent

Step is an optional step and agent decides not to start it

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Graphical Representation of a Step

Step is annotated with badges


Every badge provides additional information or specifies the control
flow

Sub-steps are drawn below parent step


Connected with arcs to sequencing badge of parent step

Slide 89

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Step Badges
Sequencing badge
None:
Step is not decomposed

Sequential:
Sub-steps are executed from
left to right, each one starting
after previous sub-step is
completed

Parallel:
Sub-steps are executed
concurrently

Choice:
Only one of the sub-steps is
executed

Try:
Try sub-steps from left to right
until one sub-step succeeds

Slide 90

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Step Badges
Interface badge
Resource declaration
Defines resources used by the step
Products produced by other steps and agents can also be needed resources

Parameter declaration
Defines parameters used by the step
Types: In, Out, In/Out, Locals
For object exchange between parent step and sub-steps

Channel declaration
Specifies all channels the step can write into or read from
Communication between two arbitrary steps

Exception declaration
Specifies all exceptions that can be thrown by the step
Exceptions can be thrown to show that a process did not complete correctly

Message declaration
Defines all messages that can be sent by the step
Messages can be sent during execution of the step (automatically or by the
agent)

Slide 91

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Step Badges
Pre- /Post-requisite badge
Define pre- and post-conditions for the execution of the step
If the step is started / terminated and the condition fails, an exception is
thrown

Reactions badge
Every reaction defines a step for a certain message
If the step is in state started and the message is sent by some other
step, the reaction step is executed immediately (parallel to other active
steps)

Handler badge
Every exception handler defines the types of exception he handles and
the steps executed when the exception occurs
If an exception occurs and no handler is defined for this exception, the
step is terminated and the exception is thrown to the parent step

Slide 92

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Slide 93

Example Little-JIL: Simple Process

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Slide 94

Example Little-JIL: Process with Exceptions and Messages

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Evaluation of Little-JIL

Criterion
Natural representation

Support of quality management

Adaptability of model

Formality

Understandability

Interpretability (execution & enactment)

Flexibility

Traceability

Slide 95

Dr. Jrgen Mnch 2002-2007

MVP-L

IDEF0

ETVX

SPEM

Little-JIL

Naturalness
Support of quality management
Adaptability of model
Formality
Understandability
Feasibility (execution &
Interpretability
enactment)
Flexibility
Traceability

Slide 96

Dr. Jrgen Mnch 2002-2007

Funsoft
Nets
MSL

Statemate

Overview of Process Modeling Languages

Appl/A

TU Kaiserslautern
Process Modeling

TU Kaiserslautern
Process Modeling

5.11 Further Notations


Software Process Modeling Notations
UML (e.g., Activity Charts)
Tool-specific notations

Business Process Modeling Languages


ARIS: Notation for Business Processes, uses Event-driven Process
Chains
BPML (Business Process Modeling Language)

Slide 97

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Future Research Tasks

Slide 98

Definition of a comprehensive and consistent terminology


Relationships to languages in workflow management systems
Concepts for process and product variability
Concepts for process instantiation for project planning
Concepts for re-planning for process enactment

Dr. Jrgen Mnch 2002-2007

TU Kaiserslautern
Process Modeling

Summary
Several process modeling languages exist for prescriptive and
descriptive modeling
Different criteria have been introduced to assess process
notations
There is no universal process modeling language
The suitability of a language essentially depends on the
application purpose
Concepts of abstraction must be available for descriptive
modeling

Slide 99

Dr. Jrgen Mnch 2002-2007

You might also like