Simulation abstraite : une analyse statique de modèles Simulink - PASTEL - Thèses en ligne de ParisTech Accéder directement au contenu
Thèse Année : 2008

Abstract Simulation: a Static Analysis of Simulink Models

Simulation abstraite : une analyse statique de modèles Simulink

Résumé

In regard to the growth of complexity of embedded systems, software tools are needed at design-time. Simulink and Lustre/Scade are the main industrial tools used in this context. Despite of the numerous features added in both tools, such as simulation, test or code generation, Simulink is more often used due to its important system design expressiveness. It allows us to model and simulate continuous-time and discrete-time systems, as well as a mix of both. For embedded systems, Simulink offers a convenient way to model and specify both the embedded software and the physical environment. The application of formal methods on such specifications is an important challenge for the validation of embedded software. Moreover, applying formal methods sooner in the cycle of development is also an essential industrial challenge in order to reduce the cost of bug fixing.

In this thesis, we define a static analysis by abstract interpretation of Simulink models. This static analysis is called Abstract Simulation. The aim of Abstract Simulation is to provide a correctness criterion for the executions of Simulink models because they are often used for the validation of systems. However, such simulations are closer to test-based verifications than to formal proofs and, consequently, they do not permit to validate, in regards to the specification, a system. Abstract Simulation provides a correctness criterion for numerical behaviors of the Simulink models in the sense that they mimic what happens in the real world.

We assume that the mathematical model encoded as a Simulink model is correct (the physical system is correctly modeled). We aim at automatically and conjointly compute an over-approximation of the mathematical behaviors and the simulation behaviors for all the possible inputs of the model. We can thus estimate the whole imprecision introduced by the simulation, i.e. numerical errors as truncation errors and round-off errors as well as sensor errors like quantization and sampling. The correctness criterion of continuous-time models is given by the distance between numerical integration algorithm (Simulink solver) and guaranteed numerical integration algorithm based on Taylor method. The correctness criterion of discrete-time models is given by using the abstract numerical domain of floating-point numbers with errors. Furthermore, Abstract Simulation uses two abstract numerical domains, such that the domain of Taylor forms and the domain of floating-point numbers with differentiated errors. The former is a composition of the domain of floating-point numbers with errors and the automatic differentiation techniques. This combination permits to compute a better over-approximation of the rounding errors. Abstract Simulation is also based on an abstraction of sequences using set partitioning. These domains allow us to estimate errors introduced by numerical algorithms and by computations during simulations. As a result, our method makes it possible to validate numerical behaviors of embedded systems modeled in Simulink.
La conception de systèmes embarqués nécessite de plus en plus l'utilisation d'outils logiciels afin de contenir la complexité croissante de ceux-ci. Les deux principaux outils industriels dans ce domaine sont Simulink et Lustre/Scade. Ces deux outils possèdent de nombreuses fonctionnalités comme un moteur de simulations, des générateurs de tests ou de code. Cependant, Simulink est, dans la majorité des cas, utilisé pour la conception de systèmes embarqués et ceci parce qu'il a une expressivité plus importante. Il est capable de modéliser et de simuler des systèmes à temps continu, à temps discret et un mélange des deux, c'est-à-dire des systèmes hybrides. Pour la conception des systèmes embarqués, Simulink permet de modéliser l'environnement physique et le logiciel embarqué dans un même formalisme. L'application des méthodes formelles sur de telles spécifications est un défi industriel et scientifique important pour la validation des logiciels embarqués. De plus, l'utilisation de méthodes formelles, au plus tôt dans le cycle de développement, est un challenge essentiel dans l'industrie afin de réduire les coûts liés à la correction de bogues.

Dans cette thèse, nous définissons une analyse statique par interprétation abstraite de modèles Simulink. Nous appelons cette analyse Simulation Abstraite. L'objectif de la Simulation Abstraite est de fournir un critère de correction des comportements numériques des exécutions des modèles Simulink. Ces simulations sont souvent utilisées pour valider les systèmes modélisés, mais elles sont plus proches de l'activité de tests que celle de la preuve. En conséquence, elles ne permettent pas de valider vis-à-vis des spécifications un système modélisé avec Simulink. La Simulation Abstraite fournit un critère de correction dans le sens que les comportements des modèles Simulink représentent au mieux les comportements du monde réel.

Nous supposons que le modèle mathématique, représenté par un modèle Simulink, est correcte vis-à-vis du monde réel. Notre objectif est de calculer automatiquement et conjointement une sur-approximation des comportements mathématiques et des comportements issus de la simulation numérique pour une plage d'entrées possibles. Nous sommes ainsi capable d'estimer l'ensemble des imprécisions introduit par la simulation numérique, c'est-à-dire les erreurs d'arrondi ou les erreurs de troncature liées, par exemple, aux capteurs. Le critère de correction des modèles à temps continu est obtenu en évaluant la distance séparant les résultats des méthodes d'intégration numérique, utilisées par le moteur de simulations, des résultats obtenus par une méthode d'intégration numérique garantie. Le critère de correction des modèles à temps discret est donné par l'utilisation du domaine numérique abstrait des nombres flottants avec erreurs différentiées. Ce nouveau domaine numérique est issu de la combinaison du domaine des flottants avec erreurs et la méthode de différentiation automatique permettant d'avoir une meilleure abstraction des erreurs. Nous définissons également une abstraction d'un domaine des séquences utilisant les partitions d'un ensemble. Nous sommes ainsi en mesure de représenter des simulations infinies d'une manière finie. L'ensemble de ces domaines permet alors d'estimer les erreurs introduites par les traitements numériques présents lors des simulations. Nous obtenons alors une méthode de validation des comportements numériques des systèmes embarqués modélisés en Simulink.
Fichier principal
Vignette du fichier
phd_chapoutot.pdf (1.65 Mo) Télécharger le fichier

Dates et versions

tel-00366685 , version 1 (09-03-2009)

Identifiants

  • HAL Id : tel-00366685 , version 1

Citer

Alexandre Chapoutot. Simulation abstraite : une analyse statique de modèles Simulink. Génie logiciel [cs.SE]. Ecole Polytechnique X, 2008. Français. ⟨NNT : ⟩. ⟨tel-00366685⟩
495 Consultations
2798 Téléchargements

Partager

Gmail Facebook X LinkedIn More