Undergraduate Course: Embedded Software (INFR11112)
|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
Course Delivery Information
|Academic year 2014/15, Available to all students (SV1)
|Learning and Teaching activities (Further Info)
Lecture Hours 20,
Summative Assessment Hours 2,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||Development of a small embedded system using an ARM Cortex-M4 microcontroller, bare-metal and RTOS programming in C.
You should expect to spend approximately 25 hours on the coursework for this course.
If delivered in semester 1, this course will have an option for semester 1 only visiting undergraduate students, providing assessment prior to the end of the calendar year.
||Hours & Minutes
|Main Exam Diet S2 (April/May)||2:00|
| 1 - An understanding of the principles underlying the development of software for embedded systems, from specification through to validation.
2 - 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.
3 - The ability to compare different specification techniques through hands-on experience of programming in the Esterel language as part of the assessed coursework
4 - 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.
* The Esterel website: www-sop.inria.fr/meije/esterel/esterel-eng.html
|Course organiser||Dr Mary Cryan
Tel: (0131 6)50 5153
|Course secretary||Miss Claire Edminson
Tel: (0131 6)51 4164
© Copyright 2014 The University of Edinburgh - 12 January 2015 4:12 am