MARTe Framework a Middleware for Real-time Applications Development

Slides:



Advertisements
Similar presentations
Using MapuSoft Instead of OS Vendor’s Simulators.
Advertisements

Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
*Instituto de Plasmas e Fusão Nuclear Instituto Superior Técnico Lisbon, Portugal A. Fernandes | Lisboa, May 24, 2010 | RT2010.
Chapter 13 Embedded Systems
Models of Computation for Embedded System Design Alvise Bonivento.
CS533 - Concepts of Operating Systems
1 I/O Management in Representative Operating Systems.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.
Real Time Experiment Control in a Tokamak fusion device Technical aspects and new Developments F. Sartori The content of this presentation should be considered.
ATCA based LLRF system design review DESY Control servers for ATCA based LLRF system Piotr Pucyk - DESY, Warsaw University of Technology Jaroslaw.
Reference: Ian Sommerville, Chap 15  Systems which monitor and control their environment.  Sometimes associated with hardware devices ◦ Sensors: Collect.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
J M Lopez 1 (of 17) 7 th Workshop on Fusion.., Frascati March, Simulator of the JET real-time disruption predictor J.M. Lopez*, S. Dormido-Canto,
1 Choices “Our object-oriented system architecture embodies the notion of customizing operating systems to tailor them to support particular hardware configuration.
Laboratory of Model Driven Engineering for Embedded Systems An Execution Framework for MARTE-based Models UML&AADL’2008 workshop Belfast, Northern Ireland.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
CIS250 OPERATING SYSTEMS Chapter One Introduction.
CS533 - Concepts of Operating Systems 1 Threads, Events, and Reactive Objects - Alan West.
Embedded System Design and Development Introduction to Embedded System.
Introduction to Operating Systems Concepts
Computer System Structures
1.0 Introduction to operating systems
Real-time Software Design
Real-time Software Design
Real-time Software Design
REAL-TIME OPERATING SYSTEMS
Prototyping of CCSDS SOIS services on 1553 Bus
Support for Program Analysis as a First-Class Design Constraint in Legion Michael Bauer 02/22/17.
Current Generation Hypervisor Type 1 Type 2.
Chapter 1 Introduction.
cFE FSW at APL & FSW Reusability
Credits: 3 CIE: 50 Marks SEE:100 Marks Lab: Embedded and IOT Lab
Self Healing and Dynamic Construction Framework:
SOFTWARE DESIGN AND ARCHITECTURE
Mobile Operating System
Outline What does the OS protect? Authentication for operating systems
G.Manduchi1, T.Fredian2⁾, J.Stillerman2⁾, A. Neto3), F. Sartori3)
Chapter 1 Introduction.
MARTe Live Tutorial Building a MARTe application
MARTe Framework Middleware for RT Control Development
Hierarchical Architecture
Outline What does the OS protect? Authentication for operating systems
Real-time Software Design
CSCI/CMPE 3334 Systems Programming
Many-core Software Development Platforms
Algorithm Design.
Threads and Data Sharing
QNX Technology Overview
Chapter 2: The Linux System Part 3
CS 501: Software Engineering Fall 1999
Chapter 5 Architectural Design.
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Chapter 7 –Implementation Issues
MPJ: A Java-based Parallel Computing System
CSC3050 – Computer Architecture
Why Threads Are A Bad Idea (for most purposes)
OS Simulator Develop and test embedded applications on Windows or Linux host environments Eliminates the need for the original OS and expensive.
EPICS: Experimental Physics and Industrial Control System
Chapter 5 Architectural Design.
Code Composer Essentials 3.0
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
Why Threads Are A Bad Idea (for most purposes)
Why Threads Are A Bad Idea (for most purposes)
A Virtual Machine Monitor for Utilizing Non-dedicated Clusters
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

MARTe Framework a Middleware for Real-time Applications Development André Neto*+, F. Sartori, D. Alves, A. Barbalace, L. Boncagni, B.B. Carvalho, P. J. Carvalho, G. De Tommasi, H. Fernandes, G. Manduchi, P. McCullen, A. Stephen, D. Valcarcel, R. Vitelli, L. Zabeo and JET EFDA Contributors* *Associação EURATOM/IST Instituto de Plasmas e Fusão Nuclear-Laboratório Associado Instituto Superior Técnico, Universidade Técnica de Lisboa Portugal http://www.ipfn.ist.utl.pt +JET-EFDA Culham Science Centre, UK http://www.jet.efda.org/ 1

