An Approach to Middleware Specialization for Cyber Physical Systems

Slides:



Advertisements
Similar presentations
Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
Advertisements

Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Priority Research Direction (I/O Models, Abstractions and Software) Key challenges What will you do to address the challenges? – Develop newer I/O models.
High-confidence Software for Cyber Physical Systems Drexel University Philadephia, PA Vanderbilt University Nashville, Tennessee Aniruddha Gokhale *, Sherif.
1 Assessing Contemporary Modularization Techniques for Middleware Specialization Akshay Dabholkar & Aniruddha Gokhale OOPSLA ACoM.
© 2004 Visible Systems Corporation. All rights reserved. 1 (800) 6VISIBLE Holistic View of the Enterprise Business Development Operations.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
- 1 - Component Based Development R&D SDM Theo Schouten.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
12 Chapter 12 Client/Server Systems Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
1 I/O Management in Representative Operating Systems.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
23 September 2004 Evaluating Adaptive Middleware Load Balancing Strategies for Middleware Systems Department of Electrical Engineering & Computer Science.
1 Assessing Contemporary Modularization Techniques for Middleware Specialization Akshay Dabholkar & Aniruddha Gokhale OOPSLA ACoM.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
Introduction to MDA (Model Driven Architecture) CYT.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Generative Middleware Specializations for Distributed, Real-time and Embedded Systems Institute for Software Integrated Systems Dept of EECS, Vanderbilt.
HPEC’02 Workshop September 24-26, 2002, MIT Lincoln Labs Applying Model-Integrated Computing & DRE Middleware to High- Performance Embedded Computing Applications.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
DataReader 2 Enhancing Security in Ultra-Large Scale (ULS) Systems using Domain- specific Modeling Joe Hoffert, Akshay Dabholkar, Aniruddha Gokhale, and.
Architecture-Driven Context-Specific Middleware Specializations for Distributed Real-time and Embedded Systems Akshay Dabholkar, and Aniruddha Gokhale.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
March 2004 At A Glance NASA’s GSFC GMSEC architecture provides a scalable, extensible ground and flight system approach for future missions. Benefits Simplifies.
A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms Joe.
CSE 303 – Software Design and Architecture
Software Engineering Chapter: Computer Aided Software Engineering 1 Chapter : Computer Aided Software Engineering.
Towards a Holistic Approach for Integrating Middleware with Software Product Lines Research Institute for Software Integrated Systems Dept of EECS, Vanderbilt.
SelfCon Foil no 1 Variability in Self-Adaptive Systems.
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.
Topic 2: The Role of Open Standards, Open-Source Development, & Different Development Models & Processes (on Industrializing Software) ARO Workshop Outbrief,
POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale ISIS, Dept.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
Towards A QoS Modeling and Modularization Framework for Component-based Systems Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale Amogh Kavimandan (Presenter)
February 19, February 19, 2016February 19, 2016February 19, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific.
Fault-tolerance for Component-based Systems – An Automated Middleware Specialization Approach Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale Abhishek.
Systematic Specialization of General-Purpose Middleware for Cyber-Physical Systems Akshay Dabholkar, Aniruddha Gokhale, and Sumant Tambe Dept. of EECS,
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale
Towards a Real-time CORBA Component Model
Grid Computing.
Towards Effective Adaptive User Interfaces Design
Component Based Software Engineering
Introduction to J2EE Architecture
Arvind S. Krishna, Aniruddha Gokhale and Douglas C. Schmidt
Vanderbilt University
11/14/2018 QUICKER: A Model-driven QoS Mapping Tool for QoS-enabled Component Middleware Amogh Kavimandan, Krishnakumar Balasubramanian, Nishanth Shankaran,
Applying Domain-Specific Modeling Languages to Develop DRE Systems
Software Connectors – A Taxonomy Approach
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Tools for Composing and Deploying Grid Middleware Web Services
Service Oriented Architecture (SOA)
Templatized Model Transformation: Enabling Reuse in Model Transformations Amogh Kavimandan and Aniruddha Gokhale Dept. of EECS, Vanderbilt University,
Chapter 2: Operating-System Structures
4+1 View Model of Software Architecture
Automated Analysis and Code Generation for Domain-Specific Models
The Anatomy and The Physiology of the Grid
Quality Assurance for Component-Based Software Development
4+1 View Model of Software Architecture
The Anatomy and The Physiology of the Grid
Chapter 2: Operating-System Structures
Executable Specifications
Architectural Mismatch: Why reuse is so hard?
ONAP Architecture Principle Review
Presentation transcript:

