Nothing Special   »   [go: up one dir, main page]

skip to main content
article
Free access

Foundations for the study of software architecture

Published: 01 October 1992 Publication History

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

    Please enable JavaScript to view thecomments powered by Disqus.

    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)1,057
    • Downloads (Last 6 weeks)161
    Reflects downloads up to 20 Nov 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)Sarch-Checks: A Method for Checking Software Architecture Security Properties Using a Knowledge Graph2024 IEEE 21st International Conference on Software Architecture Companion (ICSA-C)10.1109/ICSA-C63560.2024.00030(135-142)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
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media