You are on page 1of 28

Process Modeling

Bill Curtis, Marc I. Kellner and Jim Over

Communications of the ACM

2007. 5. 30
Chanhee Yi
Contents

l Introduction
l Overview
l Conceptual framework
l Modeling paradigm
l Modeling issues
l Future growth
l Conclusion

2007-05-30 Software Engineering Lab, KAIST 2/23


Introduction(1/2)
l Process modeling
– Brief Definition
l Process
l Modeling
– Motivation of emergence
l Problems in traditional software description
– Ambiguous, unusable descriptions
– Failure to update the documentation with change
l Needs from the enterprise
– Business process reengineering
– Coordination technology
– Process-driven software development

2007-05-30 Software Engineering Lab, KAIST 3/23


Introduction(2/2)
l Process modeling (cont’d)
– Goals
l Human understanding
l Process improvement
l Process management
l Automated execution
l Automated guidance

2007-05-30 Software Engineering Lab, KAIST 4/23


Overview
Perspectives

Process modeling Future


Directions
Conceptual framework

?
Form-
ality
Modeling Granu-
Modeling
Paradigm larity Issues
Scriptive
ness
Terminology

2007-05-30 Software Engineering Lab, KAIST 5/23


Conceptual framework(1/2)
l Terminology
– Process element
l Any component of a process
– Process step
l Atomic action of a process
– Agent
l An actor who performs a process element
– Role
l A set of process elements assigned to an actor
– Artifact
l Product created or modified by process element execution

2007-05-30 Software Engineering Lab, KAIST 6/23


Conceptual framework(2/2)
l Perspectives in process representation
– Functional
l What elements are performed
– Behavioral
l When and how elements are performed
– Organizational
l Where and by whom elements are performed
– Informational
l Represent informational entities

2007-05-30 Software Engineering Lab, KAIST 7/23


Modeling paradigm(1/7)
l Representation with software languages
– General start point for process modeling
– Means for representing and enacting a process
– Resource of process evolution through feedback

2007-05-30 Software Engineering Lab, KAIST 8/23


Modeling paradigm(2/7)
l Programming models
– View of regarding a process as programming
– REBUS
l Support for the requirement specification

2007-05-30 Software Engineering Lab, KAIST 9/23


Modeling paradigm (3/7)
l Functional models
– Hierarchical and Functional Software Process(HFSP)
l Hierarchical process decomposition
l Concurrent processes and backtracking
l Flexible and dynamic execution mechanism

2007-05-30 Software Engineering Lab, KAIST 10/23


Modeling paradigm (4/7)
l Functional models(cont’d)
activity
JSP( spec | prog.out ) =>
MakeProgTree( spec | progTree )
EnumerateOprs( spec | oprs )
.
.

spec JSP prog

oprs
spec MakeProg Prog spec Enumerate oprs MakeProg prog prog DoProg prog
Tree Tree Oper Prog Inversion
Tree
2007-05-30 Software Engineering Lab, KAIST 11/23
Modeling paradigm(5/7)
l Plan-based models
– Artificial intelligence approach to contingency
– GRAPPLE
l Constraint-based planning system
l Plan execution simulation system
OPERATOR release
GOAL: current-release(System)
PRECONDS: built(System)
regression-tested(System)
performance-tested(System)
CONSTR: current-release(C)
not-equal(C,System)
EFFECTS: DELETE current-release(C)
ADD current-release(System)
ADD customer-release(System)
ADD prior-release(System,C)

2007-05-30 Software Engineering Lab, KAIST 12/23


Modeling paradigm(6/7)
l Petri-net models
– Coordination of the model’s structure of roles
– Role interaction nets
l Method of coordinating the routing of artifacts
l Method of tracking progress
Review Review
Team Team Project
Designer Leader Member Manager
Send Document

Receive Update status

Announce and Approve team


schedule membership

Note schedule Plan review time

2007-05-30 Software Engineering Lab, KAIST 13/23


Modeling paradigm (7/7)
l Quantitative models
– System dynamics
l Application of feedback and control to social phenomena

Manpower vs Hiring time delay

L : Level (of people)


R : Rate (hiring/firing)
T : Average Time Delay

– Perceived Work Accomplished(PWA)


l VF*(% of Resource remained)+(1-VF)*(% of Work finished)
VF : Visibility Factor
2007-05-30 Software Engineering Lab, KAIST 14/23
Modeling issues(1/2)
l Formality
– Specify Mathematical level of modeling languages
– Considered to control flexibility of task representation
l Granularity
– Consider precision with time and human
– Considered to provide multiple level of abstraction
l Precision
– Represents the degree of specifying process steps

