Trends in Embedded Software Engineering

Similar documents
The Timing Definition Language (TDL)

The Temporal Firewall--A Standardized Interface in the Time-Triggered Architecture

Predictable response times in event-driven real-time systems

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

ELEC 5260/6260/6266 Embedded Computing Systems

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

Efficient and Faster PLC Software Development Process for Automotive industry. Demetrio Cortese IVECO Embedded Software Design

Model-based Testing of Automotive Systems

Methods and Tools For Embedded Distributed System Scheduling and Schedulability Analysis

Multi-objective Design Space Exploration based on UML

Giotto: A Time-Triggered Language for Embedded Programming

Real-time Operating Systems. VO Embedded Systems Engineering Armin Wasicek

A hypervisor approach with real-time support to the MIPS M5150 processor

Real-Time Operating Systems.

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

INSTITUT FÜR INFORMATIK DER TECHNISCHEN UNIVERSITÄT MÜNCHEN. Code Generation and System Integration of Distributed Automotive Applications

secure intelligence collection and assessment system Your business technologists. Powering progress

AUTOSAR Software Architecture

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Model-Driven Software Development for Robotics: an overview

Safety and security related features in AUTOSAR

HIPEAC Segregation of Subsystems with Different Criticalities on Networked Multi-Core Chips in the DREAMS Architecture

Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems

Aerospace Software Engineering

Open Source Software

Part I. Introduction

Motivation and Contents Overview

Integrated Development of Distributed Real-Time Applications with Asynchronous Communication

Software Components for Reliable Automotive Systems

Integrated Model-based Software Development and Testing with CSD and MTest

A Case Study of Application Development and Production Code Generation for a Telematics ECU with Full Unified Diagnostics Services

Presentation of the AADL: Architecture Analysis and Design Language

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

Java Programming (10155)

Advanced Operating Systems (M) Dr Colin Perkins School of Computing Science University of Glasgow

Designing and Embodiment of Software that Creates Middle Ware for Resource Management in Embedded System

Optimizing Global Engineering Efficiency With a Holistic Project Approach

The SPES Methodology Modeling- and Analysis Techniques

How To Compare Real Time Scheduling To A Scheduled Scheduler On Linux On A Computer System With A Visualization System

Software Stacks for Mixed-critical Applications: Consolidating IEEE AVB and Time-triggered Ethernet in Next-generation Automotive Electronics

Designing Real-Time and Embedded Systems with the COMET/UML method

JOURNAL OF OBJECT TECHNOLOGY

Chapter 23 Software Cost Estimation

Integrating real-time analysis into design flows

Application of UML in Real-Time Embedded Systems

Contents. System Development Models and Methods. Design Abstraction and Views. Synthesis. Control/Data-Flow Models. System Synthesis Models

SysML Modelling Language explained

Embedded Systems. 6. Real-Time Operating Systems

Distributed Realtime Systems Framework for Sustainable Industry 4.0 applications

How to design and implement firmware for embedded systems

2.1 What are distributed systems? What are systems? Different kind of systems How to distribute systems? 2.2 Communication concepts

Caterpillar Automatic Code Generation

The Role of the Software Architect

Performance Comparison of RTOS

Contents. Chapter 1. Introduction

A Review of an MVC Framework based Software Development

Software Project Models

Operating Systems 4 th Class

Echtzeittesten mit MathWorks leicht gemacht Simulink Real-Time Tobias Kuschmider Applikationsingenieur

Lecture 1: Introduction

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT

From Control Loops to Software

ECU State Manager Module Development and Design for Automotive Platform Software Based on AUTOSAR 4.0

Lecture 3 Theoretical Foundations of RTOS

Do AUTOSAR and functional safety rule each other out?

Service Oriented Architecture for Agricultural Vehicles

PLM voor HTE en mechatronics best practices voor engineeringsmethodiek

Software cost estimation

Industry Challenges in Embedded Software Development

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

MultiPARTES. Virtualization on Heterogeneous Multicore Platforms. 2012/7/18 Slides by TU Wien, UPV, fentiss, UPM

STUDY AND SIMULATION OF A DISTRIBUTED REAL-TIME FAULT-TOLERANCE WEB MONITORING SYSTEM

Partition Scheduling in APEX Runtime Environment for Embedded Avionics Software

Software cost estimation

An OSGi based HMI for networked vehicles. Telefónica I+D Miguel García Longarón

Embedded & Real-time Operating Systems

Software Engineering

Lecture 9 Modeling, Simulation, and Systems Engineering

A Management Tool for Component-Based Real-Time Supervision and Control Systems

SOFTWARE ENGINEERING AT MOTOROLA SOLUTIONS. Jeff Yakey

Types Of Operating Systems

Applying 4+1 View Architecture with UML 2. White Paper

