Post on 19-Dec-2015
transcript
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)