Systematic Specialization of General-Purpose Middleware for Cyber-Physical Systems Akshay Dabholkar, Aniruddha Gokhale, and Sumant Tambe Dept. of EECS,

Slides:



Advertisements
Similar presentations
Software Reuse SEII-Lecture 28
Advertisements

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.
Chapter 13 Embedded Systems
CASE Tools CIS 376 Bruce R. Maxim UM-Dearborn. Prerequisites to Software Tool Use Collection of useful tools that help in every step of building a product.
Demystifying Architectural Styles Nikunj Mehta 3/11/02Demystifying Architectural Styles2 Architectural Styles Characterize –Structure, i.e. external.
Generative Programming. Generic vs Generative Generic Programming focuses on representing families of domain concepts Generic Programming focuses on representing.
Software Engineering Tools and Methods Presented by: Mohammad Enamur Rashid( ) Mohammad Rashim Uddin( ) Masud Ur Rahman( )
NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May Mahdi Noorian
1 Middleware Specialization for Product-Lines using Feature-Oriented Reverse Engineering (FORMS) Akshay Dabholkar & Aniruddha Gokhale Institute of Software.
1 A survey on Reconfigurable Computing for Signal Processing Applications Anne Pratoomtong Spring2002.
Incorporating database systems into a secure software development methodology Eduardo B. Fernandez, Jan Jurjens, Nobukazu Yoshioka, and Hironori Washizaki.
Chapter 10 Architectural Design
1 Assessing Contemporary Modularization Techniques for Middleware Specialization Akshay Dabholkar & Aniruddha Gokhale OOPSLA ACoM.
Sumant Tambe, et. al LEESA DSPD 2008 An Embedded Declarative Language for Hierarchical Object Structure Traversal Sumant Tambe* Aniruddha Gokhale Vanderbilt.
Sumant Tambe, et. al LEESA DSPD 2008 An Embedded Declarative Language for Hierarchical Object Structure Traversal Sumant Tambe* Aniruddha Gokhale Vanderbilt.
1 N Degrees of Separation: Multi-Dimensional Separation of Concern (MDSOC) HyperJ: language and concepts of general concern combination.
Introduction to MDA (Model Driven Architecture) CYT.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
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.
Hyper/J and Concern Manipulation Environment. The need for AOSD tools and development environment AOSD requires a variety of tools Life cycle – support.
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.
Team Think For You. Outline  Introduction  Process  Requirements Engineering  Architecture  Detailed Design  Testing  Demo  Extensibility  Conclusions.
Illustrations and Answers for TDT4252 exam, June
SOFTWARE CONFIGURATION MANAGEMENT. Change is inevitable when computer software is built. And change increases the level of confusion among software engineers.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
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,
INRIA - LaBRICharles Consel Jan-06 1 Domain-Specific Software Engineering Charles Consel Phoenix Research Group LaBRI /INRIA-Futurs January 2006.
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.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
Architecture-Driven Context-Specific Middleware Specializations for Distributed Real-time and Embedded Systems Akshay Dabholkar, and Aniruddha Gokhale.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
ANKITHA CHOWDARY GARAPATI
Towards Multi-Paradigm Software Development Valentino Vranić Department of Computer Science and Engineering Faculty of Electrical Engineering.
March 2004 At A Glance NASA’s GSFC GMSEC architecture provides a scalable, extensible ground and flight system approach for future missions. Benefits Simplifies.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 10a: Architectural Design Software Engineering: A Practitioner’s Approach, 6/e Chapter 10a:
NetQoPE: A Middleware-based Netowork QoS Provisioning Engine for Distributed Real-time and Embedded Systems Jaiganesh Balasubramanian
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms Joe.
1 Bogor – Software Model Checking Framework Presented by: Arpita Gandhi.
Software Engineering Chapter: Computer Aided Software Engineering 1 Chapter : Computer Aided Software Engineering.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
Towards a Holistic Approach for Integrating Middleware with Software Product Lines Research Institute for Software Integrated Systems Dept of EECS, Vanderbilt.
MNP1163/MANP1163 (Software Construction).  Minimizing complexity  Anticipating change  Constructing for verification  Reuse  Standards in software.
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,
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.
Software Design and Architecture
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
1 CASE Computer Aided Software Engineering. 2 What is CASE ? A good workshop for any craftsperson has three primary characteristics 1.A collection of.
Sub-fields of computer science. Sub-fields of computer science.
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
AUTOMATED SESSION PLANNING. In the present world, everything has become automated. By, a click everything is being processed. But the preparation of the.
Scalable Policy-awarE Linked Data arChitecture for prIvacy, trAnsparency and compLiance H2020-ICT Big Data PPP: privacy-preserving Big Data technologies.
Automatic Derivation, Integration and Verification
Design Model Like a Pyramid Component Level Design i n t e r f a c d s
Constructing MDA-based Application Using Rational XDE for .NET
Templatized Model Transformation: Enabling Reuse in Model Transformations Amogh Kavimandan and Aniruddha Gokhale Dept. of EECS, Vanderbilt University,
Presentation transcript:

