model driven middleware: a new approach for developing & provisioning large-scale distributed...

33
Model Driven Middleware: A New Approach Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale for Developing & Provisioning Large-scale Distributed Real-time and Embedded Distributed Real-time and Embedded Applications Applications Dr. Aniruddha Gokhale [email protected] www.dre.vanderbilt.edu/~gokhale Assistant Professor (EECS & ISIS) Vanderbilt University Nashville, TN 37203 Work supported by AFRL contract# F33615-03- C-4112 for DARPA PCES Program

Upload: stephen-nicholson

Post on 24-Dec-2015

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

Model Driven Middleware: A New Approach for Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Developing & Provisioning Large-scale Distributed

Real-time and Embedded ApplicationsReal-time and Embedded Applications

Dr. Aniruddha [email protected]

www.dre.vanderbilt.edu/~gokhale

Assistant Professor (EECS & ISIS)Vanderbilt UniversityNashville, TN 37203

Work supported by AFRL contract# F33615-03-C-4112 for DARPA PCES Program

Page 2: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

2

Aniruddha Gokhale MDM

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

Page 3: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

3

Aniruddha Gokhale MDM

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

Page 4: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

5

Aniruddha Gokhale MDM

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

… …

Page 5: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

6

Aniruddha Gokhale MDM

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

Page 6: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

8

Aniruddha Gokhale MDM

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>

Page 7: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

9

Aniruddha Gokhale MDM

CIAO: Our Middleware for DRE Applications

EventNotifications

A/V Streaming

Dynamic/StaticScheduling

RT-CORBA 1.0+2.0

CORBASecurity

FT-CORBA & Load

Balancing

ComponentImplementation

Definition Language

CCM Packaging& Deployment

Time/spaceOptimizations

http://www.dre.vanderbilt.edu

Page 8: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

11

Aniruddha Gokhale MDM

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

Page 9: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

13

Aniruddha Gokhale MDM

Bold Stroke Illustrative Example

Basic Modal Single Process Product Scenario (2 operational modes)

Determining the right assembly and deployment

Determining the right assignment of priorities

Determining the right concurrency strategy

Adapting to changing operating conditions

Page 10: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

14

Aniruddha Gokhale MDM

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

Page 11: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

15

Aniruddha Gokhale MDM

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

Page 12: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

16

Aniruddha Gokhale MDM

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

Page 13: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

17

Aniruddha Gokhale MDM

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

Page 14: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

18

Aniruddha Gokhale MDM

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

Point of Contact:Krishnakumar Balasubramaniam ([email protected])

Tao Lu ([email protected])

Page 15: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

19

Aniruddha Gokhale MDM

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

Synthesize assembly descriptor metadata

Page 16: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

20

Aniruddha Gokhale MDM

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

Page 17: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

21

Aniruddha Gokhale MDM

server object management middleware

Challenge 2: Configuring Container Policies

•Existing techniques for metadata configurations rely on ad hoc manual configurations e.g., CORBA server-side programming

PROBLEMS (1/3)

Determine the server object management policies

Determine right buffer sizes

Determine thread pool sizes; how are they shared; number of lanes and their priorities; if borrowing is enabled

Determine various middleware policies for server objects e.g., security, lifetime, replication

•This “glue code” is traditionally handcrafted

Ensure semantic compatibility among chosen configurations

Determine end-to-end priority propagation model to use

Page 18: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

22

Aniruddha Gokhale MDM

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 (2/3)

Page 19: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

23

Aniruddha Gokhale MDM

Challenge 2: Configuring Middleware End-to-End

I/O Subsystem

M/W Bus

SkeletonStub

20 10 5 1 20 10 5 1

PROBLEMS (3/3)

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

Page 20: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

24

Aniruddha Gokhale MDM

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

Page 21: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

25

Aniruddha Gokhale MDM

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

Page 22: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

26

Aniruddha Gokhale MDM

Challenge 3: Planning AspectContext

Determine current resource allocations on target platforms

Select the appropriate package to deploy on selected target

Select appropriate target platform to deploy packages

Page 23: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

27

Aniruddha Gokhale MDM

Challenge 3: Planning Aspect

TIMER20Hz

GPS NAV DISPAIRFRAME

Problems

distributed system

How do you determine current resource allocations?

How do you correlate QoS requirements of packages to resource needs

How do you ensure that the selected targets will deliver required QoS

Page 24: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

28

Aniruddha Gokhale MDM

