QUICKER: A Model-driven QoS Mapping Tool for QoS-enabled Component Middleware

Similar documents
Model-Driven QoS Provisioning Techniques for CCM DRE Systems

Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee

Design and Performance Evaluation of Resource-Management Framework for End-to-End Adaptation of Distributed Real-time Embedded Systems

Automated Middleware QoS Configuration Techniques for Distributed Real-time and Embedded Systems

Design and Performance Evaluation of an Adaptive Resource Management Framework for Distributed Real-time and Embedded Systems

Research Article Design and Performance Evaluation of an Adaptive Resource Management Framework for Distributed Real-Time and Embedded Systems

Techniques for Dynamic Swapping in the Lightweight CORBA Component Model

Meeting the Challenges of Ultra-Large

Tools & Techniques for Deployment & Configuration of QoS- enabled Component Applications

Model-Driven Optimizations of Component Systems

MDE4DRE: Model Driven Engineering for Distributed Real-time & Embedded Systems

A QoS-aware CCM for DRE System Development

A QoS-aware CORBA Component Model for Distributed Real-time and Embedded System Development

AIDING THE DEPLOYMENT AND CONFIGURATION OF COMPONENT MIDDLEWARE IN DISTRIBURED, REAL-TIME AND EMBEDDED SYSTEMS. Stoyan G. Paunov.

Physical Assembly Mapper: A Model-driven Optimization Tool for QoS-enabled Component Middleware

Science of Computer Programming. Model driven middleware: A new paradigm for developing distributed real-time and embedded systems

QoS-enabled Component Middleware for Distributed Real-Time. and Embedded Systems

Model-Driven Configuration and Deployment of Component Middleware Publish/Subscribe Services

CaDAnCE: A Criticality-aware Deployment And Configuration Engine

NetQoPE: A Middleware-based Network QoS Provisioning Engine for Distributed Real-time and Embedded Systems

Wednesday, March 20, 2013, Middleware Dr. Douglas C. Schmidt

Physical Assembly Mapper: A Model-driven Optimization Tool for QoS-enabled Component Middleware

A Platform-Independent Component QoS Modeling Language for Distributed Real-time and Embedded Systems

Design and Performance Evaluation of Configurable Component Middleware for End-to-End Adaptation of Distributed Real-time Embedded Systems

A Platform-Independent Component Modeling Language for Distributed Real-time and Embedded Systems

Model-driven QoS Provisioning for Distributed Real-time and Embedded Systems

TOWARD ENHANCING REUSABILITY OF COMPONENT MIDDLEWARE DSMLS USING GENERALIZATION AND STEP-WISE REFINEMENT. Ritesh Neema. Thesis

Meeting the Challenges of Ultra-Large. Large-Scale Distributed Real-time & Embedded (DRE) Systems

NetQoPE: A Model-driven Network QoS Provisioning Engine for Distributed Real-time and Embedded Systems

DREMS: A Toolchain and Platform for the Rapid Application Development, Integration, and Deployment of Managed Distributed Real-time Embedded Systems

NetQoPE: A Middleware-based Network QoS Provisioning Engine for Enterprise Distributed Real-time and Embedded Systems

Adaptive System Infrastructure for Ultra-Large. Large-Scale Systems. SMART Conference, Thursday, March 6 th, 2008

DQML: A Modeling Language for Configuring Distributed Publish/Subscribe Quality of Service Policies

CQML: Aspect-oriented Modeling for Modularizing and Weaving QoS Concerns in Component-based Systems

Concern-based Composition and Reuse of Distributed Systems

Verifying Distributed Real-time Properties of Embedded Systems via Graph Transformations and Model Checking

An Integrated Model-driven Development Environment for Composing and Validating Distributed Real-time and Embedded Systems

Automated Configuration of Component-based Distributed Real-time and Embedded Systems from Feature Models

Applying Model Intelligence Frameworks for Deployment Problem in Real-Time and Embedded Systems

