software process simulation and modeling: a review walt scacchi institute for software research...

36
Software Process Software Process Simulation and Simulation and Modeling: A Review Modeling: A Review Walt Scacchi Walt Scacchi Institute for Software Research Institute for Software Research UCIrvine UCIrvine [email protected] [email protected] http://www.ics.uci.edu/~wscacchi/Presentations/ProSim http://www.ics.uci.edu/~wscacchi/Presentations/ProSim 03 03 /Keynote /Keynote

Post on 19-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

Software Process Software Process Simulation and Modeling: Simulation and Modeling:

A ReviewA Review

Walt ScacchiWalt ScacchiInstitute for Software ResearchInstitute for Software Research

[email protected]@uci.edu

http://www.ics.uci.edu/~wscacchi/Presentations/ProSim03http://www.ics.uci.edu/~wscacchi/Presentations/ProSim03//KeynoteKeynote

Page 2: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

OverviewOverview

• ProSim, ISPW, FEAST/IWSEProSim, ISPW, FEAST/IWSE• ProSim tools, techniques, ProSim tools, techniques,

conceptsconcepts• Results, findings, Results, findings,

accomplishmentsaccomplishments• Emerging R&D opportunitiesEmerging R&D opportunities• ConclusionsConclusions

Page 3: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

ProSim, ISPW, FEAST/IWSEProSim, ISPW, FEAST/IWSE

• ProSim roots: Intern. Software Process ProSim roots: Intern. Software Process Workshops 1980-1990s (ten)Workshops 1980-1990s (ten)

• ProSim Workshop legacy: 1998-2003 (four)ProSim Workshop legacy: 1998-2003 (four)– 40 journal papers (40 journal papers (JSSJSS, , SPIP SPIP ))

• ProSim cousins: ProSim cousins: – Feedback, Evolution and Software Feedback, Evolution and Software

Technology (FEAST)Technology (FEAST)– Intern. Workshop on Software EvolutionIntern. Workshop on Software Evolution

Page 4: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

ProSim Focus AreasProSim Focus Areas

• Software Process Simulation and ModelingSoftware Process Simulation and Modeling– Project modeling and simulationProject modeling and simulation– Process simulations and simulatorsProcess simulations and simulators– COTS vs. custom simulation packagesCOTS vs. custom simulation packages– Group, team, engineering and evolution Group, team, engineering and evolution

processesprocesses– Centralized and distributed processesCentralized and distributed processes– Relation to other process engineering Relation to other process engineering

activitiesactivities• Analysis, redesign, visualization, scheduling, etc.Analysis, redesign, visualization, scheduling, etc.

Page 5: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

ProSim ToolsProSim Tools• Commercial simulation & modeling Commercial simulation & modeling

packagespackages– Discrete-event Discrete-event – Systems dynamics (continuous systems)Systems dynamics (continuous systems)

• Research prototypesResearch prototypes– Knowledge-based systemsKnowledge-based systems– Multi-agent systemsMulti-agent systems– Distributed systemsDistributed systems– Model-driven process support environmentsModel-driven process support environments– Meta-modeling/process ontology interpretersMeta-modeling/process ontology interpreters

Page 6: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

Discrete-event simulation Discrete-event simulation and modelingand modeling

Page 7: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

FEAST Systems Dynamics FEAST Systems Dynamics Modeling for SimulationModeling for Simulation

Page 8: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

Vensim Systems Dynamics Vensim Systems Dynamics Modeling and SimulationModeling and Simulation

Page 9: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

Knowledge-based process Knowledge-based process modelingmodeling

Page 10: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

ProSim TechniquesProSim Techniques

• DescriptiveDescriptive M&S: Collect empirical data on M&S: Collect empirical data on existing software processes to reproduce existing software processes to reproduce observed patterns, or to improve themobserved patterns, or to improve them

• Pro/PrescriptivePro/Prescriptive M&S: Construct M&S that M&S: Construct M&S that demonstrate advantages of new processes demonstrate advantages of new processes compared to some real/imaginary baselinecompared to some real/imaginary baseline

• ExperimentalExperimental M&S: Construct M&S that M&S: Construct M&S that test theoretical propositions or enable test theoretical propositions or enable exploration of emerging conceptsexploration of emerging concepts

Page 11: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

Descriptive capture and Descriptive capture and tabular coding of process tabular coding of process

model details model details

Page 12: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

Lehman Software Evolution Lehman Software Evolution Growth DataGrowth Data

Page 13: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

ProSim ProSim EngineeringTechniquesEngineeringTechniques

Meta-modelingMeta-modeling VisualizationVisualization Instantiation Instantiation and enactmentand enactment

ModelingModeling Prototyping Prototyping and and

walkthroughwalkthrough

Monitoring and Monitoring and measurementmeasurement

AnalysisAnalysis Change Change managementmanagement

History capture History capture and replayand replay

SimulationSimulation IntegrationIntegration Repair and Repair and ImprovementImprovement

RedesignRedesign Environment Environment generationgeneration

Evolution and Evolution and asset mgmt.asset mgmt.

Page 14: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

As-is vs. to-be processAs-is vs. to-be process

Page 15: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

ProSim ConceptsProSim Concepts

• Meta-modeling vs. modelingMeta-modeling vs. modeling• Model-driven process support Model-driven process support

environmentsenvironments– Simulators, PSE/IDEs, Web-based Simulators, PSE/IDEs, Web-based

process hypertext/mediaprocess hypertext/media

• Process improvement via Process improvement via simulation, analysis, and redesignsimulation, analysis, and redesign

• Process depth vs. breadthProcess depth vs. breadth

Page 16: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

Process Meta-Model (left) and Process Meta-Model (left) and example process model example process model

