Pre-requisites : 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.