Model-based Software Tools for Configuring and Customizing Middleware for Distributed Real-time and Embedded Systems

Empirically Evaluating CORBA Component Model Implementations

POLLUX: ENHANCING THE QUALITY OF SERVICE OF THE GLOBAL INFORMATION GRID (GIG)

Validating Quality of Service for Reusable Software Via Model-Integrated Distributed Continuous Quality Assurance

Improving Domain-specific Language Reuse through Software Product-line Configuration Techniques

Generator. Heads-Up Display

A QoS Policy Configuration Modeling Language for Publish/Subscribe Middleware Platforms

The Design and Performance of Configurable Component Middleware for Distributed Real-Time and Embedded Systems

Object Security. Model Driven Security. Ulrich Lang, Rudolf Schreiner. Protection of Resources in Complex Distributed Systems

MODEL-DRIVEN ENGINEERING OF COMPONENT-BASED DISTRIBUTED, REAL-TIME AND EMBEDDED SYSTEMS. Krishnakumar Balasubramanian.

short long double char octet struct Throughput in Mbps Sender Buffer size in KBytes short long double char octet struct

Towards integration of the Data Distribution Service with the CORBA Component Model

A Model-Driven Multi-Paradigm Integrated Simulation Framework For Analysis of Communication Networks

Applying Model Intelligence Frameworks for Deployment Problem in Real-Time and Embedded Systems

F6 Model-driven Development Kit (F6MDK)

RepoMan: A Component Repository Manager for Enterprise Distributed Real-time and Embedded Systems

Intelligent Event Processing in Quality of Service (QoS) Enabled Publish/Subscribe (Pub/Sub) Middleware

Using Domain-Specific Modeling to Generate User Interfaces for Wizards

NetQoPE: A Model-driven Network QoS Provisioning Engine for Distributed Real-time and Embedded Systems

Component models. Page 1

Applying MDA and Component Middleware to Large-scale Distributed Systems: A Case Study

Generator. Heads-Up Display

Applying CORBA Fault Tolerant Mechanisms to Network Management. B. Natarajan, F. Kuhns, and C. O Ryan

Middleware Support for Dynamic Component Updating

Implementing Real-time CORBA with Real-time Java

Static Component Configuration Support for Real-Time Platforms

Enhancing Adaptivity via Standard Dynamic Scheduling Middleware

Java For Real-Time Enterprise Systems Delivering the Benefits of Java to the world of Real-Time distributed object computing

Limitations of Object-Based Middleware. Components in CORBA. The CORBA Component Model. CORBA Component

Model-Integrated Computing for Composition of Complex QoS Applications

Middleware for Resource-Aware Deployment and Configuration of Fault-Tolerant Real-time Systems

From MDD back to basic: Building DRE systems

Architecture of Distributed Systems Component-based Systems

The Java Executor (Part 1)

Concern Separation in Model-Integrated Computing

Performance Evaluation of the Reactor Pattern Using the OMNeT++ Simulator

Model-based Analysis of Event-driven Distributed Real-time Embedded Systems

Distributed and Managed: Research Challenges and Opportunities of the Next Generation Cyber-Physical Systems

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Distributed and Agent Systems

M*Ware TMN Manager Development Environment

An Implementation of the Behavior Annex in the AADL-toolset Osate2

Weapon Systems Open Architecture Overview

Target Manager A Resource Provisioning Service for Enterprise Distributed Real-time and Embedded Systems

Solid State Recorder Data Organization Software and Functional Emulator for Mission Planning and Early Integration

Improving Domain-specific Language Reuse with Software Product-line Techniques

Concern Separation in Model-Integrated Computing

Model-driven Engineering of Component Systems

An Overview of the Real-time CORBA Specification

J2EEML: Applying Model Driven Development to Autonomic Enterprise Java Bean Systems

Evaluating Policies and Mechanisms to Support Distributed Real-Time Applications with CORBA

