The Leading Role of Software and Systems Architecture in the Age of Digitization
The design, specification, and correct implementation of software and systems architecture are, after the task of requirements specification, perhaps the most important design decisions when building large software or software-intensive systems. Architectures are responsible for software quality, for a number of quality attributes such as maintainability, portability, changeability, reusability, and deployability, but also reliability, security, and safety. Therefore, the design of architectures is a key issue in system and software development. For highly distributed, networked systems and for cyber-physical systems, we need a design and specification concept which supports composition, parallelism, and concurrency and finally real time but keeps all of the general advantages of object-oriented programming. This requires an appropriate concept of interface. If it is extended to these more sophisticated properties, it covers also functional quality aspects.
KeywordsSpecification Design Contracts Assumptions Commitments System specification Interface Architecture
- 1.Andreessen, M.: Why Software Is Eating The World. http://www.wsj.com/articles/SB10001424053111903480904576512250915629460
- 2.Geisberger, E., Broy, M.: agendaCPS – Integrierte Forschungsagenda Cyber-Physical Systems (acatech STUDIE). Springer, Heidelberg (2012)Google Scholar
- 4.Neubeck, P.: A probabilistic theory of interactive systems. Dissertation, Technische Universität München (2012)Google Scholar
- 6.Broy, M.: A logical approach to systems engineering artifacts: semantic relationships and dependencies beyond traceability—from requirements to functional and architectural views. Softw. Syst. Model. (2017)Google Scholar
- 7.Broy, M.: Interaction and realizability, In: van Leeuwen, J., Italiona, G.F., van der Hoek, W., Meinel, C., Sack, H., Plasil, F. (eds.) SOFSEM 2007: Theory and Practice of Computer Science, Lecture Notes in Computer Science 4362, pp. 29–50. Springer (2007)Google Scholar
- 8.Broy, M.: Theory and methodology of assumption/commitment based system interface specification and architectural contracts. Formal Methods Syst. Design 52(1), 33–87 (2018)Google Scholar
- 10.Szyperski, C.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley Professional (2002)Google Scholar
- 12.Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Merson, P., Nord, R., Stafford, J.: Documenting Software Architectures: Views and Beyond, 2nd edn. Addison-Wesley, Boston (2010)Google Scholar
- 13.Broy, M., Stølen, K.: Specification and Development of Interactive Systems: Focus on Streams, Interfaces, and Refinement. Springer (2001)Google Scholar
- 15.Soderberg, A., Vedder, B.: Composable safety-critical systems based on pre-certified software components. In: 2012 IEEE 23rd International Symposium on Software Reliability Engineering Workshops (ISSREW), pp. 343–348 (2012)Google Scholar
- 17.Westmann, J.: Specifying safety-critical heterogeneous systems using contracts theory. KTH, Industrial Engineering and Management. Doctoral Thesis Stockholm, Sweden 2016Google Scholar
- 18.Broy, M., Krüger, I., Meisinger, M.: A formal model of services. TOSEM – ACM Trans. Softw. Eng. Methodol. 16, (2007)Google Scholar
- 21.Henzinger, Th.A., Qadeer, S., Rajamani, S.K..: Decomposing refinement proofs using assume-guarantee reasoning. In: Proceedings of the International Conference on Computer-Aided Design (ICCAD), IEEE Computer Society Press, pp. 245–252 (2000).
- 22.Meyer, B.: Applying “design by contract”. In Computer (IEEE), 25, 10, October 1992, pp. 40–51Google Scholar
- 24.M. Toerngren, S. Tripakis, P. Derler, E.A. Lee: Design contracts for cyber-physical systems: making timing assumptions explicit. Technical Report UCB/EECS- 2012-191, EECS Department, University of California, Berkeley (2012)Google Scholar
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.