Framework important functions Provides development and execution environment for control systems Defines a way of designing/developing Limits what you can do to what is needed! Reduces mistakes Provides standard interfaces to plant configuration and data retrieval Facilitates test and commissioning Ensures and monitors real-time

Main ideas Multi-platform C++ middleware Modular Simulink-like way of describing the problem Modular Clear boundary between algorithms, hardware interaction and system configuration Reusability and maintainability Simulation Minimise constraints with the operational environments (portability) Data driven Provide live introspection tools Without sacrificing RT

Multi-platform? Why? How? Possible? Debug and develop in non RT targets Eases the debugging process Usually better developing environment Debugger IDE How? Provide an abstraction layer/library which solves all the specificities of a given OS Optimise code here Possible? Yes, runs in Linux, Linux+RTAI, VxWorks, Solaris and MS Windows

Data driven components Define common language As simple as possible But complete Human understandable configuration Should provide built-in validation Should provide a clear way of expressing the problem Components are expected to be parsed only once per configuration request

Object configuration Structured syntax Similar to XML +HttpServer = { Class = HttpService Port = 8084 } ... +Control = { Class = ControlGAM Controller = { NoPlasmaVelocityGain = 0.0 NoPlasmaCurrentGain = 40.0 IPWaveform = { Times = {0 120} Amplitudes = {0.5 0.5} Rounding = 50 Structured syntax Similar to XML Classes are automatically instantiated Configuration is validated by the created object Asserting and parsing functions available

MARTe language Graph simulink like control schemes translates into serial execution Can it run in parallel? Yes Scheduling order is preset Distributed control (network or same machine) I1 I2 O I1 I2 P1 P1 P2 P2 P3 P3 P4 P4 O

Modularity (GAMs) Define boundaries Algorithms and hardware don't mix! Modules do only what they advertise No interdependence or a priori knowledge Generic by design Same goals, same module Reusability and maintainability Simulation Replace actuators and plants with models Keep all the other modules untouched

Dynamic Data Buffer GAMs share data through a memory bus MARTe guarantees coherency between requested and produced signals Set of GAMs allow to stream data to different MARTe systems

Real-time thread Sequentially executes GAMs Works as micro-scheduler Can be allocated to specific CPUs Keeps accurate information about execution times Requires an external time and triggering mechanism Multiple RTThreads can run in parallel synchronously or asynchronously

Synchronisation Asynchronous Get latest available value Verify acceptable latency (sample too late?) Synchronous Routinely used both schemes ADC, time input, ... Network From other control loop

Without sacrificing RT Crucial for an expedite debugging Introspection Probe the system Without sacrificing RT Crucial for an expedite debugging Network continuous data streaming No impact in RT performances Automatically built

MARTe World MARTe RTThread 1 Internal state machine GAM 1 DDB GAM 2 GAM N Driver pool RTThread N GAM 1 DDB External time triggering services GAM 2 GAM N

MARTe Universe State machine Logger Server HTTP Server MARTe Any other Object N Configuration provider Data retrieval facility

VS – An example Elongated tokamak plasmas are susceptible to a vertical axisymmetric instability Dedicated Vertical Stabilisation System required Essential system for operation Growth rate of 1000s-1 Loss of control can produce forces in the order of the 100's of tonnes

VS-GAMs

Conclusions MARTe Designed for real-time systems Multi-platform Key for simulation and commissioning Modular Reusability and maintainability Clear boundary between algorithms, hardware interaction and system configuration Portable Data-driven Live introspection

Does it work? e.g. Vertical Stabilisation Working systems Essential to operation Loss of control can produce forces in the order of the 100's of tonnes 50 ± 0.10 μs Always running Working systems JET VS JET EFCC COMPASS SC COMPASS VS ISTTOK Tomography FTU RT RFX MHD Control JET RTPS JET VTM JET WALLS IST FPSH Linux-RTAI VxWorks Linux* 50 μs 200 μs 500 μs 100 μs 125 μs 2 ms 10 ms