ENEE 642: Software
System Implementation
Course Goals:
This course provides comprehensive insight into the
implementation of systems- level software, especially for embedded
computers. It concentrates on the methods, software architectures, design
strategies, CASE tools, and real-time operating system services that the
students will most likely encounter in industry and in their own graduate
research laboratories. Students will learn to apply both formal and informal
software design techniques to small projects and every-day programming needs.
Course Prerequisite:
ENEE 459S or equivalent
course in operating systems.
Topic Prerequisite:
- Familiarity with C or C++ programming languages
and the UNIX operating system.
- Experience with a small software project with at least 1000 lines
of code (in any program- ming language.)
Topics:
- Software life cycle models and phases: e.g. specifications, design,
implementation, etc.
- Software experimentation and rapid prototyping.
- Software architectures, abstract data types, modularity, reuse,
and reconfigurability.
into firmware.
- Writing device drivers for real-time systems.
- Reliable interprocess and multiprocessor communication mechanisms.
- Real-time operating systems and scheduling theory.
- Monitoring, timing analysis, and code optimization.
- Techniques for debugging embedded systems.
- Fault avoidance, detection, handling, and tolerance.
- Interrupt and exception handling.
- Documenting software.
- CASE Tool development.
Required Texts:
To be determined.
References:
To be determined.
Computer Usage:
This course will make use of facilities in the new Vitro
Computer Engineering Laboratory, scheduled to be built in Fall 97. Students
will be expected to write code for an embedded application made available
in this laboratory, and use hardware such as a logic analyzer to help debug
the code. All work must be done in C, with the possibility of a minor amount
of assembly language.
Comments:
- For some homework assignments, students will be asked to work in
small groups.
|