11/14/2018 QUICKER: A Model-driven QoS Mapping Tool for QoS-enabled Component Middleware Amogh Kavimandan, Krishnakumar Balasubramanian, Nishanth Shankaran,

Slides:



Advertisements
Similar presentations
MDI 2010, Oslo, Norway Behavioural Interoperability to Support Model-Driven Systems Integration Alek Radjenovic, Richard Paige The University of York,
Advertisements

Guaranteed Component Assembly with Round Trip Analysis for Energy Efficient High-integrity Multi-core Systems Artemis-AAL day 7 May, Budapest 1BME and.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Automatic Verification of Component-Based Real-Time CORBA Applications Gabor Madl Sherif Abdelwahed
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards Dr. Nenad Medvidovic Center.
Chapter 13 Embedded Systems
Investigating Lightweight Fault Tolerance Strategies for Enterprise Distributed Real-time Embedded Systems Tech-X Corporation Boulder, Colorado Vanderbilt.
1 Software Testing and Quality Assurance Lecture 30 – Testing Systems.
Verifying Distributed Real-time Properties of Embedded Systems via Graph Transformations and Model Checking Gabor Madl
Introduction : ‘Skoll: Distributed Continuous Quality Assurance’ Morimichi Nishigaki.
23 September 2004 Evaluating Adaptive Middleware Load Balancing Strategies for Middleware Systems Department of Electrical Engineering & Computer Science.
QoS-enabled middleware by Saltanat Mashirova. Distributed applications Distributed applications have distinctly different characteristics than conventional.
Architectural Design.
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR.
Automated Middleware QoS Configuration Techniques using Model Transformations Vanderbilt University Nashville, Tennessee Institute for Software Integrated.
26 Sep 2003 Transparent Adaptive Resource Management for Distributed Systems Department of Electrical Engineering and Computer Science Vanderbilt University,
Introduction to MDA (Model Driven Architecture) CYT.
Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
DataReader 2 Enhancing Security in Ultra-Large Scale (ULS) Systems using Domain- specific Modeling Joe Hoffert, Akshay Dabholkar, Aniruddha Gokhale, and.
Investigating Survivability Strategies for Ultra-Large Scale (ULS) Systems Vanderbilt University Nashville, Tennessee Institute for Software Integrated.
CoSMIC: Tool-suite for Weaving Deployment & Configuration Crosscutting Concerns of CCM-based DRE Systems Dr. Aniruddha Gokhale (PI) Institute for Software.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
March 2004 At A Glance autoProducts is an automated flight dynamics product generation system. It provides a mission flight operations team with the capability.
NetQoPE: A Middleware-based Netowork QoS Provisioning Engine for Distributed Real-time and Embedded Systems Jaiganesh Balasubramanian
Evaluating the Correctness and Effectiveness of a Middleware QoS Configuration Process in DRE Systems Institute for Software Integrated Systems Dept of.
A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms Joe.
Towards a Holistic Approach for Integrating Middleware with Software Product Lines Research Institute for Software Integrated Systems Dept of EECS, Vanderbilt.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
Towards A QoS Modeling and Modularization Framework for Component-based Systems Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale Amogh Kavimandan (Presenter)
Model-Driven Optimizations of Component Systems Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems OMG Real-time Workshop.
T imed Languages for Embedded Software Ethan Jackson Advisor: Dr. Janos Szitpanovits Institute for Software Integrated Systems Vanderbilt University.
Evaluating the Correctness and Effectiveness of a Middleware QoS Configuration Process in DRE Systems Vanderbilt University Nashville, Tennessee Institute.
Model-Driven Engineering of Component-based Distributed Real-time & Embedded Systems Vanderbilt University Nashville, Tennessee Institute for Software.
A Vision for Integration of Embedded System Properties Via a Model-Component-Aspect System Architecture Christopher D. Gill Department.
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
 System Requirement Specification and System Planning.
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
Marilyn Wolf1 With contributions from:
The Role of Reflection in Next Generation Middleware
Business process management (BPM)
Lecture 3 Prescriptive Process Models
Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale
International Service Availability Symposium (ISAS) 2007
Business process management (BPM)
Aniruddha Gokhale Assistant Professor ISIS, Dept. of EECS
An Approach to Middleware Specialization for Cyber Physical Systems
Arvind S. Krishna, Aniruddha Gokhale and Douglas C. Schmidt
Vanderbilt University
Krishnakumar Balasubramanian
Gabor Madl Ph.D. Candidate, UC Irvine Advisor: Nikil Dutt
Model-Driven Analysis Frameworks for Embedded Systems
Gabor Madl Nikil Dutt Domain-specific Modeling of Power Aware Distributed Real-time Embedded Systems Gabor Madl
The Extensible Tool-chain for Evaluation of Architectural Models
Applying Domain-Specific Modeling Languages to Develop DRE Systems
Tools for Composing and Deploying Grid Middleware Web Services
Multiple Aspect Modeling of the Synchronous Language Signal
The Extensible Tool-chain for Evaluation of Architectural Models
Templatized Model Transformation: Enabling Reuse in Model Transformations Amogh Kavimandan and Aniruddha Gokhale Dept. of EECS, Vanderbilt University,
Model Comparison: A Key Challenge for Transformation Testing and Version Control in Model Driven Software Development Yuehua Lin, Jing Zhang, Jeff Gray.
Automated Analysis and Code Generation for Domain-Specific Models
Transparent Adaptive Resource Management for Middleware Systems
Presented By: Darlene Banta
Quality-aware Middleware
A General Approach to Real-time Workflow Monitoring
Architectural Mismatch: Why reuse is so hard?
Presentation transcript:

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

