CoSMIC Overview
Although rapid strides in
QoS-enabled component middleware technology
have helped to resolve a number of Distributed Real-time and Embedded
(DRE) application development challenges,
a number of challenges
remain unresolved. It is in this context that Model Driven Development
(MDD), such as the OMG's
Model Driven Architecture (MDA)
and Model
Integrated Computing (MIC), and
Generative
Programming can be effectively combined with QoS-enabled
component middleware technologies to resolve these
challenges.
The Model-driven Generative Programming tool-chain (shown in the Figure
below) we are developing is called CoSMIC (Component
Synthesis using Model
Integrated Computing). CoSMIC comprises a collection of
Domain Specific Modeling Languages (DSMLs)
and model interpreters that apply MDD technologies to
QoS-enabled component middleware technologies along along these
seven points of
integration described in this
paper and presentation.
CoSMIC Tool Chain (clickable image)
- Specification and
implementation, which enables application
functionality specification, partitioning, and implementation
as components. CoSMIC provides IDML (Interface
Definition Modeling Language}, which is a DSML that can be
used to specify component definitions. IDML also provides an
importer called tao_picml that can transform
preexisting IDL definitions into modeling
elements. Implementation modeling is not supported yet in
CoSMIC but eventually we will provide behavioral modeling and
component interaction modeling. IDML has now been incorporated
within PICML described next.
- Component assembly and
packaging, which can bundle a suite of software binary
modules and metadata representing application components.
CoSMIC provides the PICML (Platform Independent
Component Modeling Language}, which is a DSML that models the
connections between various components to form
assemblies. PICML enables these assemblies to be composed into
packages that can be shipped to target nodes.
- Configuration,
which allows packages to be customized with the appropriate
parameters that satisfy the functional and systemic requirements
of applications. CoSMIC provides the OCML (Options
Configuration Modeling Language} (OCML) to model the middleware
configuration rules, which are then synthesized into a rules
engine and graphical environment that application developers use
to configure the middleware.
CoSMIC also provides the QoSML (Quality of Service
Modeling Language), which is a DSML that supports modeling
real-time CORBA configurations. Additionally CoSMIC provides
the EQAL (Event Quality Aspect Language), which is a DSML
that allows modeling publisher/subscriber communication paradigm,
including federations.
- Planning, which makes
appropriate deployment decisions including identifying the
entities, such as CPUs, of the target environment where the
packages will be deployed. The MIDCESS (Model Integrated
Deployment and Configuration Environment for Composable Software
Systems} (MIDCESS) DSML in CoSMIC can be used to model
deployment plans for DRE system components. MIDCESS is now part
of the PICML DSML.
- Deployment, which
triggers the installed binaries and brings the application to a
ready state. CoSMIC is integrated with a run-time framework
called DAnCE (Deployment and Configuration Engine), which
implements the OMG's D\&C specification and can be used to model
the deployment of DRE system packages according to precisely
specified plans.
- Analysis and
benchmarking, which enables empirical benchmarking
capabilities to validate the configuration and deployment of
component-based applications. CoSMIC provides BGML
(Benchmark Generation Modeling Language), which models DRE
systems QoS requirements and synthesizes empirical benchmarking
testsuites. Additional analysis capability is achieved via
integration with external tools, such as Cadena from Kansas
State University.
- Assurance, which
enables run-time reconfiguration and resource management to
maintain end-to-end QoS. CoSMIC provides J2EEML (J2EE
Modeling Language), which is a DSML that is tailored to the
autonomic computing needs of EJB applications. We are working on
extending J2EEML's capabilities to cover other component
middleware.
gokhale
Last modified: Thu Aug 11 22:52:19 CDT 2005