Title: CoSMIC:%20An%20MDA%20Tool%20Suite%20for%20Distributed%20Real-time%20and%20Embedded%20Systems
1CoSMIC An MDA Tool Suite for Distributed
Real-time and Embedded Systems
Aniruddha Gokhale, Tao Lu, Emre Turkay,
Balachandran Natarajan, Jeff Parsons, K.
Balasubramaniam, Boris Kolpakov, Arvind Krishna,
J. Balasubramaniam gokhale, lu, turkaye, bala,
parsons, kitty, boris, arvindk,jaiganesh_at_dre.vand
erbilt.edu www.dre.vanderbilt.edu/cosmic ISIS,
Vanderbilt University Nashville, TN 37203
Work supported by AFRL contract F33615-03-C-4112
for DARPA PCES Program
2Research Synopsis
Model Driven Approach for Distributed Real-time
Embedded Middleware
- Develop, validate, help to standardize
technologies that - Model
- Analyze
- Synthesize
- Provision
- multiple layers of middleware for distributed
real-time and embedded (DRE) systems that require
simultaneous control of multiple quality of
service properties end-to-end
ltCONFIGURATION_PASSgt ltHOMEgt ltgt
ltCOMPONENTgt ltIDgt ltgtlt/IDgt
ltEVENT_SUPPLIERgt ltevents this component
suppliesgt lt/EVENT_SUPPLIERgt
lt/COMPONENTgt lt/HOMEgt lt/CONFIGURATION_PASSgt
3Distributed Real-time Embedded Systems
The Future
The Past
- Network-centric large-scale
- Dynamic context
- Stringent simultaneous quality of service (QoS)
demands - Part of larger systems
- Resource constrained
- Stringent simultaneous quality of service (QoS)
demands - Part of larger systems
- Resource constrained
4DRE Systems The Challenges Ahead (1/2)
- There is a limit to how much application
functionality can be factored into broadly
reusable COTS middleware - Middleware has become extremely complicated to
use, configure, provision statically
dynamically
- There are now multiple middleware technologies to
choose from
5DRE Systems Challenges Emergence of Component
Middleware (2/2)
- Context
- Component middleware gaining importance (CCM,
J2EE, .NET) - Components encapsulate application core logic
- Components possess
- Event sinks sources
- Connection points e.g., receptacles
- Interfaces e.g., facets
- attributes
- Containers provide execution environment for
components with common operating requirements - Containers communicate via a middleware bus
- Challenges
- Accidental complexities configuring the
middleware - Accidental complexities deploying semantically
compatible components
6Our Solution Model-Driven Middleware for DRE
Systems
- Key Benefits
- Preserves DRE application functional systemic
QoS properties as high level models - Domain-specific languages analysis/synthesis
tools transform models to customize underlying
multi-layered middleware platforms - Leverages shapes standards for wider
applicability
ltCONFIGURATION_PASSgt ltHOMEgt ltgt
ltCOMPONENTgt ltIDgt ltgtlt/IDgt
ltEVENT_SUPPLIERgt ltevents this component
suppliesgt lt/EVENT_SUPPLIERgt
lt/COMPONENTgt lt/HOMEgt lt/CONFIGURATION_PASSgt
- Related Work
- MIC, Vanderbilt (Sztipanovits, Karsai, et al)
- Ptolemy, UC Berkeley (Lee et al)
- Cadena, KSU (John Hatcliff et al)
- Quality Connector, LMCO (Joe Cross et. al)
7MDA-Component Middleware Integration
- Our tool suite is called CoSMIC
- CoSMIC Component Synthesis using Model
Integrated Computing
- Goals
- Configuring and deploying application services
end-to-end - Composing components into component servers
- Configuring application component containers
- Synthesizing application component
implementations - Synthesizing middleware-specific configurations
- Synthesizing dynamic QoS provisioning and
adaptation logic - Synthesizing middleware implementations
8Current Target Middleware CIAO CORBA Component
Model
RT Event Channel
- Focus on infrastructure support for composition
of the following aspects - CIDL compiler to synthesize component descriptor
metadata stubs/skeletons - RT event channel integration with CIAO containers
- Assembly deployment framework
- Collaboration with Washington University
www.dre.vanderbilt.edu/CIAO
Component Integrated ACE ORB (CIAO)
9Boeing Bold Stroke Current Target Domain
- Avionics Product Line Component Model
- DRE system with 3,000 domain-specific software
components, 3-5 million lines of C code - 100 developers
- Mission-control software for Boeing military
aircraft, e.g., F-18 E/F, Harrier, UCAV - Leverages the ACETAO middleware
- Used as Avionics Open Experimental Platform (OEP)
for DARPA/IXO PCES MoBIES programs - Moving towards using CIAO CCM
10Component Assembly Deployment (1/3)
CONTEXT
- Application components are partitioned, assembled
and then deployed in a way that provides optimum
resource utilization delivers required QoS to
the application - e.g., Bold Stroke scenarios involve assembling
deploying hundreds of components - Assembly deployment can be scripted by using
XML descriptors deployment tools
11Component Assembly Deployment (2/3)
PROBLEMS
XML file in excess of 3,000 lines for medium
sized scenarios
Existing practices involve handcrafting the XML
descriptors
lt! Associate components with impls
--gtltcomponentfilesgt ltcomponentfile
idRateGenerator"gt ltfileinarchive
nameHouseRateGen.csd"/gt lt/componentfilegt
ltcomponentfile idHiResGPS"gt
ltfileinarchive nameaGPS.csd"/gt
lt/componentfilegt ltcomponentfile
idcockpitDisplay"gt ltfileinarchive
namenavDisplay-if.csd"/gt lt/componentfilegt
lt/componentfilesgt
Partitioning, Distribution and Deployment done in
ad hoc manner
Modifications in assembly requires modifying XML
file
12Component Assembly Deployment (3/3)
SOLUTION
- Status
- Component Assembly Descriptor Modeling Language
(CADML) developed in GME - Used to model synthesize CAD files for
Boldstroke product scenarios in CIAO
- Next Steps
- Analyze application QoS requirements and
determine effective partitioning of functionality
and - Synthesize component assembly descriptors using
logical resources - Deploy system on physical resources using
existing assembly
13Configuring Middleware End-to-End (1/3)
CONTEXT
- Middleware must be configured with the
appropriate systemic metadata end-to-end - e.g., in Bold Stroke example, appropriate
priority banded connections must be set between
application services
14Configuring Middleware End-to-End (2/3)
PROBLEMS
Determine right marshaling optimizations
Determine right concurrency strategy
Determine right demux strategy
Configuring subset of underlying transports
Determine right connection mgmt policy
- Highly flexible middleware tend to provide
numerous configuration knobs that can be
configured to deliver required systemic
properties to applications - Existing techniques of metadata configurations
rely on ad hoc manual selection of configuration
parameters
15Configuring Middleware End-to-End (3/3)
- Status
- Options Configuration Modeling Language (OCML)
developed in GME - Used by TAO developers to model TAO ORB
configuration options and option constraints - Validate user-provided option descriptor file
- Next Steps
- Develop modeling paradigm to express QoS
requirements - Interactive tool to synthesize options descriptor
file based on application QoS requirements - Benchmarking on Emulab testbed
- Tools to generate html documentation of options
SOLUTION
16Concluding Remarks
- CoSMIC Tools Applying MDA to address
- the end-to-end deployment aspect of DRE
applications - the component container configuration aspect
- the middleware configuration aspect
- the dynamic QoS provisioning adaptation aspect
- Current Status
- Modeling paradigm and generators developed for
CCM component assembly deployment - Modeling paradigm and constraint checker to
determine semantic compatibility of ORB
configuration options
17Downloading the Middleware Tools
- Beta and Stable release can be accessed from
http//www.dre.vanderbilt.edu/Download.html
- http//www.dre.vanderbilt.edu/cosmic
18Component Assembly Deployment (1/2)