CHAPTER - 4 REMOTE COMMUNICATION

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

Outline. Introduction. Survey of Device Driver Management in Real-Time Operating Systems

AADL to build DRE systems, experiments with Ocarina. Jérôme Hugues, ENST

The Design and Implementation of Real-Time CORBA 2.0: Dynamic Scheduling in TAO

Using Prioritized Network Traffic to Achieve End-to-End Predictability

Real-time & Embedded Systems Workshop July 2007 Building Successful Real-time Distributed Systems in Java

Advanced On-board Control Procedure

The etrice Eclipse Project Proposal

Experience Report on Implementing and Applying a Standard Real- Time Embedded Component Platform Gregory Haik gregory.haik [at] fr.thalesgroup.

A Component Model and Software Architecture for CPS

Transcription:

QUICKER: A Model-driven QoS Mapping Tool for QoS-enabled Component Middleware Amogh Kavimandan, Krishnakumar Balasubramanian, Nishanth Shankaran, Aniruddha Gokhale, & Douglas C. Schmidt amoghk@dre.vanderbilt.edu Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee

Context Benefits of QoSenabled middleware technologies Raise the level of abstraction AP GPS Cyclic Exec Nav Air Frame HUD FLIR IFF F acets Event Sinks Component Reference Container Component Home COMPONENT EXECUTORS Internal Interfaces Callback Interfaces Compo nent Context POA Receptacles Event Sources ORB COMPONENT SERVER 2

Context Benefits of QoSenabled middleware technologies Raise the level of abstraction Support many quality of service (QoS) configuration knobs Facets Eve nt Sinks Component Reference Container Component Home COMPONENT EXECUTORS Internal Interfaces Callback Interfaces Component Contex t POA COMPONENT SERVER 1 Rec eptacles E vent Sources Protocol Properties Priority Band End-to-End Priority Propagation Thread Pools ORB F acets Event Sinks Component Reference Container Component Home Portable Priorities COMPONENT EXECUTORS Internal Interfaces Callback Interfaces Compo nent Context POA COMPONENT SERVER 2 Receptacles Event Sources 3

Context Benefits of QoSenabled middleware technologies Raise the level of abstraction Support many quality of service (QoS) configuration knobs F acets Event Sinks Component Reference Container Component Home COMPONENT EXECUTORS Internal Interfaces Callback Interfaces ORB Compo nent Context POA COMPONENT SERVER Receptacles Event Sources Drawbacks of QoS-enabled middleware technologies Achieving desired QoS increasingly a system QoS configuration problem, not just an initial system functional design problem Lack of effective QoS configuration tools result in QoS policy mis-configurartions that are hard to analyze & debug 4

Motivating Application: NASA MMS Mission NASA s Magnetospheric MultiScale (MMS) space mission consists of four identically instrumented spacecraft & a ground control system Collect mission data Send it to ground control at appropriate time instances 5

Motivating Application: NASA MMS Mission MMS mission QoS requirements span two dimensions Multiple modes of operation Varying importance of data collection activity of satellite sensors based on mission phase Slow Survey Fast Survey Burst 6

Motivating Application: NASA MMS Mission MMS mission QoS requirements span two dimensions Multiple modes of operation Varying importance of data collection activity of satellite sensors based on mission phase Need to translate QoS policies into QoS configuration options & resolve QoS dependencies Slow Survey Fast Survey Burst 7

Component-based MMS Mission Prototype Spacecraft 1 Sensor Suite (Linux node) Sensor 1 Sensor 2 Sensor 3 Sensor 4 Gizmo Agent Gizmo Agent Gizmo Agent Gizmo Agent Ethernet (802.3) Payload Processor (Linux Node) Science Agent Exec Agent Algorithm Algorithm Comm Agent Ethernet (802.3) Bus Processor (VxWorks Node) GNC Agent Comm Agent Exec Agent MMS application components are bundled together into hierarchical assemblies Assembly package metadata conveys component interconnections & implementation alternatives Several different assemblies tailored to deliver different end-to-end QoS behaviors and/or algorithms can be part of the package e.g., full-scale MMS has 100 s of components & 10 s of assemblies Packages describing the components & assemblies can be scripted via XML descriptors generated by automated model-driven tools MMS prototype developed using Component-Integrated ACE ORB (CIAO)