Model Based System Engineering (MBSE) For Accelerating Software Development Cycle

Transcription:

Trends in Embedded Software Engineering Prof. Dr. Wolfgang Pree Department of Computer Science Universität Salzburg cs.uni-salzburg.at MoDECS.cc PREEtec.com

Contents Why focus on embedded software? Better abstractions timing & concurrency transparent distribution Modularization (component models) Further challenges 2 W. Pree: Trends in Embedded Software Engineering LASER 2005

What are we talking about? Information processing that is tightly integrated with physical processes is called embedded computing 3 W. Pree: Trends in Embedded Software Engineering LASER 2005

Many innovations in embedded systems will result from software features 4 W. Pree: Trends in Embedded Software Engineering LASER 2005

A special breed: real-time embedded computing 5 W. Pree: Trends in Embedded Software Engineering LASER 2005

Hard versus soft real-time systems 6 W. Pree: Trends in Embedded Software Engineering LASER 2005

Sample hard RT system: engine controller 10 ms for 360º at 6000 rpm temporal accuracy of of 3 µsec required up to 100 concurrent software tasks => a hard real-time system is only correct if the concurrent tasks meet the strict real-time deadlines 7 W. Pree: Trends in Embedded Software Engineering LASER 2005

Priority scheduling anomalies reducing task execution times adding a processor to a distributed computing system relaxing precedence constraints can all increase processing time. 8 W. Pree: Trends in Embedded Software Engineering LASER 2005

Priority inversion problem low-priority process keeps high-priority process from running might cause deadlocks 9 W. Pree: Trends in Embedded Software Engineering LASER 2005

Most existing programming models are not sufficient In order to overcome the inherent problems of concurrent, real-time software development, new abstractions, methods and tools are required. 10 W. Pree: Trends in Embedded Software Engineering LASER 2005

Automotive sector: more software... More than 80% of innovations in the automotive industry are expected to result from embedded software over the next decade. key goal: ultra-reliable embedded software The challenge: up to some millions (!) LOC complex distributed computing platform 20 80 computing nodes several bus systems massively concurrent software tasks 11 W. Pree: Trends in Embedded Software Engineering LASER 2005

... less tailored to hardware/os-platforms Dr. Hans-Georg Frischkorn (Senior Vice President Electric/Electronics, BMW Group): Whereas today, software is developed for and tailored to the delivered electronic control unit [processor], a main paradigm shift is expected: Software in cars will become much more independent of specific hardware a similar development to that started in the computer industry 30 years ago. Thus, radically new abstractions, methods and tools are required. 12 W. Pree: Trends in Embedded Software Engineering LASER 2005

Abstractions 13 W. Pree: Trends in Embedded Software Engineering LASER 2005

Lifting the level of abstraction for general-purpose programming LISP Prolog Oberon Java C# Eiffel compilation C++ C assembly language HW + OS 14 W. Pree: Trends in Embedded Software Engineering LASER 2005

Abstractions for embedded systems a missing link mathematical modeling (eg, Simulink) embedded software model general-purpose programming languages HW + OS 15 W. Pree: Trends in Embedded Software Engineering LASER 2005

Abstractions for embedded systems a missing link mathematical modeling (eg, Simulink) timing & concurrency embedded software model efficient to implement reusable components general purpose programming languages HW + OS 16 W. Pree: Trends in Embedded Software Engineering LASER 2005

Key question: What are appropriate abstractions? Do they cover the relevant aspects of a design? Which embedded software properties do they deliver? Do they scale? Are the resulting designs understandable? Can compilers generate efficient code? 17 W. Pree: Trends in Embedded Software Engineering LASER 2005

Caveat: visual representations are often associated with good abstractions Real-Time UML: priorities (widely misued in practice), etc. Simulink: offers only functions for modularization 18 W. Pree: Trends in Embedded Software Engineering LASER 2005

Required embedded software properties focus: ultra-reliable embedded control 19 W. Pree: Trends in Embedded Software Engineering LASER 2005

Determinism If a software component is called twice with the same input values at the same time instants, it should both times produce the same output values at the same time instants. Example: If a control component receives the same sensor values and the same driver input, it should always react exactly in the same way. Consequences: Testability: each behavior can be reproduced. Minimal jitter. 20 W. Pree: Trends in Embedded Software Engineering LASER 2005

Portability (= software standardization) The behavior of a software component should be specified independent of its implementation. Example: The hardware, operating system, or bus architecture can be changed without changing the behavior of the application components. Consequences: Upgradability of hardware. Portability of software. 21 W. Pree: Trends in Embedded Software Engineering LASER 2005

better quality, reduced costs deterministic timing behavior portability automatic code generation A S plant embedded control software computing platform, for example, MPC555+OSEK 22 W. Pree: Trends in Embedded Software Engineering LASER 2005