Systematic Specialization of General-Purpose Middleware for Cyber-Physical Systems Akshay Dabholkar, Aniruddha Gokhale, and Sumant Tambe Dept. of EECS, Vanderbilt University, Nashville, TN, USA {aky, sutambe,

Group Failover Semantics 1. Why Specialize Middleware for CPS? Differentiated Services Resource Constrained Real Time updates Specialization Specific Application Reconfigurable Conveyor Belt CPSIntelligent Transportation CPS Direct Application Generalization

Principles of Middleware Specialization 1.Move away from the rigid layer processing 2.Prune away unnecessary features based on domain requirements, desired configurations, platform constraints and physics of operating environment. 3.Incorporate domain-specific semantics through AOP and FOSD techniques 4.Automate construction of specialized middleware  Aspect Oriented Software Development (AOSD)  has a limited architectural model  provides unbounded quantification  good for fine-grained weaving/specialization Middleware Feature Layers 2. What is Middleware Specialization?  Feature Oriented Software Development (FOSD)  can represent single aspects or collections of aspects  compliments model-based development, preferred in CPS  supports bounded (i.e., selective) quantification  Aspectual Feature Modules (AFMs) combines the best principles of AOSD & FOSD Goal is to enable specializations at all stages of development life cycle in an integrated manner.

3. Feature Oriented Middleware Specialization RTCORBA=MUTEXTPLaneCLI_PROPBandConnExtXportTPReactorPriMapperRTPOARTORB RTCORBA Features Processor Resources Communication Resources Memory Resources Feature Folding 1.Map aspects onto feature modules to create Aspectual Feature Modules (AFMs) 2.Use Origami matrices to map middleware classes/components on to aspects 3.Use stepwise folding of matrix columns to synthesize specialized AFMs Research Contribution: Leverage Origami Folding for Build-time Middleware Specialization

4. Build-time Specialization 1.Navigate the source code dependencies of the selected middleware features based on the domain-to-middleware feature mappings 2.Create a closure set of source files and their dependencies to be compiled based upon the selected feature sets 3.Combine multiple closure sets and perform fine grained pruning based on configuration sets 4.Synthesize AFMs and their dependencies 5.Compile the AFMs into specialized middleware versions

 Overlapping dimensions share concepts e.g. AOP includes both feature pruning & augmentation and can be used for customization as well as tuning  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 to? What to? When to? 5. Future Work

6. Open Research Areas  How are features manipulated across different stages of application lifecycle?  How do we handle feature interactions?  Can we formalize the theory as a software engineering process?  How should next-generation middleware be designed?  How to efficiently annotate middleware source code for feature identification and management?  Pattern Language of Specialization?  Safe specialization?  V&V of specializations?

4. Policy Configuration Portable Object Adapter Features