Software Process Simulation
and Modeling: A Review
Walt Scacchi
Institute for Software Research
UCIrvine
Wscacchi@[Link]
[Link]
[Link] /Keynote
Overview
• ProSim, ISPW, FEAST/IWSE
• ProSim tools, techniques, concepts
• Results, findings, accomplishments
• Emerging R&D opportunities
• Conclusions
1
ProSim, ISPW, FEAST/IWSE
• ProSim roots: Intern. Software Process
Workshops 1980-
1980 -1990s (ten)
• ProSim Workshop legacy: 1998-
1998 -2003 (four)
– 40 journal papers (JSS
(JSS,, SPIP )
• ProSim cousins:
– Feedback, Evolution and Software
Technology (FEAST)
– Intern. Workshop on Software Evolution
ProSim Focus Areas
• Software Process Simulation and Modeling
– Project modeling and simulation
– Process simulations and simulators
– COTS vs. custom simulation packages
– Group, team, engineering and evolution
processes
– Centralized and distributed processes
– Relation to other process engineering
activities
• Analysis, redesign, visualization, scheduling, etc.
2
ProSim Tools
• Commercial simulation & modeling packages
– Discrete-
Discrete-event
– Systems dynamics (continuous systems)
• Research prototypes
– Knowledge-based systems
Knowledge-
– Multi--agent systems
Multi
– Distributed systems
– Model--driven process support environments
Model
– Meta-- modeling/process ontology interpreters
Meta
Discrete -event simulation
and modeling
3
FEAST Systems Dynamics
Modeling for Simulation
Vensim Systems Dynamics
Modeling and Simulation
4
Knowledge -based process
modeling
ProSim Techniques
• Descriptive M&S: Collect empirical data on
existing software processes to reproduce
observed patterns, or to improve them
• Pro/Prescriptive M&S: Construct M&S that
demonstrate advantages of new processes
compared to some real/imaginary baseline
• Experimental M&S: Construct M&S that
test theoretical propositions or enable
exploration of emerging concepts
5
Descriptive capture and tabular
coding of process model details
Lehman Software Evolution
Growth Data
6
ProSim EngineeringTechniques
Meta-- modeling
Meta Visualization Instantiation
and enactment
Modeling Prototyping and Monitoring and
walkthrough measurement
Analysis Change History capture
management and replay
Simulation Integration Repair and
Improvement
Redesign Environment Evolution and
generation asset mgmt.
As-- is vs. to-
As to-be process
7
ProSim Concepts
• Meta-
Meta-modeling vs. modeling
• Model
Model--driven process support
environments
– Simulators, PSE/IDEs
PSE/IDEs,, Web-
Web-based
process hypertext/media
• Process improvement via simulation,
analysis, and redesign
• Process depth vs. breadth
Process Meta-Model (left) and
example process model (right)
8
Results, Findings, Accomplishments
• Identifying high-
high-yield and pathological
processes and process domains
• Software evolution
• Software process improvement/redesign
• Software process vs. business process
• Hybrid simulations/models
• Process modeling languages
– JIL, PML, xPADL
xPADL,, BPEL4WS (?)
Web-based process hypertext
example
9
A complex SDLC process model :
a decomposition-
decomposition-precedence relationship view
(19 levels of decomposition, 400+ tasks)
Research grant justification and approval
process at Office of Naval Research
10
Missing Results, Findings,
Accomplishments
• M&S of CMM assessed processes
• M&S of alternative SDLC process/tool
frameworks (Waterfall vs. Spiral vs. Agile)
• M&S software deployment/release,
diffusion, and adoption processes
• M&S of software evolution process across
– Product lines
– Product/technology generations
Emerging ProSim R&D
Opportunities
• M&S open source software
development/evolution processes
• Open source ProSim tools and M&S
examples
• Global ProSim interoperability
testbeds
• Computer Game-
Game- based ProSim tools
and techniques
11
Emerging ProSim R&D
Opportunities
• M&S open source software
development/evolution processes
Module
Board member maintainer
Release Manager
Decide future Start a new Determine Determine Create module
release dates release phase main features project web page Module
(Mailing list) (Mailing list) features (Web site) Web Page
(Mailing list)
Release Module Build
Roadmap Schedule
Site proposal plan (CVS scripts)
administrator source
QA Team code
Download links Final Development Developer
Check
(SourceCast) Release (NetBeans, Mailing build
Write bug
list)
fix
(NetBeans)
Test
(NetBeans)
NetBeans
Web Site Release Check List of
candidate (NetBeans, Mailing Q bugs to
2 list) build fix
Release Use
information Check (NetBSeans, Decide which
Release (NetBeans, Mailing
update Issuezilla) bugs to fix
candidate list)
(SourceCast) (Issuezilla)
1
User List of
bugs
Release Manager
Release Process for [Link]
12
Linux Kernel growth
GNOME Growth
13
Emerging ProSim R&D
Opportunities
• Open source ProSim tools and M&S
examples
Protégé 2000
OSS Modeling Tool
14
Emerging ProSim R&D
Opportunities
• Global ProSim interoperability
testbeds
Global ProSim testbed
concept
15
Emerging ProSim R&D
Opportunities
• Computer Game-
Game- based ProSim tools
and techniques
Computer game process
simulation environment
16
Another game M&S
environment
QuakeCon LAN Party with
>1700 game players
17
Conclusions
• R&D in Process Simulation and
Modeling is active, sustained, growing
• Systems Dynamics remains the major
mode of ProSim research, though this
may require rethinking
• ProSim has produced substantial
results and accomplishments
• New opportunities for ProSim R&D
are apparent and high value
Acknowledgements
• The research in this presentation is
supported by grants from:
– National Science Foundation
• #IIS
#IIS--0083075, #ITR -0205679,
#ITR--0205724
#ITR
– No endorsement implied.
implied.
• Collaborators: Mark Ackerman (UMichigan
(UMichigan),
),
Les Gasser (UIUC), John Noll (SCU),
Margaret Elliott and Chris Jensen (UCI-
(UCI-ISR)
18