Composable Middleware Services for High Confidence Networked Embedded Systems NSF ITR Kickoff Meeting, 12/04/03 Dr. Douglas Schmidt, Dr. Andy Gokhale,

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.
DARPA Dr. Douglas C. Schmidt DARPA/ITO Approved for Public Release, Distribution Unlimited Adaptive and Reflective Middleware Systems.
High-confidence Software for Cyber Physical Systems Drexel University Philadephia, PA Vanderbilt University Nashville, Tennessee Aniruddha Gokhale *, Sherif.
Dynamic Service Composition with QoS Assurance Feb , 2009 Jing Dong UTD Farokh Bastani UTD I-Ling Yen UTD.
Reseach in DistriNet (department of computer science, K.U.Leuven) General overview and focus on embedded systems task-force.
Adaptive & Reflective Middleware for Distributed Real-time & Embedded Systems Dr. Douglas C. Schmidt Wednesday, June 03, 2015 Electrical.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
1 Dr. Frederica Darema Senior Science and Technology Advisor NSF Future Parallel Computing Systems – what to remember from the past RAMP Workshop FCRC.
DARPA Dr. Douglas C. Schmidt DARPA/ITO Towards Adaptive & Reflective Middleware for Combat Systems Wednesday, June 24, 2015 Authorized.
NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI A New System Science.
NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI Gautam Biswas and Ken.
Challenges Ahead 1 Middleware: State of the Art and Challenges Ahead  Changing environment  Enterprise application integration: formerly independent.
Course Instructor: Aisha Azeem
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
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
4.x Performance Technology drivers – Exascale systems will consist of complex configurations with a huge number of potentially heterogeneous components.
Generative programming & Middleware Farid Hosseini Reza Azimi Feb 6,2003 University of Toronto.
Univ. Notre Dame, September 25, 2003 Support for Run-Time Adaptation in RAPIDware Philip K. McKinley Software Engineering and Networking Systems Laboratory.
LIGHTNESS Introduction 10th Oct, 2012 Low latency and hIGH Throughput dynamic NEtwork infrastructureS for high performance datacentre interconnectS.
D. Schmidt DARPA Example: Navy UAV Concept & Representative Scenario 1. Video feed from off-board source (UAV) 2. Video distributor sends video to hosts.
An Introduction to Software Architecture
Brussels, 1 June 2005 WP Strategic Objective Embedded Systems Tom Bo Clausen.
Computer Science Open Research Questions Adversary models –Define/Formalize adversary models Need to incorporate characteristics of new technologies and.
Introduction to MDA (Model Driven Architecture) CYT.
Cluster Reliability Project ISIS Vanderbilt University.
MILCOM 2001 October page 1 Defense Enabling Using Advanced Middleware: An Example Franklin Webber, Partha Pal, Richard Schantz, Michael Atighetchi,
NEST 1 NEST System Working Group Meeting #1 Jack Stankovic University of Virginia September 2001 Boeing Huntington Beach, CA.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
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.
Janos Sztipanovits Dr. Janos Sztipanovits E. Bronson Ingram Distinguished Professor of EECS Director of ISIS Vanderbilt University Nashville, TN Overview.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Dr. Douglas C. Schmidt, Dr. Aniruddha S. Gokhale, Bala Natarajan, Jeff Parsons, Tao Lu, Boris Kolpackov, Krishnakumar Balasubramanian, Arvind Krishna,
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
DataReader 2 Enhancing Security in Ultra-Large Scale (ULS) Systems using Domain- specific Modeling Joe Hoffert, Akshay Dabholkar, Aniruddha Gokhale, and.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Model-Based Embedded Real- Time Software Development Dionisio de Niz and Raj Rajkumar Real-Time and Multimedia Sys Lab Carnegie Mellon University.
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.
MILAN: Technical Overview October 2, 2002 Akos Ledeczi MILAN Workshop Institute for Software Integrated.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Adaptive & Reflective Middleware for Large-scale Distributed Real-time & Embedded Systems Dr. Douglas C. Schmidt
Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Composition and Modeling Laboratory University.
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.
Adaptive Resource Management Architecture for DRE Systems Nishanth Shankaran
1 BBN Technologies Quality Objects (QuO): Adaptive Management and Control Middleware for End-to-End QoS Craig Rodrigues, Joseph P. Loyall, Richard E. Schantz.
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.
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.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
FLARe: a Fault-tolerant Lightweight Adaptive Real-time Middleware for Distributed Real-time and Embedded Systems Dr. Aniruddha S. Gokhale
A Vision for Integration of Embedded System Properties Via a Model-Component-Aspect System Architecture Christopher D. Gill Department.
Resource Optimization for Publisher/Subscriber-based Avionics Systems Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
CoSMIC: An MDA Tool Suite for Distributed Real-time and Embedded Systems Aniruddha Gokhale, Tao Lu, Emre Turkay, Balachandran Natarajan, Jeff Parsons,
CoSMIC: An MDA Tool Suite for Distributed Real-time and Embedded Systems Tao Lu, Aniruddha Gokhale, Emre Turkay, Balachandran Natarajan, Jeff Parsons,
Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale
Distribution and components
Arvind S. Krishna, Aniruddha Gokhale and Douglas C. Schmidt
QoS-Enabled Middleware
Applying Domain-Specific Modeling Languages to Develop DRE Systems
Tools for Composing and Deploying Grid Middleware Web Services
Automated Analysis and Code Generation for Domain-Specific Models
Presentation transcript:

