Premek Brada KIV/DCSE Web

Architectures for Complex Systems

lang:cz Architektury pro komplexní sw systémy version: 2025

This is a course for PhD students. The objectives are

  1. learn both the fundamentals and state of the art in software architectures
  2. critically evaluate a concrete system's architecture or an architectural concept

Synopsis: Fundamental concepts in the field of software architectures, especially component and service-oriented design and implementation of software systems, analysis of the current state of the art and new developments, critical analysis of a specific technology or approach from the perspective of fundamental concepts and practical contexts. Discussion on the semantics of basic terms, models for the specification and analysis of SW architectures, practical implications.

(The course replaces the Component Models and Architectures legacy one.)

Requirements for passing the course

A) Reading

Required at least 3 of

  • Brada, P. A Look at Current Component Models from the Black-box Perspective. Proceedings of 35th Euromicro Conference on Software Engineering and Advanced Applications, IEEE Computer Society, 2009
  • Bachmann, F., Bass, L., Buhman, C., Comella-Dorda, S., Long, F., Robert, J., Seacord, R. and Wallnau, K., 2000. Volume II: Technical concepts of component-based software engineering (pp. 26-29). Technical Report CMU/SEI-2000-TR-008, Carnegie Mellon Software Engineering Institute.
  • Beugnard, A.; Jézéquel, J.-M.; Plouzeau, N. & Watkins, D. Making Components Contract Aware. Computer, IEEE Computer Society Press, 1999, 32, 38-45
  • one paper from ICSA Most Influential Papers or pick from a recent ICSA a highly-cited paper (in Scopus, use search for "conference" "international conference on software architecture")

Plus any other papers as agreed, based on student's concrete topics of research.

This reading and secondary research will be reported as "Related Work" section of the course report.

B) Analysis of one system or framework

The thing to analyze is to be discussed. The analysis should answer the following questions:

  • how the foundational concepts are named, used (or not used), in the thing (mapping between theory and reality)
  • what is the meta-model of the framework’s component or service model
  • which research papers describe, analyze or evaluate the thing or its architectural concepts

The result of this analysis will be handed in as a part of the report.

C) Summary report and presentation

The findings as per A) and B) will be summarized in a 10-20 page report, optionally supported by a model or implementation project, and a 20-minute presentation for the research group.


Potentially relevant related sources

Software product lines

  • Clements, Paul, and Linda Northrop. Software product lines. Boston: Addison-Wesley, 2002.
  • Assunção et al. (2017). Reengineering legacy applications into software product lines: a systematic mapping. Empirical Software Engineering, 22(6), 2972–3016. https://doi.org/10.1007/S10664-017-9499-Z/FIGURES/11

Architecture-related security

  • Pashchenko, Ivan, Duc-Ly Vu, and Fabio Massacci. "A qualitative study of dependency management and its security implications." In Proceedings of the 2020 ACM SIGSAC conference on computer and communications security, pp. 1513-1531. 2020.