Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Foundations for the study of software architecture

Published: 01 October 1992 Publication History
  • Get Citation Alerts
  • Abstract

    The purpose of this paper is to build the foundation for software architecture. We first develop an intuition for software architecture by appealing to several well-established architectural disciplines. On the basis of this intuition, we present a model of software architecture that consists of three components: elements, form, and rationale. Elements are either processing, data, or connecting elements. Form is defined in terms of the properties of, and the relationships among, the elements --- that is, the constraints on the elements. The rationale provides the underlying basis for the architecture in terms of the system constraints, which most often derive from the system requirements. We discuss the components of the model in the context of both architectures and architectural styles and present an extended example to illustrate some important architecture and style considerations. We conclude by presenting some of the benefits of our approach to software architecture, summarizing our contributions, and relating our approach to other current work.

    References

    [1]
    [1] G.S. Avrunin, L.K. Dillon., J.C. Wileden, and W.E. Riddle, Constrained Expressions: Adding Analysis Capabilities to Design Methods for Concurrent Systems, IEEE Trans. on Software Engineering, Vol. SE-12, No. 2, Feb. 1986, pp. 278-292.
    [2]
    [2] J.L. Bentley, Writing Efficient Programs, Addison-Wesley, Reading, MA, 1982.
    [3]
    [3] G.D. Bergland, A Guided Tour of Program Design Methodologies, IEEE Computer, Vol. 14, No. 10, Oct. 1981, pp. 13-37.
    [4]
    [4] B.W. Boehm, Software Engineering Economics, Prentice-Hall, Englewood Cliffs, NJ, 1981.
    [5]
    [5] F.P. Brooks, Jr., The Mythical Man-Month, Addison-Wesley, Reading, MA, 1972.
    [6]
    [6] R.H. Campbell and A.N. Habermann, The Specification of Process Synchronization by Path Expressions, Lecture Notes in Computer Science, No. 16, Apr. 1974, pp. 89-102.
    [7]
    [7] E.J. Chikofsky (ed.), Software Development -- Computer-aided Software Engineering, Technology Series, IEEE Computer Society Press, 1988.
    [8]
    [8] G. Estrin, R.S. Fenchel, R.R. Razouk, and M.K. Vernon, SARA (System ARchitects Apprentice), IEEE Trans. on Software Engineering, Vol. SE-12, No. 2, Feb. 1986, pp. 293-277.
    [9]
    [9] P. Freeman and A.I. Wasserman, Tutorial on Software Design Techniques, IEEE Computer Society Press, 1976.
    [10]
    [10] D. Jackson, Composing Data and Process Descriptions in the Design of Software Systems, LCS Tech. Report 419, Massachusetts Institute of Technology, Cambridge, MA, May 1988.
    [11]
    [11] F.C. Mish, Webster's Ninth New Collegiate Dictionary, Merriam Webster, Springfield, MA, 1983.
    [12]
    [12] J.E.B. Moss and A.L. Wolf, Toward Principles of Inheritance and Subtyping for Programming Languages, COINS Tech. Report 88-95, COINS Dept., Univ. of Mass., Amherst, MA, Nov. 1988.
    [13]
    [13] J.D. Musa, Software Reliability: Measurement, Prediction, Application, McGraw-Hill, New York, NY, 1990.
    [14]
    [14] D.E. Perry, The Inscape Environment, Proc. Eleventh Inter. Conf. on Software Engineering, Pittsburgh, PA, IEEE Computer Society Press, May 1989, pp. 2-12.
    [15]
    [15] D.E. Perry, Industrial Strength Software Development Environments, Proc. IFIP Congress '89, The 11th World Computer Congress, San Francisco, CA, Aug. 1989.
    [16]
    [16] J.L. Peterson, Petri Nets, ACM Computing Surveys, Vol. 9, No. 3, Sept. 1977, pp. 223-252.
    [17]
    [17] W.E. Riddle and J.C. Wileden, Tutorial on Software System Design: Description and Analysis, Computer Society Press, 1980.
    [18]
    [18] W.R. Rosenblatt, J.C. Wileden, and A.L. Wolf, OROS: Towards a Type Model for Software Development Environments, Proc. OOPSLA '89, New Orleans, Louisiana, October 1989.
    [19]
    [19] E. Sandewall, C. Strömberg, and H. Sörensen, Software Architecture Based on Communicating Residential Environments , Proc. Fifth Inter. Conf. on Software Engineering, San Diego, CA, IEEE Computer Society Press, Mar. 1981, pp. 144-152.
    [20]
    [20] R.W. Schwanke, R.Z. Altucher, and M.A. Platoff, Discovering, Visualizing and Controlling Software Structure , Proc. Fifth Inter. Workshop on Software Specification and Design, Pittsburgh, PA, May 1989, appearing in ACM SIGSOFT Notes, Vol. 14, No. 3, May 1989, pp. 147-150.
    [21]
    [21] M. Shaw, Larger Scale Systems Require Higher-Level Abstractions, Proc. Fifth Inter. Workshop on Software Specification and Design, Pittsburgh, PA, May 1989, appearing in ACM SIGSOFT Notes, Vol. 14, No. 3, May 1989, pp. 143-146.
    [22]
    [22] A.Z. Spector, Modular Architectures for Distributed and Database Systems, Proc. Eighth ACM SIGACT-SIGMOD-SIGART Symp. on Principles of Database Systems, Philadelphia, PA, ACM Press, Mar. 1989, pp. 217-224.
    [23]
    [23] J.A. Zachman, A Framework for Information Systems Architecture, IBM Systems Journal, Vol. 26, No. 3, 1987.

    Cited By

    View all
    • (2024)Mental-Health: An NLP-Based System for Detecting Depression Levels through User Comments on Twitter (X)Mathematics10.3390/math1213192612:13(1926)Online publication date: 21-Jun-2024
    • (2024)A Domain-Specific Language for Reconfigurable, Distributed SoftwareInternational Journal of Networking and Computing10.15803/ijnc.14.1_4014:1(40-80)Online publication date: 2024
    • (2024)Enhancing MVC architecture pattern description using its System of Systems modelProceedings of the 17th Innovations in Software Engineering Conference10.1145/3641399.3641410(1-11)Online publication date: 22-Feb-2024
    • Show More Cited By

    Index Terms

    1. Foundations for the study of software architecture

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM SIGSOFT Software Engineering Notes
      ACM SIGSOFT Software Engineering Notes  Volume 17, Issue 4
      Oct. 1992
      52 pages
      ISSN:0163-5948
      DOI:10.1145/141874
      Issue’s Table of Contents

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 01 October 1992
      Published in SIGSOFT Volume 17, Issue 4

      Check for updates

      Qualifiers

      • Article

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)924
      • Downloads (Last 6 weeks)68
      Reflects downloads up to 11 Aug 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)Mental-Health: An NLP-Based System for Detecting Depression Levels through User Comments on Twitter (X)Mathematics10.3390/math1213192612:13(1926)Online publication date: 21-Jun-2024
      • (2024)A Domain-Specific Language for Reconfigurable, Distributed SoftwareInternational Journal of Networking and Computing10.15803/ijnc.14.1_4014:1(40-80)Online publication date: 2024
      • (2024)Enhancing MVC architecture pattern description using its System of Systems modelProceedings of the 17th Innovations in Software Engineering Conference10.1145/3641399.3641410(1-11)Online publication date: 22-Feb-2024
      • (2024)P4: Principles, Patterns, Practices, and Projects for Effective Software Engineering Education2024 47th MIPRO ICT and Electronics Convention (MIPRO)10.1109/MIPRO60963.2024.10569934(1289-1294)Online publication date: 20-May-2024
      • (2024)We're Drifting Apart: Architectural Drift from the Developers' Perspective2024 IEEE 21st International Conference on Software Architecture (ICSA)10.1109/ICSA59870.2024.00018(101-111)Online publication date: 4-Jun-2024
      • (2024)Software design analysis and technical debt management based on design rule theoryInformation and Software Technology10.1016/j.infsof.2023.107322164:COnline publication date: 10-Jan-2024
      • (2024)WarningsInformation and Software Technology10.1016/j.infsof.2023.107319164:COnline publication date: 10-Jan-2024
      • (2024)ReliefF based feature selection and Gradient Squirrel search Algorithm enabled Deep Maxout Network for detection of heart diseaseBiomedical Signal Processing and Control10.1016/j.bspc.2023.10544687(105446)Online publication date: Jan-2024
      • (2024)Mining architectural information: A systematic mapping studyEmpirical Software Engineering10.1007/s10664-024-10480-629:4Online publication date: 4-Jun-2024
      • (2024)From static code analysis to visual models of microservice architectureCluster Computing10.1007/s10586-024-04394-727:4(4145-4170)Online publication date: 24-Apr-2024
      • Show More Cited By

      View Options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Get Access

      Login options

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media