Title: CoSMIC: An MDA Tool Suite for Application Deployment and Configuration
1CoSMIC An MDA Tool Suite for Application
Deployment and Configuration
Tao Lu, Emre Turkay Aniruddha Gokhale, Douglas
Schmidt lu,turkaye,gokhale,schmidt_at_dre.vanderbil
t.edu Institute For Software Integrated
Systems Vanderbilt University Nashville, TN 37203
Work supported by AFRL contract F33615-03-C-4112
for DARPA PCES Program
2Research Synopsis
Model Driven Middleware for Distributed Real-time
Embedded Systems
- 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
3RD Focus Distributed Real-time Embedded (DRE)
Systems
- Network-centric large-scale
- Dynamic context
- Stringent simultaneous quality of service (QoS)
demands - Part of larger systems
- Resource constrained
4Growing Trend Component Middleware for DRE Applns
- Component middleware gaining importance (CCM,
J2EE, .NET) - Components encapsulate application core logic
- Components possess ports
- 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
5Different Aspects in Component Middleware-based
DRE Appln Provisioning Deployment
- Specification Implementation
- Application functionality specification,
partitioning and implementation as standalone
components - Packaging
- bundling a suite of software binary modules and
metadata representing application components - Installation
- populating a repository with the packages
required by the application - Configuration
- configuring the packages with the appropriate
parameters to satisfy the functional and systemic
requirements of application without constraining
to any physical resources - Planning
- making appropriate deployment decisions including
identifying the entities, such as CPUs, of the
target environment where the packages will be
deployed - Preparation
- moving the binaries to the identified entities of
the target environment - Launching
- triggering the installed binaries and bringing
the application to a ready state - Adaptation
- Runtime reconfiguration resource management to
maintain end-to-end QoS
6Our Solution Model-Driven Middleware for DRE
Applns
- 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)
7Boeing Bold Stroke Our Research Vehicle
- 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
8CoSMIC Our MDM Tool Suite
- Applying OMG MDA to address DRE appln development
provisioning challenges w.r.t - the packaging aspect
- the configuration aspect
- the planning aspect
- the dynamic QoS provisioning adaptation aspect
- Our tool suite is called CoSMIC
- CoSMIC Component Synthesis using Model
Integrated Computing
9Challenge 1 Packaging Aspect
CONTEXT
- Application components are bundled together into
assemblies - Several different assemblies tailored towards
delivering different end-to-end QoS and/or using
different algorithms can be part of the package - e.g., Bold Stroke scenarios involve assembling
deploying hundreds of components - Packages describing the components and assemblies
can be scripted by using XML descriptors
10Challenge1 Packaging Aspect
Ad hoc techniques for ensuring syntactic
semantic compatibility
Ad hoc means to determine event channel support
PROBLEMS (1/2)
End-to-end QoS metric assigned in ad hoc manner
11Challenge1 Packaging Aspect
PROBLEMS (2/2)
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
Modifications to the assemblies requires
modifying XML file
12Challenge 1 Packaging Aspect
SOLUTION
- Status
- Component Assembly Descriptor Modeling Language
(CADML) developed in GME - Used to model synthesize assembly descriptor
and package descriptor files for Boldstroke
product scenarios
13Challenge 1 Packaging Aspect
Next Steps
Align CADML DSML with OMGs DC spec
Improve syntactic semantic compatibility checks
Benchmarking of assemblies to assign QoS metrics
14Challenge 2 Configuration Aspect
CONTEXT Platform independent configuration
Configuration of components assemblies
Configuration of component server
Configuration of event channel support
Configuration of component containers
Configuration of middleware bus (i.e., ORB)
15Challenge 2 Configuring Container Policies
PROBLEMS (1/3)
Determine thread pool sizes how are they shared
number of lanes and their priorities if
borrowing is enabled
Determine right buffer sizes
Determine end-to-end priority propagation model
to use
Determine the server object management policies
Ensure semantic compatibility among chosen
configurations
- Existing techniques for metadata configurations
rely on ad hoc manual configurations e.g., CORBA
server-side programming
- This glue code is traditionally handcrafted
16Challenge 2 Configuring RT Event Channels
PROBLEMS (1/3)
Determine the right locking strategies
Determine the right strategy for event channel
integration i.e., within container or within
component
PROBLEMS (1/2)
Determine priority propagation policies for events
Enable colocation optimizations
- This glue code for event channel integration is
traditionally handcrafted
17Challenge 2 Configuring Middleware End-to-End
PROBLEMS (2/2)
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
18Challenge 2 Configuration Aspect
SOLUTION
- Developed a domain-specific modeling language for
TAO/CIAO called Options Configuration Modeling
Language (OCML) using GME - User provides a model of desired options their
values e.g., - Middleware bus resources
- Concurrency connection management strategies
- Constraint checker flags incompatible options
- Synthesizes XML descriptors for middleware
configuration
19Challenge 2 Configuration Aspect
Next Steps
- Extend OCML to capture application QoS
requirements in a platform independent form
- Design model transformers to synthesize
platforms-specific configuration models
- Design tools that will determine the right values
for various platform-specific configuration
parameters
Point of Contact Emre Turkaye, George Edwards,
Gan Deng
20Research Snapshot
- Funded Projects
- DARPA Program Composition of Embedded Systems
(PCES) - DARPA Adaptive Reflective Middleware Systems
(ARMS) - ITS Warehouse Management (Siemens)
- Fault Tolerant CORBA (Lockheed Martin)
- Collaborations
- Dr. Douglas C. Schmidt, Vanderbilt University
- Dr. Jeff Gray (Univ of Alabama, Birmingham)
- Dr. Swapna Gokhale (Univ of Connecticut)
- Dr. Marina Thottan (Bell Labs)
- Dr. Priya Narsimhan (CMU)
- Dr. Sylvester Fernandez (Lockheed Martin)
21Concluding Remarks
Model, analyze, synthesize, and provision
middleware technologies at multiple layers for
distributed real-time and embedded systems that
require simultaneous control of multiple quality
of service properties end-to-end
Model Driven Approach to
- Configure and deploy DRE applications end-to-end
- Configure application component containers
- Synthesize middleware-specific configurations
- Synthesize dynamic QoS provisioning and
adaptation logic - Benchmark provisioned system
www.dre.vanderbilt.edu/cosmic
22Downloading the Middleware Tools
- Beta and Stable release can be accessed from
http//www.dre.vanderbilt.edu/Download.html
- http//www.dre.vanderbilt.edu/cosmic
23EXTRA