Une expérience d'utitisation des logiciels libres : le langage réactif synchrone Esterel

05/09/2017
Auteurs : Valérie Roy
Publication REE REE 2005-11
OAI : oai:www.see.asso.fr:1301:2005-11:19821
DOI :

Résumé

Une expérience d'utitisation des logiciels libres : le langage réactif synchrone Esterel

Métriques

13
4
1.92 Mo
 application/pdf
bitcache://a849618511becfe46e0f23fec2a170b3f76d5926

Licence

Creative Commons Aucune (Tous droits réservés)
<resource  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xmlns="http://datacite.org/schema/kernel-4"
                xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4/metadata.xsd">
        <identifier identifierType="DOI">10.23723/1301:2005-11/19821</identifier><creators><creator><creatorName>Valérie Roy</creatorName></creator></creators><titles>
            <title>Une expérience d'utitisation des logiciels libres : le langage réactif synchrone Esterel</title></titles>
        <publisher>SEE</publisher>
        <publicationYear>2017</publicationYear>
        <resourceType resourceTypeGeneral="Text">Text</resourceType><dates>
	    <date dateType="Created">Tue 5 Sep 2017</date>
	    <date dateType="Updated">Tue 5 Sep 2017</date>
            <date dateType="Submitted">Fri 20 Apr 2018</date>
	</dates>
        <alternateIdentifiers>
	    <alternateIdentifier alternateIdentifierType="bitstream">a849618511becfe46e0f23fec2a170b3f76d5926</alternateIdentifier>
	</alternateIdentifiers>
        <formats>
	    <format>application/pdf</format>
	</formats>
	<version>33619</version>
        <descriptions>
            <description descriptionType="Abstract"></description>
        </descriptions>
    </resource>
.

