Title: CoSMIC: A Model Driven Middleware for Provisioning Large-scale Distributed Real-time and Embedded Systems
1CoSMIC A Model Driven Middleware for
Provisioning Large-scale Distributed Real-time
and Embedded Systems
Dr. Aniruddha Gokhale a.gokhale_at_vanderbilt.edu www
.dre.vanderbilt.edu/gokhale Assistant Professor
(EECS 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
4Historical Overview of DRE Systems Development
Technology Problems DRE systems have historically
tended to be Stovepiped Proprietary Brittle
non-adaptive Expensive Vulnerable
- Middleware has effectively factored out many
reusable mechanisms services from what was
traditionally DRE application responsibility - Middleware is no longer primary DRE system
performance bottleneck
- Historically, mission-critical apps were built
directly atop hardware - Tedious
- Error-prone
- Costly over lifecycles
5Layers of Middleware for DRE Systems
- Middleware characteristics
- Uniform abstraction over h/w OS e.g., JVM, ACE
- Distribution capabilities like location
transparency, data marshaling e.g., CORBA, J2EE,
webservices - Commonly used higher level services e.g., Naming,
Event - Services specific to domains e.g., Bold Stroke
(Avionics), AMW (telecom)
6RD Contributions to Middleware for DRE Systems
- Network Element Software Management, Network
contact center service - patent pending
- Fault tolerant CORBA technologies
standardization effort - HiPC 00, DOA 00, J. Cluster Computing 03
- The TAO high-performance, Real-time CORBA ORB
- Influenced Real-time CORBA standard
- ACM Sigcomm96, IEEE Journal of Selected Areas in
Communication 99, IEEE Transactions on Computing
97, Journal of Real-time systems 99, IEEE
Globecomm 96/97, IEEE Comm 97
- Automatic test suite generation for protocol
conformance testing - ASU Masters thesis
7Emergence of Component Middleware
- 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
8DRE Systems The Challenges Ahead
- 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
9Our 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)
10MDA-Middleware Integration
- Configuring and deploying application services
end-to-end - Composing components into component servers
- Configuring application component containers
- Synthesizing application component
implementations - Synthesizing dynamic QoS provisioning and
adaptation logic - Synthesizing middleware-specific configurations
- Synthesizing middleware implementations
11Our Target Middleware CIAO CORBA Component Model
RT Event Channel
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)
12Boeing 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
13Bold Stroke Architectural Elements
14Bold Stroke Illustrative Example
Adapting to changing operating conditions
Determining the right assembly and deployment
Determining the right assignment of priorities
Determining the right concurrency strategy
Basic Modal Single Process Product Scenario (2
operational modes)
15Research Thrusts of CoSMIC
- 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
- Our tool suite is called CoSMIC
- CoSMIC Component Synthesis using Model
Integrated Computing
16Challenge 1 Component Assembly Deployment
CONTEXT
- Application components are 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
17Challenge1 Component Assembly Deployment
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
18Challenge 1 Component Assembly Deployment
SOLUTION
- A domain-specific Component Descriptor Modeling
Language (CDML) - Currently leverages ESML for synthesis of
assembly descriptors - ESML allows modeling component behavior
interactions in Bold Stroke - Analyze component requirements and synthesize
deployment scripts - Synthesize component glue code to interact with
environment
- ESML developed by Dr. Gabor Karsai et. al for
DARPA/IXO MoBIES program - CIDL compiler developed by our group at ISIS
19Challenge 1 Component Assembly Deployment
Next Steps
Develop a component descriptor modeling language
(CDML)
Synthesize assembly descriptor metadata
Synthesize platform-specific metadata
Determine appropriate assembly deployment
20Challenge 1 Component Assembly Deployment
METRICS
Determine expressive power and flexibility of
platform independent models
Determine savings in effort to synthesize
assembly metadata
Determine savings in VV, testing certification
of synthesized assembly deployment
21Challenge 2 Configuring Container Policies
CONTEXT
- Components execute in containers that decouple
runtime configuration from the component
implementation e.g., - Priority propagation models
- Threading models
- Security, replication, persistence policies
- Internal buffer sizes
- e.g., Boldstroke components run in a
multithreaded environment with different
end-to-end priorities - Usually specified by the deployer using XML-based
metadata
22Challenge 2 Configuring Container Policies
PROBLEMS
Determine thread pool sizes how are they shared
number of lanes and their priorities if
borrowing is enabled
Determine various middleware policies for server
objects e.g., security, lifetime, replication
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
23Challenge 2 Configuring Container Policies
SOLUTION
- Develop a domain-specific Container Policy
Modeling Language (CPML) - Current version restricted to container
configuration glue code generation in the CORBA
environment - Container policies are still manually chosen
24Challenge 2 Configuring Container Policies
Next Steps
- Extend CPML to capture application QoS
requirements in a platform independent form
- Design model transformers to desired platforms
- Develop tools that will determine the right
values for various platform-specific parameters
25Challenge 2 Configuring Container Policies
METRICS
- Determine expressive power and flexibility of
platform independent models
- Savings in effort to map to specific platforms
- Impact on testing, VV costs gt savings in total
ownership costs
26Challenge 3 Configuring Middleware End-to-End
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
27Challenge 3 Configuring Middleware End-to-End
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
28Challenge 3 Configuring Middleware End-to-End
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
29Challenge 3 Configuring Middleware End-to-End
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
30Challenge 4 End-to-end QoS Provisioning
Enforcement
CONTEXT
Made feasible using adaptive reflective
middleware
e.g., BBN QuO, UIUC Quarterware, Lancaster
OpenORB
Need to provide runtime QoS adaptation along
functional path
31Challenge 4 End-to-end QoS Provisioning
Enforcement
Glue code depends on the adaptive/reflective
middleware used
PROBLEMS
Need to add instrumentation code to collect QoS
metadata
Instrumentation code manually handcrafted
Need to retrofit middleware to collect and
distribute desired QoS metadata
Most existing middleware not designed to collect
and distribute QoS metadata
32Challenge 4 End-to-end QoS Provisioning
Enforcement
SOLUTION
QoS Metadata model
Middleware Models
Integrated Models
Program TransformationTool
Collaboration with Dr. Jeff Gray (UAB)
33Challenge 4 End-to-end QoS Provisioning
Enforcement
Next Steps
QoS Metadata model
Domain specific modeling language for middleware
models
Middleware Models
Domain specific modeling language for QoS metadata
Develop model weaver
Integrated Models
Program TransformationTool
Develop generators
34Research Impact Future Work
Advanced MDA
- Current progress stems from years of iteration,
refinement, successful use
Shape the standards e.g., OMGs Model Driven
Architecture (MDA)
Model integrated middleware
CoSMIC
RT/CCM
ACE/TAO
CORBA Component Model (CCM)
- Future Research Directions
- High confidence, geographically distributed DRE
systems - Grid applications
- Large enterprise systems
- Focus on platform-independent models
Component Models (EJB)
Real-time (RT) CORBA
CORBA DCOM
DCE
Micro-kernels
RPC
ARPAnet
1970
2010
2000
2005
Year
35Concluding 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
www.dre.vanderbilt.edu/gokhale/cosmic.html
36Vanderbilt DRE DOC Group Capabilities
Configurable Communication Systems
Mission Critical DoD Systems
Industrial Process Control
Medical Imaging Systems
CoSMIC Model Driven Architecture
CIAO CORBA Component Middleware
Patterns Pattern Languages
TAO CORBA Distribution Middleware
ACE Host Infrastructure Middleware
- Faculty Dr. Douglas C. Schmidt
- Research Scientist Dr. Aniruddha Gokhale
- Research Engineers Bala Natarajan, Jeff
Parsons, Boris Kolpakov, Tao Lu - Grad/UGrad Students B. Krishnakumar, George
Edwards, Emre Turkay, - Arvind Krishna, J. Balasubramaniam, Gan Geng
37Downloading the Middleware Tools
- Beta and Stable release can be accessed from
http//www.dre.vanderbilt.edu/Download.html
- http//www.dre.vanderbilt.edu/cosmic
38Additional Information
- Patterns frameworks for concurrent networked
objects - www.posa.uci.edu
- www.ace.uci.edu
- ACE TAO open-source middleware
- www.cs.wustl.edu/schmidt/ACE.html
- www.cs.wustl.edu/schmidt/TAO.html
- DRE research papers
- www.cs.wustl.edu/schmidt/research.html
- DRE tutorials
- www.cs.wustl.edu/schmidt/tutorials.html
- ACE books
- www.cs.wustl.edu/schmidt/ACE/