Challenge 3: Planning Aspect

• Target platforms will be selected based on a priori benchmarking data obtained by running different packages on target configurations

• Modeling paradigms being developed to represent target platforms

• Modeling paradigms being developed for synthesizing appropriate benchmarking test suites

On going work

Point of Contact• Jaiganesh Balasubramaniam,Arvind Krishna

• Collaboration with Dr. Swapna Gokhale, Univ of Connecticut on analysis techniques for selecting right set of assemblies for deployment that will assure end-to-end QoS

Page 25: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

29

Aniruddha Gokhale MDM

Challenge 4: Adaptation & Resource Management Aspect

QoSSystemic Path

Operating System

Middleware

SysCondition

Mechanism & PropertiesManager

Applications

Operating System

CONTEXT

Appln Server Appln ServerStatic configuration

Need to provide runtime QoS adaptation along functional path

Made feasible using adaptive & reflective middleware

e.g., BBN QuO, UIUC Quarterware, Lancaster OpenORB

Global, dynamic resource management

Page 26: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

30

Aniruddha Gokhale MDM

Challenge 4: Adaptation & Resource Management Aspect

QoSSystemic Path

Operating System

Middleware

SysCondition

Mechanism & PropertiesManager

Applications

Operating System

PROBLEMSGlue code depends on the adaptive/reflective middleware used

Most existing middleware not designed to collect and distribute QoS metadata

Need to retrofit middleware to collect and distribute desired QoS metadata

Need to add instrumentation code to collect QoS metadata

Instrumentation code manually handcrafted

Page 27: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

31

Aniruddha Gokhale MDM

Challenge 4: Adaptation & Resource Management AspectSOLUTION

MiddlewareModels

IntegratedModels

QoS Metadata

model

Program Transformation

Tool

Language-specificQoS aspects

generator

Collaboration with Dr. Jeff Gray (UAB)

Middleware

Applications

Operating System

Interceptor

Endsystem

LocalResourceManage-

ment

Infrastructure Middleware

Distribution Middleware

Common Services

Domain-Specific Services

Point of Contact

Bala Natarajan, Jeff Parsons

Page 28: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

32

Aniruddha Gokhale MDM

Middleware

Applications

Operating System

Interceptor

Endsystem

LocalResourceManage-

ment

Infrastructure Middleware

Distribution Middleware

Common Services

Domain-Specific Services

Challenge 4: Adaptation & Resource Management AspectNext Steps

MiddlewareModels

IntegratedModels

QoS Metadata

model

Program Transformation

Tool

Language-specificQoS aspects

generator

Domain specific modeling language for QoS metadata

Domain specific modeling language for middleware models

C-SAW model weaver available

Develop generators

Collaboration with Dr. Priya Narsimhan (CMU) on model driven middleware instrumentation for proactive fault tolerance

Page 29: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

35

Aniruddha Gokhale MDM

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)

Spring ’04: CS292/CS396 – Special Topics Course on

Model Driven Middleware

Page 30: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

36

Aniruddha Gokhale MDM

DRE (DOC) Group Capabilities

• Faculty: Dr. Douglas C. Schmidt, Dr. Aniruddha Gokhale• Research Engineers: Bala Natarajan, Jeff Parsons, Boris Kolpakov, Tao Lu• Grad/UGrad Students: B. Krishnakumar, George Edwards, Emre Turkay,

Arvind Krishna, J. Balasubramaniam, Gan Deng

Pa

tter

ns

& P

atte

rn

La

ng

ua

ge

s

ACE Host Infrastructure Middleware

ConfigurableCommunication

Systems

Mission CriticalDoD Systems

IndustrialProcessControl

MedicalImagingSystems

TAO CORBA Distribution Middleware

CIAO CORBA Component Middleware

CoSMIC Model Driven Middleware

Page 31: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

37

Aniruddha Gokhale MDM

Concluding RemarksModel, 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-to-end

1. Configure and deploy DRE applications end-to-end

2. Configure application component containers

3. Synthesize middleware-specific configurations

4. Synthesize dynamic QoS provisioning and adaptation logic

5. Benchmark provisioned system

Model Driven Approach to:

www.dre.vanderbilt.edu/cosmic

Page 32: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

38

Aniruddha Gokhale MDM

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

Page 33: Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Real-time and Embedded Applications Dr. Aniruddha Gokhale

39

Aniruddha Gokhale MDM

EXTRA