High Quality Design Using SDL Technology

This paper describes a design procedure with documentation for embedded software systems aiming at high quality. It starts from process level design. A system is decomposed to several orthogonal processes by data flow division. Making each block or process mono-functional and repeating the division, the system is reduced to a hierarchical cluster of Extended Finite State Machines. The design proceeds by converting an abstract level message sequence chart to multi-process message sequence charts, to a state diagram for one trace, and finally to a state diagram including all traces. Each state transition route is finally converted to source code. A design of an embedded system is thus partitioned to many small step designs each accompanied with the interfacing documents. Through careful, rigorous and repetitive documentation and check, the overall error rate is decreased. Experiments based on applying this method in developing skills of software design and education are reported.