200 likes | 350 Views
CoSMIC: An MDA Tool Suite for Application Deployment and Configuration. Tao Lu, Emre Turkay Aniruddha Gokhale, Douglas Schmidt {lu,turkaye,gokhale,schmidt}@dre.vanderbilt.edu Institute For Software Integrated Systems Vanderbilt University Nashville, TN 37203.
E N D
CoSMIC: An MDA Tool Suite for Application Deployment and Configuration Tao Lu, Emre Turkay Aniruddha Gokhale, Douglas Schmidt {lu,turkaye,gokhale,schmidt}@dre.vanderbilt.edu Institute For Software Integrated Systems 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 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 <CONFIGURATION_PASS> <HOME> <…> <COMPONENT> <ID> <…></ID> <EVENT_SUPPLIER> <…events this component supplies…> </EVENT_SUPPLIER> </COMPONENT> </HOME> </CONFIGURATION_PASS>
Total Ship Computing Environments Total Ship C&C Center 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 • Resourceconstrained
… … … Middleware Bus Container Replication Security Persistence Notification 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 bus
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
… … … … Middleware Bus Container Container Replication Security Persistence Notification Our 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 <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)
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
… … … Container Middleware Bus Replication Security Persistence Notification CoSMIC: 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
Challenge 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
RT Event Channel Challenge1: 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
Challenge1: Packaging Aspect XML file in excess of 3,000 lines for medium sized scenarios PROBLEMS (2/2) 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> Modifications to the assemblies requires modifying XML file
Challenge 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
Challenge 1: Packaging Aspect Next Steps Improve syntactic & semantic compatibility checks Align CADML DSML with OMG’s D&C spec Benchmarking of assemblies to assign QoS metrics
Challenge 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)
Challenge 2: Configuring RT Event Channels PROBLEMS (1/3) Determine the right strategy for event channel integration i.e., within container or within component Determine the right locking strategies PROBLEMS (1/2) Determine priority propagation policies for events Enable colocation optimizations • This “glue code” for event channel integration is traditionally handcrafted
Stub Skeleton 20 10 5 1 20 10 5 1 M/W Bus I/O Subsystem Challenge 2: Configuring Middleware End-to-End PROBLEMS (2/2) 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
Challenge 2: Configuration Aspect • 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 SOLUTION
High priority Challenge 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
Research 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)
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