modeling and simulating software acquisition process architectures
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Modeling and Simulating Software Acquisition Process Architectures
James Choi and Walt ScacchiComputer 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 processesprocess 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
P1 P2
Pn
C1C2
Cn
Legend:
Pi = Software
Producer process
Ci = Software
Consumer process
Fulfillment Mechanism Connector
Manager
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