Challenge 1: Translating QoS Policies to QoS Options Prioritized service invocations (QoS Policy) must be mapped to Real-time CORBA Banded Connection (QoS configuration) Large gap between application QoS policies & middleware QoS configuration options Bridging this gap is necessary to realize the desired QoS policies The mapping between application-specific QoS policies & middlewarespecific QoS configuration options is non-trivial, particular for large systems 9

Challenge 1: Translating QoS Policies to QoS Options Conventional mapping approach requires deep understanding of the middleware configuration space e.g., multiple types/levels of QoS policies require configuring appropriate number of thread pools, threadpool lanes (server) & banded connections (client) Client Propagation & Server Declared Priority Models Static Scheduling Service Explicit Binding Portable Priorities Protocol Properties Standard Synchonizers Thread Pools Request Buffering 10

Challenge 2: Choosing Appropriate QoS Option Values Individually configuring component QoS options is tedious & error-prone e.g., ~10 distinct QoS options per component & ~140 total QoS options for entire NASA MMS mission prototype Manually choosing valid values for QoS options does not scale as size & complexity of applications increase 11

Challenge 3: Validating QoS Options Each QoS option value chosen should be validated e.g., Filter priority model is CLIENT_PROPAGATED, whereas Comm priority model is SERVER_DECLARED Each system reconfiguration (at design time) should be validated e.g., reconfiguration of bands of Analysis should be validated such that the modified value corresponds to (some) lane priority of the Comm 12

Challenge 4: Resolving QoS Option Dependencies ThreadPool priorities of Comm should match priority bands defined at Gizmo QoS option dependency is defined as: Dependency between QoS options of different components Manually tracking dependencies is hard or in some cases infeasible Dependent components may belong to more than one assembly Dependency may span beyond immediate neighbors e.g., dependency between Gizmo & Comm components Empirically validating configuration changes by hand is tedious, errorprone, & slows down development & QA process considerably Several iterations before desired QoS is achieved (if at all) 13

Solution Approach: Model-Driven QoS Mapping QUality of service picker (QUICKER) Model-driven engineering (MDE) tools model application QoS policies Provides automatic mapping of QoS policies to QoS configuration options Validates the generated QoS options Automated QoS mapping & validation tools can be used iteratively throughout the development process 14

QUICKER Enabling MDE Technologies Enhanced Platform Independent Component Modeling Language (PICML), a DSML for modeling componentbased applications QoS mapping uses Graph Rewriting & Transformation (GReAT) model transformation tool Customized Bogor model-checker used to define new types & primitives to validate QoS options 15

QUICKER Enabling MDE Technologies Enhanced Platform Independent Component Modeling Language (PICML), a DSML for modeling componentbased applications QoS mapping uses Graph Rewriting & Transformation (GReAT) model transformation tool Customized Bogor model-checker used to define new types & primitives to validate QoS options CQML Model Interpreter Bogor Input Representation CQML Model interpreter generates Bogor Input Representation (BIR) of DRE system from its CQML model 16

QUICKER Concepts: Transformation of QoS policies(1/2) 1. Platform-Independent Modeling Language (PICML) represents application QoS policies PICML captures policies in a platformindependent manner Representation at multiple levels e.g., component- or assembly-level RequirementProxy can be per component or assembly instance 17

QUICKER Concepts: Transformation of QoS policies(1/2) 1. Platform-Independent Modeling Language (PICML) represents application QoS policies PICML captures policies in a platformindependent manner Representation at multiple levels e.g., component- or assembly-level 2. Component QoS Modeling Language (CQML) represents QoS options CQML captures QoS configuration options in a platform-specific manner 18