Composable Middleware Services for High Confidence Networked Embedded Systems NSF ITR Kickoff Meeting, 12/04/03 Dr. Douglas Schmidt, Dr. Andy Gokhale, & Dr. Akos Ledeczy {d.schmidt, a.gokhale, Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee

2 Where We Fit into Trustworthy NES

3 ISIS Technology Focus Areas & Background Model-Integrated Computing Embedded & hybrid systems modeling & analysis, meta-programmable modeling tools, model-synthesis tools, generators, open tool integration platform for model-based design Component Middleware for Distributed Real-time & Embedded (DRE) Systems Adaptive & reflective middleware, Model Driven Middleware integration technology above component middleware, Real-time CORBA (ACE+TAO) Model- & Middleware-based Systems Applications Diagnosis, embedded & hybrid systems modeling & analysis, fault adaptive systems, autonomous air vehicles, mission-computing, shooter localization, total ship computing

4 New Challenges for Embedded Applications Larger-scale networked embedded systems Stringent simultaneous quality of service (QoS) demands e.g., availability, security, latency, scalability Part of larger systems-of-systems Dynamic context & computation Extremely resource constrained Larger-scale networked embedded systems Stringent simultaneous quality of service (QoS) demands e.g., availability, security, latency, scalability Part of larger systems-of-systems Dynamic context & computation Extremely resource constrained Future Challenges Information processing replaces mechanical structure Earth Normal Vector of Cluster Plane Nadir Vector (Towards center of Earth) 30 o Normal Vector of Reference Orbit Reference Orbit Subsatellite Orbit 60 o Cluster plane at t=1/2P Cluster plane at t=0 Dynamic Sensor Networks Stand-alone and/or tightly- coupled embedded systems with stringent quality of service (QoS) demands e.g., latency, jitter, footprint Resource constrained Stand-alone and/or tightly- coupled embedded systems with stringent quality of service (QoS) demands e.g., latency, jitter, footprint Resource constrained Past Challenges

5 Evolution of NES Application Development NES applications have historically tended to be: Stovepiped Proprietary Brittle & non-adaptive Expensive Vulnerable NES applications have also historically been built directly atop hardware Tedious Error-prone Costly over lifecycles F1 F3 F2 F5 F4 F7 F6 F1 F3 F2 F5 F4 F7 F6

6 Evolution of NES Application Development NES applications have historically tended to be: Stovepiped Proprietary Brittle & non-adaptive Expensive Vulnerable NES applications have also been built directly atop hardware Tedious Error-prone Costly over lifecycles Middleware Services NES Applications RTOS & Protocols Hardware & Networks Middleware Services NES Applications RTOS & Protocols Hardware & Networks Middleware factors out many reusable mechanisms & services from what was traditionally NES application responsibility This refactoring helps improve NES application confidence & trustworthiness

7 Example NES Middleware Services Middleware Services NES Applications RTOS & Protocols Hardware & Networks Data Aggregation Sentry Configuration Data Streaming Clock Synchronization Leader Election Consensus Spanning tree Group Management Reconfiguration State Synchronization Network Monitor Scheduling Alarm Routing Location Power Control

8 Middleware Services NES Applications Operating Sys & Protocols Hardware & Networks Key R&D Challenges for NES Middleware There is a limit to how much application functionality can be factored into reusable middleware Standard middleware technologies are too resource consumptive & don’t provide sufficient confidence for mission- critical NES applications Middleware is becoming complicated to use & provision statically & dynamically NES applications are complicated to deploy & configure correctly Network latency & bandwidth Workload & Replicas CPU & memory Connections & priority bands

9 Middleware Services NES Applications RTOS & Protocols Hardware & Networks Method of Attack for NSF ITR Project Develop a suite of models Models enable the representation, verification, analysis, composition, & synthesis of common middleware services (such as time synchronization, localization, distributed synchronization, consensus, & security) required by NES applications Design & validate a new approach to NES application development Where model-based techniques are used to synthesize, customize, & compose middleware that can be tailored reflectively at design-time & run-time for the needs of particular NES applications Prototype & demonstrate composable middleware at ISIS & in IVY testbed at UCB Systematically integrate adaptation mechanisms into a coherent set of strategies that complement their effects & limitations & enables NES applications to evaluate & understand the effectiveness of these mechanisms working together

10 Middleware Services NES Applications RTOS & Protocols Hardware & Networks NES Application RTOS+ Hardware Diffusing Algorithm Spanning Tree Leader Election Adjacency DistributedDistributed ResetReset Applications determine the type of middleware services required Physical characteristics of the system determine dynamics, accuracy, security, & required fault behavior of services Services are built in layers with rich interdependence Algorithms used in services depend on the distributed computation model Complexity & computational cost of the algorithms depend on the distributed computation model Composable Middleware Service Packages Goal: Automated synthesis & deployment of middleware service package from verified coordination service components

11 STEP 1 Parameters IO Au. QoS Specs Type Specs (template) Service Family (alternatives) a1a1 Middleware Service Library STEP 2 STEP 3 Application requirements:  Services needed  QoS requirements  Target platform specs STEP 4 Tools for model analysis & verification: safety, liveness, deadlock, etc STEP 7 Automatic composition & synthesis of middleware from requirements Application-specific middleware assembly a2a2 x4x4 b1b1 m2m2 Composed QoS properties STEP 5STEP 6 OR Assisted composition of middleware as specified by the user GME Target-specific code synthesizers Synthesizer #nSynthesizer #2Synthesizer #1 STEP 9 Optimized QoS properties Optimized & verified middleware System-level optimization STEP 8 Application TinyOS Wireless Node Middleware Application VxWorks Wired Node Middleware Application RT Linux Simulator Middleware STEP 10 Our Approach to Middleware Service Package Composition

12 Early compilers required Separate internal representations hand- written for each programming language & Separate hand-written optimizers for each target backend Developing, verifying, validating, & evolving all these components separately is costly, time- consuming, tedious, & error-prone The problem only gets worse as more languages & target backends emerge C Compiler Internal Rep. Ix86 Opt. Ix86 VAX Opt. VAX 68K Opt. 68K C Program To illustrate the benefits of reflection as an optimization technique, consider the evolution of compiler technology: Example: Applying Reflection as Compiler Optimization

13 Early compilers required Separate internal representations hand-written for each programming language and Separate hand-written optimizers for each target backend Developing, verifying, validating, & evolving all these components separately is costly, time-consuming, tedious, & error-prone The problem only gets worse as more languages & target backends emerge C Compiler Internal Rep. Ix86 Opt. Ix86 VAX Opt. VAX 68K Opt. 68K C Program To illustrate the benefits of reflection as an optimization technique, consider the evolution of compiler technology: C++ Compiler Internal Rep. PPC Opt. MIPS Opt. 88K Opt. PPCMIPS88K C++ Program Ada Compiler Internal Rep Opt. 32K Opt. HPPA Opt KHPPA Ada Program Example: Applying Reflection as Compiler Optimization

14 C/C++/Ada Compiler Common Internal Rep. Ix86 Opt. PPC Opt. 68K Opt. C/C++/Ada Programs Ix86.md PPC.md 68K.md Modern compilers, such as GNU GCC, support A common internal representation (still hand-written) for each programming language Based on generalizing the language semantics 1. Read the target machine description Optimizer Generator 2. Use discrimination network to analyze the optimization rules & opportunities 3. Generate an optimizer that is customized for the particular platform/language A synthesized compiler optimizer that is customized automatically for each target backend Based on reflective assessment of algebraic target machine description Key Benefit of Reflective Optimization New targets can be supported by writing a new machine description, rather than writing a new code generator/optimizer Example: Applying Reflection as Compiler Optimization

15 Developing, verifying, validating, & evolving all these components separately is costly, time-consuming, tedious, & error-prone Moreover, it is even harder to hand-configure support for dynamic platform variations & complex application use-cases The problem only gets worse as more middleware, target platforms, & complex applications emerge Separate hand-written & hand-optimized implementations for each embedded target platform e.g., various OS/network/HW configurations Conventional middleware require Separate tools and interfaces hand-written for each ORB middleware specification e.g., CORBA, Java RMI, COM+, nORB, etc. NES Middleware & Assorted Tools NES Application Conventional middleware for embedded systems is developed & optimized in a manner similar to early compiler technologies: WinCE Impl TinyOS Impl VxWorks Impl New Approach: Applying Reflection to Optimize NES Middleware

16 Developing, verifying, validating, & evolving all these components separately is costly, time- consuming, tedious, & error-prone Moreover, it is even harder to hand-configure support for dynamic platform variations & complex application use-cases The problem only gets worse as more middleware, target platforms, & complex applications emerge Separate hand-written & hand-optimized implementations for each embedded target platform e.g., various OS/network/HW configurations Conventional middleware require Separate tools and interfaces hand-written for each ORB middleware specification e.g., CORBA, Java RMI, COM+ NES Middleware & Assorted Tools Win2KSolaris Linux NES Application Win2K Impl Solaris Impl Linux Impl NES Middleware & Assorted Tools WinNTWin98 WinXP NES Application WinNT Impl Win98 Impl WinXP Impl NES Middleware & Assorted Tools NES Application WinCE Impl TinyOS Impl VxWorks Impl New Approach: Applying Reflection to Optimize NES Middleware Conventional middleware for embedded systems is developed & optimized in a manner similar to early compiler technologies:

17 NES Middleware + Assorted Tools Common Semantic Representation Plat 1 Impl The functional & QoS-related properties of embedded systems middleware can be improved greatly as follows: A common internal representation (ideally auto- generated) for each middleware specification Based on generalizing the middleware semantics Middleware Generator 2. Use discrimination network to analyze the optimization rules & opportunities 3. Generate middleware that is customized for a particular platform & application use-case A synthesized middleware implementation that is optimized automatically for each target platform & application use-case Based on reflective assessment of platform descriptions & application use-case Plat 2.pd Plat 2 Impl Plat 3 Impl 1. Read the target platform description & application requirements Application Requirements NES Applications Plat 3.pd Plat 1.pd New Approach: Applying Reflection to Optimize NES Middleware

18 Overview of CoSMIC Modeling Toolsuite Open-source CoSMIC tools available at CoSMIC toolsuite consists of an integrated collection of modeling, analysis, & synthesis tools that address key lifecycle challenges of middleware & applications The CoSMIC tools are based on the Generic Modeling Environment (GME)

19 Concluding Remarks RECAP OF ITR PROJECT GOALS Model, analyze, synthesize, & provision middleware services for networked embedded systems (NES) applications that require coordination & control of multiple quality of service properties end-to-end 1.Configure & deploy NES applications end-to-end 2.Configure component containers & run-time environments 3.Synthesize NES application & middleware-specific configurations 4.Synthesize dynamic QoS adaptation & resource management services 5.Benchmark & optimize provisioned NES applications Next steps for ITR project are to apply Model Driven Middleware (MDM) to: Our NSF ITR project is leveraging MDM technologies funded by other efforts (e.g., DARPA MoBIES, NEST, PCES, & ARMS) We will work closely with UC Berkeley & SRI collaborators in the OEP testbed to integrate our MDM tools & middleware services with other NES aspects