Background COTS middleware technologies Raise the level of abstraction 11/14/2018 Background COTS middleware technologies Raise the level of abstraction Support a number of Quality of Service (QoS) configuration knobs Container COMPONENT EXECUTORS Component Home POA Callback Interfaces I n t e r a l f c s E v S i k F R p o u Reference C m x COMPONENT SERVER 1 COMPONENT SERVER 2 ORB End-to-End Priority Propagation Thread Pools Portable Priorities Protocol Properties Priority Band Flexibility in configuration complicates DRE system development System QoS now depends on how middleware is configured Achieving desired QoS increasingly becoming configuration problem than design problem Lack of effective QoS configuration tools result in QoS policy mis-configurarions that are hard to analyze & debug

Motivating Application 11/14/2018 Motivating Application NASA’s Magnetospheric MultiScale (MMS) space mission Consists of four identically instrumented spacecraft, ground control system Collect mission data Send it to ground control at appropriate time instances MMS mission QoS requirements span across two dimensions Multiple modes of operation Varying importance of data collection activity of satellite sensors Need to translate QoS requirements into QoS options as well as resolve QoS dependencies

Challenge 1: Translating policies to configuration options 11/14/2018 Challenge 1: Translating policies to configuration options Prioritized service invocations (QoS Policy) needs to be mapped to Banded Connection (QoS configuration) Large gap between application QoS policies & middleware QoS configuration options Necessary to realize the desired QoS policies Not a straightforward mapping Requires understanding of middleware configuration space e.g., multiple levels of QoS requires configuring appropriate number of thread pools, threadpool lanes (server) and banded connections(client)

Challenge 2: Choosing appropriate values for QoS options 11/14/2018 Challenge 2: Choosing appropriate values for QoS options Individually configuring components is tedious & error-prone e.g., ~140 QoS options for MMS mission Choosing valid values for configuration options inherently doesn’t scale well as size of application increases

