A Synchronous Language for Critical Embedded Systems with Multiple Real-Time Constraints - Archive ouverte HAL Access content directly
Theses Year : 2009

A Synchronous Language for Critical Embedded Systems with Multiple Real-Time Constraints

Un Langage Synchrone pour les Systèmes Embarqués Critiques Soumis à des Contraintes Temps Réel Multiples

Abstract

This PhD. Thesis defines a high-level language for programming real-time embedded control systems. It is built upon Synchronous Languages (such as Lustre) and inherits their formal properties. It adds real-time primitives to enable the programming of multi-periodic systems. The objective of the language is not to replace other synchronous languages but instead to provide a higher layer of abstraction, on top of classic synchronous languages. It can be considered as a real-time software architecture language that enables to assemble locally mono-periodic synchronous systems into a globally multi-periodic synchronous system. The language compiler generates synchronized multi-task C code, that is independent of the target OS. Communication is achieved by a tailor-made buffering communication protocol. The compilation was defined formally and produces completely deterministic code, which respects the real-time semantics of the original program (period, deadlines, release dates and precedences) as well as its functional semantics (respect of data-dependencies).
Dans cette thèse, nous définissons un langage de programmation haut-niveau pour les systèmes de contrôle temps réel. Ce langage suit l'approche formelle synchrone flot de données. S'y ajoutent des primitives temps réelles permettant de programmer des systèmes multi-périodiques. L'objectif de ce langage n'est pas de remplacer les autres langages synchrones (comme Lustre par exemple), mais plutôt de fournir une couche d'abstraction supplémentaire, au-dessus des langages synchrones classiques. Le langage peut-être vu comme un langage d'architecture logicielle temps réel, qui permet d'assembler plusieurs systèmes synchrones localement périodiques en un système synchrone global multi-périodique. Le compilateur du langage génère un code C multi-tâches indépendant du système d'exploitation cible. Les communications sont gérées et synchronisées à l'aide d'un protocole de communication généré sur-mesure. Le processus de compilation est défini formellement et produit un code déterministe qui respecte à la fois la sémantique temps réel du programme d'origine (périodes, échéances, contraintes de précédence) et la sémantique fonctionnelle (respect des dépendances de données).
Fichier principal
Vignette du fichier
jforget-thesis.pdf (1.35 Mo) Télécharger le fichier
Origin Files produced by the author(s)

Dates and versions

tel-01942421 , version 1 (03-12-2018)

Identifiers

  • HAL Id : tel-01942421 , version 1

Cite

Julien Forget. A Synchronous Language for Critical Embedded Systems with Multiple Real-Time Constraints. Embedded Systems. Institut Supérieur de l’Aéronautique et de l’Espace, 2009. English. ⟨NNT : ⟩. ⟨tel-01942421⟩
228 View
517 Download

Share

Gmail Mastodon Facebook X LinkedIn More