Logotype Mälardalenn University
This web site has been moved.
Please visit our new and improved web site at: http://www.es.mdh.se/
Startpage www.mdh.se

The Legacy Property Prediction Research Direction

Researchers involved

Thomas Nolte (Professor), Johan Kraft (PostDoc), Holger Kienle (PostDoc), Yue Lu (PhD Student), Christer Norström (Professor), Anders Wall (PostDoc), Joel Huselius (PhD Student).

Context and research overview

The work in this research direction has been targeting legacy systems. The work has been focused on analysing timing properties of existing industrial systems, which may have arbitrary designs not suitable for traditional timing analysis. This is necessary in a migration perspective, in order to allow for a gradual evolution where legacy components and ProCom components may coexist and interoperate in the same system.

Major results

Highlight 30 - System-specific source code analysis[Show]

We have investigated methods and use-cases for system-specific source code analysis [103]. Most tools for static analysis, e.g., bug finders and visualization tools, are generic solutions intended to work for any source code in the supported programming languages. By leveraging from system-specific information it is possible to achieve a more suitable and accurate analysis. One context where this is applicable is in componentization of legacy code into ProSys components. System-specific static analysis could then identify issues that needs to be addressed, e.g., violations of assumptions of the ProSys model.

Highlight 31 - RTSSim simulation framework [Show]

A framework has been developed for simulation-based timing analysis [104, 105], targeting complex embedded systems. The simulation environment RTSSim allows for simulating embedded software with approximately correct timing, using a timing model based on real system measurements. RTSSim emulated basic operating system services such as scheduling and IPC. This is similar to “Virtual Time” from Rapita Systems, Ltd. The details of the Virtual Time implementation has however not been published, which is the case for RTSSim.

Highlight 32 - Simulation optimization[Show]

Using RTSSim we have analysed Simulation Optimization as a method for finding extreme cases wrt timing more efficiently than by traditional Monte-Carlo simulation. Two such methods have been developed and evaluated - one using a genetic algorithm [106] and one using hill climbing with random restarts [107]. In both cases, simulations are performed in an iterative manner with optimization of the input (e.g. execution times) in order to maximize the response time of a particular task.

Highlight 33 - Simulation model extraction[Show]

We have developed a method for automatic generation of simulation models from existing source code [105]. This is based on program slicing – a code analysis, which acts as a filter for excluding code, that is not relevant for the tasks temporal behaviour (apart from the execution time). The timing of the modelled system is preserved by a timing model based on measurements. In this work, we have invented a new approach to program slicing which is fast enough for use on large code bases, and evaluated this method on a large code base provided by ABB Robotics.

Highlight 34 - Embedded software trace recording[Show]

Making measurements - recordings – of the runtime behaviour of embedded systems is a common commercial technique, but little empirical data exists on the typical performance impact of trace recording. We have implemented five recorder solutions over the years, for different industrial systems, and in four cases evaluated the resulting overhead and event rates [108]. We also provide our experiences in integrating trace recording on three commercial real-time operating systems. Related to this is a tool for trace visualization, the Tracealyzer, which was initiated in 2004 but has been maintained since then.

Highlight 35 - Statistical method for timing analysis[Show]

In a parallel approach to the simulation-based approach, we have also investigated the use of statistical methods, particularly extreme value theory, for analysing traces of runtime systems for the purpose of timing analysis [109]. Maxima points on response times over limited intervals of traces are collected and fitted to a Gumbel distribution. This can be used to estimate the probability of the specific task exceeding a particular response time requirement by direct analysis of traces, i.e., without the need for generating simulation models.

Highlight 36 - Assessment of trace differences[Show]

The ability to compare traces of tasks’ temporal behaviour is necessary in order to allow for simulation-based impact analysis of changes and for simulation model validation, i.e., to verify that the model accurately describes the modelled system. We have investigated an approach [110] using the two-sample Kolmogorov-Smirnoff test for comparing sampled distribution of execution-time and response-time data. In order to satisfy the assumptions of independent samples required by the KS-test, we use a resampling algorithm that divides traces into intervals and takes the maxima point from each interval, in a similar way as in the above-mentioned method for statistical timing analysis.

  • Mälardalen University |
  • Box 883 |
  • 721 23 Västerås/Eskilstuna |
  • 021-101300, 016-153600 |
  • webmaster |
  • Latest update: 2013.02.25