Learning Outcomes
With the successful completion of this course students will be able to recognize the type of problems that need to be solved in the implementation of a real-time or embedded system, the methodologies for the solution of such problems and the operating systems, programming environments and languages that may be used.
Course Content (Syllabus)
Many applications require real-time computer systems that measure sensors, make complicated decisions and control activators in real time, or embedded systems that execute a single program like navigation systems or mobile entertainment mp3 players, digital cameras etc. In implementing such systems a number of problems must be solved including resource allocation of time, energy and cost of hardware and software implementation. In this introductory course we study all these problems in principle and in practice and explore available programming environments and tools for their solution.
Real-time scheduling and resource management, rate allocation methods.
Real time operating systems and microkernels.
Wireless networks and real time communications.
Synchronous and real-time programming languages and program synthesis from specifications.
Meta-programming and meta-modeling languages
Hardware-software codesign
Applications
Additional bibliography for study
Handbook of Real-Time and Embedded Systems, ISBN: 978-1584886785, I. Lee, J Y-T Leung and S. H. Son editors, CRC Press, 2008
Recent articles from conferences and journals