Embedded System Software Design With State Diagrams

Guoping Wang, Indiana University - Purdue University Fort Wayne


Searched journal table of contents for 2014-2015 and seached SCOPUS. article not published yet.


An embedded system is a special-purpose computer system that is designed to perform one or more dedicated functions, often with real-time computing constraints. It has to process many activities concurrently within a time frame. Traditionally, a structured flowchart is popularly used in software design for a small embedded system before the actual code is written. Data flow diagrams can be used when one needs to see the process that data transfers in the system. State transfer diagrams can be used to represent the transfer process of different states when input or event changes. However, flow charts are detailed, time consuming and not very flexible. Data flow diagrams and state transfer diagrams cannot be easily converted to actual programming codes. In this paper, a software design approach using state diagrams, which can be easily converted into actual programming codes, is introduced. A practical example, the Air Conditioning Control System, is described using this approach. The proposed approach is very effective for a small embedded software system and can be easily mapped into programming codes.