Title: CoSMIC: An MDA Generative Tool for DRE Component Middleware and Applications
1CoSMIC An MDA Generative Tool for DRE Component
Middleware and Applications
Douglas Schmidt Aniruddha Gokhale Bala
Natarajan Jeff Parsons Kitty Balasubramanium Ta
o Lu Jeff Gray (UAB) Boris Kolpakov Nanbor Wang
(WU) Ted Bapty Sandeep Neema Work supported by
DARPA PCES Program
2Model Driven Architecture (MDA) Overview
- OMG standardization of MIC paradigm
- Defines platform- independent models (PIMs) and
platform-specific Models (PSMs) - Uses Unified Modeling Language (UML) for modeling
- Real-time profile
- Dynamic scheduling profile
- Meta Object Facility (MoF) serves as meta-model
repository - XML Metadata Interchange (XMI) for meta-model
exchange - Efforts are underway to integrate DARPA
MoBIES/MIC with OMG MDA - Contact John Bay ltjbay_at_darpa.milgt
www.omg.org/mda
3Model-Based Composition
4MIC-DRE Middleware Integration
- Configuring and deploying application services
end-to-end - partitioning and distributing
- provisioning resources for QoS
- Composing components into application servers
- assemble semantically compatible QoS-enabled
components from reuse repositories - determining interconnections between components
in metadata - packaging components and metadata
- Configuring application component containers
- configuring right QoS policies for component
containers - maintain inter-component semantic compatibility
w.r.t container policies
5MIC-Middleware Integration (contd)
- Synthesizing application component
implementations - synthesis of DRE components tailored to
application e.g., for bounded worst case
execution time under overload conditions - bridge the gap between specifications and
implementation via aspect weavers and generators - Synthesizing dynamic QoS provisioning and
adaptation logic - synthesize adaptation logic using QoSket QDL
- Synthesizing middleware-specific configurations
- configuring threading models, buffering and flow
control, levels of fault tolerance, transport
protocols, demultiplexing strategies, security - Synthesizing middleware implementations
- a more aggressive approach to synthesizing custom
middleware
6Component Synthesis with MIC (CoSMIC)
- Synthesizes code configuration metadata for the
CIAO CORBA Component middleware - Reusing components via compositions vs.
generating new component implementations - Composition of applications components CIAO
plug-ins - CIAO helps instantiating application processes
- MDA tool suite
- UML modeling using GME
- Analysis synthesis tools
- Enhancement to GME tool
- Uses MDA standards-based approach
- DARPA PCES MoBIES programs seek solutions to
integrate MIC with DRE Middleware
7Challenge 1 Metadata configuration (1/2)
- Problem
- Configuring the middleware (e.g., ORB) using one
or more configuration options supported by the
middleware - Forces
- Several configuration option categories available
e.g., concurrency and connection configurations
categories in the TAO ORB - Not all categories and chosen options are
compatible - Need to verify that chosen options configure the
middleware appropriately to provide desired QoS - Solution
- Use model driven synthesis of the right set of
configuration options
8Challenge 1 Metadata Configuration (2/2)
- TAO/CIAO ORB Options Configuration Modeling
Language developed - CoSMIC tools provide
- Constraint checker that checks semantic
compatibility of options in existing XML or svc
config file - GUI based approach provides menus for users to
select desired options while the constraint
checker analyzes their compatibility
9TAO ORB Options Metamodel
- GME metamodel describing a meta model of TAOs
ORB configuration options - Built-in constraint checking
- TO-DO Add interpreter for checking semantic
compatibility between options
10Modeling a TAO ORB configuration file
- This example illustrates using GME to model a
svc.conf file - Could also be done using another GUI based tool
- Generated output can be svc.conf or XML conf file
- Top figure shows the different strategies
- Bottom figure shows specific options used for the
ORB default resource factory
- The metamodel interpreter will check for semantic
compatibility (TO-DO) - This is an example of a platform-specific model
- Need for platform independent model for
expressing options
11Challenge 2 Model/Synthesize Container Policies
- Container Policy Modeling Language
- QoS crosscutting concerns in container/component
policies abstracted out - Modeling of these cross cutting concerns
- Model interpreters synthesize container policies
- CoSMIC enables configuring
- right size of thread pools,
- right set of lanes with priority bands
- fault tolerance strategies
12Container Policy Metamodels
- CORBA2 metamodel
- Figures show top level appln (top left), the
server (bottom left) and the POA policies (top
right) - Interpreter partially done to generate code
- TODO generate XML metadata for container
13Challenge 3 Component Synthesis Assembly
- Component Modeling Language
- Component logic modeling language
- Component interaction modeling language
- Synthesize CIDL
- Extend the Embedded Systems Modeling Language
(ESML) designed for MoBIES
- CoSMIC enables modeling and synthesizing custom
strategies into components from basic component
repositories - e.g., customizing lazy versus eager evaluation
14ESML Component Metamodel
- Developed for MoBIES (Gabor, Sandeep et. al)
- Used for Boldstroke assembly
- TODO extend and enhance for CCM component and
their interaction modeling
- TODO generate assembly description metadata
15Challenge 4 Modeling Assuring End-to-End QoS
- Two approaches to QoS assurance
- Via aggregating required/offered QoS per layer
- Via QoS adaptation at various layers offering
desired QoS at end points, assuming the imposed
load by the application and other applications is
known - Modeling will depend on the approach chosen
- MoBIES work deals with the second approach
16Dynamic QoS Provisioning
- Can we reuse and enhance DQME developed for
MoBIES (Sandeep/Sherif/Joe Loyall et. al) - How to use these tools in a CIAO QuO scenario
- Apply to the Boeing OEP
17Conclusions
- CoSMIC has defined at least four primary
challenges comprising development of different
domain specific modeling languages, and model
checking, analysis, and code generation tools
for - ORB meta data configuration
- Container policy meta data configuration
- Component assembly descriptor metadata
- Dynamic QoS
- Other challenges include
- Integrating aspect modeling work of Jeff Grays
group from Univ of Alabama, Birmingham - Interfacing with CADENA (KSU) and VEST (U Va)
tools