(right)(right)

Page 17: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

Results, Findings, Results, Findings, AccomplishmentsAccomplishments

• Identifying high-yield and pathological Identifying high-yield and pathological processes and process domainsprocesses and process domains

• Software evolutionSoftware evolution• Software process improvement/redesignSoftware process improvement/redesign• Software process vs. business processSoftware process vs. business process• Hybrid simulations/modelsHybrid simulations/models• Process modeling languagesProcess modeling languages

– JIL, PML, xPADL, BPEL4WS (?) JIL, PML, xPADL, BPEL4WS (?)

Page 18: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

Web-based process Web-based process hypertext examplehypertext example

Page 19: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

A complex SDLC process modelA complex SDLC process model: : a a decomposition-precedencedecomposition-precedence relationship relationship

view (19 levels of view (19 levels of decomposition, 400+ tasks)decomposition, 400+ tasks)

Page 20: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

Research grant justification and approval Research grant justification and approval process at Office of Naval Researchprocess at Office of Naval Research

Page 21: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

MissingMissing Results, Findings, Results, Findings, AccomplishmentsAccomplishments

• M&S of CMM assessed processesM&S of CMM assessed processes• M&S of alternative SDLC process/tool M&S of alternative SDLC process/tool

frameworks (Waterfall vs. Spiral vs. Agile)frameworks (Waterfall vs. Spiral vs. Agile)• M&S software deployment/release, M&S software deployment/release,

diffusion, and adoption processesdiffusion, and adoption processes• M&S of software evolution process across M&S of software evolution process across

– Product linesProduct lines– Product/technology generationsProduct/technology generations

Page 22: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

Emerging ProSim R&D Emerging ProSim R&D OpportunitiesOpportunities

• M&S open source software M&S open source software development/evolution processesdevelopment/evolution processes

• Open source ProSim tools and M&S Open source ProSim tools and M&S examplesexamples

• Global ProSim interoperability Global ProSim interoperability testbedstestbeds

• Computer Game-based ProSim tools Computer Game-based ProSim tools and techniquesand techniques

Page 23: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

Emerging ProSim R&D Emerging ProSim R&D OpportunitiesOpportunities

• M&S open source software M&S open source software development/evolution processesdevelopment/evolution processes

Page 24: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

Release Process for NetBeans.orgRelease Process for NetBeans.org

Release candidat

e2

Release candidat

e 1

Development build

Q build

Release Manager

source code

Module maintainer

QA Team

Test(NetBean

s)

User

Use (NetBSean

s, Issuezilla)

List of bugs to

fix

Final Releas

e

Developer

Write bug fix

(NetBeans)

Check(NetBeans, Mailing list)

Module plan

Roadmap

Decide future release dates

Determine project

features (Mailing list)

Schedule

Releaseproposal

Start a new release phase

(Mailing list)

Determine main

features (Mailing

list)

Build(CVS

scripts)

Board member

Release Manager

NetBeans Web Site

Create module web

page(Web site)

List of bugs

Release information

update(SourceCast)

Check(NetBeans, Mailing list)

Check(NetBeans, Mailing list)

Decide which bugs to fix (Issuezilla)

Site administrator

Download links(SourceCast)

Module Web Page

Page 25: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

Linux Kernel growthLinux Kernel growth

Page 26: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

GNOME GrowthGNOME Growth

Page 27: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

Emerging ProSim R&D Emerging ProSim R&D OpportunitiesOpportunities

• Open source ProSim tools and M&S Open source ProSim tools and M&S examplesexamples

Page 28: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

Protégé 2000 Protégé 2000 OSS Modeling ToolOSS Modeling Tool

Page 29: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

Emerging ProSim R&D Emerging ProSim R&D OpportunitiesOpportunities

• Global ProSim interoperability Global ProSim interoperability testbedstestbeds

Page 30: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

Global ProSim testbed Global ProSim testbed conceptconcept

Page 31: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

Emerging ProSim R&D Emerging ProSim R&D OpportunitiesOpportunities

• Computer Game-based ProSim Computer Game-based ProSim tools and techniquestools and techniques

Page 32: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

Computer game process Computer game process simulation environmentsimulation environment

Page 33: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

Another game M&S Another game M&S environmentenvironment

Page 34: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

QuakeCon LAN Party with QuakeCon LAN Party with >1700 game players>1700 game players

Page 35: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

ConclusionsConclusions• R&D in Process Simulation and Modeling R&D in Process Simulation and Modeling

is active, sustained, growingis active, sustained, growing• Systems Dynamics remains the major Systems Dynamics remains the major

mode of ProSim research, though this mode of ProSim research, though this may require rethinkingmay require rethinking

• ProSim has produced substantial results ProSim has produced substantial results and accomplishmentsand accomplishments

• New opportunities for ProSim R&D are New opportunities for ProSim R&D are apparent and high valueapparent and high value

Page 36: Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine Wscacchi@uci.edu wscacchi/Presentations/ProSim03wscacchi/Presentations/ProSim03/Keynote

AcknowledgementsAcknowledgements

• The research in this presentation is The research in this presentation is supported by grants from:supported by grants from:– National Science Foundation National Science Foundation

• #IIS-0083075, #ITR-0205679, #ITR-#IIS-0083075, #ITR-0205679, #ITR-02057240205724

– No endorsement impliedNo endorsement implied..• Collaborators: Mark Ackerman (UMichigan), Collaborators: Mark Ackerman (UMichigan),

Les Gasser (UIUC), John Noll (SCU), Les Gasser (UIUC), John Noll (SCU), Margaret Elliott and Chris Jensen (UCI-ISR)Margaret Elliott and Chris Jensen (UCI-ISR)