2007-05-30 Software Engineering Lab, KAIST 15/23


Modeling issues(2/2)
l Scriptiveness
– involves prescriptive modeling
l Planned modeling
– Involves descriptive modeling
l Evolutionary modeling
– Involves proscriptive modeling
l Law-governed modeling
l Fitness
– Represents the degree of agent’s fulfillment to steps
– Used to analyze prescriptive models

2007-05-30 Software Engineering Lab, KAIST 16/23


Future directions(1/6)
l Multi-paradigm representations
– Emphasis on diversity and suitability of a modeling
– STATEMATE
DEV_MODULE_TESTS
description: Task of planning and developing
unit tests for a module.
executed throughout: DEVELOP_TESTS
carried out by: QA
attributes:
NAME: VALUE:
USES_FACILITY DVLPMT_SUITE

HAND_CARRIED_2
Contains: CODE_LISTINGS; TEST_PLANS
Interconnections Textual Information Functional Perspective – Activity Chart
2007-05-30 Software Engineering Lab, KAIST 17/23
Future directions(2/6)
l Multi-paradigm representations(cont’d)

FACILITY_MGMT

DVLPMT_SUITE
COMPUTER_FILES

IO_1 IO_4
IO_2 IO_3

SW_ENGINEERING
SW_DEVELOPERS QA

HAND_CARRIED_1 HAND_CARRIED_2

UNIT_DEV_FOLDER
DATA_MGMT

Behavioral Perspective - State chart Organizational Perspective - Module Chart

2007-05-30 Software Engineering Lab, KAIST 18/23


Future directions(3/6)
l Process improvement
– Effects of a well-defined process
l Results of documentation and person training
l Foundation for quality and productivity
– Capability Maturity Model(CMM)
l The way for organization to improve schedules and budget
l Identification to the current maturity of process
l Improvement on top of documents

2007-05-30 Software Engineering Lab, KAIST 19/23


Future directions(4/6)
l Process improvement(cont’d)

2007-05-30 Software Engineering Lab, KAIST 20/23


Future directions(5/6)
l Process-based software development
– Automated execution support and guidance
l Tools that support the entire process
l Tool integration with environment
l Design for work coordination

2007-05-30 Software Engineering Lab, KAIST 21/23


Future directions(6/6)
l Process-based software development(cont’d)
– MARVEL
l Rule-based approach
l Backward-chaining and forward-chaining
l Emphasis on functional and behavioral perspectives
strategy doc_tools_rules rules
Imports none;
Exports all; doc_head[?d : DOC_TYPES] :
suchthat :
Objectbase
{ DOC_HEAD doc_head ?d }
DOC_HEAD :: superclass TOOL; (?d.head_created = HeadFileExists) ;
doc_head : string = specify_header; (?d.head_created = HeadFileNonExists) ;
End .
. .
.
End_objectbase
2007-05-30 Software Engineering Lab, KAIST 22/23
Conclusion
l Guidance to process modeling
– Concepts and perspectives in representation
– Five paradigms as an approach
– Future directions with field growth

2007-05-30 Software Engineering Lab, KAIST 23/23


Perspectives and Language
Perspectives
Func- Beha- Organi- Infor-
tional vioral zational mational
Procedural programming languages O O O
System analysis and design O O O
AI languages and approaches O O
Events and triggers O
State transition and petri-nets O O O
Control flow O
Functional languages O
Formal languages O
Data modeling O
Object modeling O O
Precedence networks O
2007-05-30 Software Engineering Lab, KAIST 24/16
APPL/A
l Ada process programming language based on aspen
– Relations
l Program unit that provides for the storage of data
– Triggers
l Tasks that represent concurrent threads of control
– Predicates
l Named boolean expressions over relations

2007-05-30 Software Engineering Lab, KAIST 25/16


STATEMATE
l Multiple language paradigms
– State transitions with events and triggers
– System analysis and design diagrams
– Data-modeling
l Common denominator schema
– Loose incorporation between various paradigms
– Object-Oriented and entry-relationship schema

2007-05-30 Software Engineering Lab, KAIST 26/20


STATEMATE(cont’d)
l Common denominator schema

2007-05-30 Software Engineering Lab, KAIST 27/20


Petri-net
l Models of concurrency, non-determinism and control flow
l Modeling framework for discrete event dynamically systems

Sequential Execution Concurrency Synchronization

2007-05-30 Software Engineering Lab, KAIST 28/16

You might also like