QUICKER Concepts: Transformations of QoS policies(2/2) 3. Translation of application QoS policies into middleware QoS options Semantic translation rules specified in terms of input (PICML) & output (CQML) type graph e.g., rules that translate multiple application service requests & service level policies to corresponding middleware QoS options QUICKER transformation engine maps QoS policies (in PICML) to QoS configuration options (in CQML) Service Request Priority Model Provider Multiple Service Requests Priority Model Policy Thread Pool Level 1 Level 2 Level 3 Provider Service Levels Service Levels Lane Lane Lane Lanes 19

QUICKER Concepts: Validation of QoS Options (1/2) 1. Representation of middleware QoS options in Bogor model-checker BIR extensions allow representing domain-level concepts in a system model QUICKER defines new BIR extensions for QoS options Allows representing QoS options & domain entities directly in a Bogor input model e.g., CCM components, Realtime CORBA lanes/bands are first-class Bogor data types Reduces size of system model by avoiding multiple low-level variables to represent domain concepts & QoS options 20

QUICKER Concepts: Validation of QoS Options (2/2) 2. Representation of properties (that a system should satisfy) in Bogor BIR primitives define language constructs to access & manipulate domain-level data types, e.g.: Used to define rules that validate QoS options & check if property is satisfied 3. Automatic generation of BIR of DRE system from CQML models Rule determines if ThreadPool priorities at Comm match priority bands at Analysis Model interpreters auto-generate Bogor Input Representation of a system from its CQML model 21

Resolving Challenge 1: Translating Policies to Options (1/2) Expressing QoS policies PICML modes application-level QoS policies at high-level of abstraction e.g., multiple service levels support for Comm component, service execution at varying priority for Analysis component Reduces modeling effort e.g., ~25 QoS policy elements for MMS mission vs. ~140 QoS options 22

Resolving Challenge 1: Translating Policies to Options (2/2) Mapping QoS policies to QoS options GReAT model transformations automate the tedious & error-prone translation process Transformations generate QoS configuration options as CQML models Allow further transformation by other tools e.g., code optimizers & generators Simplifies application development & enhances traceability 23

Resolving Challenges 2 & 3: Ensuring QoS Option Validity CQML model interpreter generates BIR QUICKER specification from CQML models BIR primitives used to check whether a given set of QoS options satisfies a system property e.g., fixed priority service execution, a property of Comm component Supports iterative validation of QoS options during QoS configuration process 24

Resolving Challenge 4: Resolving QoS Option Dependencies Dependency structure maintained in Bogor used to track dependencies between QoS options of components, e.g.: Analysis & Comm are connected Detect mismatch if either values change Gizmo& Dependency Structure of MMS Mission Components Comm are dependent Change(s) in QoS options of dependent component(s) triggers detection of potential mismatches e.g., dependency between Gizmo invocation priority & Comm lane priority 25

Functional Specification & Analysis Tools Hatcliff, J. et. al. (2003). Cadena QoS Adaptation Modeling Tools Ye, J. et. al. (2004). DQME Zinky, J., (1997). QuO QoS Specification Tools Ritter, T. et. al. (2003). CCM QoS MetaModel Ahluwalia, J. et. al. (2005). Model-based Run-time Monitoring Frolund, S. et. al. (1998). QML Schedulability Analysis Tools Academic Related Work Madl, G. et. al. (2004). Automatic Component-based system verification Kodase, S. et. al. (2003). AIRES 26

Concluding Remarks QUICKER provides Model-Driven Engineering (MDE) for QoS-enabled component middleware Maps application-level QoS policies to middleware-specific QoS configuration options Model transformations automatically generate QoS options Model-checking extensions ensure validity of QoS options at component- & applicationlevel QUICKER MDE tools & CIAO QoS-enabled component middleware available as opensource at www.dre.vanderbilt.edu/cosmic 27

Questions? 1-5 10-20 21-100 28