Abstract
Choosing a good design language is essential for success in using the cleanroom software engineering techniques. The design language should be tailored to support the important aspects of cleanroom, most importantly, functional decomposition of intended functions and functional verification. To support these goals, a good design language should be capable of providing a high level of abstraction. Many existing implementation languages, such as C++, C, and PL/1, are suitable for this purpose, given appropriate guidelines on their use. These languages have the additional benefits of being familiar to users, and making the design-to-code step unnecessary. The paper describes the important principles in creating a design language for use with cleanroom software engineering. It then discusses the guidelines needed to produce a viable design language from one existing implementation language.

This publication has 9 references indexed in Scilit: