220 likes | 351 Views
Modeling and Simulating Software Acquisition Process Architectures. James Choi and Walt Scacchi Computer Science Dept. Institute for Software Research California State University University of California
E N D
Modeling and Simulating Software Acquisition Process Architectures James Choi and Walt Scacchi Computer Science Dept. Institute for Software Research California State University University of California Fullerton, CA Irvine, CA
Overview • Software Acquisition • Modeling Software Process Architectures • A language for modeling processes • Modeling SPAs using the High-Level Architecture • Simulating Software Process Architectures • A software acquisition process simulator • A testbed for simulating SPAs using the HLA
Software Acquisition • Multi-enterprise network of processes including software engineering, program and project management, systems integration, deployment and field support. • Large-scale, long-lived, expensive, and often problematic
Software Acquisition • Virtual System Acquisition (VISTA--Boehm and Scacchi 1996,1998) • VISTA suggests the need to integrate and interoperate models and simulations of multiple, distributed software system and software processes • How to integrate and interoperate multiple, distributed software process simulations
Software Acquisition • Acquisition process requires factoring and separation of concerns • => need for software process architectures • Goal:investigate modeling and simulation of software process architectures for software acquisition
Modeling Software Process Architectures • Software Process Architecture (SPA): • Software process components whose resource interfaces are interconnected with connectors, following an overall architectural style. • A language for modeling processes • Modeling SPAs using the High-Level Architecture
A language for modeling processes process Proposal_Submit { action submit_proposal { agent { PrincipalInvestigator } requires { proposal } provides { proposal.contents == file } script {"<p>Submit proposal contents.\ <p>BAA to which this proposal responds: \ <input name='baa' type='string' size=16>\ <br>Proposal title: <input name='title' type='string' size=50>\ <br>Submitting Institution: <input name='institution' type='string' size=25>\ <br>Principle Investigator: <input name='PI' type='string' size=20>\ Email: <input name='PIemail' type='string' size=20>\ <br>Contact: <input name='contact' type='string' size=20>\ Email: <input name='contactEmail' type='string' size=12>\ <br>Proposal contents file: <INPUT NAME='file' TYPE='file'>" } }
Modeling processes using HLA • What is the High-Level Architecture? • Framework for interoperating independent components integrated with a Run-Time Infrastructure (a global messaging bus) • Layered, data abstraction, and event-based architectural style supporting publish-subscribe messaging • HLA is an emerging international standard • 10 framework and interface rules that require use of the HLA RTI
Manager Cn Fulfillment Mechanism Connector Legend: Pi = Software Producer process Ci = Software Consumer process Pn P1 P2 C2 C1 An SPA for Acquisition conforming to the HLA style
Simulating Software Process Architectures • A software acquisition process simulator • A testbed for simulating SPAs using the HLA
A software acquisition process simulator • Software process simulators: • person-in-the-loop software process walkthrough • enables wide-area user participation in software process design, evaluation and improvement • introduced at ProSim’99 (Scacchi 2000). • Software acquisition simulator • process simulator for domain of software acquisition
A testbed for simulating SPAs using the HLA • Four classes of software acquisition processes • Consumer, Producer, Fulfillment, Manager • Each runs as a separate simulation (“Federate”) that interoperates (exchanges state info) through the HLA Run-Time Infrastructure (global bus) • Each simulation supports multiple concurrent instances • Consumers and Producers exchange requests for, and shipment of, software using the Fulfillment mechanism, as coordinated by the Manager
Discussion • The run-time environments for PML and HLA are not compatible • An architectural mismatch! • PML and HLA models of software processes have different run-time semantics • HLA appears to be ill-suited for use to integrate or interoperate existing software process simulations.
Conclusions • Demonstrated software process modeling and simulation for software acquisition domain • Introduced software process architectures • Evaluated alternative architectures for modeling and simulating SPAs • Demonstrated distributed and concurrent simulation of multiple interoperating software processes for acquisition