170 likes | 363 Views
Experience with Software Process Simulation and Modeling. Walt Scacchi ATRIUM Laboratory Wscacchi@rcf.usc.edu. Overview. Introduction Simulating and modeling software development processes Simulation and modeling in process life cycle engineering Experience in industrial settings
E N D
Experience with Software Process Simulation and Modeling Walt Scacchi ATRIUM Laboratory Wscacchi@rcf.usc.edu
Overview • Introduction • Simulating and modeling software development processes • Simulation and modeling in process life cycle engineering • Experience in industrial settings • Emerging topics in software process simulation and modeling
Introduction • Modeling and simulation as tools/techniques for understanding software processes • “As-is” processes • “To-be” processes • “Here-to-there” transition processes
Sim/Mod Soft. Dev. Processes • Knowledge-Based Simulation (KBS) • Custom built: Articulator environment (88-96) • Process states explicit or implicit • Persistent representation of state • Discrete-Event Simulation (DES) • COTS: Witnesstm • Process states always explicit
Sim/Mod Soft. Dev. Processes • KBS: • Used for fine-grain process understanding • Analyzing process with multiple/mixed levels of process instance/class granularity • Analyzing patterns of interaction and workflow among software developers/agents • Analyzing processes whose structure and control flow are dynamic (process dynamism)
Sim/Mod Soft. Dev. Processes • KBS: • Implemented as a semantic network whose nodes (objects, attributes) and links (relations) are updated by triggered rule firings • KBSs run forward, backward, or triggered by user query • KBSs output can be paraphrased and summarized using natural language generation techniques
Sim/Mod Soft. Dev. Processes • DES: • Analyzing different samples of parameter values in software process instances • Simulations resemble transportation/flow networks • Easy to observe process bottlenecks or optimization opportunities • Can assess and validate simulation vs. actual replicability
Sim/Mod Soft. Dev. Processes • DES: • Well-suited for studying repeated processes with large number of process instances • Can provide animated visual display of simulated process execution: Big Win! • Animated software process “movies” are intuitive, easy to grasp, and empowering
Experience in industrial settings • Have modeled/simulated >100 processes using Articulator KBS environment • Examined small<-->very large software development projects • Have found or developed results that have (or could have) saved projects substantial amounts of money, time, and frustration
Emerging topics in software process simulation and modeling • Supporting software process reengineering • SAMSA: Simulation and modeling for software acquisition • A wide-area information infrastructure supporting software development, use, and evolution processes
Conclusions • KBS facilitates qualitative analysis • DES facilitates quantitative analysis • KBS and DES are complementary, not strict alternatives • Process meta-models were key to integration of process simulation and modeling into overall process life cycle
Conclusions • KBS of software/business processes is still “rocket science” • Agent-based systems on the WWW may re-invent the development/use of KBS • Intuitive and animated visual displays of software process simulations and models merit further investigation