MARTe Framework. Middleware for RT Control Development



Similar documents
Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Chapter 2 System Structures

Managing your Red Hat Enterprise Linux guests with RHN Satellite

Software design (Cont.)

Eight Ways to Increase GPIB System Performance

Chapter 3 Operating-System Structures

Chapter 12. Development Tools for Microcontroller Applications

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE

Linux. Reverse Debugging. Target Communication Framework. Nexus. Intel Trace Hub GDB. PIL Simulation CONTENTS

Why Threads Are A Bad Idea (for most purposes)

In: Proceedings of RECPAD th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal

White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux

Testing Intelligent Device Communications in a Distributed System

RTI Monitoring Library Getting Started Guide

OPTIMIZE DMA CONFIGURATION IN ENCRYPTION USE CASE. Guillène Ribière, CEO, System Architect

NI Platform for automotive measurement and test applications

PROFESSIONAL. Node.js BUILDING JAVASCRIPT-BASED SCALABLE SOFTWARE. Pedro Teixeira WILEY. John Wiley & Sons, Inc.

INTRODUCTION TO CLOUD MANAGEMENT

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Using Synology SSD Technology to Enhance System Performance Synology Inc.

Is the Scanning of Computer Networks Dangerous?

Linux for Embedded and Real-Time Systems

What s Cool in the SAP JVM (CON3243)

Metastorm BPM Interwoven Integration. Process Mapping solutions. Metastorm BPM Interwoven Integration. Introduction. The solution

Experience with the integration of distribution middleware into partitioned systems

BogDan Vatra and Andy Gryc. Qt on Android: Is it right for you?

Course Project Documentation

Continuous Integration. CSC 440: Software Engineering Slide #1

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Example of Standard API

ESM s management across multi-platforms eliminates the need for various account managers.

Using Synology SSD Technology to Enhance System Performance Synology Inc.

Maintaining Non-Stop Services with Multi Layer Monitoring

PANDORA FMS NETWORK DEVICE MONITORING

Middleware. Peter Marwedel TU Dortmund, Informatik 12 Germany. technische universität dortmund. fakultät für informatik informatik 12

