Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research...

Post on 19-Dec-2015

214 views 0 download

Tags:

Transcript of Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research...

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

A ReviewA Review

Walt ScacchiWalt ScacchiInstitute for Software ResearchInstitute for Software Research

UCIrvineUCIrvineWscacchi@uci.eduWscacchi@uci.edu

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

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

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

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.

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

Discrete-event simulation Discrete-event simulation and modelingand modeling

FEAST Systems Dynamics FEAST Systems Dynamics Modeling for SimulationModeling for Simulation

Vensim Systems Dynamics Vensim Systems Dynamics Modeling and SimulationModeling and Simulation

Knowledge-based process Knowledge-based process modelingmodeling

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

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

model details model details

Lehman Software Evolution Lehman Software Evolution Growth DataGrowth Data

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.

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

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

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

(right)(right)

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 (?)

Web-based process Web-based process hypertext examplehypertext example

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)

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

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

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

Emerging ProSim R&D Emerging ProSim R&D OpportunitiesOpportunities

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

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

Linux Kernel growthLinux Kernel growth

GNOME GrowthGNOME Growth

Emerging ProSim R&D Emerging ProSim R&D OpportunitiesOpportunities

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

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

Emerging ProSim R&D Emerging ProSim R&D OpportunitiesOpportunities

• Global ProSim interoperability Global ProSim interoperability testbedstestbeds

Global ProSim testbed Global ProSim testbed conceptconcept

Emerging ProSim R&D Emerging ProSim R&D OpportunitiesOpportunities

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

Computer game process Computer game process simulation environmentsimulation environment

Another game M&S Another game M&S environmentenvironment

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

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

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)