A Synchronous Language for Critical Embedded Systems with Multiple Real-Time Constraints - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 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

Résumé

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
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

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

Identifiants

  • HAL Id : tel-01942421 , version 1

Citer

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⟩
210 Consultations
441 Téléchargements

Partager

Gmail Facebook X LinkedIn More