As the embedded market is expected to increase in the near future, a standardized software design methodology for these systems is desirable, but currently does not exist. The design of a real-time embedded system involves selecting a hardware platform and either 1) selecting a commercially available realtime operating system (RTOS) or 2) utilizing a 'round-robin' loop customized for the application. Presuming that the software requirements have been established within a Software Requirements Document (SRS), implementing these requirements in code using either choice for an operating system usually presents problems downstream, with regard to software maintenance and the verification and validation processes. This course provides an alternate method for designing realtime embedded software systems. After completing this course you should have an understanding of: The importance of a properly documented Software Requirements Specification (SRS); How to use State Diagrams to design software processes; How to present the core data structures, files, the 'executive' and system calls.