01 Trends in Embedded Software Engineering

Embed Size (px)

Citation preview

  • 8/2/2019 01 Trends in Embedded Software Engineering

    1/46

    Prof. Dr. Wolfgang Pree

    Department of Computer Science

    Universitt Salzburg

    cs.uni-salzburg.at

    MoDECS.ccPREEtec.com

    Trends in

    Embedded Software Engineering

  • 8/2/2019 01 Trends in Embedded Software Engineering

    2/46

    W. Pree: Trends in Embedded Software Engineering2 LASER 2005

    Contents

    Why focus on embedded software?

    Better abstractions

    timing & concurrency

    transparent distribution

    Modularization (component models)

    Further challenges

  • 8/2/2019 01 Trends in Embedded Software Engineering

    3/46

    W. Pree: Trends in Embedded Software Engineering3 LASER 2005

    What are we talking about?

    Information processing that is tightly

    integrated with physical processes is

    called

    embedded computing

  • 8/2/2019 01 Trends in Embedded Software Engineering

    4/46

    W. Pree: Trends in Embedded Software Engineering4 LASER 2005

    Many innovations in embedded systems will result

    from software features

  • 8/2/2019 01 Trends in Embedded Software Engineering

    5/46

    W. Pree: Trends in Embedded Software Engineering5 LASER 2005

    A special breed: real-time embedded computing

  • 8/2/2019 01 Trends in Embedded Software Engineering

    6/46

    W. Pree: Trends in Embedded Software Engineering6 LASER 2005

    Hard versus soft real-time systems

  • 8/2/2019 01 Trends in Embedded Software Engineering

    7/46

    W. Pree: Trends in Embedded Software Engineering7 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

  • 8/2/2019 01 Trends in Embedded Software Engineering

    8/46

    W. Pree: Trends in Embedded Software Engineering8 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/2/2019 01 Trends in Embedded Software Engineering

    9/46

    W. Pree: Trends in Embedded Software Engineering9 LASER 2005

    Priority inversion problem

    low-priority process keeps high-priority process from

    running

    might cause deadlocks

  • 8/2/2019 01 Trends in Embedded Software Engineering

    10/46

    W. Pree: Trends in Embedded Software Engineering10 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.

  • 8/2/2019 01 Trends in Embedded Software Engineering

    11/46

    W. Pree: Trends in Embedded Software Engineering11 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

  • 8/2/2019 01 Trends in Embedded Software Engineering

    12/46

    W. Pree: Trends in Embedded Software Engineering12 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 hardwarea similar

    development to that started in the computer industry

    30 years ago.

    Thus, radically new abstractions, methods and

    tools are required.

  • 8/2/2019 01 Trends in Embedded Software Engineering

    13/46

    W. Pree: Trends in Embedded Software Engineering13 LASER 2005

    Abstractions

  • 8/2/2019 01 Trends in Embedded Software Engineering

    14/46

    W. Pree: Trends in Embedded Software Engineering14 LASER 2005

    Lifting the level of abstraction for general-purpose

    programming

    HW + OS

    assembly language

    C

    C++

    Java C#Oberon Eiffel

    LISP Prolog

    comp

    ilation

  • 8/2/2019 01 Trends in Embedded Software Engineering

    15/46

    W. Pree: Trends in Embedded Software Engineering15 LASER 2005

    Abstractions for embedded systemsa missing link

    HW + OS

    general-purpose programming languages

    mathematical modeling (eg, Simulink)

    embedded software model

  • 8/2/2019 01 Trends in Embedded Software Engineering

    16/46

    W. Pree: Trends in Embedded Software Engineering16 LASER 2005

    Abstractions for embedded systemsa missing link

    HW + OS

    general purpose programming languages

    mathematical modeling (eg, Simulink)

    embedded software model timing & concurrency

    efficient to implement reusable components

  • 8/2/2019 01 Trends in Embedded Software Engineering

    17/46

    W. Pree: Trends in Embedded Software Engineering17 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?

  • 8/2/2019 01 Trends in Embedded Software Engineering

    18/46

    W. Pree: Trends in Embedded Software Engineering18 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

  • 8/2/2019 01 Trends in Embedded Software Engineering

    19/46

    W. Pree: Trends in Embedded Software Engineering19 LASER 2005

    Required embedded softwareproperties

    focus: ultra-reliable embeddedcontrol

  • 8/2/2019 01 Trends in Embedded Software Engineering

    20/46

    W. Pree: Trends in Embedded Software Engineering20 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 thesame 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.

  • 8/2/2019 01 Trends in Embedded Software Engineering

    21/46

    W. Pree: Trends in Embedded Software Engineering21 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.

  • 8/2/2019 01 Trends in Embedded Software Engineering

    22/46

    W. Pree: Trends in Embedded Software Engineering22 LASER 2005

    better quality, reduced costs

    deterministic timing behavior

    portability

    automatic code generation

    computing platform,

    for example, MPC555+OSEK

    embedded control software

    plantA S

  • 8/2/2019 01 Trends in Embedded Software Engineering

    23/46

    W. Pree: Trends in Embedded Software Engineering23 LASER 2005

    better quality, reduced costs

    deterministic timing behavior

    portability

    automatic code generation

    M1

  • 8/2/2019 01 Trends in Embedded Software Engineering

    24/46

    W. Pree: Trends in Embedded Software Engineering24 LASER 2005

    better quality, reduced costs

    deterministic timing behavior

    portability

    automatic code generation

    M1

  • 8/2/2019 01 Trends in Embedded Software Engineering

    25/46

    W. Pree: Trends in Embedded Software Engineering25 LASER 2005

    better quality, reduced costs

    deterministic timing behavior

    portability

    automatic code generation

    M1

    M2

  • 8/2/2019 01 Trends in Embedded Software Engineering

    26/46

    W. Pree: Trends in Embedded Software Engineering26 LASER 2005

    better quality, reduced costs

    deterministic timing behavior

    portability

    automatic code generation

    M1 M2

  • 8/2/2019 01 Trends in Embedded Software Engineering

    27/46

    W. Pree: Trends in Embedded Software Engineering27 LASER 2005

    Sample abstraction:Logical Execution Time (LET)

  • 8/2/2019 01 Trends in Embedded Software Engineering

    28/46

    W. Pree: Trends in Embedded Software Engineering28 LASER 2005

    Task 1

    t

    State-of-the-art programming model leads to

    non-deterministic, non-portable software

    only constraint: calculation finishes before a deadline

    PROBLEM: results are available as soon as calculation is

    finished => NO determinism, NO portability

    Task 2

  • 8/2/2019 01 Trends in Embedded Software Engineering

    29/46

    W. Pree: Trends in Embedded Software Engineering29 LASER 2005

    Logical Execution Time (LET),

    an abstraction invented at UC Berkeley

    results are available EXACTLY after the LET of a taskTask 1

    t

    Task 2

    LET >= WCET

    LET1

    LET2

  • 8/2/2019 01 Trends in Embedded Software Engineering

    30/46

    W. Pree: Trends in Embedded Software Engineering30 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

    timetask invocation

    Logical Execution Time (LET)

    logical

    view

    physicalview

    release terminate

    running running

  • 8/2/2019 01 Trends in Embedded Software Engineering

    31/46

    W. Pree: Trends in Embedded Software Engineering31 LASER 2005

    platform first ...?

  • 8/2/2019 01 Trends in Embedded Software Engineering

    32/46

    W. Pree: Trends in Embedded Software Engineering32 LASER 2005

    LET allows Transparent Distribution

    M1

    comm1

    comm2

    time

    LET1

    bus

    LET2

    node1

    node2M2

    message sent according to bus schedule (TDMA)

  • 8/2/2019 01 Trends in Embedded Software Engineering

    33/46

    W. Pree: Trends in Embedded Software Engineering33 LASER 2005

    LET might be appropriate for the time-triggered

    and event-triggered programming models

    xGiotto: has generalized fixed LET

    requires event scoping

  • 8/2/2019 01 Trends in Embedded Software Engineering

    34/46

    W. Pree: Trends in Embedded Software Engineering34 LASER 2005

    Towards embedded softwarecomponents

  • 8/2/2019 01 Trends in Embedded Software Engineering

    35/46

    W. Pree: Trends in Embedded Software Engineering35 LASER 2005

    Hierarchical structuring is only a first step

    A subsystem (= function) in Simulink

    input

    parameters

    output

    parameters

  • 8/2/2019 01 Trends in Embedded Software Engineering

    36/46

  • 8/2/2019 01 Trends in Embedded Software Engineering

    37/46

    W. Pree: Trends in Embedded Software Engineering37 LASER 2005

    required: domain-adequate language

    constructs for modularization

    M1

    M2

    module M2 {

    import M1;

    ...

    start mode main [period= M1.refPeriod] {task

    [freq=1] sum(M1.inc.o, M1.dec.o);

    ...

    }

    }

  • 8/2/2019 01 Trends in Embedded Software Engineering

    38/46

    W. Pree: Trends in Embedded Software Engineering38 LASER 2005

    Compositionality

    The behavior of a software component should beindependent of the overall system load and

    configuration.

    Example: A new component can be added to a

    system without changing the behavior of theoriginal components.

    Consequences:

    Extensibility of systems.

    Reuse of components.

  • 8/2/2019 01 Trends in Embedded Software Engineering

    39/46

    W. Pree: Trends in Embedded Software Engineering39 LASER 2005

    Next-generation tools forembedded software

    development

  • 8/2/2019 01 Trends in Embedded Software Engineering

    40/46

    W. Pree: Trends in Embedded Software Engineering40 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 | functionalityplatform | functional and temporal behavior

    language construct for modules embedded software properties

    deterministic timing behavior

    portability (automatic platform code generation)

    compositionality transparent distribution

  • 8/2/2019 01 Trends in Embedded Software Engineering

    41/46

    W. Pree: Trends in Embedded Software Engineering41 LASER 2005

    Tools for developing ultra-reliable embedded

    software require solid foundations

    abstractions LET, module

    development methodsGiotto/Timing

    Definition Language

    tool supportvisual/interactive

    editor, compiler, etc.

  • 8/2/2019 01 Trends in Embedded Software Engineering

    42/46

    W. Pree: Trends in Embedded Software Engineering42 LASER 2005

    Timeline of beating the concepts into

    their shapes ...

    1999 2000 2001 2002 2003 2004

    Giotto

    UC BerkeleyTiming Definition Language (TDL)

    MoDECS

    2005

  • 8/2/2019 01 Trends in Embedded Software Engineering

    43/46

    W. Pree: Trends in Embedded Software Engineering43 LASER 2005

    LET-based tool chain

    MoDECS.cc PREEtec.com

    S

    S

    A

    A

    S

    A

    starting point: LET/Giotto (UC Berkeley)

    TDL module

    component model

    M1

    M2

    M3

    VisualTDL in Simulink

    platform spec.

    M1M2M3

    TDL compiler +

    schedule generator

    E-Code

    S-Code

    INtime, OSEK,

    TTA, RT-Linux

    E-/S-Machines+TDLComm

  • 8/2/2019 01 Trends in Embedded Software Engineering

    44/46

    W. Pree: Trends in Embedded Software Engineering44 LASER 2005

    Further embedded softwarechallenges

  • 8/2/2019 01 Trends in Embedded Software Engineering

    45/46

    W. Pree: Trends in Embedded Software Engineering45 LASER 2005

    Orthogonal challenges

    appropriate software abstractions as basis ofmodel-based development

    support of multiple models of computation

    reengineering of existing systems

    requirements engineering process management

    risk analysis and error management

    usability

    security . . .

  • 8/2/2019 01 Trends in Embedded Software Engineering

    46/46

    W. Pree: Trends in Embedded Software Engineering46 LASER 2005

    The end

    Thank you for your attention!