Specification Languages
Professor | Lauwereins Rudy Engels Marc |
Course program | MSc |
Year | 2 |
Semester | Fall |
Category | Fundamental |
ECTS | 6 |
Academic year | 2017/2018 |
Part 1: Prof. Rudy Lauwereins
Objective
The course reviews first the functional and non functional properties of modern cyber-physical and embedded systems that have to be specified. Next, an overview of system level specification models is presented with links to the specification languages that make use of the respective models. The models cover control dominated, data processing dominated and data storage dominated applications. They also focus on the different phases in the design flow, from functionality oriented to implementation oriented. In a hands-on section, an advanced video recorder is modeled that features dynamic task graph modification. Finally, specification models are introduced to implement FSMDs and FSMD synthesis techniques are detailed.
Contents
-
Trends in the properties of cyber-physical and embedded systems
-
Application trends
-
Technology trends
-
Example of an embedded system design: software defined radio
-
Example of a cyber-physical system design: ultra low power health care sensor system
-
-
System level specification models
-
Theory
-
Introduction
-
Types of models: state oriented, activity oriented, structure oriented, data oriented
-
Hands-on exercise: specify an advanced video recorder
-
-
Implementation level specification models – FSMD-FSMDs
-
Properties, synthesis design rules, optimization techniques
-
Synthesis techniques: register sharing, functional unit sharing, bus sharing, register port sharing
-
Hands-on exercises
-
References
Technical papers and reference manuals related to case studies provided by the Professor.
Part 2: Prof. Marc Engels
The second part of the specification languages course focuses on using the specification models of Part 1 for the architectural design of digital embedded systems. First, we focus on the functional modelling of a digital embedded system. The architecture for this functionality is derived in 3 steps: refinement of data types, refinement of communication channels and refinement of the operators. For exercising these refinements we rely on SystemC, a class library on top of C++.