How To Develop An Iterio Data Acquisition System For A Frustreo (Farc) (Iterio) (Fcfc) (For Aterio (Fpc) (Orterio).Org) (Ater

OF 1.3 Testing and Challenges

Proactive, Resource-Aware, Tunable Real-time Fault-tolerant Middleware

MS 10978A Introduction to Azure for Developers

LoadRunner and Performance Center v11.52 Technical Awareness Webinar Training

Avaya Aura Orchestration Designer

1 P a g e Delivering Self -Service Cloud application service using Oracle Enterprise Manager 12c

The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications

FROM RELATIONAL TO OBJECT DATABASE MANAGEMENT SYSTEMS

World-wide online monitoring interface of the ATLAS experiment

Operating System Organization. Purpose of an OS

PANDORA FMS NETWORK DEVICES MONITORING

PROGRESS DATADIRECT QA AND PERFORMANCE TESTING EXTENSIVE TESTING ENSURES DATA CONNECTIVITY THAT WORKS

CrossPlatform ASP.NET with Mono. Daniel López Ridruejo

Alcatel-Lucent IMS Application Server

Software Automated Testing

Cluster, Grid, Cloud Concepts

Removing Performance Bottlenecks in Databases with Red Hat Enterprise Linux and Violin Memory Flash Storage Arrays. Red Hat Performance Engineering

INTRODUCTION APPLICATION DEPLOYMENT WITH ORACLE VIRTUAL ASSEMBLY

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform

VI Performance Monitoring

How To Use The Cisco Ace Module For A Load Balancing System

SOFTWARE TESTING TRAINING COURSES CONTENTS

LLRF. Digital RF Stabilization System

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center

Monitoring can be as simple as waiting

CHAPTER 15: Operating Systems: An Overview

What s New in Mike Bailey LabVIEW Technical Evangelist. uk.ni.com

Oracle Universal Content Management

System Structures. Services Interface Structure

Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging

OPC COMMUNICATION IN REAL TIME

Quantum StorNext. Product Brief: Distributed LAN Client

How To Use The Dcml Framework

1 What Are Web Services?

Best Practices for Deploying, Replicating, and Managing Real-Time and FPGA Applications. ni.com

How to design and implement firmware for embedded systems

Embedded System Deployment and Management

COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters

City of Dublin Education & Training Board. Programme Module for. Mobile Technologies. leading to. Level 6 FETAC. Mobile Technologies 6N0734

PASS4TEST 専 門 IT 認 証 試 験 問 題 集 提 供 者

Web Server Architectures

Chapter 11 I/O Management and Disk Scheduling

LinuxWorld Conference & Expo Server Farms and XML Web Services

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

Introduction to the NI Real-Time Hypervisor

RTAI. Antonio Barbalace (modified by M.Moro 2011) RTAI

Migrating to vcloud Automation Center 6.1

Frequently Asked Questions

Open source business rules management system

Comparison between scheduling algorithms in RTLinux and VxWorks

Database-driven library system

CROSS PLATFORM AUTOMATIC FILE REPLICATION AND SERVER TO SERVER FILE SYNCHRONIZATION

Operating System Structures

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Three Simple Ways to Master the Administration and Management of an MDM Hub

Cisco Application Control Engine in the Virtual Data Center

About This Document 3. Integration and Automation Capabilities 4. Command-Line Interface (CLI) 8. API RPC Protocol 9.

Voice over IP Probe! for Network Operators and! Internet Service Providers

Tier Architectures. Kathleen Durant CS 3200

Transcription:

MARTe Framework Middleware for RT Control Development André Neto*+, F. Sartori, D. Alves, A. Barbalace, L. Boncagni, G. De Tommasi, G. Manduchi, R. Vitelli, D.F. Valcárcel, L. Zabeo and EFDA-JET PPCC contributors *Instituto de Plasmas e Fusão Nuclear Instituto Superior Técnico Lisbon, Portugal http://www.ipfn.ist.utl.pt

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 outside world Facilitates test and commissioning Ensures and monitors real-time 2

Main ideas Multi-platform C++ middleware 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 3

Multi-platform? Why? 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 Optimize code here Possible? Yes, runs in Linux, Linux+RTAI, VxWorks, Solaris, MS Windows and Mac OS X 4

BaseLib2 support library 5

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 Avoid unpleasant surprises 6

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

Configuration DB +HttpServer = { Class = HttpService Port = 8084 } +MARTe = { Class = MARTeContainer +RTThread1 = { Class = RealTimeThread +Controller = { NoPlasmaCurrentGain = 40.0 IPWaveform = { Times = {0 120} Amplitudes = {0.5 0.5} } MARTe.RTThread1.Controller... 8

Message mechanism 9

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 10

Common GAMs 11

IOGAM 12

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 13

RT-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 14

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

Synchronisation demo (1) ETTS waits for trigger from time source Current time multiple of cycle time? If so, unlock realtime thread and execute GAMs ETTS can be configured to exit after timeout Trigger an error 16

Synchronisation demo (2) 17

Interfacing with MARTe (1) Why? Send configurations Retrieve acquired data Query status How? Component acts as a proxy to the outside world Extended to implement the desired protocol MARTe is interface agnostic No predefined GUI No predefined high level protocols 18

Interfacing with MARTe (2) Price? Requires the development of a module which translates your language to MARTe's language MARTe forwards the configuration internally A message server is provided HTTP interaction is widely used for retrieving information 19 Can also be used to change values GAMs configuration State machine...

MARTe Internal State Machine MARTe has its internal state machine It can be triggered by External events Has its own message interface Internal events e.g. errors while executing Capable of sending messages upon state changing 20

21 ic al ly at ut om A Probe the system Without sacrificing RT Crucial for an expedite debugging Does this still makes sense? New data streaming concepts, leverage concept? Stream your probes? bu ilt Introspection

MARTe - logger 22 Relay across networks Retrieve history Plug-in based Transparent to producers

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

MARTe Universe State machine Logger Server HTTP Server MARTe Configuration provider 24 Any Anyother other Object ObjectNN Data retrieval facility

VS: a case study (1/3) 25

VS: a case study (2/3) 26

VS: a case study (3/3) 27

Does it work? It is possible! Modular Data driven Introspection Reliable Performance VS Achieved: 50 ± 0.10 μs (max jitter of 0.80 μs) Low jitter Working systems JET VS JET EFCC COMPASS SC COMPASS VS ISTTOK Tomography FTU RT 28 Linux-RTAI VxWorks Linux* Linux* Linux-RTAI Linux-RTAI 50 μs 200 μs 500 μs 50 μs 100 μs 250 μs

How does it compare with EPICS? (for Hard-real-time?) See: A. Barbalace, et. al, Performance comparison of EPICS IOC and MARTe in a Hard Real-Time Control Application, in IEEE-NPSS RT 2010 29

Future work MARTe is interface agnostic... Would be good to have standard tools which help on the development and deployment of new systems Simulink, Ptolemy EPICS MARTe has its own language Would be good to have a meta-language with builtin validation features XML 30 More and better documentation Practically none targeted at the end user Deployment and installation manual, GAM development manual Configuration file writer manual, Real world examples Tutorials

Backup slides 31