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. |