A formal framework for heterogeneous systems semantics

par Mathieu Montin

Thèse de doctorat en Informatique et Télécommunication

Sous la direction de Yamine Aït-Ameur et de Marc Pantel.

Le président du jury était Jean-Paul Bodeveix.

Le jury était composé de Yamine Aït-Ameur, Marc Pantel, Frédéric Mallet, Catherine Dubois, Benoît Combemale, Frédéric Boulanger.

Les rapporteurs étaient Frédéric Mallet, Catherine Dubois.

  • Titre traduit

    Un environnement formel pour la sémantique des systèmes hétérogènes


  • Résumé

    Les systèmes cyber-physiques sont des systèmes habituellement complexes et souvent critiques, dans le sens où leur défaillance peut avoir des impacts négatifs significatifs sur des vies humaines. Lors de leur développement, il convient donc de mettre l’accent sur les phases de validation et vérification (V & V) afin de prouver que le système satisfait sa spécification et les exigences de l’utilisateur et que les cas d’erreur pouvant conduire à des accidents ne se produiront pas. Dans la mesure où ils sont souvent très volumineux et complexes, le développement repose habituellement sur des procédés dits de séparation des préoccupations. Cela consiste à modéliser le système de manière hétérogène, avec différents modèles qui doivent ensuite être combinés pour rendre contre du système dans son ensemble. Ces séparations des préoccupations peuvent être de différentes natures : horizontale, ce qui revient à séparer le système de manière structurelle en sous-systèmes ; verticales, ce qui revient à séparer le développement d’une partie du système en plusieurs étapes allant de la spécification abstraite à l’implémentation concrète ; et enfin transversale, ce qui consiste à regrouper ensemble les différents aspects du système qui participent de la même thématique (fonction, performance, sécurité, sûreté…). Usuellement, les différentes parties du système sont modélisées avec des langages métier dédiés tandis que les activités de V & V sont effectuées soit par tests et relectures, soit par l’approche que nous utilisons : les méthodes formelles. Dans tous ces cas, les activités de V & V doivent prendre en compte ces séparations afin de fournir une confiance dans le système complet se basant sur la confiance en ses constituants. En d’autres termes, afin de prouver la conformité du système global, il faut lui définir une sémantique comportementale qui doit prendre en compte les sémantiques ad-hoc des constituants du système. Pour définir cette sémantique, il faut parvenir à regrouper toutes ces sémantiques intermédiaires dans un même formalisme. Cette thèse se place dans le cadre de GEMOC, un environnement permettant de développer des langages ainsi que leurs propriétés de coordination, et propose de modéliser formellement le cœur de GEMOC en associant à chaque préoccupation une sémantique de traces tout en exprimant les contraintes liées à leur composition afin de représenter le comportement global du système. Cette thèse se place dans la continuité de travaux conduits dans les projets TOPCASED, OPEES, QuarteFt, P et GEMOC, contexte dans lequel elle propose quatre contributions : la première propose une méthodologie permettant d’attribuer une sémantique opérationnelle aux parties exécutables du système, en traitant deux cas d’étude : les réseaux de pétri et les modèles simples de processus. La deuxième propose un cadre formel pour exprimer des propriétés de raffinement afin d’exprimer les liens tissés par la séparation verticale des préoccupations. La troisième consiste à donner une sémantique dénotationnelle à CCSL, qui est le langage utilisé dans le projet GEMOC pour exprimer les propriétés comportementales liant des événements associés à une ou plusieurs préoccupations. Enfin, la quatrième propose d’ajouter à notre modèle formel de CCSL notre notion de raffinement afin d’en analyser l’impact. Toutes ces contributions ont été mécanisées et vérifiées dans l’environnement formel Agda.


  • Résumé

    Cyber physical systems are usually complex systems which are often critical, meaning their failure can have significant negative impacts on human lives. A key point in their development is the verification and validation (V & V) activities which are used to assess their correctness towards user requirements and the associated specifications. This process aims at avoiding failure cases, thus preventing any incident or accident. In order to conduct these V & V steps on such complex systems, separations of concerns of various nature are used. In that purpose, the system is modeled using heterogeneous models that have to be combined together. The nature of these separations of concerns can be as follows: horizontal, which corresponds to a structural decomposition of the system; vertical, which corresponds to the different steps leading from the abstract specification to the concrete implementation; and transversal, which consists in gathering together the parts that are thematically identical (function, performance, security, safety...). These parts are usually expressed using domain specific modeling languages, while the V & V activities are historically conducted using testing and proofreading, and more and more often, using formal methods, which is advocated in our approach. In all these cases, the V & V activities must take into account these separations in order to provide confidence in the global system from the confidence of its sub-parts bound to the separation in question. In other words, to ensure the correctness of the system, a behavioral semantics is needed which has to rely on the ad-hoc semantics of the subsystems. In order to define it, these semantics must be successfully combined in a single formalism. This thesis stems from the GEMOC project a workbench that allows the definition of various languages along with their coordination properties, and target the formal modeling of the GEMOC core through the association of trace semantics to each preoccupation and the expression of constraints between them to encode the correct behavior of the system. This thesis follows several other works conducted under the TOPCASED, OPEES, QuarteFt, P and GEMOC projects, and provides four contributions in that global context: the first one proposes a methodology to give an operational semantics to executable models illustrated through two case studies: Petri nets and models of processes. The second one proposes a formal context on which refinement can be expressed to tackle vertical separation. The third one gives a denotational semantics to CCSL which is the language that is currently used in the GEMOC projects to express behavioural properties between events from one or several models, possibly heterogeneous. Finally, the fourth one proposes an investigation on how to extend CCSL with the notion of refinement we proposed. All these contribution are mechanized in the Agda proof assistant, and thus have been modeled and proven in a formal manner.


Il est disponible au sein de la bibliothèque de l'établissement de soutenance.

Consulter en bibliothèque

La version de soutenance existe

Où se trouve cette thèse\u00a0?

  • Bibliothèque : Institut national polytechnique. Service commun de la documentation.
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.