IDEF0 and Software Process Engineering Model
IDEF0 and Software Process Engineering Model
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)
Slide 65
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
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
TU Kaiserslautern
Process Modeling
Develop Model
1
Arrows - Data / Objects
Straight-line arrow segment
Curved-arrow segment (corners
are rounded with 90 degree arcs)
Forking arrows
Rejoining arrows
Slide 68
TU Kaiserslautern
Process Modeling
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
Slide 69
TU Kaiserslautern
Process Modeling
Design
Requirements
Recommended
Detailed Design
Preliminary
Design Data
Slide 70
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
Design
Engineer
MFG/A632
QA/A-0
TOP LEVEL
Diagrams create a
decomposition hierarchy!
Slide 71
TU Kaiserslautern
Process Modeling
Evaluation of IDEF0
Criterion
Natural representation
Adaptability of model
Formality
Understandability
Flexibility
Traceability
Slide 72
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
TU Kaiserslautern
Process Modeling
Tasks
Entry
Criteria
Verification &
Validation
Slide 74
Exit
Criteria
TU Kaiserslautern
Process Modeling
Entry
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
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
TU Kaiserslautern
Process Modeling
Evaluation of ETVX
Criterion
Natural representation
Adaptability of model
Formality
Understandability
Flexibility
Traceability
Slide 77
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
Slide 78
TU Kaiserslautern
Process Modeling
Slide 79
TU Kaiserslautern
Process Modeling
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
TU Kaiserslautern
Process Modeling
Slide 81
TU Kaiserslautern
Process Modeling
<<Activity>>
Find Actors and Use Cases
/performer: System Analyst
/assistant: Customer
/assistant: Architect
Slide 82
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
Slide 83
TU Kaiserslautern
Process Modeling
Slide 84
TU Kaiserslautern
Process Modeling
Evaluation of SPEM
Criterion
Natural representation
Adaptability of model
Formality
Understandability
Flexibility
Traceability
Slide 85
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
Slide 86
TU Kaiserslautern
Process Modeling
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
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
Retracted
Terminated
Completed
TU Kaiserslautern
Process Modeling
Slide 89
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
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
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
TU Kaiserslautern
Process Modeling
Slide 93
TU Kaiserslautern
Process Modeling
Slide 94
TU Kaiserslautern
Process Modeling
Evaluation of Little-JIL
Criterion
Natural representation
Adaptability of model
Formality
Understandability
Flexibility
Traceability
Slide 95
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
Funsoft
Nets
MSL
Statemate
Appl/A
TU Kaiserslautern
Process Modeling
TU Kaiserslautern
Process Modeling
Slide 97
TU Kaiserslautern
Process Modeling
Slide 98
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