Towards a Holistic Approach for Integrating Middleware with Software Product Lines Research Institute for Software Integrated Systems Dept of EECS, Vanderbilt.

Slides:



Advertisements
Similar presentations
OneBridge Mobile Data Suite Product Positioning. Target Plays IT-driven enterprise mobility initiatives Extensive support for integration into existing.
Advertisements

Priority Research Direction (I/O Models, Abstractions and Software) Key challenges What will you do to address the challenges? – Develop newer I/O models.
Software Reuse SEII-Lecture 28
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
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.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Challenges Ahead 1 Middleware: State of the Art and Challenges Ahead  Changing environment  Enterprise application integration: formerly independent.
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.
CoSMIC: An MDA Tool Suite for Application Deployment and Configuration Tao Lu, Emre Turkay Aniruddha Gokhale, Douglas Schmidt
1 Assessing Contemporary Modularization Techniques for Middleware Specialization Akshay Dabholkar & Aniruddha Gokhale OOPSLA ACoM.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
A Research Agenda for Accelerating Adoption of Emerging Technologies in Complex Edge-to-Enterprise Systems Jay Ramanathan Rajiv Ramnath Co-Directors,
Automated Middleware QoS Configuration Techniques using Model Transformations Vanderbilt University Nashville, Tennessee Institute for Software Integrated.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
4.x Performance Technology drivers – Exascale systems will consist of complex configurations with a huge number of potentially heterogeneous components.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Copyright 2009 Fujitsu America, Inc. 0 Fujitsu PRIMERGY Servers “Next Generation HPC and Cloud Architecture” PRIMERGY CX1000 Tom Donnelly April
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale ISIS, Dept.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
LOGO Service and network administration Storage Virtualization.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Generative Middleware Specializations for Distributed, Real-time and Embedded Systems Institute for Software Integrated Systems Dept of EECS, Vanderbilt.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
HPEC’02 Workshop September 24-26, 2002, MIT Lincoln Labs Applying Model-Integrated Computing & DRE Middleware to High- Performance Embedded Computing Applications.
Model-Driven Engineering for Development-Time QoS Validation of Component-based Software Systems James Hill, Sumant Tambe & Aniruddha Gokhale Vanderbilt.
Generative Programming. Automated Assembly Lines.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
DataReader 2 Enhancing Security in Ultra-Large Scale (ULS) Systems using Domain- specific Modeling Joe Hoffert, Akshay Dabholkar, Aniruddha Gokhale, and.
Cousins HPEC 2002 Session 4: Emerging High Performance Software David Cousins Division Scientist High Performance Computing Dept. Newport,
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.
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.
MDDPro: Model-Driven Dependability Provisioning in Enterprise Distributed Real-time and Embedded Systems Sumant Tambe* Jaiganesh Balasubramanian Aniruddha.
NetQoPE: A Middleware-based Netowork QoS Provisioning Engine for Distributed Real-time and Embedded Systems Jaiganesh Balasubramanian
OOPSLA Oct Towards a Pattern Language for NEST Middleware Venkita Subramonian & Chris Gill, Washington University, St.Louis David Sharp, The Boeing.
A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms Joe.
Domain-Specific Modeling Languages for Configuring and Evaluating Enterprise DRE System Quality of Service Stoyan G. Paunov, James H. Hill, Douglas C.
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.
Software Engineering Introduction.
Enhancing Security in Enterprise Distributed Real-time and Embedded Systems using Domain-specific Modeling Akshay Dabholkar, Joe Hoffert, Aniruddha Gokale,
1 State-of-the-art in Publish/Subscribe Middleware for Supporting Mobility Sumant Tambe EECS Preliminary Examination December 11, 2007 Vanderbilt University,
Towards A QoS Modeling and Modularization Framework for Component-based Systems Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale Amogh Kavimandan (Presenter)
Fault-tolerance for Component-based Systems – An Automated Middleware Specialization Approach Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale Abhishek.
NeST: Network Storage John Bent, Venkateshwaran V Miron Livny, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau.
Systematic Specialization of General-Purpose Middleware for Cyber-Physical Systems Akshay Dabholkar, Aniruddha Gokhale, and Sumant Tambe Dept. of EECS,
A Vision for Integration of Embedded System Properties Via a Model-Component-Aspect System Architecture Christopher D. Gill Department.
1 Acquisition Automation – Challenges and Pitfalls Breakout Session # E11 Name: Jim Hargrove and Allen Edgar Date: Tuesday, July 31, 2012 Time: 2:30 pm-3:45.
CoSMIC: An MDA Tool Suite for Distributed Real-time and Embedded Systems Aniruddha Gokhale, Tao Lu, Emre Turkay, Balachandran Natarajan, Jeff Parsons,
1 CASE Computer Aided Software Engineering. 2 What is CASE ? A good workshop for any craftsperson has three primary characteristics 1.A collection of.
Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale
An Approach to Middleware Specialization for Cyber Physical Systems
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,
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Model-Driven Engineering for Mission-Critical IoT Systems
Tools for Composing and Deploying Grid Middleware Web Services
Quality Assurance for Component-Based Software Development
Presentation transcript:

