CoSMIC: An MDA Tool Suite for CoSMIC: An MDA Tool Suite for Application Deployment and Application Deployment and
ConfigurationConfiguration Tao Lu, Emre Turkay
Aniruddha Gokhale, Douglas Schmidt{lu,turkaye,gokhale,schmidt}@dre.vanderbilt.edu
Institute For Software Integrated SystemsVanderbilt UniversityNashville, TN 37203
Work supported by AFRL contract# F33615-03-C-4112 for DARPA PCES Program
2
Tao Lu MDA
Research Synopsis
Develop, validate, & help to standardize technologies that:
(1) Model(2) Analyze(3) Synthesize &(4) 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
Model Driven Middleware for Distributed Real-time & Embedded SystemsModel Driven Middleware for Distributed Real-time & Embedded SystemsModel Driven Middleware for Distributed Real-time & Embedded SystemsModel Driven Middleware for Distributed Real-time & Embedded Systems
Middleware
MiddlewareServices
DRE Applications
Operating Sys& Protocols
Hardware & Networks
<CONFIGURATION_PASS> <HOME> <…>
<COMPONENT> <ID> <…></ID> <EVENT_SUPPLIER> <…events this component supplies…> </EVENT_SUPPLIER> </COMPONENT> </HOME></CONFIGURATION_PASS>
<CONFIGURATION_PASS> <HOME> <…>
<COMPONENT> <ID> <…></ID> <EVENT_SUPPLIER> <…events this component supplies…> </EVENT_SUPPLIER> </COMPONENT> </HOME></CONFIGURATION_PASS>
distributed system
3
Tao Lu MDA
R&D 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
•Network-centric & large-scale•Dynamic context•Stringent simultaneous quality of service (QoS) demands
•Part of larger systems•Resource constrained
Total Ship C&C Center
Total Ship Computing Environments
4
Tao Lu MDA
Growing 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 busMiddleware Bus
SecurityReplication NotificationPersistence
Container
… …
…
5
Tao Lu MDA
Different 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
6
Tao Lu MDA
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)
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
Our Solution: Model-Driven Middleware for DRE Applns
Middleware Bus
SecurityReplication NotificationPersistence
Container
… …
Container
… …
<CONFIGURATION_PASS> <HOME> <…>
<COMPONENT> <ID> <…></ID> <EVENT_SUPPLIER> <…events this component supplies…> </EVENT_SUPPLIER> </COMPONENT> </HOME></CONFIGURATION_PASS>
<CONFIGURATION_PASS> <HOME> <…>
<COMPONENT> <ID> <…></ID> <EVENT_SUPPLIER> <…events this component supplies…> </EVENT_SUPPLIER> </COMPONENT> </HOME></CONFIGURATION_PASS>
7
Tao Lu MDA
Boeing 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 ACE+TAO middleware
•Used as Avionics Open Experimental Platform (OEP) for DARPA/IXO PCES & MoBIES programs
•Moving towards using CIAO CCM
8
Tao Lu MDA
CoSMIC: Our MDM Tool SuiteApplying OMG MDA to address DRE appln development & provisioning challenges w.r.t: 1.the packaging aspect2.the configuration aspect3.the planning aspect4.the dynamic QoS provisioning & adaptation
aspect
…
Container
… …
TIMER20Hz
GPS
NAV DISP
•Our tool suite is called CoSMIC
•CoSMIC = Component Synthesis using Model Integrated Computing
Middleware Bus
SecurityReplication NotificationPersistence
9
Tao Lu MDA
Challenge 1: Packaging Aspect
• 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
CONTEXTTIMER20Hz
GPS NAV DISP
10
Tao Lu MDA
Challenge1: Packaging AspectPROBLEMS (1/2)
RT EventChannel
Ad hoc techniques for ensuring syntactic & semantic compatibility
End-to-end QoS metric assigned in ad hoc manner
Ad hoc means to determine event channel support
11
Tao Lu MDA
Challenge1: Packaging Aspect
<!– Associate components with impls --><componentfiles> <componentfile id=“RateGenerator"> <fileinarchive name=“HouseRateGen.csd"/> </componentfile>
<componentfile id=“HiResGPS"> <fileinarchive name=“aGPS.csd"/> </componentfile>
<componentfile id=“cockpitDisplay"> <fileinarchive name=“navDisplay-if.csd"/> </componentfile>
</componentfiles>
PROBLEMS (2/2)XML file in excess of 3,000 lines for medium sized scenarios
Existing practices involve handcrafting the XML descriptors
Modifications to the assemblies requires modifying XML file
12
Tao Lu MDA
Challenge 1: Packaging Aspect
TIMER20Hz
GPS NAV DISPAIRFRAME
Status:• Component & Assembly Descriptor Modeling Language (CADML) developed in GME• Used to model & synthesize assembly descriptor and package descriptor files for Boldstroke
product scenarios
SOLUTION
13
Tao Lu MDA
Challenge 1: Packaging AspectNext Steps
Align CADML DSML with OMG’s D&C spec
Improve syntactic & semantic compatibility checks
Benchmarking of assemblies to assign QoS metrics
14
Tao Lu MDA
Challenge 2: Configuration AspectCONTEXT
Platform independent configuration
Configuration of components & assemblies
Configuration of component containers
Configuration of middleware bus (i.e., ORB)
Configuration of component server
Configuration of event channel support
16
Tao Lu MDA
Challenge 2: Configuring RT Event ChannelsPROBLEMS (1/3)
•This “glue code” for event channel integration is traditionally handcrafted
Determine priority propagation policies for events
Determine the right locking strategies
Determine the right strategy for event channel integration i.e., within container or within component
Enable colocation optimizations
PROBLEMS (1/2)
17
Tao Lu MDA
Challenge 2: Configuring Middleware End-to-End
I/O Subsystem
M/W Bus
SkeletonStub
20 10 5 1 20 10 5 1
PROBLEMS (2/2)
Determine right concurrency strategy
Determine right demux strategy
Determine right marshaling optimizations
Determine right connection mgmt policy
Configuring subset of underlying transports
•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
18
Tao Lu MDA
Challenge 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
19
Tao Lu MDA
Challenge 2: Configuration Aspect
TIMER20Hz
GPS
NAV DISP
Highpriority
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 ContactEmre Turkaye, George Edwards, Gan Deng
20
Tao Lu MDA
Research SnapshotFunded 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)
22
Tao Lu MDA
Downloading the Middleware & Tools
• http://www.dre.vanderbilt.edu/cosmic
• Beta and Stable release can be accessed from http://www.dre.vanderbilt.edu/Download.html
Top Related