Tags: 115a campbell hall, aniruddha gokhale, balachandran, brookings drive, component middleware, computer science information, douglas c schmidt, jeff gray, jeff parsons, nanbor wang, neema, otto hahn, otto hahn ring, principled methods, siemens ag, software integrated systems, st louis mo, university birmingham, vanderbilt university, wustl edu,
CoSMIC: An MDA Generative Tool for Distributed Real-time and
Embedded Component Middleware and Applications
Douglas C. Schmidt Aniruddha Gokhale, Balachandran Natarajan
Sandeep Neema, Ted Bapty, Jeff Parsons
schmidt@uci.edu fgokhale, bala, neemask, bapty, parsonsg
@isis-server.vuse.vanderbilt.edu
Dept. of Electrical Institute for Software Integrated Systems
and Computer Engineering
University of California Vanderbilt University
616E Engineering Tower Box 1829, Station B
Irvine, CA 92697, USA Nashville, TN 37203, USA
Jeff Gray Andrey Nechypurenko Nanbor Wang
gray@cis.uab.edu andrey.nechypurenko@siemens.com nanbor@cse.wustl.edu
Dept. of Computer and Siemens AG, CT SE2 Dept. of Computer Science
Information Sciences and Engineering
115A Campbell Hall Campus Box 1045
1300 University Blvd Otto-Hahn-Ring 6 One Brookings Drive
Univ of Alabama at Birmingham Washington University
Birmingham, AL 35294, USA Munich, 81739, Germany St. Louis, MO 63130, USA
Abstract We therefore need principled methods for specifying, pro-
gramming, composing, integrating, and validating software
This paper presents three contributions to the challenges of ap- for these systems that can enforce the physical constraints,
plying the OMG Model Driven Architecture (MDA) to develop as well as satisfy stringent quality of service (QoS) and func-
and deploy distributed real-time and embedded (DRE) appli- tional requirements.
cations. First, we motivate our MDA tool called CoSMIC, Due to constraints on weight, power consumption, memory
which is based on the Model Integrated Computing (MIC)
footprint, and performance, development techniques for DRE
paradigm that provides the intellectual foundation for MDA.
application software have lagged those used for mainstream
Second, we describe how CoSMIC's generative abilities can desktop and enterprise software. In particular, DRE applica-
be used to configure and assemble DRE component middle-
tions have historically been manually programmed and cus-
ware required to deploy DRE applications. Third, we delin- tomized from scratch to implement their required QoS proper-
eate the challenges involved in developing CoSMIC. Based on ties, making them expensive to build and maintain. Moreover,
our collective experience developing MIC tools and DRE mid-
they are often so specialized that they cannot adapt readily to
dleware, we are confident that combining these two paradigms meet new functional or QoS requirements, hardware/software
will yield significant advantages in developing model based
technology innovations, or market opportunities.
DRE applications.
To address the problems with manually developing and cus-
tomizing DRE systems from scratch, there is growing interest
1 Introduction in composing these types of systems using commercial off-
the-shelf (COTS) hardware (such as COTS DSPs and CPUs)
Well over 95 percent of all microprocessors are now used and software (such as real-time operating systems and QoS-
for real-time and embedded systems. These systems are in- enabled component middleware services). One of the key
creasingly being networked together to form distributed real- challenges in using COTS software in DRE systems is deter-
time and embedded (DRE) systems. Many DRE systems are mining, assembling, and deploying a right mix of QoS-enabled
both mission-critical and constrained by the physical world. COTS middleware components that can satisfy the stringent
1
QoS requirements of DRE systems. Ad hoc techniques, such tive techniques; and Section 5 presents concluding remarks.
as manually choosing the right mix of middleware compo-
nents, do not scale well as the application size and require-
ments increase. Moreover, ad hoc techniques are often te- 2 Overview of CoSMIC
dious, error-prone, and lack a solid verification and validation
foundation. The Component Synthesis using Model Integrated Computing
To address these problems, we require tools that allow de- (CoSMIC) project at Vanderbilt University's Institute for Soft-
velopers to specify application requirements at higher lev- ware Integrated Systems (ISIS) is developing domain-specific
els of abstraction than that provided by lower-level mech- tools for composing and deploying DRE middleware-based
anisms, such as conventional general-purpose programming applications. The initial set of CoSMIC tools are targeting a
languages. These tools must be able to analyze the require- DRE component middleware suite that consists of the follow-
ments and generate the required directives that will compose ing frameworks:
applications from the right set of COTS middleware compo- The Component Integrated ACE ORB (CIAO) [8, 6],
nents. A promising example of such tools are those based on which is a QoS-enabled CORBA Component Model
Model-Integrated Computing (MIC) [1]. (CCM) [7] middleware framework developed at Wash-
Model-Integrated Computing (MIC) is a development ington University, St. Louis, and
paradigm that applies domain-specific modeling languages The Quality Objects (QuO) [9] framework, which is an
systematically to engineer DRE computing systems. Pop- adaptive middleware developed by BBN Technologies.
ular examples of MIC toolsuites in use today include the
Generic Modeling Environment (GME) [2] and Ptolemy [3]. The CoSMIC toolsuite is designed to (1) model and analyze
These toolsuites provide rich, domain-specific modeling envi- DRE application functionality and QoS requirements and (2)
ronments, including model analysis and model-based program synthesize CCM-specific deployment metadata for CIAO and
synthesis tools. Work on MIC in the DARPA Model-based In- QuO required to provision and enforce end-to-end QoS both
tegration of Embedded Systems (MoBIES) program [4] also statically and dynamically [6]. Figure 1 illustrates the key el-
provides the intellectual foundations of the OMG's MDA ap- ements in the CoSMIC-based DRE application development
proach for DRE systems. process. The CoSMIC tools can be used to model the require-
In the MIC paradigm, application developers model an inte- ments and adaptation policies needed to manage the QoS of
grated, end-to-end view of the entire application, including the DRE applications. Figure 2 illustrates seven points at which
interdependencies of its components. Rather than focusing on CoSMIC can be integrated into the integrated CIAO and QuO
a single, custom application, MIC models capture the essence component middleware and applied to DRE applications. The
of a class of applications, similar to the goals of product-line seven points of integration shown in Figure 2 include
architectures. MIC also allows the modeling languages and 1. Configuring and deploying application services end-
environments themselves to be modeled by so-called meta- to-end, which involves generating and provisioning the
models [5], which help to synthesize domain-specific model- policies for partitioning and distributing application ser-
ing languages that can capture the nuances of domains they are vices and resources.
designed to model. 2. Composing components into component servers,
Recent advances in QoS-enabled component middleware, which involves generating the directives to assemble
such as the Component-Integrated ACE ORB (CIAO) [6] semantically compatible application components from
real-time CORBA Component Model (CCM) [7] middleware, reuse repositories and determining the interconnections
make them amenable to composition of DRE applications between these selected components.
from COTS component middleware. To use MIC for this 3. Configuring application component containers, which
composition requires the creation of domain-specific model- comprises generating QoS policies, such as threading
ing languages that model the behavior and interaction of com- policies or levels of security and fault tolerance, for the
ponent middleware, such as CIAO. Moreover, MIC generative containers hosting the components.
tools must be developed that understand these models and au- 4. Synthesizing application component implementa-
tomatically configure and customize the middleware for DRE tions, which consists of generating application compo-
applications. nents tailored to satisfying specific requirements, such as
The remainder of this paper is organized as follows: Sec- worst-case execution time of tasks.
tion 2 provides an overview of CoSMIC, which is an MDA 5. Synthesizing dynamic QoS provisioning and adapta-
toolsuite we have designed to integrate MIC and component tion logic, which includes generating the QoS provision-
middleware for DRE systems; Section 3 describes the chal- ing and adaptation logic understood by adaptive frame-
lenges involved in developing CoSMIC tools that use genera- works, such as QuO.
2
Chicago Flight Field Radar
Integrated System Data Scheduling Control
Model Constraints Center System
Central
Data
Store
CoSMIC
Integrate & Executable 1
Model Interpreter &
Generate specifications
Code Synthesizer
Component Middleware Bus
Repository
Compose Deploy
Component Airport
CoSMIC Assembly Traffic
Select Component Control
CIAO Component Components Assembly/Code System Development 2
Generator
Repository Component
Home
synthesize &
1 UML Model Container
CORBA
assemble Component QoS Policies
Reflect
5
QoS Property
CoSMIC
4 Adaptor
CIAO
Model
CCM POA
CIAO Plugins Interpreter & 3
Assembly Synthesizer
6 ORB
ORB QoS Interfaces
select (Scheduling,
Metadata Timeliness,Priority,...)
components
7
CIAO ORB Plugins
Deploy ORB
Package
CCM Component Library
Deployment CIAO
Tools CIAO
Application
Server
1 Configuring and deploying an application services end-to-end
2 Composing components into application server components
3 Configuring application component containers
Figure 1: Developing Component Middleware-based DRE 4 Synthesizing application component implementations
Applications Using the CoSMIC Process
5 Synthesizing dynamic QoS provisioning and adaptation logic
6 Synthesizing middleware-specific configurations
6. Synthesizing middleware-specific configurations, 7 Synthesizing middleware implementations
which involves generating the directives to configure
the middleware, such as choice of transport protocols, Figure 2: Incorporating Model-Integrated Computing with
threading models, and demultiplexing strategies. Component Middleware
7. Synthesizing middleware implementations, which
comprises generating custom middleware components,
such as components for memory constrained systems. high-level models. Figure 3 illustrates the different meta-
data that needs to be generated to configure QoS-enabled
Additional information on these steps appears in [6].
component middleware. In particular, CoSMIC provides a
CIAO/QuO metadata modeling language to generate meta-
data, such as XML descriptors that provide directives on as-
3 The Design and Implementation sembling and packaging CORBA components along with the
Challenges of CoSMIC Generative adaptation logic. The challenges also include modeling inter-
nal behavior of CIAO/QuO.
Tools Generative techniques for component middleware con-
tainer policies. Figure 4 illustrates the need to model
This section outlines the challenges we have faced when de-
and synthesize CCM container policies using aspect model
veloping the CoSMIC generative toolset.
weavers. This task involves refactoring and modeling cross-
Generative techniques for component middleware config- cutting DRE middleware QoS concerns, such as levels of
uration metadata. The QoS requirements of DRE applica- fault tolerance, security, and persistence. The CoSMIC as-
tions can be assured when the middleware they are based on pect model weaver tools [10] are designed to synthesize the
are highly optimized and tailored to the application's QoS re- appropriate CIAO container QoS policies [11]. For exam-
quirements. One way to achieve this is by generating the ple, cross cutting concerns, such as security, are refactored
configuration metadata for parametrizing the middleware from from the models for CCM containers. CoSMIC aspect model
3
Interface Repository Require highest priority
CCM Container Run at client priority
Meta- Reserve 30% processor cycles
information
Object
Client descriptions
(Servant) Reserve bandwidth
Do not share the connection
in args
Operation () Deployment
Server
out args + return &
Request Server-side
Client value
Configuration
Smart Proxy Interceptor meta-object
Request
(Skeleton, Metadata
Interceptor ORB
DSI)
Interfaces Servant
Deployment Trading Logging
Manager Impl Component Component
&
Client-side
Configuration
meta-object DII
(Stub)
Mechanism Containers Containers
Custom Object store
meta-object
POA
Transport
Application Server
Transport protocol Transport protocol
ORB Core
meta-object meta-object Figure 5: CIAO Component QoS Aspect Weaving
GIOP GIOP
Cross-Domain Protocol
Client-Side
Bridge
Service-Side
Bridge
described before.
Instantiates Interacts End-to-end QoS assurance. Assuring end-to-end applica-
tion QoS involves QoS assurance at different levels of middle-
Figure 3: CIAO Metadata Configuration ware, operating systems, and networks. End-to-end QoS can
be attained in the following two ways:
Component
Home By aggregating the QoS offered at each layer, since each
Container layer guarantees certain levels of QoS, or
CORBA
Component QoS Policies By each layer adapting their offered QoS based on of-
Reflect
fered QoS of adjacent layers.
QoS Property
Adaptor Figure 6 illustrates the adaptive approach taken by QuO.
Figure 6 illustrates one way of decoupling (1) the application's
Client
Real-time POA
in args
OBJ Object
Client REF operation () (Servant)
Callback
Callback
out args + return value
Contract Contract
ORB QoS Interfaces Delegate Delegate
(Scheduling, Timeliness, Priority,...)
SysCond SysCond
SysCond
SysCond Mechanism/property
Manager IDL
Figure 4: CIAO Container Policy Configuration IDL Skeletons
Stubs Object Adapter
ORB Core IIOP Network IIOP ORB Core
weavers generate specialized models of container policies by
weaving in the security-related cross-cutting concerns into the Figure 6: Qos Assurance via Adaptation in QuO
original container models.
Generative techniques for synthesizing aspectized compo- functional path, which consists of information flows between
nent middleware. Figure 5 illustrates the need to model and client and remote server applications, from (2) the QoS sys-
synthesize application component logic using aspect model temic paths, which are responsible for determining how well
weavers. Similar to the previous point, this task involves the functional interactions behave end-to-end with respect to
abstracting out and modeling separately all the cross-cutting key DRE QoS properties. In QuO, the QoS systemic prop-
DRE application QoS concerns, such as priorities of tasks, erties are specified using the Quality Description Language
worst case execution times, and bandwidth requirements, in (QDL) and the negotiated QoS contract between the applica-
addition to application behavior and component interactions. tion and middleware is specified in the Contract Description
The CoSMIC aspect model weaver tools are used to gener- Language (CDL). The QuO framework monitors the resource
ate specialized models of application components by weav- usage whose values are stored in the syscond objects. De-
ing in these cross-cutting concerns into the original models. pending on the current values of the syscond objects, the QuO
CoSMIC's assembly generator tools then use these special- framework consults the CDL contracts to achieve runtime QoS
ized models to synthesize components and their assembly, as adaptation.
4
CoSMIC modeling and generative tools are addressing both example, the CoSMIC modeling languages can be extended
scenarios by modeling the offered QoS of individual layers to allow modeling of on-demand remodularization. Based on
and/or modeling the adaptive policies required by each layer. these models, the CoSMIC generative tools can synthesize the
appropriate adapters within collaborative components.
4 Future Directions in Generative Pro-
5 Concluding Remarks
gramming and the Role of MDA
The Model Driven Architecture (MDA) is an ambitious
In generative programming, the set of requirements that de- standards-based effort that aims to codify the patterns and de-
scribes the interface and semantic behavior is referred to as velopment techniques evolved over years of R&D efforts on
a concept [12]. A concept is a set of features that one soft- component middleware, Model-Integrated Computing (MIC),
ware component expects from another. The implementation and related generative software technologies. Achieving the
(or a model) of a particular concept makes it possible to plug MDA vision is essential to reduce the lifecyle costs of complex
the component to an existing infrastructure that knows how to DRE applications that encompass a wide range of application
deal with a specific concept, e.g., the set of STL algorithms domains, including defense, telecommunications, medicine,
and the iterators concepts. process control, automotive, and manufacturing.
The idea of component containers could be also interpreted This paper describes our work on the CoSMIC project,
in a similar way, where a component must satisfy requirements which is an MDA toolsuite we are developing to integrate
exposed by its container to be plugged into a container frame- MIC and component middleware for DRE systems. The ini-
work, e.g., the POA/ServantBase relationships in CORBA. tial focus of CoSMIC is modeling and generating code that can
The same argument is valid for component-based applications statically provision key QoS properties of CIAO and QuO. In
where a component can be substituted by another component the future, we will focus on analyzing and generating model
that models the same concept. As an example of such a substi- driven solutions for systems that operate in dynamic environ-
tution, the CCM component description has expected and pro- ments and hence need runtime QoS provisioning via adapta-
vided sections to enable automatic composability checking. tion.
The concept technique alone, however, is not sufficient In the context of the DARPA MoBIES and PCES pro-
to achieve the goals of MDA, where platform indepen- grams, we are applying CoSMIC to several application do-
dence, component composability, and interoperability issues mains, including aerospace, telecommunications, medicine,
are paramount. The problem lies in the existence of various process control, automotive, and manufacturing. For exam-
mechanisms provided by containers and operating systems to ple, CoSMIC is being used to model and provision adaptive
achieve the same goals. For example, although both CCM and QoS for a Unmanned Aerial Vehicle (UAV) application [11].
Enterprise Java Beans (EJB) containers provide access to the Over time, our CoSMIC toolsuite will evolve to target exist-
current execution context of the component they use different ing and emerging QoS-enabled middleware, such as Real-time
interfaces. The same is true for concurrency, IPC, and other Java and XML/HTTP-based web services.
mechanisms provided by different operating systems [13, 14].
A promising way to solve this problem is on-demand re-
modularization [15], which is the ability to identify and en- References
capsulate new dimensions of concern at any time without in- [1] Janos Sztipanovits and Gabor Karsai, "Model-Integrated Computing,"
vasive changes, thereby allowing manual or automatic (adap- IEEE Computer, vol. 30, no. 4, pp. 110112, Apr. 1997.
tive) selection of the best modularization based on any or all [2] Akos Ledeczi, Arpad Bakay, Miklos Maroti, Peter Volgysei, Greg
of the concerns of the development task. On-demand remod- Nordstrom, Jonathan Sprinkle, and Gabor Karsai, "Composing
Domain-Specific Design Environments," IEEE Computer, Nov. 2001.
ularization could be used to convert functionality provided by
infrastructural software to support concepts expected by the [3] J. T. Buck, S. Ha, E. A. Lee, and D. G. Messerschmitt, "Ptolemy: A
Framework for Simulating and Prototyping Heterogeneous Systems,"
collaborative parties. After such a conversion, for example, the International Journal of Computer Simulation, Special Issue on
collaborative components in CCM and EJB can use generative Simulation Software Development Component Development Strategies,
vol. 4, Apr. 1994.
techniques for adapting the component callback interfaces to
[4] John Bay, "Recent Advances in the Design of Distributed Embedded
satisfy the container requirements. Moreover, on-demand re- Systems," in Proceedings of SPIE, Volume 47: Battlespace Digitization
modularization enables high degree of adaptivity. and Network Centric Warfare, Apr. 2002.
Our future work involves (1) adding remodularizaton sup- [5] Jonathan M. Sprinkle, Gabor Karsai, Akos Ledeczi, and Greg G.
Nordstrom, "The New Metamodeling Generation," in IEEE
port to CoSMIC MDA generators and (2) support for on- Engineering of Computer Based Systems, Washington, DC, Apr. 2001,
demand adaptive remodularization to CIAO containers. For IEEE.
5
[6] Nanbor Wang, Douglas C. Schmidt, Aniruddha Gokhale,
Christopher D. Gill, Balachandran Natarajan, Craig Rodrigues,
Joseph P. Loyall, and Richard E. Schantz, "Total Quality of Service
Provisioning in Middleware and Applications," Submitted to the
Journal of Microprocessors and Microsystems, vol. 26, no. 9-10, jan
2003.
[7] BEA Systems, et al., CORBA Component Model Joint Revised
Submission, Object Management Group, OMG Document
orbos/99-07-01 edition, July 1999.
[8] Nanbor Wang, Krishnakumar Balasubramanian, and Chris Gill,
"Towards a real-time corba component model," in OMG Workshop On
Embedded & Real-Time Distributed Object Systems, Washington, D.C.,
July 2002, Object Management Group.
[9] Rodrigo Vanegas, John A. Zinky, Joseph P. Loyall, David Karr,
Richard E. Schantz, and David E. Bakken, "QuO's Runtime Support
for Quality of Service in Distributed Objects," Proceedings of
Middleware 98, the IFIP International Conference on Distributed
Systems Platform and Open Distributed Processing, September 1998.
[10] Jeffery Gray, Ted Bapty, and Sandeep Neema, "Handling Crosscutting
Constraints in Domain-Specific Modeling," Communications of the
ACM, pp. 8793, Oct. 2001.
[11] Sandeep Neema, Ted Bapty, Jeff Gray, and Aniruddha Gokhale,
"Generators for Synthesis of QoS Adaptation in Distributed Real-Time
Embedded Systems," in Proceedings of the ACM SIGPLAN/SIGSOFT
Conference on Generative Programming and Component Engineering
(GPCE'02), Pittsburgh, PA, Oct. 2002.
[12] Krzysztof Czarnecki and Ulrich W. Eisenecker, "Components and
Generative Programming," in Proceedings of the 7th European
Engineering Conference held jointly with the 7th ACM SIGSOFT
Symposium on Foundations of Software Engineering, Toulouse, France,
1999, ACM, pp. 219.
[13] Douglas C. Schmidt and Stephen D. Huston, C++ Network
Programming, Volume 1: Mastering Complexity with ACE and
Patterns, Addison-Wesley, Boston, 2002.
[14] Douglas C. Schmidt and Stephen D. Huston, C++ Network
Programming, Volume 2: Systematic Reuse with ACE and Frameworks,
Addison-Wesley, Reading, Massachusetts, 2002.
[15] Mira Mezini and Klaus Ostermann, "Integrating Independent
Components with On-demand Remodularization," in To appear in the
Proceedings of the 17th ACM Conference on Object-Oriented
Programming, Systems, Languages, and Applications (OOPSLA'02),
Seattle, Washington, USA, November 2002, ACM.
6