Reverse Engineering of Legacy Real-Time Systems

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…


1 Introduction
1.1 Problem definition
1.2 Research methodology
1.3 Contribution
1.4 Organization
2 Background
2.1 Real-time systems
2.2 Model-based development
2.3 Maintaining and evolving legacy systems
2.4 Recording the execution of real-time systems
2.5 Testing
2.6 Discussion
3 Related work
3.1 A classification of automatic modeling techniques
3.2 Applying the classification
3.3 Discussion
4 Recording-based automatic modeling
4.1 Notation
4.2 System model
4.3 Adding probes to the system model
4.4 Testing the probed system
4.5 Background: ART-ML
4.6 A process for automatic modeling
4.7 Example
4.8 Discussion
5 Model generation
5.1 Synopsis
5.2 Extraction of task executions (jobs) from recordings
5.3 Generation of a tree-representation of the task from the jobs
5.4 Generation of ART-ML code from the tree-representation
5.5 Discussion
6 Model validation
6.1 Validating the selection of recordings
6.2 Allowing leeway as a precision parameter
6.3 Obtaining the automata
6.4 Stopping criteria
6.5 Analysis
6.6 Discussion
7 Case study: Automatic modeling of an industrial robot
7.1 System overview and limitation
7.2 Information extraction
7.3 Model extraction
7.4 Results
7.5 Discussion
8 Quality assessment
8.1 Assessing the generality and stability of automatic modeling
8.2 Response time
8.3 Comparison of sampled time distributions
8.4 Evaluation
8.5 Discussion
9 Conclusions
9.1 Results
9.2 Faithfulness of the generated models
9.3 Reproducibility
9.4 Future work
A Algorithms for model generation
A.1 Extraction of task executions (jobs) from recordings
A.2 Generation of a tree-representation of the task from the jobs
A.3 Generation of ART-ML code from the tree-representation
A.4 Producing models for a set of tasks
B Algorithms for model validation
B.1 Architecture for automata translation
B.2 General definitions and functions
B.3 The modset-automaton transformation functions and automa-ton definition
B.4 The recseq-automaton transformation functions and automaton definition

Author: Huselius, Joel

Source: Malardalen University

Download URL 2: Visit Now

Leave a Comment