Contribution à l'intégration de temporalité au formalisme B : utilisation du calcul des durées en tant que sémantique temporelle pour B
Institution:
ValenciennesDisciplines:
Directors:
Abstract EN:
In the field of automated systems where reliability is the first requirement, formal methods proved to be efficient for the design of safe software. The dependency towards such systems is increasing, and the constraints to be met by these systems become more and more various and precise, particularly timed constraints. Some formal methods, notably the B method, make designing difficult under these constraints, because this is not what they have been made for in the first place. We therefore propose to extend the B method so that it can help specifying and validating systems with complex timed constraints. We use calculi of durations in order to express the semantics of the B language and deduce a conservative extension allowing its use in both its original context and in the context of time-constrained systems. We also study the problem of using a generic proof tool for validating duration calculus formulas. This kind of tool helps answering the growing number of formal methods, but introduces the problem of adapting the mathematical foundations of such formal methods to a generic tool. We thus propose to study the implementation of duration calculus as a shallow embedding in the Coq proof assistant. We draw from it more general conclusions about the implementation of a modal logic in a generic-oriented tool.
Abstract FR:
Dans le domaine des systèmes informatisés où la fiabilité est la première priorité, les méthodes formelles ont prouvé leur efficacité pour la conception de logiciels sûrs. La dépendance à de tels systèmes augmente, et les contraintes rencontrées se font plus diverses et précises, en particulier les contraintes temporelles. Certaines méthodes formelles, en particulier la méthode B, rendent la conception malaisée sous de telles contraintes, puisqu'elles n'ont pas été prévues pour cela à l'origine. Nous nous proposons donc d'étendre la méthode B pour lui permettre de spécifier et valider des systèmes à contraintes temporelles complexes. Nous utilisons pour ce faire des calculs de durées pour exprimer la sémantique du langage B et en déduire une extension conservative qui permet de l'utiliser à la fois dans son cadre d'origine et dans le cadre de systèmes à contraintes temporelles. Nous nous penchons également sur le problème de l'utilisation d'un outil de preuve générique pour valider des formules de calcul des durées. Ce type d'outil répond à la multiplication des méthodes formelles, mais pose le problème de l'adaptation des fondations mathématiques de ces méthodes à un outil générique. Nous proposons donc d'étudier la mise en oeuvre en plongement léger du calcul des durées dans l'assistant de preuve Coq. Nous en déduisons un retour sur expérience de la définition d'une logique modale dans un outil à vocation générique.