An Approach to Middleware Specialization for Cyber Physical Systems 9/16/2018 An Approach to Middleware Specialization for Cyber Physical Systems Akshay Dabholkar and Aniruddha Gokhale a.gokhale@vanderbilt.edu www.dre.vanderbilt.edu/~gokhale Presented at WCPS Workshop (ICDCS 2009) Montreal, Canada June 22nd, 2009 Research supported by NSF CAREER Award 0845789 Institute for Software Integrated Systems Dept of EECS, Vanderbilt University Nashville, TN, USA

Developing Services in Cyber Physical Systems Cyber Physical Systems exist across multiple domains Tight integration of cyber, networking & physics Software controls the physics; physics impacts software Many services envisioned within a CPS domain e.g., intelligent transportation systems have over 20+ services expected to be available Services are essentially application product lines for that domain Need Middleware provides the reusable functional/non functional capabilities

Middleware Structure & Capabilities CPS product-lines need to be supported on different hardware & OS Problem - direct deployment is tedious, error-prone, & costly over lifecycles There are layers of middleware, just like there are layers of networking protocols COTS middleware helps to: Control end-to-end resources & QoS Leverage hardware & software technology advances Evolve to new environments & requirements Provide a wide array of reusable, off-the-shelf developer-oriented services

Challenges in Middleware for CPS Product Lines CPS product lines have very “focused but crosscutting” requirements of the underlying middleware infrastructure Optimized for the platform Lean footprint Support run-time adaptations & reconfigurations But, standards COTS middleware catered to maintaining “generality, wide applicability, portability & reusability” OS, compiler and hardware independent Cannot reinvent the wheel – Reuse ! High development, maintenance costs Need new principles and techniques that reuse but specialize COTS middleware for CPS product lines

What is involved in Middleware Specialization? Need only certain capabilities at each layer How to identify these code paths? Need to optimize these paths for performance and memory footprint Optimal packing on resources Address endogenous & exogenous systemic issues Product-line architecture & product variants PLA1 PLA2 PLA3 PLAK A feature-oriented view of middleware lends itself well Makes it amenable to algebraic manipulations OS1 OS2 OS3 OSN HW1 HW2 HW3 HWM

Feature Perspective of Middleware (1/3) Configuration of components & assemblies Traditionally, features are OO classes COTS middleware is highly configurable and flexible Configurability as an indicator of features Configuration of component server Configuration of event notifiers This is the CCM Solution. Don’t go into details here…. Just emphasize that components are just local interface implementations, as we will see later Container mediated CORBA services Configuration of the middleware bus Configuration of component containers Let us treat configurability as features that can be manipulated

Feature Perspective of Middleware (2/3) Component middleware is characterized by a large configuration space that maps known variations in the application requirements space to known variations in the middleware solution space Concurrency Request demuxing marshaling strategy Connection management Underlying transport Event demuxing

Feature Perspective of Middleware (3/3) Various middleware policies for server objects e.g., security, lifetime, replication Thread pool sizes; how are they shared; number of lanes and their priorities; if borrowing is enabled server object management middleware Right buffer sizes End-to-end priority propagation model to use Server object management policies Ensure semantic compatibility among chosen configurations This is the CCM Solution. Don’t go into details here…. Just emphasize that components are just local interface implementations, as we will see later Container mediated CORBA services Data structures and configuration parameters Policy sets Specialization can synthesize only the desired features

Algebraic Manipulations of Middleware Approach based on Batory’s work on GenVoca and AHEAD Apel et. al.’s Feature Algebra Original Origami Matrix Enhance the algebra in the design, deployment and runtime dimensions Folding of 3rd and 4th column

Current Status: Build-time Specializations CPS developer is provided an intuitive feature model for feature selection Map the selections to middleware-specific features Build-time specializations Source navigator collects info about middleware code User inputs used to find closure set of all functionality needed Closure set of features built Dependencies analyzed Run it thru project builders that synthesize Makefiles for just the needed features Result is a specialized stack

Longer-term Goals: Multiple Dimensions Overlapping dimensions share concepts Dimensions can be combined to produce new variants of specialization Serves as a guideline for synthesis of tools for design, V&V, analysis of specializations, etc Current focus on Intelligent Transportation Systems When? How? Lets take a look at some of the approaches taken in the survey papers which do a good job of combining the various dimensions of the taxonomy. Limitations of traditional middleware specialization techniques Focused on per-component basis Does not span all stages of development life cycle Does not support newer specialization techniques e.g. AOP, CBD, MDE, etc Not integrated to support testing and analysis Need for augmentation with new, existing approaches What? Three dimensional Taxonomy of Middleware Specializations

Concluding Remarks Leverage the benefits of COTS middleware but specialize it for CPS applications [No reinvention of the wheel; Reuse] An approach to algebraic manipulations is most promising Current focus on build-time specializations Goal is to extend it to deployment and runtime Open source project called GAMMA (Generators and Aspects for Manipulation of Middleware Architectures) Research funded by NSF CAREER Award (March 2009)