Synccharts : a visual representation of reactive behaviors, 1996. ,
Silly type families * DRAFT, 1994. ,
Safety critical embedded systems design : the sacres approach, 1998. ,
The synchronous languages 12 years later, Proceedings of the IEEE, vol.91, issue.1, 2003. ,
DOI : 10.1109/JPROC.2002.805826
The Esterel synchronous programming language: design, semantics, implementation, Science of Computer Programming, vol.19, issue.2, 1992. ,
DOI : 10.1016/0167-6423(92)90005-V
URL : https://hal.archives-ouvertes.fr/inria-00075711
Interactive Theorem Proving and Program Development. Coq'Art : The Calculus of Inductive Constructions. Texts in Theoretical Computer Science, 2004. ,
URL : https://hal.archives-ouvertes.fr/hal-00344237
Clock-directed modular code generation for synchronous data-flow languages, ACM SIGPLAN Notices, vol.43, issue.7, pp.121-130, 2008. ,
DOI : 10.1145/1379023.1375674
Certifying Synchrony for Free Short version of A clocked denotational semantics for Lucid- Synchrone in Coq, International Conference on Logic for Programming, Artificial Intelligence and Reasoning (LPAR), 2001. ,
A Functional Extension to Lustre, International Symposium on Languages for Intentional Programming, 1995. ,
Certified Programming with Dependent Types ,
Implementing certified programming language tools in dependent type theory, 2007. ,
Peled. Model checking, 2000. ,
Clocks as First Class Abstract Types, Third International Conference on Embedded Software (EMSOFT'03), 2003. ,
DOI : 10.1007/978-3-540-45212-6_10
Type-based Initialization Analysis of a Synchronous Data-flow Language, Electronic Notes in Theoretical Computer Science, vol.65, issue.5, pp.245-255, 2004. ,
DOI : 10.1016/S1571-0661(05)80441-4
Hardware Verification Using Co-induction in COQ, International Conference on Theorem Proving in Higher Order Logics, TPHOL'99, pp.91-108, 1999. ,
DOI : 10.1007/3-540-48256-3_7
Abstract interpretation, Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages , POPL '77, pp.238-252, 1977. ,
DOI : 10.1145/512950.512973
URL : https://hal.archives-ouvertes.fr/inria-00528590
Efficiently computing static single assignment form and the control dependence graph, ACM Transactions on Programming Languages and Systems, vol.13, issue.4, pp.451-490, 1991. ,
DOI : 10.1145/115372.115320
AUTOMATH, a Language for Mathematics, 1968. ,
DOI : 10.1007/978-3-642-81955-1_11
The essence of compiling with continuations, ACM SIGPLAN Notices, vol.28, issue.6, pp.237-247, 1993. ,
DOI : 10.1145/173262.155113
Assigning meaning to programs, Proceedings of the Symposium on Applied Maths, pp.19-32, 1967. ,
Polychronous Design of Real- Time Applications with Signal, ARTIST Survey of Programming Languages, 2008. ,
URL : https://hal.archives-ouvertes.fr/hal-00549814
A modular memory optimization for synchronous data-flow languages, Proceedings of the 13th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, Tools and Theory for Embedded Systems, LCTES '12, pp.51-60, 2012. ,
DOI : 10.1145/2248418.2248426
Certification de SCADE V3. Rapport final du projet GENIE II, 2000. ,
Un calcul de constructions infinies et son application à la vérification de programmes communicants, 1996. ,
Linear logic, Theoretical Computer Science, vol.50, issue.1, pp.1-102, 1987. ,
DOI : 10.1016/0304-3975(87)90045-4
URL : https://hal.archives-ouvertes.fr/inria-00075966
The synchronous dataflow programming language LUSTRE, Proceedings of the IEEE, pp.1305-1320, 1991. ,
An axiomatic basis for computer programming, Communications of the ACM, vol.26, issue.1, pp.53-56, 1983. ,
DOI : 10.1145/357980.358001
The Formulae-As-Types Notion Of Construction Curry : Essays on Combinatory Logic, Lambda Calculus and Formalism [31] N. Izerrouken. Développement prouvé de composants formels pour un générateur de code embarqué critique pré-qualifié, Thèse de doctorat, pp.479-490, 1980. ,
Certifying an automated code generator using formal tools : Preliminary experiments in the geneauto project, 2008. ,
The semantics of a simple language for parallel programming, pp.471-475, 1974. ,
Logique, réduction, résolution. Dunod, 1990. ,
Specifying concurrent systems with TLA+, 1999. ,
Formal verification of a realistic compiler, Communications of the ACM, vol.52, issue.7, pp.107-115, 2009. ,
DOI : 10.1145/1538788.1538814
URL : https://hal.archives-ouvertes.fr/inria-00415861
Programmation fonctionnelle certifiée ? L'extraction de programmes dans l'assistant Coq, 2004. ,
Argos: an automaton-based synchronous language, Computer Languages, vol.27, issue.1-3, pp.61-92, 2001. ,
DOI : 10.1016/S0096-0551(01)00016-9
URL : https://hal.archives-ouvertes.fr/hal-00273055
The CompCert C Verified Compiler ,
URL : https://hal.archives-ouvertes.fr/hal-01091802
A method for synthesizing sequential circuits, The Bell System Technical Journal, vol.34, issue.5, pp.1045-1079, 1955. ,
DOI : 10.1002/j.1538-7305.1955.tb03788.x
Gedanken-Experiments on Sequential Machines, Annals of Mathematical Studies, vol.34, pp.129-153, 1956. ,
DOI : 10.1515/9781400882618-006
A mechanically verified language implementation, Journal of Automated Reasoning, vol.5, issue.4, pp.461-492, 1989. ,
DOI : 10.1007/BF00243133
The design and implementation of a certifying compiler, ACM SIGPLAN Notices, vol.33, issue.5, pp.333-344, 1998. ,
DOI : 10.1145/277652.277752
Co-inductive axiomatisation of synchronous language, International Conference on Theorem Proving in Higher-Order Logics (TPHOLs'98, 1998. ,
Translation validation for synchronous languages, International Colloquium on Automata, Languages and Programming, pp.235-246, 1998. ,
DOI : 10.1007/BFb0055057
Translation validation, pp.151-166, 1998. ,
DOI : 10.1007/BFb0054170
Translation Validation: From SIGNAL to C, Correct System Design, Recent Insight and Advances, (to Hans Langmaack on the occasion of his retirement from his professorship at the University of Kiel), volume 1710 of Lecture Notes in Computer Science, pp.231-255, 1999. ,
DOI : 10.1007/3-540-48092-7_11
Lucid Synchrone : un langage synchrone d'ordre supérieur, 2002. ,
Compilation efficace d'un langage déclaratif synchrone : le générateur de code Lustre-V3, These, Institut National Polytechnique de Grenoble -INPG, 1991. ,
LUSTRE V4 manual, 2000. ,
A verified prolog compiler for the Warren Abstract Machine, The Journal of Logic Programming, vol.13, issue.4, pp.367-412, 1992. ,
DOI : 10.1016/0743-1066(92)90054-7
Continuous lattices, Toposes, Algebraic Geometry, and Logic, number 274 in Lecture Notes in Mathematics, pp.97-136, 1972. ,
DOI : 10.1007/BFb0073967
Toward A Mathematical Semantics for Computer Languages, Proceedings of the Symposium on Computers and Automata, pp.19-46, 1971. ,
Computing the worst case execution time of an avionics program by abstract interpretation, Proceedings of the 5th Intl Workshop on Worst-Case Execution Time (WCET) Analysis, pp.21-24, 2005. ,
Vers la certification du compilateur v5 de Esterel dans coq, 2000. ,
The early british computer conferences. chapter Checking a large routine, pp.70-72, 1989. ,
Graph rewriting semantics for functional programming languages, Proc. of the CSL '96, Fifth Annual conference of the European Association for Computer Science Logic, pp.106-128, 1996. ,
DOI : 10.1007/3-540-63172-0_35
LUCID, the dataflow programming language, 1985. ,
ML Modules and Haskell Type Classes: A Constructive Comparison, Proceedings of the 6th Asian Symposium on Programming Languages and Systems, APLAS '08, pp.188-204, 2008. ,
DOI : 10.1017/S0956796806006034
The worst-case execution-time problem???overview of methods and survey of tools, ACM Transactions on Embedded Computing Systems, vol.7, issue.3, pp.1-53, 2008. ,
DOI : 10.1145/1347375.1347389
Ce fichier déclare des types standards (booléens, entier de 8, 16, 32 et 64 bits, flottants de 32 et 64 bits) ainsi que des primitives (addition, soustraction, ...) sur ces types Ce fichier (ou plutôt sa version extraite) est utilisé pour l'analyse syntaxique des programmes ,
Ce fichier décrit les flots utilisés comme des listes (construites « par la droite ») Il introduit les notations : ? flot >> valeur pour le flot flot auquel on a ajouté la valeur valeur en dernière position ,
Ce fichier définit le type des valeurs (une constante pour un type concret, ou une référence pour un type abstrait), la notion d'absence, le typage des valeurs, et la notion d'opérateur. Il introduit les notations : ? abs pour les valeurs absentes ,
Ce fichier définit les primitives flot de données. Il introduit toutes les notations en ,
Ce fichier contient les preuves de l'aspect fonctionnel des primitives flot de données En effet ces primitives ont été définies comme des relations, afin de pouvoir exprimer des fonctions partielles. De plus les preuves sont simplifiées puisqu'une analyse sur la relation permet d'analyser simultanément toutes les entrées et les sorties d'une primitive. En contrepartie, le déterminisme des primitives n'est plus automatique ,
v Ce fichier décrit l'environnement sémantique local pour les langages Ls et Lsn ,
environnement sémantique local dans un environnement de typage local T (ie. un TEnvironment, voir Static.v) et p un élément de {x st dom T x} ,
Type := | Queue ,
set ( x := Queue ( vide T ) ) ; rewrite ( red_eq ( vide T ) ) ; simpl ; split ,
Prop := | Ensuite : ( forall {u } , EnQueue u f ?> Suivant u ) ?> Suivant f . Definition ensuivant {T U} ( f : T ?> Flot T ?> U ) : forall {t : Flot T } , Suivant t ?> U := fix ensuivant {t} H { struct H} := match t as f return ,
= | PQ : forall { f1 f2 } , Prefixe f1 f2 ?> Prefixe ( Queue f1 ) f2 | PT : forall { f1 f2 } ( s : Suivant f2, Prefixe f1 ( queue s ) ?> Prefixe ( Tete ( tete s ) f1 ) f2 ,
= | App_bottom : forall t , App ( vide T ) t | App_cons : forall u v ( s : Suivant u ) , App v ( queue s ) ?> App ( Tete ( tete s ) v ) u ,
P : Flot T ?> Prop ) := { monotony : forall u v , Prefixe u v ?> P u ?> P v ; scott : forall u , P u ?> exists a, Definition continue {A B} ( f : Flot A ?> Flot B ) := forall ( P : Flot B ?> Prop ) , ouvert P ?> ouvert ,
1: Définition coinductive de flots en vue de définitions constructive d'opérateurs ,