Challenge 3: Validating QoS options 11/14/2018 Challenge 3: Validating QoS options Each QoS option value chosen has to be validated Every system reconfiguration (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 Comm component 6

Challenge 4: Resolving QoS options dependencies(2/2) 11/14/2018 Challenge 4: Resolving QoS options dependencies(2/2) ThreadPool priorities of Comm should match priority bands defined at Gizmo Manually tracking dependencies difficult 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 and Comm components Empirically validating a change in configuration slows down design process considerably Several iterations before desired QoS is achieved (if at all) 7

Solution Approach: Model-Driven QoS Mapping 11/14/2018 Solution Approach: Model-Driven QoS Mapping QUality of service pICKER (QUICKER) Allows modeling of application QoS policies Provides automatic mapping of QoS policies to configuration options Allows validating the generated QoS options Automated QoS mapping and validation process – can be used iteratively in the design process

Enabling Technologies 11/14/2018 Enabling Technologies Enhanced Platform Independent Component Modeling Language (PICML), a DSML for modeling CCM applications QoS Mapping using Graph Rewriting and Transformation (GReAT) model transformation tool Customized Bogor model-checker to define new types and primitives to validate QoS options Uses model interpreters to automate generation of system specification in Bogor 9

QUICKER concepts: Transformation of QoS policies(1/2) 11/14/2018 QUICKER concepts: Transformation of QoS policies(1/2) Representation of application QoS policies Platform-independent semantics closely follow application QoS requirements Representation of policies at component- or assembly-level Representation of QoS options Component QoS Modeling Language (CQML) captures CCM-specific QoS configuration options RequirementProxy can be per component or assembly instance

QUICKER concepts: Transformations of QoS policies(2/2) 11/14/2018 QUICKER concepts: Transformations of QoS policies(2/2) Translation of policies into QoS options Semantic translation rules specified in terms of input (PICML) and output (CQML) type graph QUICKER Transformation engine performs mapping of QoS policies (in PICML) to QoS configuration options (in CQML) 11

QUICKER concepts: Validation of QoS options(1/2) 11/14/2018 QUICKER concepts: Validation of QoS options(1/2) Representation of middleware QoS options in Bogor Bogor extensions allow representing domain-level concepts of system model QUICKER defines new Bogor extension for QoS options Uses Bogor Input Representation (BIR) at a higher level of abstraction e.g., Component, lane, band etc. data types defined in QoS extensions Reduces size of the system model by avoiding (redundant) auxiliary variables in specification

QUICKER concepts: Validation of QoS options(2/2) 11/14/2018 QUICKER concepts: Validation of QoS options(2/2) Representation of properties (that a system should satisfy) in Bogor BIR primitives define language constructs to access & manipulate domain-level data types Used to define rules that validate options and check if property is satisfied Used to construct dependency structure of components which is needed for validation of connected components Automatic generation of BIR specification from CQML models Rule determines if ThreadPool priorities at Comm match with priority bands at Analysis 13

Resolving Challenge 1 : Translating policies to options (1/2) 11/14/2018 Resolving Challenge 1 : Translating policies to options (1/2) Expressing QoS policies Allow modeling 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 (~ 25 QoS policy elements for MMS mission)

Resolving Challenge 1 : Translating policies to options (2/2) 11/14/2018 Resolving Challenge 1 : Translating policies to options (2/2) Mapping policies to options Model transformations automate the tedious & error-prone translatation process Reduced development time Transformations generate QoS configuration options as CQML models Allow further analysis/transformation by other tools Traceability in development process 15

Resolving Challenges 2 & 3 : Ensuring validity of QoS options 11/14/2018 Resolving Challenges 2 & 3 : Ensuring validity of QoS options Model interpreter used to generate BIR 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

Resolving Challenge 4: Resolving QoS options dependencies 11/14/2018 Resolving Challenge 4: Resolving QoS options dependencies Use dependency structure to track dependencies between QoS options of connected (e.g., Comm and Analysis) or dependent (e.g., Comm and Gizmo) Detect mismatch if either values change Change(s) in QoS options of dependent component(s) causes detection of potential mismatches e.g, dependency between gizmo invocation priority and Comm lane priority values Dependencies resolved at design time

Related Work Functional Specification & Analysis Tools 11/14/2018 Related Work 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 Madl, G. et. al. (2004). Automatic Component-based system verification Kodase, S. et. al. (2003). AIRES Cadena provides a framework for lightweight dependency analysis of behavior of components. Cadena also supports an integrated modelchecking infrastructure dedicated to checking global system properties using event-based inter-component communication. The difference between Cadena and QUICKER is that Cadena applies model-checking to verify functional behavior of components, whereas QUICKER applies model-checking to verify QoS configuration options of component middleware. The Distributed QoS modeling environment (DQME) is a DSML that enables the design of QoS adaptive applications in combination with using QoS provisioning frameworks, such as QuO. DQME uses a hierarchical representation for modeling QoS adaptation strategies and supports design of controllers based on state machines. DQME focuses on a high-level design of QoS adaptation strategies, whereas QUICKER’s emphasis is more fine-grained and focuses on the runtime configuration options of the underlying middleware. Ritter et.al. describes CCM extensions for generic QoS support and discusse a QoS metamodel that supports domain-specific multi-category QoS contracts. Ahluwalia focuses on capturing QoS properties in terms of interaction patterns amongst system components that are involved in executing a particular service and supporting run-time monitoring of QoS properties by distributing them over components (which can be monitored) to realize that service. In contrast to these two works, QUICKER focuses on automating the error-prone activity of mapping platform-independent QoS policies to middleware-specific QoS configuration options. Work by Madl et. al. maps application models captured in the Embedded Systems Modeling Language (ESML) to UPPAAL timed automata using graph transformation to verify properties like schedulability of a set of real-time tasks. AIRES is a model-driven analysis tool that evaluates whether certain timing, memory, power, and cost constraints of realtime and embedded applications are satisfied. QUICKER is complementary to these efforts since it emphasizes mechanisms to translate design-intent into actual configuration options of underlying middleware and verify that both the transformation and subsequent modifications to the configuration options remain semantically valid. 18

Available as Open-Source tools http://www.dre.vanderbilt.edu/CoSMIC 11/14/2018 Concluding Remarks QUICKER Model-Driven Engineering (MDE)-based approach 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- and application-level Available as Open-Source tools http://www.dre.vanderbilt.edu/CoSMIC 19

Questions? 1 - 5 1 - 2 2 1 - 1 1 - 5 1 - 2 2 1 - 1