|
Scalable Composition of Subsystems(scos)Software ProducibilityThis project, which ran from February 2007 until January 2012, was funded by the Army Research Office in connection with the OSD Software-Intensive Systems Producibility Initiative. The mission was to research scalable techniques in software engineering based upon the concepts inherent in modelbased composition. The overarching goal was to show that these techniques will result in predictable and understandable behaviors in Systems-of-Systems (SoS) environments. The focus was on interaction between components (rather than the conventional focus on transformation of data), and on composition, which in this domain needs to be intrinsically concurrent (rather than the conventional thread-based applique of concurrency on imperative models).Composition is based on:
We focused on actor-oriented (AO) models, which complement object-oriented (OO) component architectures with intrinsically concurrent subsystem coordination mechanisms. In OO, components interact principally through transfer of control (method calls). At coarse granularity, distributed objects interact through middleware that extends OO principles with proxies that mask the distributed nature of the system. At still coarser granularity, middleware services support a variety of strategies for managing distributed data and concurrent interactions, including message passing, web services, transparent data replication, event marshalling, transaction services, and distributed file systems. AO mechanisms focus instead on concurrent semantics with disciplined, well-founded concurrency and communication mechanisms. One major outcome of this project has been a model transformation technology (see figure below) that has applications to model optimization, scalable model construction, joint management of product families, design refactoring, and workflow automation. In the mechanisms that we have developed, models construct models. The same modeling languages are used to specify a scalable composition of components as are used to specify the component interactions. Potential applications include large complex software systems, distributed systems, and scalable parallel programming.
The figure above illustrates a model transformation workflow that constructs an arbitrarily sized computational model following the MapReduce pattern of Dean and Ghemawat. The top-level model is a dynamic dataflow (DDF) model that creates a MapReduce model and then displays and executes it. It creates the model by invoking the mid-level model, which is a synchronous dataflow (SDF) model that constructs the MapReduce model. This model uses model-transformation components that accept Ptolemy II models at their inputs and produce modified Ptolemy II models at their outputs. The follow-on project is Disciplined Design of System of Systems (DDOSOS)
|