This Article 
 Bibliographic References 
 Add to: 
Software CAD: A Revolutionary Approach
March 1989 (vol. 15 no. 3)
pp. 235-249

A research project is described in which an experimental software CAD environment called the Carleton embedded system design environment (CAEDE), oriented toward embedded systems and Ada, was developed to provide a demonstration of the concept and to serve as a research testbed. The major contribution of CAEDE is a demonstration of a visual paradigm which combines semantic depth and syntactic shallowness, relative to Ada, in a manner that makes it possible for the embedded-system designer to work in terms of abstract machines while still thinking Ada. A secondary contribution is the identification of Prolog as a promising approach for supporting tool development in an environment which supports the visual paradigm. Also described are experimental tools for temporal analysis, performance analysis, and the generation of skeleton Ada code.

[1] M. W. Alford, "A requirements engineering methodology for real-time processing requirements,"IEEE Trans. Software Eng., vol. SE- 3, Jan. 1977.
[2] R. Balzer, "A 15 year perspective on automatic programming,"IEEE Trans. Software Eng., vol. SE-11, no. 11, pp. 1257-1268, Nov. 1985.
[3] D. R. Barstow, "Domain-specific automatic programming,"IEEE Trans. Software Eng., vol. 11, no. 11, pp. 1321-1336, Nov. 1985.
[4] J. Bishop, "A complete notation for Ada charts,"Ada Lett., vol. 6, no. 6, Nov./Dec. 1986.
[5] D. G. Bobrow, "If Prolog is the answer, what is the question? Or what it takes to support AI programming paradigms,"IEEE Trans. Software Eng., vol. SE-11, pp. 1401-1408, Nov. 1985.
[6] G. V. Bochmann, "Finite state descriptions of communication protocols,"Comput. Networks, vol. 2, pp. 361-372, Oct. 1978.
[7] G. P. Brown, R. T. Carling, C. F. Herot, D. A. Kramlich, and P. Souza, "Program visualization: Graphic support for software development,"IEEE Comput., vol. 18, pp. 27-35, Aug. 1985.
[8] G. Bruno and G. Marchetto, "Process-translatable Petri nets for the rapid prototyping of process control systems,"IEEE Trans. Software Eng., vol. SE-12, Feb. 1986.
[9] D. Budgen, "Combining MASCOT with Modula-2 to aid the engineering of real-time systems,"Software Practice Experience, vol. 15, no. 8, pp. 767-793, Aug. 1985.
[10] R. J. A. Buhr,System Design with Ada. Englewood Cliffs, NJ: Prentice-Hall, 1984.
[11] R. J. A. Buhr and S. Michell, "Object-oriented structured design of layered protocol systems," inProc. Third Int. Conf. Distrib. Comput., Ft. Lauderdale, FL, Oct. 1982.
[12] R. J. A. Buhr and G. M. Karam, "An informal overview of CAEDE: A design environment for Ada,"Ada Lett., vol. 4, no. 5, pp. 49-58, Mar./Apr. 1985.
[13] R. J. A. Buhr, G. M. Karam, and C. M. Woodside, "An overview and example application of CAEDE: A new design environment for Ada,"Int. Ada Conf., Paris, France, May 1985.
[14] R. J. A. Buhr, C. M. Woodside, G. M. Karam, K. Van Der Loo, and G. D. Lewis, "Experiments with Prolog design descriptions and tools in CAEDE: An iconic design environment for multitasking, embedded systems," inProc. 8th Int. Conf. Software Engineering, Aug. 1985, pp. 62-67.
[15] R. J. A. Buhr, C. J. Hayes, G. M. Karam, E. Neron, and R. Casselman,CAEDE 1.5 User's Guide, Dept. Syst. Computer Eng., Carleton Univ., Ottawa, Ont., Canada, Tech. Rep. SCE-86-11, May 1986.
[16] B. Burkhardt and M. Lee, "Drawing Ada structure charts,"Ada Lett., vol. 6, no. 3, May/June 1986.
[17] R. Saracco, Ed.,SDL Newslett., no. 6, (CCITT distributed by Telecom Australia), Jan. 1984.
[18] G. W. Cherry,Parallel Programming in ANSI Standard Ada. Reston, VA: Reston Publishing, 1984.
[19] W. F. Clocksin and C. S. Mellish,Programming in Prolog. New York: Springer-Verlag, 1984.
[20] M. E. Dickover, C. L. McGowen, and D. T. Ross, "Software design using SADT," inStructured Analysis and Design, Vol. 2. Infotech International, 1978, pp. 101-114.
[21] G. Estrin, R. S. Fenchel, R. R. Razouk, and M. K. Vernon, "SARA (System ARchitects Apprentice): Modeling, analysis, and simulation support for design of concurrent systems,"IEEE Trans. Software Eng., vol. SE-12, no. 2, pp. 293-311, Feb. 1986.
[22] C. J. Fidge, G. J. Cain, L. N. Jackson, and R. S. V. Pascoe, "An overview of the MELBA automatic code generation project,"Australian Telecommun. Rev., vol. 18, no. 9, 1, 1984.
[23] K. A. Frenkel, "Toward automating the software development cycle,"Commun. ACM, vol. 28, no. 6, June 1985.
[24] E. F. Girczyc, R. J. A. Buhr, and J. P. Knight, "Analysis of a subset of Ada as a high-level hardware description language for graph-based compilation,"IEEE Trans. Comput.-Aided Des., vol. CAD-4, Apr. 1985.
[25] E. P. Glinert and S. L. Tanimoto, "Pict: An interactive graphical programming environment,"Computer, vol. C-17, no. 11, pp. 7-25, Nov. 1984.
[26] H. Gomaa, "A software design method for real-time systems,"Commun. ACM, vol. 27, no. 9, pp. 938-949, Sept. 1984.
[27] D. J. Hartzbard and F. J. Maryanski, "Enhancing knowledge representation in engineering data bases,"IEEE Comput., vol. 18, Sept. 1985, pp. 39-48.
[28] D. Helmbold and D. Luckham, "Debugging Ada tasking programs,"IEEE Software, vol. 2, Mar. 1985, pp. 47-57.
[29] C. J. Hogger,Introduction to Logic Programming. London: Academic, 1984.
[30] "ESTELLE--A formal description technique based on an extended state transition model," International Organization for Standardization, Rep. ISO 9074.
[31] G. M. Karam and R. J. A. Buhr, "Embedding design knowledge in CAEDE: Experiments on the detection of critical races," inProc. 2nd Int. Conf Ada Appli. Environ., Miami Beach, FL, Apr. 1986, pp. 93-98.
[32] G. M. Karam, "A tool-set for temporal analysis in a design environment for concurrent systems," Ph.D. dissertation, Dep. Syst. Comput. Eng., Carleton Univ., Ottawa, Ont., Canada, 1986.
[33] R. Kowalski, "Algorithm = Logic + Control,"Comm. ACM, Vol. 22, No. 7, July 1979, pp. 424-436.
[34] S. Raudys, "On the accuracy of a bootstrap estimate of the classification error," inProc. 9th Int. Conf. Pattern Recognition, Rome, Italy, Nov. 1988, p. 1230-1232.
[35] Y. S. Kwong, "On the absence of livelocks in parallel programs," inSemantics of Concurrent Computation (Lecture Notes in Computer Science, vol. 70). New York: Springer-Verlag, 1979, pp. 172-190.
[36] R. L. London and R. A. Duisberg, "Animating programs using Smalltalk,"IEEE Comput., vol. 18, pp. 61-71, Aug. 1985.
[37] D. C. Luckham and F. W. Von Henke, "An overview of ANNA, A specification language for Ada,"IEEE Software, vol. 2, pp. 9-23, Mar. 1985.
[38] Z. Manna and A. Pnueli, "Verification of concurrent programs: The temporal framework," inThe Correctness Problem in Computer Science, R. S. Boyer and J. S. Moore, Eds. New York: Academic, 1981, pp. 215-273.
[39] M. Moriconi and D. F. Hare, "Visualizing program designs through PegaSys,"IEEE Comput., vol. 18, pp. 72-85, Aug. 1985.
[40] K. R. Orr, "Introduction structured systems design," inStructured Analysis and Design, vol. 2. Infotech International, 1978, pp. 13- 23.
[41] A. Pnueli and W. P. DeRoever, "Rendezvous with Ada--A proof theoretic view," inProc. Ada TEC Conf. Ada, Arlington, VA, Oct. 1982, pp. 129-137.
[42] G. Raeder, "A survey of current graphical programming techniques,"IEEE Comput., vol. 18, pp. 11-25, Aug. 1985.
[43] S. P. Reiss, "Pecan: Program development systems that support multiple views,"IEEE Trans. Software Eng., vol. SE-11, pp. 276-285, Mar. 1985.
[44] W. E. Riddle, "An assessment of DREAM," inSoftware Engineering Environments. New York: North-Holland, 1980.
[45] C. U. Smith and R. R. Gross, "Technology transfer between VLSLI design and software engineering: CAD tools and design methodologies,"Proc. IEEE, vol. 74, pp. 875-885, June 1986.
[46] G.A. Frank et al., "An Architecture Design and Assessment System for Software/Hardware Codesign,"Proc. 22nd Design Automation Conf., IEEE CS Press, Los Alamitos, Calif., Order No. 635 (microfiche only), 1985, pp. 417-424.
[47] Reference Manual for the Ada Programming Language, U.S. Dep. Defense, MIL STD-1815a, 1983.
[48] M. Vernon, E. de Souza e Silva, and G. Estrin, "Performance evaluation of asynchronous concurrent systems: The UCLA graph model of behaviour," inPerformance '83, A. K. Agrawala and S. K. Tripathi, Eds, New York: North-Holland, 1983.
[49] A. I. Wasserman, "Extending state transition diagrams for the specification of human-computer interaction,"IEEE Trans. Software Eng., vol. SE-11, pp. 699-713, Aug. 1985.
[50] D. H. D. Warren, "Logic programming and compiler writing,"Software Practice Experience, vol. 10, no. 11, 1980.
[51] R. C. Waters, "The programmers' apprentice: A session with KBEmacs,"IEEE Trans Software Eng., vol. SE-11, no. 11, pp. 1296-1320, Nov. 1985.
[52] P. M. Winston,Artificial Intelligence. Reading, MA: Addison-Wesley, 1984.
[53] C. M. Woodside, "An active server model for the performance of parallel programs written using rendezvous," inProc. IFIP Workshop Performance Evaluation Parallel Syst., Grenoble, France, Dec. 1984.
[54] C. M. Woodside, T. Pearce, and R. J. A. Buhr, "The CAEDE/Estelle graphical tool for formal definition of protocols," inProc. 6th IFIP Workshop Protocol Specification, Testing, Verification, Montreal, P.Q., Canada, June 1986.
[55] E. Yourdan and L. L. Constantine,Structured Design. Englewood Cliffs, NJ: Prentice-Hall, 1979.
[56] P. Zave, "The operational versus the conventional approach to software development,"Commun. ACM, vol. 27, no. 2, pp. 104-118, Feb. 1984.
[57] P. Zave, "A distributed alternative to finite-state-machine specifications,"ACM Trans. Programming Languages and Syst., vol. 7, no. 1, pp. 10-36, Jan. 1985.
[58] P. Zave and W. Schell, "Salient features of an executable specification language and its environment,"IEEE Trans. Software Eng., vol. SE-12, no. 2, pp. 312-325, Feb. 1986.

Index Terms:
automatic programming; research project; software CAD environment; Carleton embedded system design environment; CAEDE; embedded systems; Ada; visual paradigm; semantic depth; syntactic shallowness; abstract machines; Prolog; tool development; temporal analysis; performance analysis; skeleton Ada code; Ada; automatic programming; CAD; programming environments; software engineering; software tools.
R.J.A. Buhr, G.M. Karam, C.J. Hayes, C.M. Woodside, "Software CAD: A Revolutionary Approach," IEEE Transactions on Software Engineering, vol. 15, no. 3, pp. 235-249, March 1989, doi:10.1109/32.21752
Usage of this product signifies your acceptance of the Terms of Use.