With the growing complexity of tasks and workflows, the complexity of IT systems also increases. Thus not only their architecture but also their interaction and their use by humans frequently become more complicated. Research at the Department of Computer Science in the field of Complex Systems Engineering aims to counteract this "spiral of increasing complexity" with relevant concepts and software engineering tools.
Complex Systems Engineering comprises a holistic approach towards the development, realization, understanding and mastery of complex systems. Based on complex information technology systems, the focus is on both functional and non-functional requirements. These should be incorporated early on in the development cycle, so as to ensure a high level of technical quality and usability in the resultant software systems.
Distributed and networked Systems
Here distributiveness, security, communications and information management and exchange must be taken into consideration together with usability, strategic objectives and contextualization and thus integrated into a homogeneous, application-oriented, structured process.
Applications of these systems can be found in a broad variety of social areas: ranging from dealing with vast amounts of data (Big Data) to distributed systems (e.g. in cloud computing) and communications infrastructure or service-oriented and/or mobile applications, particularly the security aspects of such systems.
Big Data, cloud computing, security
We can distinguish two fundamental technical information system types: the actual application system and its basic networked and distributed technical infrastructure. Both types of systems require specific architectures, design principles and design methods to encapsulate the inherent complexity of these systems so that they can take on more and more sophisticated communications and data processing tasks without having to confront the user with unnecessary complexity. The complexity of the infrastructure as basic technologies for the provision of modern applications is a result of complex user-application requests. Accordingly, from a non-functional point of view, basic technologies should not only guarantee the efficiency of these systems, but they must also fulfill the high demands arising from the distribution, the heterogeneity and the dynamics of system landscapes.
Research and teaching in the research cluster Complex Systems Engineering focus on the implementation of large scale, distributed, secure and complex information and communication systems. The methods and concepts of computer science are required at varying levels of abstraction pertaining to the design and the realization of such systems: from communication technology to the transport of news and information via systems engineering services to the support of the handling of large amounts of complex data, distributed applications and system environments to tools of software engineering programming and design, to architectures of large and complex software systems that - last but not least – can obviously only then be deployed in reality, if they are absolutely safe.