Scalable Composition of Subsystems(scos)

Software Producibility

This 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:

  1. integration technologies for legacy and custom subsystems that provide an understanding of the interaction of subsystems;
  2. scalable composition mechanisms for system-of-systems architectures;
  3. interface formalisms through which compatibility of subsystems can be checked and properties of compositions can be determined from properties of the subsystems;
  4. Ontology models for the organization of components together with a semantic type system for the data on which they operate; and
  5. Hybrid models for designing and analyzing the dynamics of subsystem interactions with their physical environment. We assume that subsystems have arbitrary granularity, and can range from simple software components to entire legacy systems appropriately wrapped.

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 modifications to the model are specified using a triple-graph grammar. This example and the model transformation infrastructure was constructed by CHESS researcher Thomas Huining Feng.

The follow-on project is Disciplined Design of System of Systems (DDOSOS)

©2002-2018 Chess