180 likes | 190 Views
CoSMIC is a model-driven tool suite that helps in developing, validating, and standardizing technologies for distributed real-time and embedded systems. It enables the modeling, analysis, synthesis, and provisioning of multiple layers of middleware for systems with simultaneous control of quality of service properties.
E N D
CoSMIC: 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}@dre.vanderbilt.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
DRE Applications Middleware Services distributed system Middleware Operating Sys & Protocols Hardware & Networks Research 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 <CONFIGURATION_PASS> <HOME> <…> <COMPONENT> <ID> <…></ID> <EVENT_SUPPLIER> <…events this component supplies…> </EVENT_SUPPLIER> </COMPONENT> </HOME> </CONFIGURATION_PASS>
Distributed 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 • Resourceconstrained • Stringent simultaneous quality of service (QoS) demands • Part of larger systems • Resourceconstrained
MIDDLEWARE ARCHS CORBA Apps J2EE Apps .NET Apps DRE Applications CORBA Services J2EE Services .NET Services Middleware Services CORBA J2EE .NET Solaris VxWorks Middleware Win2K Linux LynxOS Operating Sys & Protocols Hardware & Networks DRE 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
… … Middleware Bus Container Replication Security Persistence Notification DRE 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
… … … … Middleware Bus Container Container Replication Security Persistence Notification Our 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 <CONFIGURATION_PASS> <HOME> <…> <COMPONENT> <ID> <…></ID> <EVENT_SUPPLIER> <…events this component supplies…> </EVENT_SUPPLIER> </COMPONENT> </HOME> </CONFIGURATION_PASS> 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)
MDA-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
Current Target Middleware: CIAO CORBA Component Model 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 RT Event Channel www.dre.vanderbilt.edu/CIAO Component Integrated ACE ORB (CIAO)
Boeing 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 ACE+TAO middleware • Used as Avionics Open Experimental Platform (OEP) for DARPA/IXO PCES & MoBIES programs • Moving towards using CIAO CCM
Component Assembly & Deployment (1/3) • 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 CONTEXT
Component Assembly & Deployment (2/3) XML file in excess of 3,000 lines for medium sized scenarios PROBLEMS Existing practices involve handcrafting the XML descriptors <!– 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> Partitioning, Distribution and Deployment done in ad hoc manner Modifications in assembly requires modifying XML file
Component 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
Stub Skeleton 20 10 5 1 20 10 5 1 M/WBus I/O Subsystem Configuring 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
Stub Skeleton 20 10 5 1 20 10 5 1 M/W Bus I/O Subsystem Configuring Middleware End-to-End (2/3) PROBLEMS Determine right marshaling optimizations Determine right demux strategy Determine right concurrency 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
Configuring 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
… … … Container Middleware Bus Replication Security Persistence Notification Concluding 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
Downloading the Middleware & Tools • Beta and Stable release can be accessed from http://www.dre.vanderbilt.edu/Download.html • http://www.dre.vanderbilt.edu/cosmic