skip to main content
10.1145/193173.195404acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article
Free Access

Exploiting style in architectural design environments

Authors Info & Claims
Published:01 December 1994Publication History

ABSTRACT

As the design of software architectures emerges as a discipline within software engineering, it will become increasingly important to support architectural description and analysis with tools and environments. In this paper we describe a system for developing architectural design environments that exploit architectural styles to guide software architects in producing specific systems. The primary contributions of this research are: (a) a generic object model for representing architectural designs; (b) the characterization of architectural styles as specializations of this object model; and (c) a toolkit for creating an open architectural design environment from a description of a specific architectural style. We use our experience in implementing these concepts to illustrate how style-oriented architectural design raises new challenges for software support environments.

References

  1. AAG93.Gregory Abowd, Robert Allen, and David Garlan. Using style to give meaning to software architecture. In Proceedings of SIGSOFT'93: Foundations of Software Engineering, Software Engineering Notes 118(3), pages 9-20. ACM Press, December 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. AG92.Robert Allen and David Garlan. A formal approach to software architectures. In Jan van Leeuwen, editor, Proceedings of IFIP'92. Elsevier Science Publishers B.V., September 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. AG94a.Robert Allen and David Garlan. Beyond definition/use: Architectural interconnection. In Proceedings of the ACM Interface Definition Language Workshop, volume 29(8). SIGPLAN Notices, August 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. AG94b.Robert Alien and David Garlan. Formalizing architectural connection. In Proceedings of the Sixteenth International Conference on Software Engineering, May 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. B+88.G. Boudier et al. An overview of PCTE and PCTE+. In Proc. 3rd Software Development Environments Symposium, November 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. BV93.Pam Binns and Steve Vestal. Formal real-time architecture specification and analysis. In Tenth IEEE Workshop on Real-Tune Operating Systems and Software, New York, NY, May 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. C+90.M. Carey et al. The EXODUS extensible DBMS project: An overview. In S. Zdonik and D. Maier, editors, Readings in Object-Oriented Database Systems. Morgan Kaufmann, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Cha93.Craig Chambers. Predicate classes. In Proceedings of ECOOP '93, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Coa92.Peter Coad. Object-oriented patterns. Communications of the ACM, 35(9): 153-159, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Cor91.The Common Object Request Broker: Architecture and specification. OMG Document Number 91.12.1, December 1991. Revision 1.1 (Draft 10).Google ScholarGoogle Scholar
  11. DGHKL84.Veronique Donzeau-Gouge, Gerard Huet, Gilles Kahn, and Bernard Lang. Programming environments based on structured editors: The Mentor experience. In David R. Barstow, Howard E. Shrobe, and Erik Sandewall, editors, Interactive Programming Environments. McGraw-Hill Book Co., 1984.Google ScholarGoogle Scholar
  12. Fro89.Brian Fromme. HP Encapsulator: Bridging the generation gap. Technical Report SESD-89-26, Hewlett- Packard Software Engineering Systems Division, Fort Collins, Colorado, November 1989.Google ScholarGoogle Scholar
  13. Ger89.Colin Gerety. HP Softbench: A new generation of software developmenttools. Technical Report SES D- 89-25, Hewlett-Packard Software Engineering Systems Division, Fort Collins, Colorado, November 1989.Google ScholarGoogle Scholar
  14. GHJV94.Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Micro- Architectures for Reuaable Object-Oriented Design, Addison-Wesley, 1994.Google ScholarGoogle Scholar
  15. GN91.David Gadan and David Notldn. Formalizing design spaces: Implicit invocation mechanisms. In VDM'91: Formal Software Development Methods, pages 31-44, Noordwijkerhout, The Netherlands, October 1991. S pringer-Verlag, LNCS 551. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. GP94.David Garlan and Dewayne Perry. Software architecture: Practice, potential, and pitfalls. In Proceedings of the Sixteenth International Conference on Software Engineering, May 1994. Panel Introduction. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. GS93a.David Garlan and Curtis Scott. Adding implicit invocation to traditional programming languages. In Proceedings of the Fifteenth International Conference on Software Engineering, Baltimore, MD, May 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. GS93b.David Garlan and Mary Shaw. An introduction to software architecture. In V.Ambriola and G.Tortora, editors, Advances in Software Engineering and Knowledge Engineering, Volume I, New Jersey, 1993. World Scientific Publishing Company.Google ScholarGoogle ScholarCross RefCross Ref
  19. HN86.A Nico. Habermann and David S. Notkin. Gandalf: Software development environments. IEEE Transactions on Software Engineering, SE-12(12):1117- 1127, December 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. HR90.Barbara Hayes-Roth. Architectural foundations for real-time performance in intelligent agents. The Journal of Real-Tbne Systems, Kluwer Academic Publishers, 2:99-125, January 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. JC94.G.R. Ribeiro Justo and P.R. Freire Cunha. Deadlockfree configuration programming. In Proceedings of the Second International Workshop on Configurable Distributed Systems, March 1994.Google ScholarGoogle ScholarCross RefCross Ref
  22. Jef92.Kevin Jeffay. Scheduling sporadic tasks with shared resources in hard-real-time systems. In Proceedings of the 13th IEEE Real-79me Systems Symposium, pages 89-99, Phoenix, AZ, December 1992.Google ScholarGoogle ScholarCross RefCross Ref
  23. Jef93.Kevin Jeffay. The real-time producer/consumer paradigm: A paradigm for the construction of efficient, predictable real-time systems. In Proceedings of the 1993 ACM/SIGAPP Symposium on Applied Computing, pages 796-804, Indianapolis, IN, February 1993. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. K+91.Rudolf K. Keller et al. User interface development and software environments: The Chiron-1 System. In Proc. 13th International Conference on Software Engineering, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. KFP88.Gall E. Kaiser, Peter H. Feiler, and Steven S. Popovich. Intelligent assistance for software development and maintenance. IEEE Software, pages 40- 49, May 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. KP88.G.E. Krasner and S.T. Pope. A cookbook for using the model-view-controller user interface paradigm in Smalltalk-80. Journal of Object Oriented Programming, 1(3):26--49, August/September 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. LAK+95.David C Luckham, Lary M. Augustin, John J. Kenney, James Veera, Doug Bryan, and Walter Mann. Specification and analysis of system architecture using Rapide. IEEE Transactions on Software Engineering, to appear, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. LVC89.Mark A. Linton, John M. Vlissides, and Paul R. Calder. Compusing user interfaces with interviews. IEEE Computer, 22(2), February 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. LW93.Barbara Liskov and Jeannette Wing. A new definition of the subtype relation. In Proceedings of ECOOP '93, July 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Mak92.Victor W. Mak. Connection: An inter-component communication paradigm for configurable distributed systems. In Proceedings of the International Workshop on Configurable Distributed Systems, London, UK, March 1992.Google ScholarGoogle Scholar
  31. McC91.Gary R. McCtain, editor. Open Systems Interconnection Handbook. Intertext Publications McGraw-Hill Book Company, New York, NY, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. MQR94.Mark Moriconi, Xiaolei Qian, and R. A. Riemenshneider. A formal approach to correct refinement of software architectures. Technical Report SRI-CSL- 94-05, SRI International Computer Science Laboratory, April 1994.Google ScholarGoogle Scholar
  33. MR88.Naftaly H. Minsky and David Rozenshtein. A software development environment for law-governed systems. In Proceedings of the ACM SIG- SOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, Boston, MA, November 1988. Published as SIG- PLAN NOTICES, 24(2). Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Nii86.H. Penny NiL Blackboard systems Parts 1 & 2. AI Magazine, 7 nos 3 (pp. 38-53) and 4 (pp. 62-69), 1986.Google ScholarGoogle Scholar
  35. Ous94.John K. Ousterhout. Tcl and the Tk Toolkit. Addison- Wesley, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. PW92.Dewayne E. Perry and Alexander L. Wolf. Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes, 17(4):40-52, October 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. R+91.James Rumbaugh et al. Object-Oriented Modeling and Design. Prentice Hall, Englewood Cliffs, NJ, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Rei90.S.P. Reiss. Connecting tools using message passing in the Field Environment. IEEE Software, 7(4):57-66, July 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. RT89.Tom Reps and Tim Teitelbaum. The Synthesizer Generator: A System for Contstructing Language-Based Editors. Springer-Verlag, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. SDK+95.Mary Shaw, Robert DeLine, Daniel V. Klein, Theodore L. Ross, David M. Young, and Gregory Zelesnik. Abstractions for software architecture and tools to support them. IEEE Transactions on Software Engineering, to appear, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Sha93.Mary Shaw. Procedure calls are the assembly language of system interconnection: Connectors deserve first-class status. In Proceedings of the Workshop on Studies of Software Design, May 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. SLF90.Reid Simmons, Long-Ji Lin, and Christopher Fedor. Autonomous task control for mobile robots. In Proceedings of the 5th 1EEE International Symposium on Intelligent Control, Philadelphia, PA, September 1990.Google ScholarGoogle ScholarCross RefCross Ref
  43. SN92.Kevin J. Sullivan and David Notkin. Reconciling environment integration and software evolution. ACM Transactions on Software Engineering and Methodology, 1(3):229-268, July 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. T+88.Richard N. Taylor et al. Foundations for the Arcadia environment architecture. In Proceedings of the A CM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, Boston, MA, November 1988. Published as SIGPLAN NOTICES, 24(2). Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Ves94.Steve Vestal. Mode changes in real-time architecture description language. In Proceedings of the Second International Workshop on Configurable Distributed Systems, March 1994.Google ScholarGoogle ScholarCross RefCross Ref
  46. vLDD+88.A. van Lamsweerrde, B. Delcourt, E. Delor, M. C. Schayes, and R. Champagne. Generic lifecycle support in the ALMA environment. IEEE Transactions on Software Engineering, 14(6):720-741, June 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Exploiting style in architectural design environments

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      SIGSOFT '94: Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
      December 1994
      188 pages
      ISBN:0897916913
      DOI:10.1145/193173
      • cover image ACM SIGSOFT Software Engineering Notes
        ACM SIGSOFT Software Engineering Notes  Volume 19, Issue 5
        Dec. 1994
        187 pages
        ISSN:0163-5948
        DOI:10.1145/195274
        • Editor:
        • David Wile
        Issue’s Table of Contents

      Copyright © 1994 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 December 1994

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      Overall Acceptance Rate17of128submissions,13%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader