Skip to main content

Many faces of software architecture

  • Architecture
  • Conference paper
  • First Online:
Studies of Software Design (WSSD 1993)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1078))

Included in the following conference series:

Abstract

One reason that hardware design is more systematic than software design is that hardware designers have reached agreements about the description levels for design artifacts. We hypothesize that quality and productivity in software development would be improved if software designers were to arrive at similar agreements. As a first step, we look at representations related to software architecture.

Since software architecture is an emerging field, the research community has developed little consensus on the definition of architecture except that architecture describes the structure of a system as composed from its subcomponents, and the interactions among them. To help us identify pragmatic issues related to architecture, we have surveyed a variety of systems to understand their structure and their use. In our study, we observed that many systems have more than one structure addressing different concerns related to system construction, functional and non-functional characteristics, and the development environment.

Based on these observations, we propose several different representation levels for software architecture. We briefly describe issues arising from multiple representations of software.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Barbacci, M.R., Weinstock, C.B., Wing, J.M.: Programming at the processor-memory-switch level. In Proceedings of the 10th International Conference on Software Engineering, IEEE Computer Society Press (April 1988) 19–28

    Google Scholar 

  2. Bell, C.G., Newell, A: Computer Structures: Readings and Examples. McGraw-Hill (1971)

    Google Scholar 

  3. Crocker, S.D. et al.: Function-oriented protocols for the ARPA computer network. In Proceedings AFIPS, Spring Joint Computer Conference (1972)

    Google Scholar 

  4. Delisle, N., Garlan, D.: Applying formal specification to industrial problems: A specification of an oscilloscope. IEEE Software (September 1990)

    Google Scholar 

  5. DeRemer, F., Kron, H.: Programming-in-the-large versus programming-in-the-small. IEEE Transactions on Software Engineering, SE-2, 2 (June 1976) 80–86

    Google Scholar 

  6. Feiler, P.: Configuration management models in commercial environments. Technical Report CMU/SEI-91-TR-7, Carnegie Mellon University (1991)

    Google Scholar 

  7. Feldman, S.I.: Make — a program for maintaining computer programs. Software — Practice and Experience 9 (November 1979) 255–265

    Google Scholar 

  8. Fischer, H.D.: Special features of a computer-based German reactor protection system. In Proceedings of Fault-Tolerant Computing Systems, Springer-Verlag, Nürnberg (September 1991) 266–287

    Google Scholar 

  9. Garlan, D., Shaw, M.: An introduction to software architecture. V. Ambriola and G. Tortora, editors, In Advances in Software Engineering and Knowledge Engineering, Volume I, World Scientific Publishing Company, New Jersey (1993)

    Google Scholar 

  10. Greenberg, M., Soni, D.: Change Assistant: An editor for programming-in-the-large (in preparation)

    Google Scholar 

  11. Hatley, D.J., Pirbhai, I.A.: Strategies for Real-Time System Specification. Dorset House Publishing, New York (1988)

    Google Scholar 

  12. Katz, R.H.: Information Management for Engineering Design. Springer-Verlag (1985)

    Google Scholar 

  13. Lange, R., Schwanke, R.W.: Software architecture analysis: A case study. In Proceedings of the Third International Workshop on Software Configuration Management, Trondheim, Norway, ACM Press (June 1991)

    Google Scholar 

  14. Narayanaswamy, K., Scacchi, W.: Maintaining configurations of evolving software systems. IEEE Transactions on Software Engineering SE-13, 3 (March 1987)

    Google Scholar 

  15. Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. ACM SIG-SOFT Software Engineering Notes 17, 4 (October 1992) 40–52

    Google Scholar 

  16. Prieto-Diaz, R., Neighbors, J.M.: Module interconnection languages. The Journal of Systems and Software 6, 4 (November 1986) 307–334

    Google Scholar 

  17. Purtilo, J.M.: The polylith software bus. Technical Report UMIACS-TR-90-65, University of Maryland (May 1990)

    Google Scholar 

  18. Royce, W.: TRW's Ada process model for incremental development of large software systems. In Proceedings of the 12th International Conference on Software Engineering, IEEE Computer Society Press (March 1990) 2–11

    Google Scholar 

  19. Scheifler, R.W., Gettys, J.: X window system. Digital Press, Bedford, MA (1990)

    Google Scholar 

  20. Shaw, M.: Larger scale systems require higher level abstractions. In Proceedings of the Fifth International Workshop on Software Specification and Design, IEEE Computer Society, Software Engineering Notes 14, 3 (May 1989) 143–146

    Google Scholar 

  21. Soni, D.: Intelligent support for software maintenance. In Siemens Review, (Spring 1991) 14–18

    Google Scholar 

  22. Soni, D., Nord, R.L., Hsu, L.: An empirical approach to software architectures. In Proceedings of the Seventh International Workshop on Software Specification and Design, IEEE Computer Society (December 1993) 47–51

    Google Scholar 

  23. Tichy, W.: Software development control based on module interconnection. In Proceedings of the Third International Conference on Software Engineering, IEEE Computer Society Press (May 1979) 29–41

    Google Scholar 

  24. Wolf, A.: Language and tool support for precise interface control. Technical Report COINS-TR-85-23, University of Massachusetts (1985)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

David Alex Lamb

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Soni, D., Nord, R.L., Hsu, L., Drongowski, P.J. (1996). Many faces of software architecture. In: Lamb, D.A. (eds) Studies of Software Design. WSSD 1993. Lecture Notes in Computer Science, vol 1078. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0030516

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61285-8

  • Online ISBN: 978-3-540-68434-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics