ARTIST Summer School in Morocco - 2010

July 11-16, 2010      Rabat, Morocco organised and funded by ARTIST 


Professor Peter Marwedel

TU Dortmund, Germany
Model-based Embedded Systems Design
The tutorial day will start with an introduction to embedded and cyber-physical systems, introducing key terms of and a motivation for work in the area. Also, characteristics and challenges of the area will be presented. Next, the tutorial will provide an overview over different approaches for specifying systems. A brief introduction to state-machine-based, data-flow-based, discrete-event-based and imperative specification styles will be given. The advantages of model-based design will be shown. The third part of the tutorial will contain an overview over the steps (including mapping, evaluation, validition and optimizations) used in the design of embedded systems. The fourth and final part will focus on a more in-depth treatment of memory-architecture-aware techniques for mapping applications to execution platforms.
Overall, the tutorial day will be structured as follows:
- Introduction, Motivation and Overview
- Specification techniques for embedded systems
- Design flow for embedded systems
- Exploitation of the memory hierarchy

The first tutorial day will provide a context for the following days.

Professor Giorgio Buttazzo

Scuola Superiore Sant’Anna, Pisa, Italy
Real-Time Operating Systems and Task Scheduling
An increasing number of embedded computing systems (like, cellular phones, automotive control units, smart sensors, multimedia devices, etc.) requires the execution of several concurrent tasks dedicated to sensing, control and actuation. Most of such tasks must be executed within stringent timing constraints dictated by performance requirements. Often such systems have to work under limited resources (small computational power, small memory, limited energy, etc.).
As a consequence, the operating system, besides providing internal predictable mechanisms, must also use adequate policies for an efficient use of the available resources.

The objective of the course is to introduce fundamental methodologies and kernel mechanisms suited for the analysis and the development of embedded control systems working under timing and resource constraints.

Specific topics covered by the course include:
- task modeling;
- task scheduling;
- periodic task management;
- schedulability tests and response time analysis;
- protocols for accessing shared resources;
- server mechanisms to handle aperiodic activities.

Professor Lothar Thiele

ETH Zurich, Switzerland
Performance analysis in distributed real-time systems
During the system level design process of an embedded system, a designer is typically faced with questions such as whether the timing properties of a certain system design will meet the design requirements, what architectural element will act as a bottleneck, or what the on-chip memory requirements will be. Consequently it becomes one of the major challenges in the design process to analyze specific characteristics of a system design, such as end-to-end delays, buffer requirements, or throughput in an early design stage, to support making important design decisions before much time is invested in detailed implementations. This analysis is generally referred to as system level performance analysis. If the results of such an analysis are able to give guarantees on the overall system behavior, it can also be applied after the implementation phase in order to verify critical system properties.
One of the major requirements for models, methods and tools is their support for a modular, component-based design. This aspect covers as well the composition of the underlying hardware platform as well as the software design. Because of the import role of resource interaction, these components not only need to talk about functional properties but also about resource interaction.

The course will cover the following aspects of system level performance analysis of distributed embedded systems:
- Approaches to system-level performance analysis. Requirements in terms of accuracy, scalability, composability and modularity.
- Modular Performance Analysis (MPA): basic principles, methods and tool support.
- Examples that show the applicability: An environment to map applications onto multiprocessor platforms including specification, simulation, performance evaluation and mapping of distributed algorithms; analysis of memory access and I\O interaction on shared buses in multi-core systems.

Professor Luis Almeida

University of Porto, Portugal
Real-Time Communication in Embedded Systems
The proliferation of integrated communication interfaces within embedded computing platforms allowed an unprecedented level of distribution and integration that has been pushing frameworks such as Networked Embedded Systems (NESs), Wireless Sensor Networks (WSNs) and Mobile Ad hoc Networks (MANETs). In many applications, particularly involving transmission of live monitoring data, feedback control data or interactive multimedia data, there are timing constraints that must be respected for the application to be effective. This requires bounded responses not only from the processors but also from the network.
In this course we will analyse the concepts, techniques and technologies used at the network level to provide timely communication. In particular we will start from current trends in embedded systems design and from there we will address the timing issues in the network, the temporal control of communication, the protocol stack and its layers, we will revisit some related protocols covering both wired and wireless technologies, including CAN, FlexRay, Ethernet, WiFi and IEEE 802.15.4, we will analyse the traffic model and scheduling issues, and finally we will discuss some on-going related research projects.

Professor Brian Nielsen

Aalborg University, Denmark
Modeling, verification and testing in embedded systems
Testing and verification are complementary validation techniques: Whereas verification aims at proving properties of abstract system models, testing aims at checking actual implementations running on hardware and operating systems. Model-based testing is a novel testing approach that aims at automatically checking whether the implementation’s behavior is correct compared to the behavior specified in the model. The system developer uses a test generation tool to analyze the system model to generate cases that can be executed on the implementation under test. It turns out that verification techniques and algorithms can be exploited to assist in the generation of sound and effective test cases, including state exploration techniques, reachability analysis well as game solving techniques.
Synthesis of test cases for embedded real-time systems is particularly challenging as it must deal with timing, non-determinism, and reduced observability and controllability. In this tutorial we introduce recent advances in model-based testing of real-time systems, including models, theory, principles, techniques, and tools. Specifically, we introduce timed automata as means for modeling timing requirements, notions of real-time conformance, principles for off-line and on-line generation of real-time test cases, and using the Uppaal tool-suite for these tasks.

- Real-Time Modeling
— Introduction to timed automata (TA) and timed game automata (TGA)
- Real-Time Conformance
— Real-time extensions of the ioco testing theory
- Principles of verification and controller synthesis
- Off-Line Testing
— Off-line generation of (optimal) quantitative test-sequences and testing strategies (based on Priced TA and Timed Games)
— Test generation using Timed Games
- On-Line Testing
— Online real-time testing and monitoring; Case study
- Future Challenges

UPPAAL is a tool for modeling, simulating and verifying real-time systems, developed as a collaboration between Aalborg University and Uppsala University since the beginning of 1995.

UPPAAL Tron is a testing tool, based on the UPPAAL engine, allowing for on-line conformance testing of timed systems, mainly targeted for embedded software commonly found in various controllers. By on-line we mean that tests are derived, executed and checked simultaneously while maintaining the connection to the system in real-time.

UPPAAL Cora is a branch of UPPAAL targeted towards optimal scheduling and planning problems with numerous applications to embedded systems. The modelling formalism of UPPAAL Cora is that of priced timed automata - an extension of the classical timed automata model - allowing models to be annotated with information describing how various types of costs and rewards (e.g. energy, throughput) may accumulate during the behaviour of a model.

UPPAAL Tiga is the most recent branch of UPPAAL supporting controller synthesis for real time systems through the computation of winning strategies for timed game automata.

(c) Artist Consortium, All Rights Reserved - 2006, 2007, 2008, 2009

Réalisation Axome - Création de sites Internet