Extending programming environments to support architectural design

As software systems grow in size and complexity, the demand for languages and tools to capture higher order abstractions than those supported by programming languages increases. One of these abstractions is the architectural design, which specifies a system's components, their interfaces, and their interrelationships using textual or visual notations. Although there have been significant advances in programming languages and environments, research into languages and tools for architectural design is still preliminary. Moreover there has been little emphasis on integrating design tools with existing programming environments. The paper describes how the Object Oriented Turing programming environment was extended to accommodate languages and tools for specifying and visualizing architectural designs.<<ETX>>

[1]  Steven P. Reiss,et al.  PECAN: Program Development Systems that Support Multiple Views , 1984, IEEE Transactions on Software Engineering.

[2]  Michael W. Godfrey,et al.  A program understanding environment based on the “Star” approach to tool integration , 1994, CSC '94.

[3]  Graham Ross,et al.  Integral-C—a practical environment for C programming , 1987, SDE 2.

[4]  Colin Ware,et al.  Visualizing object oriented software in three dimensions , 1993, CASCON.

[5]  Frank Ch. Eigler GXF: A Graph Exchange Format , 1993 .

[6]  John A. McDermid,et al.  Software Engineering Environments: Automated Support for Software Engineering , 1993 .

[7]  Grady Booch,et al.  Object-Oriented Design with Applications , 1990 .

[8]  Gail E. Kaiser,et al.  Models of software development environments , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[9]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[10]  Walter F. Tichy Software Development Control Based On System Structure Description , 1980 .

[11]  A. Nico Habermann,et al.  Software Development Environments , 1987, Computer.

[12]  Adele Goldberg,et al.  Smalltalk-80 - the interactive programming environment , 1984 .

[13]  Richard C. Holt,et al.  A “curriculum-cycle” environment for teaching programming , 1993, SIGCSE '93.

[14]  David A. Penny,et al.  The software landscape: a visual formalism for programming-in-the-large , 1993 .

[15]  Michael Jackson,et al.  Principles of program design , 1975 .

[16]  Spiros Mancoridis A multi-dimensional taxonomy of software development environments , 1993, CASCON.

[17]  Mitsuhiko Toda,et al.  Methods for Visual Understanding of Hierarchical System Structures , 1981, IEEE Transactions on Systems, Man, and Cybernetics.

[18]  Ian Thomas,et al.  The object management system of PCTE as a software engineering database management system , 1987, SDE 2.

[19]  Lee Wendell Cooprider The representation of families of software systems. , 1978 .

[20]  David Harel,et al.  On visual formalisms , 1988, CACM.

[21]  Larry Masinter,et al.  The Interlisp Programming Environment , 1981, Computer.

[22]  Hans H. Kron,et al.  Programming-in-the-Large Versus Programming-in-the-Small , 1975, IEEE Transactions on Software Engineering.

[23]  David Garlan Architectures for Software Systems , 1995 .

[24]  R. W. Schwanke,et al.  Discovering, visualizing, and controlling software structure , 1989, IWSSD '89.

[25]  Richard C. Holt,et al.  The Turing programming language , 1988, CACM.

[26]  Ioannis G. Tollis,et al.  Algorithms for Drawing Graphs: an Annotated Bibliography , 1988, Comput. Geom..