Design languages for cleanroom software engineering
- 1 January 1992
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- Vol. ii, 406-417 vol.2
- https://doi.org/10.1109/hicss.1992.183254
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.Keywords
This publication has 9 references indexed in Scilit:
- Engineering software under statistical quality controlIEEE Software, 1990
- Cleanroom Software EngineeringIEEE Software, 1987
- Data structured programming: Program design without arrays and pointersIEEE Transactions on Software Engineering, 1986
- Verification of Array, Record, and Pointer Operations in PascalACM Transactions on Programming Languages and Systems, 1979
- Abstract data types and software validationCommunications of the ACM, 1978
- Proof rules for the programming language EuclidActa Informatica, 1978
- Abstract data types and the development of data structuresCommunications of the ACM, 1977
- Programming without pointer variablesACM SIGPLAN Notices, 1976
- The use of abstract data types to simplify program modificationsACM SIGPLAN Notices, 1976