Co SMIC A Model Driven Middleware for Provisioning




































- Slides: 36
Co. SMIC: A Model Driven Middleware for Provisioning Large-scale Distributed Real-time and Embedded Systems Dr. Aniruddha Gokhale a. gokhale@vanderbilt. edu www. dre. vanderbilt. edu/~gokhale Assistant Professor (EECS & ISIS) Vanderbilt University Nashville, TN 37203 Work supported by AFRL contract# F 33615 -03 -C-4112 for DARPA PCES Program
Aniruddha Gokhale Co. SMIC Research Synopsis Model Driven Approach for Distributed Real-time & Embedded Middleware Develop, validate, & help to standardize technologies that: (1) Model (2) Analyze (3) Synthesize & (4) Provision DRE Applications distributed system Middleware Services Middleware Operating Sys & Protocols <CONFIGURATION_PASS> <HOME> <…> <COMPONENT> <ID> <…></ID> <EVENT_SUPPLIER> <…events this component supplies…> </EVENT_SUPPLIER> </COMPONENT> </HOME> </CONFIGURATION_PASS> Hardware & Networks 2 (5)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
Aniruddha Gokhale Co. SMIC Distributed Real-time & Embedded Systems The Past The Future • Stringent simultaneous quality of service (Qo. S) demands • Part of larger systems • Resource constrained • Network-centric & large-scale • Dynamic context • Stringent simultaneous quality of service (Qo. S) demands • Part of larger systems • Resource constrained 3
Aniruddha Gokhale Co. SMIC Historical Overview of DRE Systems Development IOM IOM IOM BSE BSE BSE IOM IOM IOM BSE BSE IOM IOM DRE Applications Middleware Services Middleware Operating Systems Hardware & Networks Technology Problems DRE systems have historically tended to be: Stovepiped Proprietary Brittle & non-adaptive Expensive Vulnerable • Middleware has effectively factored Historically, mission-critical apps were built out many reusable mechanisms & directly atop hardware services from what was traditionally • Tedious DRE application responsibility • Error-prone • Middleware is no longer primary DRE • Costly over lifecycles system performance bottleneck 4
Aniruddha Gokhale Co. SMIC Layers of Middleware for DRE Systems Middleware characteristics DRE Applications Middleware Services Middleware Operating Sys & Protocols Hardware & Networks • Uniform abstraction over h/w & OS e. g. , JVM, ACE • Distribution capabilities like location transparency, data marshaling e. g. , CORBA, J 2 EE, webservices • Commonly used higher level services e. g. , Naming, Event • Services specific to domains e. g. , Bold Stroke (Avionics), AMW (telecom) 5
Aniruddha Gokhale Co. SMIC R&D Contributions to Middleware for DRE Systems • Network Element Software Management, Network contact center service • patent pending DRE Applications Middleware Services Middleware Operating Sys & Protocols Hardware & Networks • Fault tolerant CORBA technologies & standardization effort • Hi. PC 00, DOA 00, J. Cluster Computing 03 • The TAO high-performance, Real-time CORBA ORB • Influenced Real-time CORBA standard • ACM Sigcomm 96, 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 Master’s thesis 6
Aniruddha Gokhale Co. SMIC Emergence of Component Middleware • Component middleware gaining importance (CCM, J 2 EE, . 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 Container Middleware Bus Replication Security Persistence Notification 7
Aniruddha Gokhale Co. SMIC DRE Systems: The Challenges Ahead DRE Applications MIDDLEWARE ARCHS CORBA Apps CORBA Services CORBA J 2 EE Apps . NET Apps Services . NET Services Middleware Services J 2 EE Middleware Solaris Vx. Works Operating Win 2 K Linux Sys Lynx. OS & Protocols Hardware & Networks . NET • 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 8
Aniruddha Gokhale Co. SMIC Our Solution: Model-Driven Middleware for DRE Systems Key Benefits • Preserves DRE application functional & systemic Qo. S properties as high level models <CONFIGURATION_PASS> <HOME> <…> <COMPONENT> <ID> <…></ID> <EVENT_SUPPLIER> <…events this component supplies…> </EVENT_SUPPLIER> </COMPONENT> </HOME> </CONFIGURATION_PASS> … … … Container … • Domain-specific languages & analysis/synthesis tools transform models to customize underlying multilayered middleware platforms • Leverages & shapes standards for wider applicability 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) Container Middleware Bus Replication Security Persistence Notification 9
Aniruddha Gokhale Co. SMIC MDA-Middleware Integration 1. Configuring and deploying application services end-to-end 2. Composing components into component servers 3. Configuring application component containers 4. Synthesizing application component implementations 5. Synthesizing dynamic Qo. S provisioning and adaptation logic 6. Synthesizing middlewarespecific configurations 7. Synthesizing middleware implementations 10
Aniruddha Gokhale Co. SMIC Our Target Middleware: CIAO CORBA Component Model 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 Component Integrated ACE ORB (CIAO) 11 www. dre. vanderbilt. edu/CIAO
Aniruddha Gokhale Co. SMIC Boeing Bold Stroke: Our Research Vehicle • Avionics Product Line Component Model • DRE system with 3, 000+ domainspecific 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 & Mo. BIES programs • Moving towards using CIAO CCM 12
Aniruddha Gokhale Co. SMIC Bold Stroke Architectural Elements • Application components (consumer) • Push-based event model • Pull-based data model • This common usage simplifies assembly complexity • Application components (supplier) • ACE+TAO real-time CORBA distribution middleware • Hardware organization 13
Aniruddha Gokhale Co. SMIC Bold Stroke Illustrative Example Determining the right assembly and deployment Adapting to changing operating conditions Determining the right assignment of priorities Determining the right concurrency strategy Basic Modal Single Process Product Scenario (2 operational modes) 14
Aniruddha Gokhale Co. SMIC Research Thrusts of Co. SMIC Applying MDA to address 1. the end-to-end deployment aspect of DRE applications 2. the component container configuration aspect 3. the middleware configuration aspect 4. the dynamic Qo. S provisioning & adaptation aspect … • Our tool suite is called Co. SMIC … … • Co. SMIC = Component Synthesis using Model Integrated Computing Container Middleware Bus Replication Security Persistence Notification 15
Aniruddha Gokhale Co. SMIC Challenge 1: Component Assembly & Deployment CONTEXT • Application components are assembled and then deployed in a way that provides optimum resource utilization & delivers required Qo. S 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 16
Aniruddha Gokhale Co. SMIC Challenge 1: Component Assembly & Deployment PROBLEMS XML file in excess of 3, 000 lines for medium <!– Associate components with impls --> sized scenarios Existing practices involve handcrafting the XML descriptors <componentfiles> <componentfile id=“Rate. Generator"> <fileinarchive name=“House. Rate. Gen. csd"/> </componentfile> <componentfile id=“Hi. Res. GPS"> <fileinarchive name=“a. GPS. csd"/> </componentfile> <componentfile id=“cockpit. Display"> <fileinarchive name=“nav. Display-if. csd"/>Partitioning, </componentfile> Distribution and Deployment done in ad hoc manner </componentfiles> Modifications in assembly requires modifying XML file 17
Aniruddha Gokhale Co. SMIC Challenge 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 • ESML developed by Dr. Gabor Karsai et. al requirements and synthesize deployment scripts for DARPA/IXO Mo. BIES program • Synthesize component glue • CIDL compiler developed by our group at code to interact with ISIS environment 18
Aniruddha Gokhale Co. SMIC Challenge 1: Component Assembly & Deployment Next Steps Synthesize assembly descriptor metadata Develop a component descriptor modeling language (CDML) Synthesize platformspecific metadata Determine appropriate assembly & deployment Synthesize custom strategies e. g. , lazy or eager 19
Aniruddha Gokhale High priority Co. SMIC Challenge 2: Configuring Container Policies CONTEXT Medium priority Low priority • 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 21
Aniruddha Gokhale Co. SMIC Challenge 2: Configuring Container Policies PROBLEMS Determine various middleware policies for server objects e. g. , security, lifetime, replication Determine thread pool sizes; how are they shared; number of lanes and their priorities; if borrowing is enabled Determine right buffer sizes Determine end-to-end priority propagation model to use Ensure semantic compatibility among chosen configurations Determine the server object management policies server object management middleware • This “glue code” is traditionally handcrafted 22 • Existing techniques for metadata configurations rely on ad hoc manual configurations e. g. , CORBA server-side programming
Aniruddha Gokhale Co. SMIC Challenge 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 23
Aniruddha Gokhale Co. SMIC Challenge 2: Configuring Container Policies Next Steps High priority • Extend CPML to capture application Qo. S requirements in a platform independent form • Design model transformers to desired platforms • Develop tools that will determine the right values for various platformspecific parameters 24 server object management middleware
Aniruddha Gokhale Co. SMIC Challenge 3: Configuring Middleware End-to-End CONTEXT Stub 20 10 Skeleton 5 1 M/W Bus 20 10 5 1 I/O Subsystem • 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 26
Aniruddha Gokhale Co. SMIC Challenge 3: Configuring Middleware End-to-End Determine right marshaling optimizations PROBLEMS Determine right demux strategy Stub 20 Determine right connection mgmt policy Determine right concurrency strategy 10 Skeleton 5 1 M/W Bus 20 10 5 1 Configuring subset of underlying transports I/O Subsystem • 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 27
Aniruddha Gokhale Co. SMIC Challenge 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 28
Aniruddha Gokhale Co. SMIC Challenge 3: Configuring Middleware End-to. End Next Steps High priority • Extend OCML to capture application Qo. S 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 29
Aniruddha Gokhale Co. SMIC Challenge 4: End-to-end Qo. S Provisioning & Enforcement CONTEXT e. g. , BBN Qu. O, UIUC Quarterware, Lancaster Open. ORB Appln Server Made feasible using adaptive & reflective middleware Static configuration Need to provide runtime Qo. S adaptation along functional path 30 Appln Server
Aniruddha Gokhale Co. SMIC Challenge 4: End-to-end Qo. S Provisioning & Enforcement Glue code depends on the PROBLEMS Need to add instrumentation code to collect Qo. S metadata adaptive/reflective middleware used Instrumentation code manually handcrafted Need to retrofit middleware to collect and distribute desired Qo. S metadata Most existing middleware not designed to collect and distribute Qo. S metadata 31
Aniruddha Gokhale Co. SMIC Challenge 4: End-to-end Qo. S Provisioning & Enforcement SOLUTION Qo. S Metadata model Applications Middleware Models Interceptor Middleware Domain-Specific Services Common Services Integrated Models Distribution Middleware Program Transformation Tool generator Collaboration with Dr. Jeff Gray (UAB) Languagespecific Qo. S aspects 32 Infrastructure Middleware Operating System Local Resource Management Endsystem
Aniruddha Gokhale Co. SMIC Challenge 4: End-to-end Qo. S Provisioning & Enforcement Next Steps Qo. S Metadata model Domain specific modeling language for Qo. S metadata Integrated Models Middleware Develop. Models model weaver Domain specific Applications modeling language for Interceptor middleware models Domain-Specific Services Common Services Distribution Middleware Program Transformation Develop generators Tool generator Middleware Languagespecific Qo. S aspects 33 Infrastructure Middleware Operating System Local Resource Management Endsystem
Aniruddha Gokhale Co. SMIC Research Impact & Future Work • Current progress stems from yearsthe of iteration, Shape standardsrefinement, e. g. , OMG’s & successful use Model Driven Architecture (MDA) M c an v d Model integrated middleware RT/CCM A IC CORBA Component Model (CCM) Component Models (EJB) Real-time (RT) CORBA ed DA SM Co O A T / E C A CORBA & DCOM DCE Micro-kernels RPC Future Research Directions • High confidence, geographically distributed DRE systems • Grid applications • Large enterprise systems • Focus on platform-independent models ARPAnet 1970 2005 Year 34 2010
Aniruddha Gokhale Co. SMIC Concluding 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-toend Model Driven Approach to: 1. Configure and deploy DRE applications end-to-end 2. Configure application component containers 3. Synthesize middleware-specific configurations 4. Synthesize dynamic Qo. S provisioning and adaptation logic 35 www. dre. vanderbilt. edu/~gokhale/cosmic. html
Aniruddha Gokhale Co. SMIC Vanderbilt DRE DOC Group Capabilities Industrial Process Control Mission Critical Do. D Systems Patterns & Pattern Languages Configurable Communication Systems • Faculty: • Research Scientist: • Research Engineers: • Grad/UGrad Students: Medical Imaging Systems Co. SMIC Model Driven Architecture CIAO CORBA Component Middleware TAO CORBA Distribution Middleware ACE Host Infrastructure Middleware Dr. Douglas C. Schmidt Dr. Aniruddha Gokhale Bala Natarajan, Jeff Parsons, Boris Kolpakov, Tao Lu B. Krishnakumar, George Edwards, Emre Turkay, Arvind Krishna, J. Balasubramaniam, Gan Geng 36
Aniruddha Gokhale Co. SMIC 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 37
Aniruddha Gokhale Co. SMIC Additional 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/ 38