Table of Contents Author Guidelines Submit a Manuscript
Scientific Programming
Volume 2016 (2016), Article ID 9792462, 18 pages
Research Article

Detection of Common Problems in Real-Time and Multicore Systems Using Model-Based Constraints

Computer and Software Engineering Department, Polytechnique Montreal, CP 6079, Station Downtown, Montreal, QC, Canada H3C 3A7

Received 25 November 2015; Revised 3 March 2016; Accepted 16 March 2016

Academic Editor: Dimitrios S. Nikolopoulos

Copyright © 2016 Raphaël Beamonte and Michel R. Dagenais. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


Multicore systems are complex in that multiple processes are running concurrently and can interfere with each other. Real-time systems add on top of that time constraints, making results invalid as soon as a deadline has been missed. Tracing is often the most reliable and accurate tool available to study and understand those systems. However, tracing requires that users understand the kernel events and their meaning. It is therefore not very accessible. Using modeling to generate source code or represent applications’ workflow is handy for developers and has emerged as part of the model-driven development methodology. In this paper, we propose a new approach to system analysis using model-based constraints, on top of userspace and kernel traces. We introduce the constraints representation and how traces can be used to follow the application’s workflow and check the constraints we set on the model. We then present a number of common problems that we encountered in real-time and multicore systems and describe how our model-based constraints could have helped to save time by automatically identifying the unwanted behavior.