Dynamic Reconfiguration of Component-based Real-time Software Words 2005 2.-4. February 2005 Sedona, Arizona, USA Andreas Rasche, Andreas Polze and Martin.

Slides:



Advertisements
Similar presentations
Computer Systems & Architecture Lesson 2 4. Achieving Qualities.
Advertisements

Network II.5 simulator ..
Simulation of Feedback Scheduling Dan Henriksson, Anton Cervin and Karl-Erik Årzén Department of Automatic Control.
Verification/Simulati on –GUI for simulation and formal verification –Simulator: Exploration of dynamic behavior Checking.
Model for Supporting High Integrity and Fault Tolerance Brian Dobbing, Aonix Europe Ltd Chief Technical Consultant.
AP 04/03 Dynamic (Re-) Configuration as Safeguard Mechanism in dynamically changing environments DCL Distributed Control Lab™ at HPI.
Reseach in DistriNet (department of computer science, K.U.Leuven) General overview and focus on embedded systems task-force.
Page 1 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Chapter 13 Components in Real-Time Systems.
Architecture Modeling and Analysis for Embedded Systems Oleg Sokolsky CIS700 Fall 2005.
1 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz Quality Objects: Advanced Middleware for Large Scale Wide Area.
1 Concurrent and Distributed Systems Introduction 8 lectures on concurrency control in centralised systems - interaction of components in main memory -
Chapter 13 Embedded Systems
Self Adaptive Software
Figure 1.1 Interaction between applications and the operating system.
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Hands-On Microsoft Windows Server 2008 Chapter 11 Server and Network Monitoring.
Windows Server 2008 Chapter 11 Last Update
QoS-enabled middleware by Saltanat Mashirova. Distributed applications Distributed applications have distinctly different characteristics than conventional.
MultiPARTES Towards Model-Driven Engineering for Mixed- Criticality Systems: MultiPARTES Approach A. Alonso, C. Jouvray, S. Trujillo, M.A. de Miguel, C.
General What is an OS? What do you get when you buy an OS? What does the OS do? What are the parts of an OS? What is the kernel? What is a device.
Self Adaptivity in Grid Computing Reporter : Po - Jen Lo Sathish S. Vadhiyar and Jack J. Dongarra.
9/14/2015B.Ramamurthy1 Operating Systems : Overview Bina Ramamurthy CSE421/521.
Technical aspects of OpenRTM-aist Geoffrey Biggs Intelligent Systems Research Institute National Institute of Advanced Industrial Science and Technology.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
Matthew Moccaro Chapter 10 – Deployment and Mobility PART II.
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 16 System Architecture and Design II.
Components of Database Management System
Towards Self-Adaptive Software Dipl.-Inf. Andreas Rasche Hasso-Plattner-Institute University of Potsdam.
Real-Time Java on JOP Martin Schöberl. Real-Time Java on JOP2 Overview RTSJ – why not Simple RT profile Scheduler implementation User defined scheduling.
Invitation to Computer Science 5 th Edition Chapter 6 An Introduction to System Software and Virtual Machine s.
Real-Time Operating Systems for Embedded Computing 李姿宜 R ,06,10.
Issues in (Financial) High Performance Computing John Darlington Director Imperial College Internet Centre Fast Financial Algorithms and Computing 4th.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Object-Oriented Design and Implementation of the OE-Scheduler in Real-time Environments Ilhyun Lee Cherry K. Owen Haesun K. Lee The University of Texas.
GVis: Grid-enabled Interactive Visualization State Key Laboratory. of CAD&CG Zhejiang University, Hangzhou
Handling Mixed-Criticality in SoC- based Real-Time Embedded Systems Rodolfo Pellizzoni, Patrick Meredith, Min-Young Nam, Mu Sun, Marco Caccamo, Lui Sha.
An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi.
App. TypeApp. Name Distributed or Parallel A parallel version of the Gaussian elimination application SAGE (SAIC's Adaptive Grid Eulerian hydrocode) Adaptive.
Laboratory of Model Driven Engineering for Embedded Systems An Execution Framework for MARTE-based Models UML&AADL’2008 workshop Belfast, Northern Ireland.
Virtual Machines Created within the Virtualization layer, such as a hypervisor Shares the physical computer's CPU, hard disk, memory, and network interfaces.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
Gedae, Inc. Gedae: Auto Coding to a Virtual Machine Authors: William I. Lundgren, Kerry B. Barnes, James W. Steed HPEC 2004.
Static WCET Analysis vs. Measurement: What is the Right Way to Assess Real-Time Task Timing? Worst Case Execution Time Prediction by Static Program Analysis.
The CoBFIT Toolkit PODC-2007, Portland, Oregon, USA August 14, 2007 HariGovind Ramasamy IBM Zurich Research Laboratory Mouna Seri and William H. Sanders.
Survey of Tools to Support Safe Adaptation with Validation Alain Esteva-Ramirez School of Computing and Information Sciences Florida International University.
Euro-Par, HASTE: An Adaptive Middleware for Supporting Time-Critical Event Handling in Distributed Environments ICAC 2008 Conference June 2 nd,
IT Audit for non-IT auditors Cornell Dover Assistant Auditor General 31 March 2013.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
SDN challenges Deployment challenges
Real-time Software Design
Operating Systems : Overview
Improved schedulability on the ρVEX polymorphic VLIW processor
Peter Poplavko, Saddek Bensalem, Marius Bozga
Analysis models and design models
Operating Systems : Overview
Operating System Introduction.
Operating Systems : Overview
Self-Managed Systems: an Architectural Challenge
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
System architecture, Def.
EKSE: A Command Line Interface for EGS-CC based Systems
Presentation transcript:

Dynamic Reconfiguration of Component-based Real-time Software Words February 2005 Sedona, Arizona, USA Andreas Rasche, Andreas Polze and Martin von Löwis

2 Overview Motivation The Distributed Control Lab Reconfiguration Infrastructure Adaptive Application with Adapt.Net Real-time Software Reconfiguration – Application Model – Reconfiguration Algorithm – Reconfiguration and State Conclusions

3 The Distributed Control Lab Web-based laboratory for remote experiment execution Lab infrastructure and physical experiments must be protected from malicious user code Usage of existing Adapt.Net framework for real-time control experiments – Analysis of implemented reconfiguration algorithm for applicability to real-time systems - Reconfiguration to verified safety controller

4 The Need for Real-Time Reconfiguration Modern embedded systems running in unstable environments must adapt to changes in their environment Dynamic reconfiguration provides a powerful mechanism to realize adaptation In real-time systems reconfiguration must be performed without delaying tasks to miss their deadlines Reconfiguration of complex real-time applications to switch between operational modes

5 The Adapt.Net Framework Adaptation framework for distributed, mobile applications Includes reconfiguration infrastructure (CoFRA), monitoring framework, graphical development tools XML-based description of application configurations and adaptation profiles Code generation for configuration / adaptation specific code Deployment infrastructure for distributed applications Standard set of observer components for monitoring environmental conditions

6 Adaptive Applications with Adapt.Net Monitoring – Environmental Settings – Component Parameters – Component State Dynamic Reconfiguration – Addition of Components – Removal of Components – Migration – Parameter Adjustment

7 Application Model Based on a work of J. Magee, J. Kramer, M. Wermelinger Components: Interconnected computational entities – Provide interfaces : in-ports – Require other components: out-ports Components connected by connectors No cycles in application topology graph A transaction virtually combines a number of bidirectional interactions between components – completes in bounded time – Initiator is informed about completion A transaction T1 is dependent on a subsequent transaction T2 (T1/T2) if its completion depends on the completion of this transaction

8 Our Reconfiguration Framework CoFRA

9 Configurable Components Each component has to implement a configuration hook IConfigure: – Start component processing – Block connections – Set properties – Connect/disconnect out-going ports – Initialization / Finalization Implementation for IConfigure can be generated – Integrated into graphical development tool of Adapt.Net

10 Reconfiguration Algorithm 1. Loading of new components 2. Bringing application into reconfigurable state Application consistency must be preserved during reconfiguration Blocking all connections: Wait for all on-going transactions to complete; don’t allow initialization of new ones Blocking must be ordered due to dependent transactions 3. Transferring state of migrated/updated components 4. Setting changed component parameters 5. Reconnecting components (create connectors) 6. Restarting component processing 7. Removing old components

11 Reconfiguration of Real-time Software t r - time between the reconfiguration request and the new configuration to run t b - blackout time - time the application is interrupted t l - time to load and initialize new components t d - time to delete components not contained in new configuration Total reconfiguration time: t r =t b +t l +t d Loading / Initialization can be moved before runtime Time critical phase : blackout period

12 Bounded Blackout Time t e - time required to execute reconfiguration commands t i - maximum timespan to complete transaction i n - number of transactions in the application t state - time to transfer state t ci - time to initialize and start connectors t s - time to restart the application t b =t e + max(t 1,...,t n ) + t state + t ci +t s – t e : number of components, command per component constant – t i: Can be calculated by WCET analysis + OS synchronisation must be predictable (usage of semaphore with priority ceiling required) – T state : considered later – t ci : assignment of one component member per connector – t s : constant OS Synchronisation

13 Blocking a Connection Component Code calls – TransactionBegin: If(blocked) Wait(block_semaphore); processing=true; Wait(proc_semaphore); - TransactionEnd: processing=false; Release(proc_semaphore) BlockConnection of Configuration interface (IConfigure) blocked=true; Wait(block_semaphore) if(processing) Wait(proc_semaphore) Release(proc_semaphore) Start of Configuration interface blocked=false; Release(block_semaphore); } Transaction time t i Responsibility of application developer

14 Reconfiguration and State

15 Reconfiguration in the Distributed Control Lab Observation of user control algorithms during runtime – Detection of component crashes – Monitoring of experiment parameter (pre-defined valid ranges) Safety Controller component runs parallel to user control component; keeps experiment state up to date In case of abnormal behavior: reconfiguration to safe configuration including control of safety controller component Adapt.Net used in Foucault‘s Pendulum experiment Controlled by algorithms implemented in.NET Real-Time Constraints met by hardware buffers Usage of code access security

16 Conclusions Reconfiguration of complex component-based real-time applications without stopping the whole system All deadlines are met during reconfiguration Blackout time during reconfiguration can be calculated before runtime and is bound Adapt.Net framework allows for design and easy implementation of reconfigurable real-time applications Usable for protection of hard real-time control experiments in the Distributed Control Lab