Skip to main content
Log in

A CASE tool for software architecture design

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

This paper describes the Software Architect's Assistant, an automated visual tool for the design and construction of Regis distributed programs. Unlike conventional CASE tools and their supported methodologies, the Architect's Assistant supports a compositional approach to program development in which the software architecture plays a central role throughout the software life-cycle—from the early design stage through to system management and evolution.

In its implementation, we have addressed some of the limitations of existing CASE tools, particularly in the degree of automated support offered to the human developer. Conscious effort has been made to maximise usability and efficiency, primarily by enhancing the level of automation and flexibility together with careful design of the user interface. Our objective is to provide a tool which automates all mundane clerical tasks, enforces program correctness and consistency and, at the same time, accommodates the individual working styles of its users.

Although currently specific to the development of Regis programs, the Architect's Assistant embodies concepts and ideas which are applicable to CASE tools in general.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • AVS, 1992. AVS Developer's Guide (Release 4.0). Advanced Visual Systems Inc. Part n. 320-0013-02, Rev B.

  • Barstow, D.R. 1984. A perspective on automatic programming. AI Magazine, 5(1):5–27.

    Google Scholar 

  • Beguelin, A., Dongarra, J., Geist, G., Manchek, R., and Sunderam, V. 1994. HeNCE: A users' guide (Version 2.0). Carnegie Mellon University.

  • Cheung, S.C. and Kramer, J. 1993. Enhancing compositional analysis with context constraints. Presented at Symposium on the Foundations of Software Engineering, Los Angeles, pp. 115–125.

  • Cheung, S.C. and Kramer, J. 1994. Tractable dataflow analysis for distributed systems. IEEE Transactions on Software Engineering, 20(8):579–593.

    Google Scholar 

  • Haddley, N. and Sommerville, I. 1990. Integrated support for system design. Software Engineering Journal, pp. 331–338.

  • Harel, D. 1987. A visual formalism for complex systems. Science of Computer Programming, Vol. 8.

  • Harel, D., Lachover, H., Naamad, A., Pnueli, A., Politi, M., Sherman, R., and Shtul-Trauring, A. 1988. STATEM-ATE: A working environment for the development of complex reactive systems. Presented at 10th International Conference on Software Engineering, pp. 396–406.

  • Harel, D. 1992. Biting the silver bullet—Toward a brighter future for system development. IEEE Computer, 25(1):8–20.

    Google Scholar 

  • Harter, A. and Hopper, A. 1994. A distributed location system for the active office. IEEE Network Special Issue on Distributed Systems for Telecommunications.

  • Homer, P., and Schlichting, R. 1994. Configuring scientific applications in a heterogeneous distributed system. Presented at 2nd International Workshop on Configurable Distributed Systems, Pittsburgh, pp. 159–168.

  • Kramer, J. and Magee, J. 1985. Dynamic configuration for distributed systems. IEEE Transactions on Software Engineering, SE-11(4):424–436.

    Google Scholar 

  • Kramer, J., Magee, J., and Ng, K. 1989. Graphical configuration programming. IEEE Computer, 22(10):53–65.

    Google Scholar 

  • Kramer, J., Magee, J., and Finkelstein, A. 1990. A constructive design approach to the design of distributed systems. Presented at 10th International Conference on Distributed Computing Systems, Paris, pp. 580–587.

  • Kramer, J., Magee, J., and Sloman, M. 1992. Configuring distributed systems. Presented at 5th ACM SIGOPS Workshop on Models and Paradigms for Distributed Systems Structuring, Mont Saint-Michel, France.

  • Kramer, J., Magee, J., Sloman, M., and Dulay, N. 1992. Configuring object-based distributed programs in REX. IEE Software Engineering Journal, 7(2):73–82.

    Google Scholar 

  • Logica, 1989. MacCadd Version 5.0—A new generation of CASE for the apple macintosh, Logica UK Ltd.

  • Magee, J., Kramer, J., and Sloman, M. 1989. Constructing distributed systems in conic. IEEE Transactions on Software Engineering, SE-15(6):663–675.

    Google Scholar 

  • Magee, J., Dulay, N., and Kramer, J. 1993. Structuring parallel and distributed programs. IEE Software Engineering Journal, 8(2):73–82.

    Google Scholar 

  • Magee, J., Dulay, N., and Kramer, J. 1994. Regis: A constructive development environment for distributed programs. Distributed Systems Engineering Journal, 1 (5):304–312.

    Google Scholar 

  • Martin, C.F. 1988. Second-generation CASE tools: A challenge to vendors. IEEE Software, 5(2):46–49.

    Google Scholar 

  • Newton, P. and Browne, J.C. 1992. The CODE 2.0 graphical parallel programming language, Presented at ACM Int. Conf. on Supercomputing. ObjecTime, 1993. ObjecTime Overview. ObjecTime Limited OT-R410V40-113.

  • Rich, C. and Waters, R. 1988. Automatic programming: Myths and prospects. IEEE Computer, 21(8):40–51.

    Google Scholar 

  • Stovsky, M.P. and Weide, B.W. 1987. STILE: A graphical design and development environment. Presented at COMPCON, San Francisco.

  • Sunderam, V.S. 1990. PVM: A framework for parallel distributed computing. Concurreny-Practice and Experience, 2(4):315–339.

    Google Scholar 

  • Wasserman, A.I. and Pircher, P.A. 1987. A graphical, extensible integrated environment for software development. ACM SIGPLAN Notices (Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments), 22(1):131–142.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ng, K., Kramer, J. & Magee, J. A CASE tool for software architecture design. Autom Software Eng 3, 261–284 (1996). https://doi.org/10.1007/BF00132569

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00132569

Keywords

Navigation