Many real-time systems have significant value in terms of legacy, since large efforts have been spent over many years to ensure their proper functionality. Examples can be found in, e.g., telecom and automation-industries. Maintenance consumes the major part of the budget for these systems. As each system is part of a dynamically changing larger whole, maintenance is required to modify the system to adapt to these changes. However, due to system complexity, engineers cannot be assumed to understand the system in every aspect, making the full range of effects of modifications on the system difficult to predict. Effect prediction would be useful, for instance in early discovery of unsuitable modifications. Accurate models would be useful for such prediction, but are generally non-existent.
With the introduction of a method for automated modeling, this thesis applies an industrial perspective to the problem of obtaining models of legacy real-time systems. The method generates a model of the system as it behaved during the executions. The recordings cover system level events such as context switches and communication, and may optionally cover data manipulations on task level, which allows modeling of causal relations. As means of abstraction, the models can contain probabilistic selections and execution time requirements. The method also includes automatic validation of the generated model, in which the model is compared to the system behavior. Our method has been implemented and has been evaluated in both an industrial case-study and in a controlled experiment. For the controlled experiment, we have developed a framework for automatic evaluation of (automated) modeling methods.
Using the models generated with our method, engineers can prototype designs of modifications, which allows for early rejection of unfeasible designs. The earlier such rejection is performed, the more time and resources are freed for other activities.