Methods, Processes, Languages and Tools for Engineering Trustworthy Systems
In our everyday life we become increasingly dependent, on systems that are controlled by software. As a consequence, we expect a trustworthy execution of this software with respect to functional and non-functional requirements. To meet the increasing complexity and the ever-increasing importance of satisfying these requirements, we develop software engineering methods, processes, languages and tools, resulting in an engineering approach to software development. An engineering approach is characterized by predictable and foreseeable results, already while designing the system.
We, the Software Quality and Architecture Group, are dealing with the fulfillment of functional as well as non-functional requirements during the design of systems. Such requirement fulfillment is an imperative prerequisite for trustworthy systems. In our research, systems are specified and analyzed using model-based or model-driven approaches. Among others, developers should use modeling languages such as UML2 (Unified Modeling Language, v2.x) and DSLs (domain-specific languages).
Pillars of the chair
The chair is founded on three pillars: quality analysis of functional and non-functional properties of software, engineering methods for software development, and reengineering of existing systems.
Central Research Topic
The chair currently deals with three central research topics: multi- and many-core systems, energy-efficient execution, and coordinated self-adaptation of the system.
Application Areas
The chair for Software Quality and Architecture currently applies its research results in three main application areas: cloud computing, HPC, and mechatronic systems.
For matters of research contact

Steffen Becker
Prof. Dr.-Ing.Head of the Software Quality and Architecture Group
[Photo: U. Regenscheit / University of Stuttgart]