Course Plan, Administrative Information

This is an introductory course on building embedded systems, including modeling, design, and analysis emphasized in that order.  Knowledge of modeling and Models of Computation is key to understanding a problem, the environment, and essential to designing solutions to that problem. Once the models are built, they need to be refined and implemented onto existing components, which requires a design phase. Finally, to understand whether the results are indeed solutions to the aforementioned problem, one needs to be able to evaluate different metrics of the resulting implementations, which is achieved by analysis.

Reading Material

All the material below is accessible as course documents. Some of these are also open access.

Course Brief

Course Plan

  • embedded systems overview and motivation
  • building blocks:
    • processors, memory, sensors/actuators,
    • parallelism vs. concurrency
    • requirements and constraints
  • modeling
    • introduction to models of computation (MoC): continuous vs. discrete dynamics
    • sequential MoCs: Finite State Machines (FSM), hybrid models, non-determinism, composition
    • concurrent MoCs: Synchronous Dataflow (SDF), Petri-nets, Synchronous Reactive (SR)
  • design
    • overview, challenges
    • scheduling: EDD, EDF, LDF, RM, ASAP, ALAP, List scheduling 
    • mapping: clustering, partitioning
    • (communication synthesis) 
  • analysis & verification
    • invariants, temporal logic, equivalence, and refinement
    • reachability analysis, model checking, quantitative analysis

Course Organization

  • Lectures: ten meetings in E:C, Tuesday and Thursday at 10:15. Focus is on discussions (not listening to a presentation) around pre-recorded material and textbook.
  • Laboratory Assignments: E:Beta, Monday or Tuesday; 1 (ungraded tutorial) + 4 (pass/fail); Deadlines!
  • Seminars (2 compulsory): 17/5, 24/5, 8-10 or 10-12. Meetings around the textbook and exam exercises
  • Examination: 31/5 in MA10, 14-19; written assignment

TBD = to be decided