direkt zum Inhalt springen

direkt zum Hauptnavigationsmenü

Sie sind hier

TU Berlin

Page Content

QDS Research

Software has become a fundamental enabler for new features, functionalities, systems, services and processes in almost all areas of economic, technical, scientific, social and cultural life. Our society is heavily dependent on software technologies – success and competitiveness in the global world are impossible without reliable, efficient and trustworthy software-intensive systems. Software-intensive systems are systems where software represents a significant segment in any of the following points: system functionality, system cost, system development risk, or development time.

By concentrating on a holistic approach towards the development and operation&maintenance of software-intensive systems, my research is aimed at designing and building improved system engineering technologies for the benefit of system reliability and trustworthiness. By considering software in its interplay with its environment (hardware, sensors, actuators, power, etc.), software-intensive systems adhering to predetermined levels of security, safety, performance, and alike can be efficiently constructed and evolved. This involves constructive and analytic approaches to system engineering. Engineering however should not focus on system design, development, and verification&validation only, but should spawn the whole system life-cycle incl. system operation, maintenance and evolution.

QDS' vision is to broaden this software focus by a system view: enhanced system engineering concepts, methods, platforms and tools are needed to assure correct, robust, secure, and safe system operation according to the contextual situation and the user intend. The system view will bring a clear distinction from renowned software engineering institutes such as SEI. There are three main driving forces for a new generation of system engineering:

  1. The majority of software engineering methods are agnostic to the human – the user abilities, capabilities and intentions when using software-intensive systems are not part of the design process. In fact, only in some cases the user is explicitly modelled. How could then the software being built to ease the human usage? This is a question not only to the software-intensive systems the user directly interacts with (computer, etc.), but also those where the usage is often indirectly only (control systems in automotive, medical, etc.)
  2. The majority of software is being used in heterogeneous environments where the abstraction from environmental details (such as hardware, location, power supply, etc.) is not feasible as the interplay with the environment is essential to the overall software design. For example, although software platforms are a suitable abstraction from environmental details which allow constructing applications efficiently, there should be means to compose and adapt the platform in a concrete instantiation specific for the environmental requirements of the software.
  3. The majority of software engineering methods concentrate on the construction of the software whereas the larger part in the software lifecycle is the software operation, maintenance and evolution. Although methods exist for composition, late binding, migration, etc., we tend to ignore the close relation between management of the software-intensive systems in operation and their design for the continuous system evolution. System management and system design should work hand in hand and require new approaches like models@runtime or online tests.

There is an additional enabler for a new generation of system engineering methods: the growing awareness that software need to be reliable and trustworthy. An ever increasing number of cases demonstrate that software outages may cause serious technical, economic and safety hazards. Systems need to be secured, resilient and should be able to withstand traffic overloads, catastrophes and hostile attacks. In contrast to traditional system engineering it is not sufficient to have various separated methods for requirements, design, development, test and maintenance of these systems, but the new approach should provide a holistic methodology for the whole system lifecycle taking into account continuous modification, extension and maintenance – and the ability to demonstrate and proof that the systems provide consistent, efficient and secured functionality and information efficiently.

According to various software quality studies, the rate of unsuccessful or delayed, more costly, or less-featured software projects is still in the same range as compared to the software crisis back in the 60ies – despite of numerous advances in software and system engineering, less than a third of the projects are successful only. QDS' research is to improve this situation by integrated modelling and testing approaches; called model-based quality engineering, by which models are put into the centre of the quality assurance in system development, maintenance and further evolution: models being used for many automation steps are analysed and improved right from the beginning so as to avoid errors that built up and to detect and correct design flaws when being made.

Quality engineering is an engineering field, where qualitative and quantitative means are used to assure system quality, specifically dependability. Dependability is defined as the trustworthiness of a software-intensive system which allows reliance to be justifiably placed on the service it delivers. It is the capability of a system to successfully and safely complete its mission. An enabler for such methods is the growing awareness that software need to be reliable and trustworthy. An ever increasing number of cases demonstrate that software outages may cause serious technical, economic and safety hazards. Systems need to be secured, resilient and should be able to withstand traffic overloads, catastrophes and hostile attacks. In contrast to traditional system engineering it is not sufficient to have various separated methods for requirements, design, development, test and maintenance of these systems, but a holistic methodology for the whole system life-cycle taking into account continuous modification, extension and maintenance is needed. By that, model and system quality becomes verifiable, quantifiable and traceable.

The research follows the idea of an integrated approach for system modelling and testing including:

  • Model analysis: For building highly dependable systems it is vital to identify problems, failures or potential shortcomings in systems. In model-based development processes models reflect system requirements, system architecture, system design and system implementation. Model verification and analysis techniques such as guideline and modelling rule checking, consistency checking, model metrics computation are used to assess and to ensure certain quality standards in all development life-cycle phases. Furthermore, the process enactment can be assessed by using these techniques as well.

  • Model-based testing: While model-based technologies have been spread more and more widely in system development in recent years, most companies still use conventional testing methods and tools for quality assurance of their products. However, in order to cope with the continuously increasing product complexity and shorter time-to-market cycles the efficiency of the overall test processes can be improved by model-based test technologies significantly. Our goal is to refine our current approach for model-based testing and to develop and integrate new approaches such as architecture-driven testing and a test pattern framework.
  • Testing of embedded and real-time systems: The goal is to develop a test methodology for hybrid systems that encompass continuous and discrete behaviors. In addition, the standardized test specification and implementation language TTCN-3 is extended for embedded systems based on the ongoing investigations for continuous TTCN-3 and real-time TTCN-3. An open source development for an Embedded TTCN-3 development has started.
  • Model-driven system management:
    An emerging field in this area is model-driven system management. Model-driven techniques are used here not only to develop a system but to manage and operate a system at run-time. This in fact, is the extension of the model-driven system lifecycle by including the operational phase. By doing so, the operational phase can by aligned for example with the requirements gathered in earlier stages. Research is needed to handle models at runtime.

The basis for integrated modelling and testing is provided by the ModelBus technology, which allows building seamlessly integrated tool chains for running semi-automated development processes.  The research is mainly conducted for telecommunication and automotive software-intensive systems within the Smart Cities and Internet of Things application domain.

Zusatzinformationen / Extras

Quick Access:

Schnellnavigation zur Seite über Nummerneingabe

Auxiliary Functions