1 Repères p LES APPLICATIONS INDUSTRIELLES DES LOGICIELS LIBRES Irm Une expérience d'utitisation des logiciels libres : le langage réactif synchrone Esterel Par Valérie ROY Centrede Mathématiques Appliquées, Écoledes Mines de Paris Mots clés Langageréactifsynchrone, Esterel, Systèmesembarqués critiques, Logicielslibres, Opensource, GNU-GPL, Licenceslogicielles, Formats, Enseignement L'apport des logiciels libres pour le développement des applications logiciel les scientifiques illustré à travers l'histoire de la conception du langage réactif synchrone Esterel. 1. Introduction 1.1. L'évolution conjointe du matériel et du logiciel Jusqu'au milieu des années 80, le coût d'achat du matériel domine nettement celui du logiciel. Le logiciel très marginal ne forme pas encore une industrie. Les ordinateurs ne sont accessibles qu'aux infrastructures importantes comme celles des secteurs militaires, industriels, administratifs et académiques. Dans tous les domaines, la recherche a toujours tiré un bénéfice important de la libre circulation des idées et des techniques, de la coopération entre les équipes et de l'émulation que cette concurrence génère. La recherche en informatique va mettre en avant cette tradition de partage à travers les logiciels libres, les formats d'échange ouverts, les standards, les normes... C'est l'époque où les gros projets logiciels sont initiés et menés dans les uni- versités - lieux où le partage de la connaissance est la règle - et le logiciel circule librement. Internet a dématérialisé la coopération entre les équipes : le logiciel s'échange instan- tanément sans support physique. Des groupes virtuels de personnes apparaissent spontanément autour de centres d'intérêts communs comme des projets de logiciels libres. Suivant la loi énoncée par Gordon Moore [a] - le co- fondateur d'Intel - le prix du matériel chute inexorable- ment alors que sa puissance augmente. Les ordinateurs se démocratisent et deviennent accessibles au grand public. Un immense marché d'utilisateurs apparaît et le logiciel devient une industrie. Les logiciels et formats proprié- taires se répandent, débouchant pour certains sur des monopoles. La plupart des utilisateurs dépendent désor- mais de licences propriétaires pour l'édition de leurs documents et de formats fermés pour l'encodage de leurs propres données : ils ne sont plus garantis ni de la pérennité, ni de la stabilité, ni de l'intégrité, ni de la non divulgation de leurs documents personnels. Dans le domaine de l'informatique, la plupart des gens vont accepter sans hésiter une dépendance qu'il serait difficile de leur imposer dans tout autre domaine [b, f]. 1.2. Le mouvement des logiciels libres AT&T, interdit de toute activité commerciale en dehors des télécommunications, met à disposition des universités les sources du système d'exploitation UNIX créé par Ken Thompson [c]. Ces sources vont inspirer le premier clone d'Unix - BSD (Berkeley Software Développement) qui sera contesté par AT&T. AT&T gagnera dépréciant BSD et ouvrant la voie à Linux. Mais dès 1984 Richard Stallman [d] voyant que les éditeurs s s Les logiciels libresfurent essentielsau développementde quanti- té d'applications logicielles scientifiques. Issues du monde de la recherche en collaboration étroite avec l'industrie, nombreuses furent celles qui bénéficièrent ensuite d'un transfert technolo- gique réussi vers l'industrie. Cet article illustre l'importance de l'apport des logiciels libresau traversde laconceptiondu langage réactif synchrone Esterel. YNOPSIS Free software programs were essentiel for developing a great amount of scientific applications. Comingfrom academicresear- ch in close collaborationwith industry,many have now been suc- cessfullytransferredto the industrielworld. This article illustrates the free software contribution to the design of the Esterel syn- chronousreactivelanguage. REE Wll Décembre2005 Repères LES APPLICATIONS INDUSTRIELLES DES LOGICIELS LIBRES propriétaires réagissent négativement au développement de logiciels s'appuyant sur la base de logiciels pro- priétaires, crée la philosophie du logiciel libre (qu'il matérialisera par la licence GNU-GPL) fondée autour de « quatre libertés fondamentales » [0] : la liberté d'exécution du programme, la liberté de modification du programme (qui requière l'accès aux sources du programme), la liberté de redistribution de copies du programme et la liberté de distribuer des versions modifiées du programme. Richard Stallman lance alors le développement d'un « clone » d'Unix. Il commence par réaliser les différents outils nécessaires à son fonctionnement : interprète de commande (Bash [l]), archivage (Tar ['-']), compression (ozip [3] remplaçant Compress nouvellement breveté et donc perdu pour la communauté du libre), langages éditeur (GNU Ei-nacs [5]), débucoeur (GNU(GCC [41), cc GDB [6]), chaîne de compilation (GNU Make [71), encryptions (GNU Privacy Guard [8]),... En 1991, Linus Torvalds [e] développe le noyau appelé Linux [9]. En 1992, avec la combinaison de Linux et des outils GNU le système, d'exploitation libre GNU/Linux [IO] apparaît et avec lui un essor exceptionnel. 1.3. L'importance des bugs L'informatique montre son extrême sensibilité et sa grande dépendance aux bugs. Leurs conséquences ainsi que leurs coûts et temps de correction peuvent être formidablement élevés. La complexité croissante des fonctionnalités demandées aux programmes et l'expansion très rapide des systèmes électroniques embarqués ne font qu'accroître ce problème. Il est aujourd'hui indispensable de concevoir des logiciels les plus fiables possibles en utilisant des techniques adéquates issues, entre autres, de l'informatique scientifique et des méthodes formelles. C'est dans ce domaine qu'évolue le langage Esterel qui permet l'implémentation et la vérification formelle des systèmes réactifs. 1.4. L'essor des systèmes embarqués Initialement réservés aux grands domaines technolo- giques (spatial, nucléaire, aéronautique) les systèmes embarqués apparaissent désormais massivement à l'échelle de l'individu et envahissent tous les domaines de sa vie privée et professionnelle : téléphones, agendas, cartes d'identité, appareils photographiques, automobiles, médicine,robots... Ces systèmes originellement analo-me Zn giques ou mécaniques sont désormais numériques, se modélisent, se programment et utilisent de nouveaux services via les réseaux sans fil. Fabriqués et vendus en très grand nombre d'exemplaires à une échelle industrielle, extrêmement sensibles à l'image de marque, ils sont désormais soumis à des contraintes économiques sévères en termes de concurrence. Leurs utilisateurs attendent d'eux qu'ils résistent aux pannes, soient exempts de bugs et possèdent un bon niveau de sécurité. Produits sur mesure, en faible nombre d'exemplaires et à très fort coût, les systèmes du spatial, de l'aéronautique et du nucléaire obéissent eux aussi à des contraintes économiques fortes accentuées par la criticité intrinsèque de leur domaine, pour laquelle des procédures de certification sont souvent requises. Les champs d'application potentiels des systèmes embarqués sont immenses et les perspectives de croissance du marché de ces systèmes rendent leur industrie particu- lièrement dynamique : multiplication de projets de recherche alliant théorie et applications industrielles, intérêt croissant manifesté par les grands groupes industriels, création de nouvelles entreprises qui, contrai- rement aux éphémères « dotcoms » de la bulle Internet, fondent leur projet sur une réelle expertise technologique. La conception de ces systèmes implique des partenaires issus du monde de la recherche scientifique et de l'industrie et requiert une pluridisciplinarité d'expertises dans une grande variété de domaines : informatique, électronique, 1 automatique, énergétique, économie, maîtrise du risque. Les entreprises doivent combiner une panoplie de savoirs et de compétences pour concevoir de nouveaux produits et de nouveaux services. 2. Esterel : un langage pour l'implémentation des systèmes réactifs 2.1. Les systèmes réactifs critiques Un système réactif est un système toujours prêt à réagir à des stimuli provenant de son environnement. De tels systèmes sont dirigés par leurs entrées ; le rythme de leurs réactions est dicté par leur environnement. Leur comportement s'apparente à celui d'un automate (objet mathématique bien connu). Ils sont destinés à être embarqués dans des applications plus vastes. Toutes ces applications sont naturellement critiques. Les grands domaines technologiques présentent des risques qui s'évaluent en vies humaines. La course vers le tout électronique à laquelle nous assistons depuis quelques années rend les « petits systèmes embarqués » sensibles à la dégradation de l'image de la marque : ils requièrent une production fiable, rapide et au plus « faible coût » pos- sible. Il devient particulièrement important de s'assurer, là où c'est possible, du bon comportement de tous ces sous-systèmes : c'est le propos du langage réactifCD synchrone Esterel. 2.2. Le langage Esterel Le langage Esterel est un langage de haut niveau d'expressivité qui comporte un ensemble d'opérateurs qui permettent de structurer et de hiérarchiser une application. La signification des opérateurs du langage est donnéec c REE ?) ! Décembre2005 Une expérience d'utilisation des logiciels ibres : le angage réactif synchrone Esterel sous la forme d'une sémantique opérationnelle structurelle qui permet de transformer le comportement d'un programme en un automate à états finis. Sa sémantique d'exécution donnée permet de transformer un programme en un système d'équations booléennes (qui est une repré- sentation non explicite de l'automate). Ce système d'équations peut être optimisé. La vérification formelle des programmes se fait par model-checking [ll]. La production de code est implémentée pour diverses cibles (C/C++ [4], BLIF [12]/VHDL [131, formats d'entrée/sortie...). Le grand intérêt de ce langage réside dans le fait que l'on va exécuter ce que l'on a vérifié formellement. L'environnement de programmation autour du langage Esterel comporte de nombreux outils : compilateurs, simulateurs, interfaces graphiques, outils d'optimisation et de vérification formelle, producteurs de code... 3. Esterel et les logiciels libres Dans les années 1980, le langage Esterel naît au CMA [38] dans un projet de recherche commun à l'Ecole des Mines de Paris [14] et à l'INRIA [15]. Il a bénéficié dans son développement d'une forte implication du monde industriel à travers la présence d'entreprises comme Cadence Design System [16], Dassault Aviation [17], Dec PRL, Synopsys [18], Intel [19]. Il a fait l'objet d'un transfert technologique réussi vers l'industrie puisqu'il est à l'origine de la création d'une entreprise employant actuellement une centaine de personnes [34]. Mais au-delà de tout cela, son existence n'aurait pas été possible sans les logiciels libres et sans la libre communication de ces logiciels entre des équipes : le langage Esterel a très largement bénéficié du « libre au sens large », autant au niveau des logiciels généralistes composant son socle commun de développement qu'au niveau des logiciels scientifiques issus d'équipes de recherches extérieures. 3.1. Le socle classique de développement Nos machines fonctionnaient sous le système d'exploitation Unix [20]. La mise à disposition des sources d'Unix par AT&T nous offrait la maîtrise de notre système d'exploitation : nous comprenions ce qui s'y pas- sait, nous pouvions en corriger les éventuels problèmes et bénéficier des corrections et des rapports de bugs des autres. Notre éditeur était GNU Emacs que les modes d'édition programmables en Lisp nous permettaient d'étendre à l'édition de nos propres langages et formats. Nos premiers programmes furent écrits en LELISP [201. Ces programmes se traduisaient dans un format intermé- diaire indépendant de la machine : le LLM3. Ce langage possédait une interface graphique permettant de créer des applications graphiques. Il contenait déjà les idées qui feront le succès de Java [21]. Il participera au début de la Puis- nous avons- choisicréation de la société Ilog [35].Puis nous avons choisi un nouveau langage qui n'est encore qu'une extension orientée objet du langage C : le C++. Ce langage deviendra un langage à part entière et sera normalisé. Nous l'utiliserons abondamment dans sa version libre, tout en achetant aussi les licences d'autres compilateurs. Vers la fin des années 1980, nous ne réalisions pas toujours exactement les contraintes que la licence GNU-GPL de la library libg++ faisait peser sur la distri- bution de nos logiciels. Seuls les binaires étaient en accès libre sur Internet, sachant que nous aurions donné les sources de nos logiciels libres sur demande. Nous avons utilisé divers générateurs d'interface graphique : XII/Xt [221 et Motif [23] (qui venait de l'OSF, Open Software Foundation), Tcl/Tk [24], ou encore Qt [36]. A leur début nous avons essayé Java [21]/AWT/Swing [25] qui ne nous a pas convaincu. Nos entrées/sorties sont implémentées grâce aux outils d'analyse lexicale et syntaxique Lex/Yacc [261 puis Flex/Bison [27]. Nous utilisons GNU Make, RCS [281, puis CVS [29]. Nos documentations et articles sont écrits en Tex puis en LaTex [30] dont la sortie superbe et les fichiers alphanu- mériques peu gourmands en place en feront le succès. Nous sommes aussi obligés d'acheter une suite industrielle d'édition de documents principalement parce nous aurons à communiquer avec des personnes qui en font une utili- sation exclusive. Les formats propriétaires n'étant pas documentés, les versions libres de ces logiciels sont difficilement réalisables. Le langage à pile Postscript [311 nous permettra d'inclure nos sorties graphiques dans des fichiers LaTex. Enfin il faut ajouter à tout cela les petits outils si utiles comme la perl [32], GAwk [33]... En contrepartie, de notre utilisation de ces logiciels, nous faisions des retours d'expérience, des tests, des évaluations, nous envoyions des rapports de bugs, nous contribuions à la promotion, nous redistribuions,... 3.2. Les logiciels scientifiques libres Nous avions besoin pour mener à bien notre recherche de nombreux outils scientifiques spécifiques. Nous avons donc noué des collaborations avec d'autres équipes et ainsi tiré profit de logiciels de qualité, issus de la recherche publique et privée provenant d'entreprises et d'instituts comme l'INRIA, le CNRS, Cadence Design System, Synopsys, Berkeley, AT&T, Dec PRL, CNW, CWI, Dassault Aviation, Prover [371... Certains de ces logiciels étaient des logiciels libres sous licence GNU-GPL, d'autres se retrouvaient au centre de collaborations qui débouchaient sur le partage et l'échange d'outils. Ces outils étaient maintenus et évolutifs au moins le temps que durait la recherche qui les concernait. Ils étaient naturellement ouverts. Les algorithmes sur les- quels ils se fondaient étaient publiés : nous en connaissions la complexité et les restrictions d'utilisation. Les logiciels étaient en constante évolution et amélioration et parfois même en concurrence. Leurs concepteurs étaient réactifs, REE ? !) Décembre2005 Repères LES APPLICATIONS INDUSTRIELLES DES LOGICIELS LIBRES en demande de retours d'expériences et de rapports de bugs : la présence d'utilisateurs était gage de l'intérêt de leur travail. La plupart existent toujours, ils ont parfois bénéficié d'un transfert technologique à l'industrie. Mais certains ont disparu avec tous les problèmes que cela pose : trouver une alternative, acquérir sa maîtrise, réimplémenter l'interfaçage avec nos outils... 3.3. L'apport de la distribution libre : la diversité De nombreux outils seront réalisés ou importés pour finalement constituer l'environnement de développement Esterel. Cette chaîne complète de conception sera distiibuée en « accessible » c'est-à-dire principalement sous la forme d'un ensemble de binaires pour toutes les architec- tures matérielles que nous possédions. La distribution nous apportait bien sûr une pluralité de testeurs mais aussi et surtout une grande diversité qu'il nous était impossible à posséder dans notre centre. Nos technolo- gies ont été utilisées dans une grande diversité de domaines d'application : avionique, hardware, véhicule... D'importants apports proviennent de la diversité des formations : automaticiens, informaticiens du hardware, roboticiens, électroniciens.... Les autres équipes réparties géographiquement introduisaient leur diversité de culture et de points de vue. Enfin, ils nous permettaient une diversité de matériel cible en réalisant le portage de nos logiciels sur leurs ordinateurs. 4. Le langage passe à l'industrie Les équipes de recherche sont des équipes de passage et de renouvellement autant au niveau des thèmes et des applications que des personnes. La plupart des membres constituant l'équipe autour d'Esterel et de la vérification furent recrutés par une entreprise [34] dans le but de réaliser un environnement de programmation industriel pour Esterel. Nos outils sont partis dans l'entreprise et avec eux leurs sources, ils n'étaient pas sous licence GNU-GPL, ils appartenaient à nos instituts qui en firent le transfert technologique ce qui est une chance pour les logiciels qui en bénéficient. Mais nos collègues sont partis et avec eux les bras de la maintenance et de l'évolution. 4.1. La version académique périclite Le langage est désormais industrialisé, la souche académique continuant à être distribuée librement (binaires des différents logiciels, formats d'échange et documentations). Mais ni maintenue, ni portée, ni améliorée elle a « rouillé » et elle est devenue peu à peu inutilisable. Les problèmes sont divers. Les portages sur de nouvelles architectures et de nouveaux systèmes ne sont pas réalisés. Tout le socle commun évolue très vite : nouvelles fonctionnalités et interface graphique des langages, obsolescence de certaines autres fonctionnalités et interfaces, versions plus récentes et incompatibles des bibliothèques... Les logiciels scientifiques utilisés évo- luent. La modification des formats d'échange d'entrée et de sortie rend nos codes générés obsolètes. De nouvelles fonctionnalités sont apparues qui répondraient mieux à nos besoins. D'anciennes fonctionnalités que nous utili- sions disparaissent ou sont modifiées. Certains outils scientifiques disparaissent dans leur intégralité car ils ne sont plus maintenir. Ce sera le cas de la bibliothèque de diagrammes de décision binaires que nous utilisions.Zn Nous savions pertinemment que ces problèmes allaient arriver : tout logiciel doit être maintenu et très régulièrement entretenu. Nous aurions été capables de résoudre ces problèmes en simplement consacrant une grande quantité de notre temps à la maintenance de la souche académique. Mais nous nous heurtions à un problème de licence, la souche académique n'étant pas en totalité sous licence GNU-GPL : nous aurions dû maintenir un logiciel d'une taille considérable sans aucune assurance ni que notre travail nous appartiendrait, ni que nous pourrions l'utiliser dans nos applications industrielles ou même le redistribuer. 4.2. La version industrielle mute L'entreprise contrôle le langage Esterel et ses évolutions sont naturellement dictées par le marché. La version industrielle du langage ainsi que sa sémantique vont muter en fonction des champs d'application visés et des demandes spécifiques des clients prépondérants. Le point naturellement le plus pénalisant pour nous est la modification de la sémantique du langage. Si la séman- tique diverge de sa version « académique », la menace est de ne bientôt plus y retrouver les mêmes fondements scientifiques. Les conséquences liées à la divergence entre la souche académique et la version industrialisée concernent l'enseignement, la recherche fondamentale et la recherche appliquée. 4.2.1. Des implications pour l'enseignement L'environnement de programmation industriel autour d'Esterel est mis gratuitement à disposition des enseignants par l'entreprise, celle-ci se réservant le droit de citer les instituts et les expériences l'utilisant. Il se pose alors naturellement la question de l'intérêt pédagogique desZD logiciels propriétaires. Nous souhaitons naturellement enseigner une informatique scientifique ou technique générale qui ne peut se restreindre au simple apprentissage d'un outil. Certains étudiants généralistes ayant parfois tendance à n'attendre de l'informatique que des « recettes de cuisine » il faut éviter autant que possible de les conforter dans cette vision restrictive. D'autre part, l'édu- cation n'a pas vocation à promouvoir les outils logiciels d'entreprises industrielles particulières. Il reste néanmoins REE No Il Décembre2005 Une expérience d'utilisation des logiciels ibres e angage réactif synchrone Esterel intéressant pour des étudiants de connaître la diversité des outils logiciels capables de traiter un domaine particulier comme, dans notre cas, celui de la conception des systèmes embarqués critiques. Les outils industriels peuvent alors être une base pour des travaux pratiques - la théorie ayant été faite préalablement - mais encore est-il nécessaire qu'ils illustrent de manière adéquate la théorie sous-jacente. Une dernière restriction à l'utilisation de logiciels propriétaires dans l'enseignement me semble particulièrement importante pour y avoir été maintes fois confrontée. Les logiciels propriétaires ne sont pas disponibles pour étudiants en dehors des salles de travaux pratiques. D'une part peu de licences d'enseignement le permettent et d'autre part, les licences classiques sont beaucoup trop onéreuses. La plupart des étudiants possédant désormais leurs propres ordinateurs portables, il est intéressant qu'ils puissent y installer les logiciels qu'ils apprennent. N'enseigner que des logiciels propriétaires sous licence devient alors parfois une incitation au piratage. Les logiciels libres ont la grande qualité d'être accessibles « à moindre frais » (celui du support) et les étudiants peuvent alors constituer une solide base de logiciels sur leurs portables. 4.2.2. Des implications pour la recherche fondamentale Du point de vue de la recherche fondamentale, nous avons certes la possibilité d'utiliser l'outil industriel pour nos expériences. Mais les formats et codes produits sont désormais fermés et peu - voire pas du tout - documentés : nous ne les maîtrisions plus. Il ne nous est alors plus possible de réaliser des passerelles vers de nouveaux logiciels. Et même si nous avons grâce au reverse- engineering, la possibilité de connaître ces formats et de réaliser des passerelles, nous ne savons plus en évaluer la durée de vie. D'autre part, l'outil industriel s'écartant de la sémantique de base il n'est plus le cadre adéquat à un testeur d'idées. 4.2.3. Des implications pour la recherche appliquée Une partie de la recherche appliquée consiste à collaborer avec l'industrie afin d'étudier l'adéquation des solutions que nous proposons à leur besoins spécifiques. Dans ce cadre il n'est évidemment pas possible d'obliger ces industriels à payer la licence d'un produit dont ils ne sont pas encore convaincus de l'intérêt. 5. Vers une nouvelle version d'un langage « à-la-Esterel » Nous croyons à l'utilisation des langages réactifs synchrones dirigés par le contrôle pour « la conception, la validation et la production de code pour de petits modules de contrôle critiques embarqués dans des systèmes plus gros ». Afin de continuer à expérimenter autour de ce domaine nous devrions implémenter un nouvel environnement de programmation de langage réactif synchrone. Il est nécessaire avant de se lancer dans toute réalisation logicielle d'être conscient des questions qui se posent comme le choix de la licence de distribution (doit-elle permettre de conserver des prérogatives comme le droit de récupérer et fermer de futures évolutions), l'étude de l'existant et de la concurrence, la manière de susciter l'intérêt, d'être vus, d'être rejoints (envoyer un Request For Comment) et enfin et surtout le choix des outils de développement. Afin que notre logiciel reste opérationnel dans les dix prochaines années sur les systèmes d'exploitation du futur nous devons l'appuyer sur les « free software copyleftés » les plus réputés. 6. Conclusion Dans le cadre des travaux de notre centre de recherche, nous n'envisageons pas de commencer le développement d'un environnement complet de program- mation autour d'un nouveau langage réactif synchrone, ce serait une activité qui prendrait trop de temps, de moyens et d'énergie. Toutefois, nous allons à court terme lancer la réalisation d'un logiciel de compilation de langages réactifs synchrones flexible dans le but qu'il devienne un lieu pour tester et comparer de nouvelles sémantiques d'exécution. Lorsque cette expérience logicielle débutera nous choisirons la voie du logiciel libre, tant pour ses aspects éthiques que pour ses nombreuses retombées pratiques. Références [a] G. MOORE. http//enwikipedia.org/wiki/Gordon_E.- Moore [bl R. DI COSMO : http ://www.pps.jussieu.fr/dicosmo/ [ci K.THOMPSON : http ://en.wikipedia.org/wiki/Ken.Thompson Id] R. STALLMAN. http//www.stallman.org/ le] L. TORNWALD : http ://en.wikipedia.org/wiki/Linus Torvalds [f] B. LANG : http ://pauillac.inria.fr/-lang/index.html/ index.html des sites : Le site du projet GNU http ://www.GNU.org/ Le site de la free software foundation www.fsf.org Le site de l'open source foundation http ://www.opensource.org/ Le site de la licence libre française http//www.cecrll.fr/ des références : (01 hitp ://www.gnu.org/gnu/thegnuproject.html [1] GNU Bash http ://www.gnu.org/software/bash/manuat/ bash.html [21 GNU Tar http//www.gnuorg/software/tar/tar.html [31 gzip http ://www.gzip.org/ [4] GCC http ://gcc.gnu.org/ [51 GNU Emacs http//wwwgnu.org/software/emacs/emacs.html [61 GNU GDB http//www.gnu.org/software/gdb/gdb.html [71 GNU Make http//www.gnuorg/software/make/ (81 GNU Privacy Guard http ://www.gnupg.org/ [9] Linux http//www.linux.org/ [10] GNU Linux http//www.gnu.org/gnu/linux-and-gnu.html [11] model checking http//enwikrpedia.org/wiki/Model_checking REE N°t) Décembre2005 M Repères LES APPLICATIONS INDUSTRIELLES DES LOGICIELS LIBRES [121 BLIF http//vvvvw.bdd-portal.org/docu/blit/blif,htmi [131 VHDL httP//tech-vvvvw.informatik.uni-hamburg.de/vhdl/ [141 EMP http ://wvvw.ensmp.fr/ [151 INRIA http ://vvww.inria.fr [16] Cadence Design System httpJ/wwwcadencecom/ [17] Dassault Aviation http ://www.dassault-aviation.com/gb/ home/ [181 synopsys httpJ/wwwsynopsyscom/ [19] INTEL httpJ/wwwintelcom/ [20] "LELISP a portable and efficient LlSP system ", Proceedings of the 1984 ACM Symposium on LlSP and functional programming. [21] Java http ://java.sun.com/ [22] Xt "X Toolkit Intrinsics RefMan R5 ",O'Rey & Associates [231 Motif http ://www,opengroup.org/motif/ [24] Swing http ://java.sun.com/j2se/1.4.2/docs/guide/swing/ [25] Tcl/Tk "Tel and the Tk Toolkit ",John K. Ousterhout, Addison-Wesley [261 "Lex & Yacc ",John R. Levine, Tony Mason, Doug Brown, 0'Rei ! ty& Associates [271 flex httpJ/wwwgnu.org/software/flex/ [28] bison http ://www.gnu.org/software/bison/ [28] RCS httpJ/wwwgnu.org/software/rcs/rcshtml [291 CVS http ://vvww.nongnu.org/cvs/ [301 LaTex http ://www,latex-project.org/ [31] postscript http //wwvv. adobe. com/products/posiscri pvma in. html [321 perl http ://vvvvvv.perl.com [331 Gawk http//www.gnu.org/software/gawk/gawkhtml [34] Esterel Technologies http ://www.esterel-technologies.com/ [351 Iloghttp//www.ilog.com/ [361 Qt http//www.trolltechcom/products/qt/indexhtml [371 Prover Technologies http//www.provercom [381 CMA http//www.cma.ensmp.fr a u e u ValérieRoy :Chercheurau Centrede Mathématiques Appliquéesde l'Écoledes Mines de Parisdans le domainede laconceptionet de la validationdes systèmes embarqués critiques,ellea participéà laréalisa- tionde !'environnementde programmationdu langageréactifsynchrone Esterelet de ses outilsde vérificationformelle. Elles'intéresseà l'utili- sationdes concepts issusdes langages réactifssynchrones et des méthodes de vérificationformelledans la modélisationetlavalidationde systèmes dynamiques hybrides c'est-à-diredes systèmes faisant intervenirsimultanémentdes phénomènes de typedynamique continu/ discretet de type événementiel Elle est responsable,à l'Écoledes Mines, d'un module d'enseignementautourdu thème des systèmes embarqués etdispensedes enseignementsspécialisésen informatique. REE ? !) Décembre2005