ABSTRACT
This paper discusses (1) some general concepts of design languages, (2) the development of the specific design language denoted as PDL/Ada, (3) the specific features of PDL/Ada, and (4) some problems encountered and techniques used in defining PDL/Ada. An appendix shows two examples. Because of space constraints, each of these items can only be touched on briefly. This paper assumes that the reader has a basic familiarity with the Ada language (herein after referred to as Ada), but detailed knowledge is not required.
The prime technical focus of the work has been to replace an existing design language and notation which supports a specific design methodology with a design language based on Ada without impacting the methodology. There was a clearcut decision to use Ada to obtain the dual benefits of having a design language which was a subset of a programming language while still retaining just the concepts needed for a design (rather than a programming) language.
- 1.ACM SIGPLAN. Proc. ACM-SIGPLAN Symposium on the Ada Programming Language, ACM SIGPLAN Notices, Vol. 15, No. 11 (Nov. 1980).]]Google Scholar
- 2.Boehm, B. W. "Software Engineering - As It Is" in Software Engineering (H. Freeman and P. Lewis, Eds.), Academic Press, (1980), pp. 37-73.]] Google Scholar
- 3.Caine, S. H. and Gordon, E. K. "PDL - A Tool for Software Design", Proc. AFIPS Conf., Vol. 44 (1975), pp. 271-276.]]Google Scholar
- 4.Carlson, W. E., Druffel, L. E., Fisher, D. A., Whitaker, W. A., "Introducing Ada", Proc. ACM Annual Conf., (Oct. 1980), pp. 263-271.]] Google Scholar
- 5.Ford Aerospace & Communications Corp., Secure Minicomputer Operating System (KSOS) Implementation Plan, WDL-TR7799, Western Development Laboratories Division, Palo Alto, Calif. (March 1978).]]Google Scholar
- 6.Freedman, M. D., "Tools for the Efficient Design of Software" in Software Engineering (H. Freeman and P. Lewis, Eds.), Academic Press, New York (1980), pp. 111-119.]]Google Scholar
- 7.Freeman, P., "The Central Role of Design in Software Engineering: Implications for Research" in Software Engineering (H. Freeman and P. Lewis, Eds.), Academic Press, New York (1980), pp. 121-132.]]Google Scholar
- 8.Jones, C., "A Survey of Programming Design and Specification Techniques", Proc. Specifications of Reliable Software, IEEE Catalog No. 79CH1401-9C (1979).]]Google Scholar
- 9.Jones, W. T. and Kirk, S. A., "APL As A Software Design Specification Language", Computer Journal, Vol. 23, No. 3 (1980), pp. 230-232.]]Google Scholar
- 10.Krieg-Bruckner, B., and Luckham, D. C., "ANNA: Towards a Language for Annotating Ada Programs", Proc. ACM, SIGPLAN Symposium on the Ada Programming Language, ACM SIGPLAN Notices, Vol. 15, No. 11, (Nov. 1980), pp. 128-138.]] Google ScholarDigital Library
- 11.Linger, R. C., "The Management of Software Engineering, Part III: Software Design Practices", IBM Systems Journal, Vol. 19, No. 4 (1980), pp. 432-450.]]Google Scholar
- 12.Linger, R. C., Mills, H. D., and Witt, B. I., Structured Programming: Theory and Practice, Addison-Wesley, Reading, Mass. (1979).]] Google Scholar
- 13.Moore, A. R., and Kopp, R. S., "Educational Experiences in Industrial Software Engineering", Proc. ACM, Annual Conf., (Oct. 1980), pp. 118- 122.]] Google Scholar
- 14.Sammet, J. E., "Language Aspects of Software Engineering" in Software Engineering (H. Freeman and P. Lewis, Eds.), Academic Press, New York (1980), pp. 181-194.]]Google Scholar
- 15.U. S. Department of Defense, Reference Manual for the Ada Language, (July 1980).]]Google Scholar
- 16.Wirth, M., Systematic Programming: An Introduction, Prentice-Hall, Englewood Cliffs, N.J. (1973).]] Google Scholar
Index Terms
- PDL/Ada—a design language based on Ada
Recommendations
A simple approach to a relaxed syntax for an Ada PDL
Mayda Software Engineering is developing an Ada based design language, ADA/SDP. This effort is influenced by Mayda's experience in using and teaching SDP, the program design language developed and marketed by Mayda. Many organizations are planning to ...
Ada as a preprocessor language
Preprocessors are components of a software development environment that can increase productivity by providing semantic capabilities for expressing certain source language statement s concisely and directly which would otherwise be expressed indirectly ...
Comments