We provide on this page the different artefacts which have been used and created when performing the case study concerning our ETFA submission.

Abstract

Nowadays, software- as well as hardware systems produce log files that enable a continuous monitoring of the system during its execution. Unfortunately, such text-based log traces are very long and difficult to read, and therefore, reasoning and analyzing runtime behavior is not straightforward. However, dealing with log traces is especially needed in cases, where (i) the execution of the system did not perform as intended, (ii) the process flow is unknown because there are no records, and/or (iii) the design models do not correspond to its real-world counterpart. These facts cause that log data has to be prepared in a more user-friendly way (e.g., in form of graphical representations) and it takes that algorithms are needed for automatically monitoring the system’s operation, and for tracking the system components interaction patterns. For this purpose we present an approach for transforming raw sensor data logs to a UML or SysML sequence diagram in order to provide a graphical representation for tracking log traces in a time-ordered manner. Based on this sequence diagram, we automatically identify interaction models in order to analyze the runtime behavior of system components. We implement this approach as prototypical plug-in in the modeling tool Enterprise Architect and evaluate it by an example of a self-driving car.

Architecture

The figure above shows the architecture of our approach as well as the interplay of design time and runtime artefacts. The architecture can be divided into three parts: First, the creation of object-oriented interaction models in form of sequence diagrams from executed operations (Circle 1); second, the alignment between these sequence diagrams and their corresponding design models for creating so-called trace links (Circle 2); and third, the creation of a runtime profile and display of that profile in the design models (Circle 3).

Architecture of our approach - Interplay of design time and runtime artefacts via trace links

Case Study Description

For demonstration purpose, we used an example of a self-driving car. The simple autonomous car consisting of sensors, motor and servo controls for driving itself (i.e., without human control) in different environmental settings. This car is able to (i) recognize barriers, (ii) change direction if
necessary, (iii) drive forward and backward or stop. For this purpose the car needs an autonomous acting controller that controls the motor as well as the servo control based on continuously gathered sensor value streams.

In our case study we further process and analyze the generated system logs of this car to answer the following research questions:

RQ1—Scalability of interaction model generation
RQ2—Scalability of interaction diagram generation
RQ3—Scalability of interaction model integration
RQ4—Scalability of interaction profiling
RQ5—Overall performance

Performance of the different parts of our approach

Downloads

Implementation

  • Visual Studio C# Project – Enterprise Architect Add-In Generation of Sequence Diagram
    • Please contact us for source code!
  • Visual Studio C# Project – Loading model information, generation of trace links and runtime profile
    • Please contact us for source code!

For running the case study, we recommend to use Visual Studio with two libaries EA API and UniqueMint and Enterprise Architect.