Lucid Synchrone
Le langage Lucid Synchrone combine le modèle synchrone de Lustre et des traits propres aux langages fonctionnels de la famille ML pour en augmenter l'expressivité et la modularité. Il est associé à une famille de systèmes de types (typage classique, calcul d'horloge, initialisation, etc.) donnant des garanties de sûreté sur le comportement du système (e.g., absence de blocage, exécution en temps et mémoire bornée).La programmation par composant nécessite de pouvoir exprimer, dans un cadre unifié, le mélange des deux principaux styles de description utilisés dans les outils de l'embarqué: les descriptions flot-de-données à la SCADE ou Simulink et les automates à la SyncCharts ou StateFlow. Nous avons ainsi proposé une extension d'un noyau synchrone flot-de-données avec des machines à état dans l'esprit des automates de modes de Maraninchi & Rémond. L'extension proposée est pleinement compatible avec SCADE est sera intégrée à la prochaine version de l'outil.
Dans le cadre d'Alidecs, un nouveau compilateur de Lucid Synchrone a été développé au LRI (version 3). Ce compilateur intègre des traits nouveaux et les derniers résultats obtenus: descriptions de systèmes mixtes combinant automates et systèmes d'équations flot-de-données, mélange de flots et de signaux à la Esterel permettant de décrire dans un cadre uniforme des systèmes à contrôle prépondérant, traits d'ordre supérieur permettant de décrire des systèmes reconfigurables dynamiquement, etc. Cette nouvelle version est distribuée depuis avril 2006 1.
Ces travaux sont décrits dans [10,13,12,11,7].
Pascal Raymond 2006-11-16