Towards a Holistic Approach for Integrating Middleware with Software Product Lines Research Institute for Software Integrated Systems Dept of EECS, Vanderbilt University Nashville, TN, USA Aniruddha Gokhale, Akshay Dabholkar and Sumant Tambe Presented at McGPLE Workshop (OOPSLA/GPCE 2008) Nashville, TN Oct 23, 2009

Next Generation of Applications & Product Lines Numerous functional and QoS commonalities across applications within a domain –e.g., telecom applications need high reliability, high throughput, high volume –e.g., enterprise applns need reliability, security and transactional guarantees –e.g., sensor network applications must focus on energy conservation and improving data dissemination capabilities –e.g., scientific applications need strict QoS guarantees, large storage Growth of sophisticated and complex network-centric applications & product lines across all domains Middleware provides the reusable functional/non functional capabilities

Middleware Structure & Capabilities Software product-lines need to be supported on different hardware Standards-based 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 Problem - direct deployment is tedious, error-prone, & costly over lifecycles & OS There are layers of middleware, just like there are layers of networking protocols

Technology Gaps in Middleware for SPLs SPLs have very “focused but crosscutting” requirements of the underlying middleware infrastructure –Optimized for the platform –Lean footprint –Efficient configuration & deployment –Support run-time adaptations & reconfigurations Standards middleware development & optimizations philosophy catered to maintaining “generality, wide applicability, portability & reusability” –OS, compiler and hardware independent –e.g., CORBA, J2EE..NET These technology gaps are hindering PLA progress => adverse economic and societal consequences Need for a new research agenda that subsumes middleware within software product line research

Bridging the Technology Gap Product-lines and product variants will need to be deployed on different OS- hardware-network combinations Standards middleware will need to be used to eliminate numerous accidental complexities dealing with the variability in OS, hardware & networks Highly optimized paths through layers of standard middleware are desired Approaches to Specialization (1) Design-time –Specialize for the commonalities displayed by product-lines –Configure to address the variabilities displayed by product variants (2) Deployment & Run-time –Optimize for the product component reassembly & redeployment variability incurred due to dynamic adaptations –Support layer-wise middleware replacement & update capability OS 1 OS 2 OS 3 OS N HW 1 HW 2 HW 3 HW M Product-line architecture & product variants PLA 1 PLA 2 PLA 3 PLA K How do we achieve this?

6 Feature Perspective of Middleware (1/3) Configuration of components & assemblies Configuration of component containers Configuration of the middleware bus Configuration of component server Configuration of event notifiers COTS component middleware is highly configurable & flexible At the level of application components & containers, component servers, & middleware services & infrastructure Let us treat these as features that can be manipulated

7 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 Feature for the concurrency strategy Feature for the request demuxing strategy Feature for marshaling strategy Feature for the connection management strategy Feature for the underlying transport strategy Feature for the event demuxing strategy

8 server object management middleware Feature Perspective of Middleware (3/3) SPL developers rely on ad hoc manual configurations, e.g., CORBA server-side programming 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

Taxonomy of Middleware Specialization Techniques  Based on literature survey  Overlapping dimensions share concepts, e.g. MDE/AOP includes both feature pruning & augmentation and can be used for customization as well as tuning  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 Three dimensional Taxonomy of Middleware Specializations How? What? When? 9 How do we realize this taxonomy in tools for middleware specialization?

Enhancing Feature Algebra to Middleware Approach based on Batory’s work on GenVoca and AHEAD Apel et. al.’s Feature Algebra Original Origami Matrix Folding of 3 rd and 4 th column Need to enhance the algebra in the design, deployment and runtime dimensions of SPL lifecycle

11 Staged Approach to Middleware Specialization Model driven engineering (MDE) provides intuitive variability management in the problem space QoS-enabling component middleware provides hosting environment and runtime adaptation features Deployment and configuration tools transparently map problem space needs to solution space artifacts Resource allocation and control framework decouples problem space from solution space Multiple levels of abstraction required for middleware specializations