Ada®for design: an approach for transitioning industry software developers

DoD requirements to use DoD's new programming language Ada by the mid-1980's will create challenges to developers of military software in a) retraining large populations of experienced software practitioners to use Ada and b) achieving potential productivity and quality gains cited as Ada's life-cycle objectives. Many organizations are planning to use Ada as a software design language to achieve early experience and results in both the training and quality-improvement areas. A common approach in using Ada for software design is to use full-syntax Ada to represent design, although most Ada design methods omit low-level features of Ada from the set of constructs used in design; some advocates are using Ada as a vehicle to teach a single, favored methodology for software development. This paper offers an alternative approach, in which syntax is simplified, but the design language does, in a methodology-independent manner, include all the features which support important early design activities. The rationale for the simpler design language is that, with no net sacrifice of software engineering aids, it is a more palatable evolution from prevailing design practices in large software organizations.