Undergraduate Course: Embedded Systems (INFR11120)
|School||School of Informatics
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 11 (Year 4 Undergraduate)
||Availability||Available to all students
|Summary||Embedded (or reactive) systems monitor, respond to, or control an external environment through sensors, actuators and other I/O interfaces. These systems are inherently concurrent and require reliable software which satisfy timing constraints. This module provides an introduction to the fundamental principles underlying the specification, design and implementation of embedded systems with particular emphasis on the software.
* Introduction to the unique characteristics and requirements of embedded systems
* Models for embedded software: process-based, cyclic executives, OS-based & object-oriented
* Overview of specification and design techniques: Data Flow Diagrams (DFDs), Statecharts, Tabular Languages, Traditional logics & Real-time logic
* Introduction to the Esterel, a synchronous programming language for control-dominated applications
* A linguistic comparison between Ada, Esterel, Real-time Java, C/POSIX
* Validation of embedded systems, in particular the representation and satisfaction of temporal requirements
* Scheduling in Real-time Operating Systems (RTOS)
* Reliability & software fault-tolerance issues
* Software interfaces to hardware components
Relevant QAA Computing Curriculum Sections: Concurrency and Parallelism, Operating Systems, Software Engineering, Systems Analysis and Design
Entry Requirements (not applicable to Visiting Students)
||Other requirements|| This course is open to all Informatics students including those on joint degrees. For external students where this course is not listed in your DPT, please seek special permission from the course organiser.
Information for Visiting Students
|High Demand Course?
Course Delivery Information
|Not being delivered|
On completion of this course, the student will be able to:
- An understanding of the principles underlying the development of software for embedded systems, from specification through to validation.
- An appreciation of the interplay between the different requirements in a complex embedded software design, involving issues such as concurrency, reliability and adherence to timing constraints.
- The ability to compare different specification techniques through hands-on experience of programming in the Esterel language as part of the assessed coursework
- Comparison of features in high-level languages intended for embedded software, such as Ada, Esterel, Real-time Java and C/Posix
|* Alan Shaw, 'Real-Time Systems and Software', John Wiley & Sons, Inc. 2001.|
* Alan Burns & Andy Wellings, 'Real-Time Systems & Programming Languages', Third Edition, Addison Wesley, 2001.
*Peter Marwedel, Embedded System Design
*Derrick Klotz, Freescale/NXP. C for Embedded Systems Programming
*Dominic Herity. Modern C++ in Embedded Systems
|Course organiser||Dr Bjoern Franke
Tel: (0131 6)51 7175
|Course secretary||Mr Gregor Hall
Tel: (0131 6)50 5194