Supporting Diagnosis of Requirements Violations in Systems of Systems

Michael Vierhauser, Jane Cleland-Huang, Rick Rabiser, Thomas Krismayer, Paul Grünbacher

Research output: Chapter in Book/Report/Conference proceedingConference proceedingspeer-review

Abstract

Industrial software systems are often systems of systems (SoS) whose full behavior only emerges during operation. They therefore require monitoring techniques to observe systems and detect deviations from their requirements. The focus of existing monitoring approaches, however, is mainly on detecting violations of expected behavior, while support for diagnosing violations is typically limited or even neglected. Diagnosis is particularly challenging in SoS due to their technological heterogeneity and the diversity of development tools in use. Uncovering the root cause of a violation typically requires developers to trace violations to artifacts such as source code or requirements documents, which is difficult without detailed domain knowledge. In this paper we describe our experiences of developing a tool-supported approach facilitating the diagnosis of requirements violations in SoS. We describe how we complemented a requirements monitoring model with a system artifact model relating SoS artifacts needed for diagnosis with monitored events. We customized our approach to an industrial SoS and conducted a scenario-based walkthrough with engineers developing the SoS and engineers and researchers unfamiliar with it. The results of our evaluation have shown that our approach can significantly ease diagnosing violations in a real-world SoS.
Original languageEnglish
Title of host publication26th IEEE International Requirements Engineering Conference
PublisherIEEE
Pages325-335
Number of pages11
DOIs
Publication statusPublished - 2018

Fields of science

  • 102 Computer Sciences
  • 102022 Software development
  • 102025 Distributed systems

JKU Focus areas

  • Computation in Informatics and Mathematics
  • Engineering and Natural Sciences (in general)

Cite this