Complexity management is a hot topic in the current computer science literature. However, usually shallow explanations at the technical level are used as arguments for specific complexity management techniques and complexity metrics. This dissertation aims at bridging the gap between computer science on the one side and the cognitive and learning sciences on the other side with an interdisciplinary approach to design comprehension. A special focus is put on high-criticality systems where latent design errors caused by highly complex development tasks cannot be tolerated.
This work focuses on the cognitive complexity of development tasks, which denotes the amount of cognitive resources that are required for a given task. Overload of the human working memory system is a major factor that affects cognitive performance. Those tasks where many relational aspects must be considered simultaneously are especially complex.
The basic goal of this work is the development of cognitive support theories for various system development approaches. Design for simplicity is an important principle to keep the cognitive complexity of design and maintenance tasks at a manageable level. Various techniques to achieve a simple and understandable system structure are presented. A special focus is put on the characteristics of component interfaces, as it is the characteristics and the placement of the interfaces that affects the cognitive effort of system comprehension.
It must be possible to develop and verify each component independently and then integrate the components with just minimal effort. The design concept of near-independence can be used to minimize relational aspects in large systems. Nearly-independent components represent units of design with a high degree of self-containedness. They are a key technique to minimize global interdependencies. Temporal Firewalls together with a sparse global time-base represent suitable techniques to support a high degree of temporal and conceptual decoupling between components.
The presented approach supports determinism at the application level by the provision of various architectural services. Determinism enables deductive reasoning, which is essential for the rational analysis of behavior.