Co SMIC A Model Driven Middleware for Provisioning

  • Slides: 36
Download presentation
Co. SMIC: A Model Driven Middleware for Provisioning Large-scale Distributed Real-time and Embedded Systems

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

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 •

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

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

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

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,

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

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 •

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.

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

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

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

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

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.

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

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

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

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

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

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

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

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 •

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

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

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

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

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.

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

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.

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

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

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

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

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

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

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