better quality, reduced costs deterministic timing behavior portability automatic code generation M1 23 W. Pree: Trends in Embedded Software Engineering LASER 2005

better quality, reduced costs deterministic timing behavior portability automatic code generation M1 24 W. Pree: Trends in Embedded Software Engineering LASER 2005

better quality, reduced costs deterministic timing behavior portability automatic code generation M2 M1 25 W. Pree: Trends in Embedded Software Engineering LASER 2005

better quality, reduced costs deterministic timing behavior portability automatic code generation M1 M2 26 W. Pree: Trends in Embedded Software Engineering LASER 2005

Sample abstraction: Logical Execution Time (LET) 27 W. Pree: Trends in Embedded Software Engineering LASER 2005

State-of-the-art programming model leads to non-deterministic, non-portable software only constraint: calculation finishes before a deadline Task 1 t Task 2 PROBLEM: results are available as soon as calculation is finished => NO determinism, NO portability 28 W. Pree: Trends in Embedded Software Engineering LASER 2005

Logical Execution Time (LET), an abstraction invented at UC Berkeley results are available EXACTLY after the LET of a task Task 1 LET1 t Task 2 LET >= WCET LET2 29 W. Pree: Trends in Embedded Software Engineering LASER 2005

LET delivers the required software properties for ultra-reliable embedded systems determinism => testability, minimal jitter compositionality => extensibility, reuse software standardization =>portability, upgradability of HW release Logical Execution Time (LET) terminate logical view physical view running task invocation running time 30 W. Pree: Trends in Embedded Software Engineering LASER 2005

platform first...? 31 W. Pree: Trends in Embedded Software Engineering LASER 2005

LET allows Transparent Distribution node1 M1 comm1 LET1 time bus node2 comm2 M2 LET2 message sent according to bus schedule (TDMA) 32 W. Pree: Trends in Embedded Software Engineering LASER 2005

LET might be appropriate for the time-triggered and event-triggered programming models xgiotto: has generalized fixed LET requires event scoping 33 W. Pree: Trends in Embedded Software Engineering LASER 2005

Towards embedded software components 34 W. Pree: Trends in Embedded Software Engineering LASER 2005

Hierarchical structuring is only a first step A subsystem (= function) in Simulink input parameters output parameters 35 W. Pree: Trends in Embedded Software Engineering LASER 2005

current modularization one embedded control system per computing node M1 36 W. Pree: Trends in Embedded Software Engineering LASER 2005

required: domain-adequate language constructs for modularization M2 M1 module M2 { import M1;... start mode main [period= M1.refPeriod] { task [freq=1] sum(m1.inc.o, M1.dec.o);... } } 37 W. Pree: Trends in Embedded Software Engineering LASER 2005

Compositionality The behavior of a software component should be independent of the overall system load and configuration. Example: A new component can be added to a system without changing the behavior of the original components. Consequences: Extensibility of systems. Reuse of components. 38 W. Pree: Trends in Embedded Software Engineering LASER 2005

Next-generation tools for embedded software development 39 W. Pree: Trends in Embedded Software Engineering LASER 2005

We have developed a modeling language and a set of tools based on LET www.modecs.cc PREEtec.com modularization separation of concerns: timing functionality platform functional and temporal behavior language construct for modules embedded software properties deterministic timing behavior portability (automatic platform code generation) compositionality transparent distribution 40 W. Pree: Trends in Embedded Software Engineering LASER 2005

Tools for developing ultra-reliable embedded software require solid foundations tool support development methods abstractions visual/interactive editor, compiler, etc. Giotto/Timing Definition Language LET, module 41 W. Pree: Trends in Embedded Software Engineering LASER 2005

Timeline of beating the concepts into their shapes... MoDECS UC Berkeley Timing Definition Language (TDL) Giotto 1999 42 2000 2001 W. Pree: Trends in Embedded Software Engineering 2002 LASER 2005 2003 2004 2005

LET-based tool chain MoDECS.cc PREEtec.com starting point: LET/Giotto (UC Berkeley) VisualTDL in Simulink platform spec. M1 S A M2 M1 M2 M3 S S A M3 TDL module component model A TDL compiler + schedule generator E-Code S-Code 43 W. Pree: Trends in Embedded Software Engineering LASER 2005 E-/S-Machines+TDLComm INtime, OSEK, TTA, RT-Linux

Further embedded software challenges 44 W. Pree: Trends in Embedded Software Engineering LASER 2005

Orthogonal challenges appropriate software abstractions as basis of model-based development... support of multiple models of computation reengineering of existing systems requirements engineering process management risk analysis and error management usability security 45 W. Pree: Trends in Embedded Software Engineering LASER 2005

The end Thank you for your attention! 46 W. Pree: Trends in Embedded Software Engineering LASER 2005