Course Code: CS522
Course Name: Embedded Systems
Prerequisites: CS203, CS221, CS222
Syllabus: Introduction: Importance and examples of embedded systems. Specification and Modelling: Models of computation, Finite State Machines, Data Flow, Petri Nets, Statecharts, Synchronous Languages (Esterel, Scade), UML. Architecture and Performance Analysis: Architecture, Coordination, Communication, Prediction of execution times, Scheduling in real-time systems, Real-time operating systems, Middleware. Implementation: Task level concurrency management, Hardware/software partitioning, Compilers for embedded systems, Design flows and tools. Validation: Simulation, Testing and Formal Verification.
Texts: 1. P. Marwedel, Embedded System Design. Springer Verlag, 2006.
References: 1. W. Wolf, Computers as components: principles of embedded computing system design. Morgan Kaufmann, 2005.
2. G.C. Buttazzo, Hard real-time computing systems: predictable scheduling algorithms and applications. Kluwer Academic Publishers, 2005.