Two-Level Weaving Video Demos

Demo 1:

Model Driven Program Transformation without C-SAW

Video Summary: This initial video demonstrates the transformation of C++ code from high-level descriptions in models. In particular, the video demonstrates transformations on components within BoldStroke - a large mission-computing avionics application from Boeing that is comprised of several million lines of C++ code in thousands of components. To keep the demo short, the video only shows transformation across a few components. However, the model driven transformation concept is scalable to a large set of components.

In the video, it will first be shown that there are no concurrency control and black-box data recording concerns in the initial component source. Then, from the Embedded Systems Modeling Language (ESML), properties of a BoldStroke usage scenario are captured. The video will show the manual addition of modeling properties to "Log" and "Lock" data fields of the model. The program transformation rules corresponding to the model properties are generated by invoking a model interpreter from the GME toolbar. This new interpreter will generate the transformation rules and invoke the DMS (from Semantic Designs) program transformation system. As a result, the video will demonstrate that the corresponding C++ files were updated from the transformations generated from the model properties. In effect, aspect weaving of C++ code is driven from the models.

        Video Formats Available for this Demo:

Demo 2:

Model Driven Program Transformation with C-SAW

Video Summary: This video is very similar to Demo 1, except that C-SAW is utilized to weave the "LogOnWrite" strategy across multiple components. This illustrates the power of C-SAW when compared to the manual addition of logging, as was shown in Demo 1. C-SAW provides the ability to weave crosscutting properties across a large set of models. Without C-SAW, a modeler must manually click and modify many different model locations, which can be a very time consuming and onerous task.

        Video Formats Available for this Demo:

Demo 3:

Using C-SAW to Add Crosscutting Properties

Video Summary: C-SAW is a new aspect model weaver that is integrated within the GME modeling tool. The input to C-SAW is a specification file that contains an aspect specification and one or more strategy specifications written in the Embedded Constraint Language (ECL), This video will show several example aspect specifications and demonstrate the affected changes on the target models.

Video Formats Available for this Demo:


    Model Scalability through Replicators Video Demos

Demo 4:

Using C-SAW to Scale Up the System Integration Modeling Language (SIML)

Video Summary: The System Integration Modeling Language (SIML) is used to specify configuration of large-scale data processing systems used by physicists. A system model expressed in SIML captures components and relationships at the systems engineering level, which may be composed of several independent regions. This demo demonstrates C-SAW as a model replicator to scale up a SIML system model from 1 region to 9 regions, as well as expanding the contents of each region.

Video Formats Available for this Demo:


Demo 5:

Using C-SAW to Scale Up the Stochastic Reward Net Modeling Language (SRNML)

Video Summary: A Stochastic Reward Net (SRN) can be used to model performance concerns of different types of systems. The Stochastic Reward Net Modeling Language (SRNML) is a modeling language developed in GME to describe SRN models of large distributed systems. The SRN model in this demo depicts the mechanism of event demultiplexing and dispatching of the Reactor pattern. This demo demonstrates C-SAW as a model replicator to scale up a SRN model from 2 event types to 4 event types.

Video Formats Available for this Demo:



**NOTE: You may need to install the Camtasia co-dec to view the AVI format. It is located at:


If you have any problems with these videos, or would like to see them in a different video format, please write to us.

Related Work

    Please visit the GenAWeave web site for a video demo of an aspect weaver for Object Pascal.