diff --git a/AUTEURS b/AUTEURS new file mode 100644 index 0000000..a78c7e4 --- /dev/null +++ b/AUTEURS @@ -0,0 +1,2 @@ +BATISTA CARDOSO,TIAGO,tiago.batista-cardoso@etu.u-paris.fr +nom2,prenom2,email2 diff --git a/projet/Makefile b/Makefile similarity index 100% rename from projet/Makefile rename to Makefile diff --git a/projet/Makefile.version b/Makefile.version similarity index 100% rename from projet/Makefile.version rename to Makefile.version diff --git a/README.md b/README.md index c274163..3a22b69 100644 --- a/README.md +++ b/README.md @@ -1,67 +1,6 @@ -# Programmation Synchrone 2025-2026 (M2 Info & EIDD) +# Projet de Programmation synchrone -## Présentation +Ce répertoire contient le projet du cours de Programmation synchrone du M2 +Informatique de l'Université de Paris et de l'École d'Ingénieur Denis Diderot. -Le [syllabus](cours/syllabus-progsync.pdf) (résumé) du module est disponible. - -### Contenu et objectifs - -Le module de *Programmation synchrone* propose une introduction à la -programmation des **systèmes réactifs** par le biais de langages spécialisés, -les **langages synchrones**. - -- Les **systèmes réactifs** sont des systèmes informatiques en interaction - continue avec un environnement extérieur. Le pilote automatique d'un avion - moderne (_fly-by-wire_), le contrôleur d'une machine à laver, ou le logiciel - de commande d'un ascenseur constituent des exemples de systèmes réactifs. - -- Les **langages synchrones** sont des langages spécialement conçus pour la - programmation des systèmes réactifs. Ils offrent une expressivité élevée tout - en garantissant statiquement certaines propriétés de sûreté. Leur usage est - désormais routinier dans les tâches conception et de développement dans - certains secteurs industriels, comme l'avionique ou le ferroviaire. - -L'enseignement des langages synchrones vise deux objectifs. D'abord, **renforcer -vos compétences de programmation**, en vous faisant découvrir une famille de -langages à la fois originaux et utilisés dans l'industrie. Ensuite, **enrichir -votre culture scientifique**, en illustrant comment les systèmes réactifs -fournissent un exemple de point de jonction entre l'informatique et d'autres -disciplines comme l'automatique ou le traitement du signal. - -Pour atteindre ces objectifs, on utilisera le langage universitaire -[*Heptagon*](https://gitlab.inria.fr/synchrone/heptagon), aussi bien durant le -cours magistral, pour illustrer les principes généraux des langages synchrones, -que durant les séances de travaux pratiques. Les autres langages synchrones -(notamment d'origines industrielles) seront aussi régulièrement évoqués durant -le cours. - -## Organisation du cours - -Le cours magistral a lieu le *lundi de 10h45 à 12h45*, dans la salle 1009 du -bâtiment Sophie Germain. - -Les séances de travaux pratiques ont lieu en salle 2003 du bâtiment Sophie -Germain, avec deux groupes disponibles : - -- le *mardi de 10h45 à 12h45*, - -- le *jeudi de 08h30 à 10h30*. - -Nous vous demandons **d'apporter votre ordinateur portable**. - -## Modalités de contrôle des connaissances - -La note du cours sera composée pour 50% de celle du projet et pour 50% de celle -de l'examen final. Les cours de master 2 n'offrent pas de deuxième session. - -## Organisation de ce dépôt - -Ce dépôt contiendra tout le matériel pédagogique du cours : - -- le **support du cours**, dans les sous-répertoire [cours](cours/) et surtout - [notes](notes/), - -- les **énoncés de TP**, dans le sous-répertoire [TP](tp/), - -- l'**énoncé du projet, ainsi que son squelette**, seront ultérieurement - disponibles dans le sous-répertoire [projet](projet/). +Le [sujet](sujet/sujet-projet.pdf) contient tous les détails. diff --git a/projet/assets/00.iti b/assets/00.iti similarity index 100% rename from projet/assets/00.iti rename to assets/00.iti diff --git a/projet/assets/00.map b/assets/00.map similarity index 100% rename from projet/assets/00.map rename to assets/00.map diff --git a/projet/assets/01.iti b/assets/01.iti similarity index 100% rename from projet/assets/01.iti rename to assets/01.iti diff --git a/projet/assets/01.map b/assets/01.map similarity index 100% rename from projet/assets/01.map rename to assets/01.map diff --git a/projet/assets/02.iti b/assets/02.iti similarity index 100% rename from projet/assets/02.iti rename to assets/02.iti diff --git a/projet/assets/02.map b/assets/02.map similarity index 100% rename from projet/assets/02.map rename to assets/02.map diff --git a/projet/assets/03.iti b/assets/03.iti similarity index 100% rename from projet/assets/03.iti rename to assets/03.iti diff --git a/projet/assets/03.map b/assets/03.map similarity index 100% rename from projet/assets/03.map rename to assets/03.map diff --git a/projet/assets/04.iti b/assets/04.iti similarity index 100% rename from projet/assets/04.iti rename to assets/04.iti diff --git a/projet/assets/04.map b/assets/04.map similarity index 100% rename from projet/assets/04.map rename to assets/04.map diff --git a/projet/assets/05.iti b/assets/05.iti similarity index 100% rename from projet/assets/05.iti rename to assets/05.iti diff --git a/projet/assets/05.map b/assets/05.map similarity index 100% rename from projet/assets/05.map rename to assets/05.map diff --git a/projet/assets/06.iti b/assets/06.iti similarity index 100% rename from projet/assets/06.iti rename to assets/06.iti diff --git a/projet/assets/06.map b/assets/06.map similarity index 100% rename from projet/assets/06.map rename to assets/06.map diff --git a/projet/assets/07.iti b/assets/07.iti similarity index 100% rename from projet/assets/07.iti rename to assets/07.iti diff --git a/projet/assets/07.map b/assets/07.map similarity index 100% rename from projet/assets/07.map rename to assets/07.map diff --git a/projet/assets/08.iti b/assets/08.iti similarity index 100% rename from projet/assets/08.iti rename to assets/08.iti diff --git a/projet/assets/08.map b/assets/08.map similarity index 100% rename from projet/assets/08.map rename to assets/08.map diff --git a/projet/assets/09.iti b/assets/09.iti similarity index 100% rename from projet/assets/09.iti rename to assets/09.iti diff --git a/projet/assets/09.map b/assets/09.map similarity index 100% rename from projet/assets/09.map rename to assets/09.map diff --git a/projet/assets/11.iti b/assets/11.iti similarity index 100% rename from projet/assets/11.iti rename to assets/11.iti diff --git a/projet/assets/11.map b/assets/11.map similarity index 100% rename from projet/assets/11.map rename to assets/11.map diff --git a/projet/assets/12.iti b/assets/12.iti similarity index 100% rename from projet/assets/12.iti rename to assets/12.iti diff --git a/projet/assets/12.map b/assets/12.map similarity index 100% rename from projet/assets/12.map rename to assets/12.map diff --git a/projet/assets/13.iti b/assets/13.iti similarity index 100% rename from projet/assets/13.iti rename to assets/13.iti diff --git a/projet/assets/13.map b/assets/13.map similarity index 100% rename from projet/assets/13.map rename to assets/13.map diff --git a/projet/assets/14.iti b/assets/14.iti similarity index 100% rename from projet/assets/14.iti rename to assets/14.iti diff --git a/projet/assets/14.map b/assets/14.map similarity index 100% rename from projet/assets/14.map rename to assets/14.map diff --git a/projet/assets/15.iti b/assets/15.iti similarity index 100% rename from projet/assets/15.iti rename to assets/15.iti diff --git a/projet/assets/15.map b/assets/15.map similarity index 100% rename from projet/assets/15.map rename to assets/15.map diff --git a/projet/assets/16.iti b/assets/16.iti similarity index 100% rename from projet/assets/16.iti rename to assets/16.iti diff --git a/projet/assets/17.iti b/assets/17.iti similarity index 100% rename from projet/assets/17.iti rename to assets/17.iti diff --git a/projet/assets/18.iti b/assets/18.iti similarity index 100% rename from projet/assets/18.iti rename to assets/18.iti diff --git a/projet/assets/b-00.bmp b/assets/b-00.bmp similarity index 100% rename from projet/assets/b-00.bmp rename to assets/b-00.bmp diff --git a/projet/assets/b-01.bmp b/assets/b-01.bmp similarity index 100% rename from projet/assets/b-01.bmp rename to assets/b-01.bmp diff --git a/projet/assets/b-02.bmp b/assets/b-02.bmp similarity index 100% rename from projet/assets/b-02.bmp rename to assets/b-02.bmp diff --git a/projet/assets/b-03.bmp b/assets/b-03.bmp similarity index 100% rename from projet/assets/b-03.bmp rename to assets/b-03.bmp diff --git a/projet/assets/b-04.bmp b/assets/b-04.bmp similarity index 100% rename from projet/assets/b-04.bmp rename to assets/b-04.bmp diff --git a/projet/assets/b-05.bmp b/assets/b-05.bmp similarity index 100% rename from projet/assets/b-05.bmp rename to assets/b-05.bmp diff --git a/projet/assets/b-06.bmp b/assets/b-06.bmp similarity index 100% rename from projet/assets/b-06.bmp rename to assets/b-06.bmp diff --git a/projet/assets/b-07.bmp b/assets/b-07.bmp similarity index 100% rename from projet/assets/b-07.bmp rename to assets/b-07.bmp diff --git a/projet/assets/b-08.bmp b/assets/b-08.bmp similarity index 100% rename from projet/assets/b-08.bmp rename to assets/b-08.bmp diff --git a/projet/assets/b-09.bmp b/assets/b-09.bmp similarity index 100% rename from projet/assets/b-09.bmp rename to assets/b-09.bmp diff --git a/projet/assets/collision.wav b/assets/collision.wav similarity index 100% rename from projet/assets/collision.wav rename to assets/collision.wav diff --git a/projet/assets/ctl_10.bmp b/assets/ctl_10.bmp similarity index 100% rename from projet/assets/ctl_10.bmp rename to assets/ctl_10.bmp diff --git a/projet/assets/ctl_11.bmp b/assets/ctl_11.bmp similarity index 100% rename from projet/assets/ctl_11.bmp rename to assets/ctl_11.bmp diff --git a/projet/assets/ctl_12.bmp b/assets/ctl_12.bmp similarity index 100% rename from projet/assets/ctl_12.bmp rename to assets/ctl_12.bmp diff --git a/projet/assets/ctl_13.bmp b/assets/ctl_13.bmp similarity index 100% rename from projet/assets/ctl_13.bmp rename to assets/ctl_13.bmp diff --git a/projet/assets/ctl_14.bmp b/assets/ctl_14.bmp similarity index 100% rename from projet/assets/ctl_14.bmp rename to assets/ctl_14.bmp diff --git a/projet/assets/direction.wav b/assets/direction.wav similarity index 100% rename from projet/assets/direction.wav rename to assets/direction.wav diff --git a/projet/assets/exit.wav b/assets/exit.wav similarity index 100% rename from projet/assets/exit.wav rename to assets/exit.wav diff --git a/projet/assets/game_10.bmp b/assets/game_10.bmp similarity index 100% rename from projet/assets/game_10.bmp rename to assets/game_10.bmp diff --git a/projet/assets/game_11.bmp b/assets/game_11.bmp similarity index 100% rename from projet/assets/game_11.bmp rename to assets/game_11.bmp diff --git a/projet/assets/game_12.bmp b/assets/game_12.bmp similarity index 100% rename from projet/assets/game_12.bmp rename to assets/game_12.bmp diff --git a/projet/assets/game_13.bmp b/assets/game_13.bmp similarity index 100% rename from projet/assets/game_13.bmp rename to assets/game_13.bmp diff --git a/projet/assets/game_14.bmp b/assets/game_14.bmp similarity index 100% rename from projet/assets/game_14.bmp rename to assets/game_14.bmp diff --git a/projet/assets/light.wav b/assets/light.wav similarity index 100% rename from projet/assets/light.wav rename to assets/light.wav diff --git a/projet/assets/map_00_oneway_line.bmp b/assets/map_00_oneway_line.bmp similarity index 100% rename from projet/assets/map_00_oneway_line.bmp rename to assets/map_00_oneway_line.bmp diff --git a/projet/assets/map_01_oneway_square.bmp b/assets/map_01_oneway_square.bmp similarity index 100% rename from projet/assets/map_01_oneway_square.bmp rename to assets/map_01_oneway_square.bmp diff --git a/projet/assets/map_02_oneway_olympic.bmp b/assets/map_02_oneway_olympic.bmp similarity index 100% rename from projet/assets/map_02_oneway_olympic.bmp rename to assets/map_02_oneway_olympic.bmp diff --git a/projet/assets/map_03_oneway_ea.bmp b/assets/map_03_oneway_ea.bmp similarity index 100% rename from projet/assets/map_03_oneway_ea.bmp rename to assets/map_03_oneway_ea.bmp diff --git a/projet/assets/map_04_olympic_cut.bmp b/assets/map_04_olympic_cut.bmp similarity index 100% rename from projet/assets/map_04_olympic_cut.bmp rename to assets/map_04_olympic_cut.bmp diff --git a/projet/assets/map_05_olympic_cut_tl.bmp b/assets/map_05_olympic_cut_tl.bmp similarity index 100% rename from projet/assets/map_05_olympic_cut_tl.bmp rename to assets/map_05_olympic_cut_tl.bmp diff --git a/projet/assets/map_06_roundabout.bmp b/assets/map_06_roundabout.bmp similarity index 100% rename from projet/assets/map_06_roundabout.bmp rename to assets/map_06_roundabout.bmp diff --git a/projet/assets/map_07_roundabout_tl.bmp b/assets/map_07_roundabout_tl.bmp similarity index 100% rename from projet/assets/map_07_roundabout_tl.bmp rename to assets/map_07_roundabout_tl.bmp diff --git a/projet/assets/map_08_nycity.bmp b/assets/map_08_nycity.bmp similarity index 100% rename from projet/assets/map_08_nycity.bmp rename to assets/map_08_nycity.bmp diff --git a/projet/assets/map_09_paris.bmp b/assets/map_09_paris.bmp similarity index 100% rename from projet/assets/map_09_paris.bmp rename to assets/map_09_paris.bmp diff --git a/projet/assets/obst.bmp b/assets/obst.bmp similarity index 100% rename from projet/assets/obst.bmp rename to assets/obst.bmp diff --git a/projet/assets/orange.bmp b/assets/orange.bmp similarity index 100% rename from projet/assets/orange.bmp rename to assets/orange.bmp diff --git a/projet/assets/speed.wav b/assets/speed.wav similarity index 100% rename from projet/assets/speed.wav rename to assets/speed.wav diff --git a/cours/README.md b/cours/README.md deleted file mode 100644 index 67823ab..0000000 --- a/cours/README.md +++ /dev/null @@ -1,2 +0,0 @@ -Le [journal](journal.org) contient un bref résumé de notre progression à travers -les notes de cours, ainsi que quelques informations logistiques. diff --git a/cours/journal.org b/cours/journal.org deleted file mode 100644 index 767dc48..0000000 --- a/cours/journal.org +++ /dev/null @@ -1,20 +0,0 @@ -#+TITLE: Programmation synchrone 2025/2026 -- Journal du cours -#+AUTHOR: Adrien Guatto -#+EMAIL: guatto@irif.org -#+LANGUAGE: fr -#+OPTIONS: ^:nil p:nil -#+LATEX_CLASS: article -#+LATEX_CLASS_OPTIONS: [a4paper,11pt] -#+LATEX_HEADER: \usepackage{a4wide} -#+LATEX_HEADER: \usepackage{microtype} -#+LATEX_HEADER: \hypersetup{hidelinks} -#+LATEX_HEADER: \usepackage[french]{babel} -# (org-latex-export-to-pdf) - -* Cours 1 <2025-09-29> - On lit le syllabus ainsi que le début des notes. - - Le manuel d'Heptagon peut être trouvé sur le dépôt git du projet. On peut - cliquer sur le bouton /download/ pour télécharger une copie PDF. - - https://gitlab.inria.fr/synchrone/heptagon/-/blob/ec26be27b91f3e601b98b8b7e15e8d56d4b9afc7/manual/heptagon-manual.pdf diff --git a/cours/syllabus.pdf b/cours/syllabus.pdf deleted file mode 100644 index 18c6509..0000000 Binary files a/cours/syllabus.pdf and /dev/null differ diff --git a/logs.txt b/logs.txt new file mode 100644 index 0000000..a8a0e5f --- /dev/null +++ b/logs.txt @@ -0,0 +1,44 @@ +[log] logging to logs.txt +[map assets/00.map] read map: oneway_line +[map assets/00.map] read graphics: map_00_oneway_line.bmp +[map assets/00.map] read guide: b-00.bmp +[map assets/00.map] read init: x = 50.000000, y = 50.000000, head = 23.702999 +[map assets/00.map] starting to read segment rd of size 1 +[map assets/00.map] finished reading segment rd +[map assets/00.map] starting to read segment wp of size 1 +[map assets/00.map] finished reading segment wp +[map assets/00.map] starting to read segment tl of size 0 +[map assets/00.map] finished reading segment tl +[map assets/00.map] starting to read segment st of size 0 +[map assets/00.map] finished reading segment st +[map assets/00.map] starting to read segment obst of size 2 +[map assets/00.map] finished reading segment obst +[map assets/00.map] starting to read segment iti of size 2 +[map assets/00.map] finished reading segment iti +[sdl] loaded texture b-00.bmp +[sdl] loaded texture orange.bmp +[sdl] loaded texture obst.bmp +[simulation] starting (16 ms/cycle) +[sdl] no audio device +[audio] car goes in the wrong direction +[sdl] no audio device +[audio] car goes in the wrong direction +[sdl] no audio device +[audio] car goes in the wrong direction +[sdl] no audio device +[audio] car goes in the wrong direction +[sdl] no audio device +[audio] car goes in the wrong direction +[sdl] no audio device +[audio] car goes in the wrong direction +[sdl] no audio device +[audio] car goes in the wrong direction +[sdl] no audio device +[audio] car goes in the wrong direction +[sdl] no audio device +[audio] car goes in the wrong direction +[sdl] no audio device +[audio] car goes in the wrong direction +[simulation 00001553] shutting down, score = 5160, time = 15.160000 +[simulation] race quit before finishing +[log] shutting down, closing logs.txt diff --git a/notes/README.md b/notes/README.md deleted file mode 100644 index f8b64d2..0000000 --- a/notes/README.md +++ /dev/null @@ -1 +0,0 @@ -Les [notes de cours](notes-de-cours-progsync.pdf) sont disponibles. diff --git a/notes/heptagon-manual.pdf b/notes/heptagon-manual.pdf deleted file mode 100644 index 8c8d2b5..0000000 Binary files a/notes/heptagon-manual.pdf and /dev/null differ diff --git a/notes/notes-de-cours-progsync.pdf b/notes/notes-de-cours-progsync.pdf deleted file mode 100644 index 0d6e096..0000000 Binary files a/notes/notes-de-cours-progsync.pdf and /dev/null differ diff --git a/projet/AUTEURS b/projet/AUTEURS deleted file mode 100644 index 8ba2ad2..0000000 --- a/projet/AUTEURS +++ /dev/null @@ -1,2 +0,0 @@ -nom1,prenom1,email1 -nom2,prenom2,email2 diff --git a/projet/README.md b/projet/README.md deleted file mode 100644 index 3a22b69..0000000 --- a/projet/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Projet de Programmation synchrone - -Ce répertoire contient le projet du cours de Programmation synchrone du M2 -Informatique de l'Université de Paris et de l'École d'Ingénieur Denis Diderot. - -Le [sujet](sujet/sujet-projet.pdf) contient tous les détails. diff --git a/projet/src/buffer.c b/src/buffer.c similarity index 100% rename from projet/src/buffer.c rename to src/buffer.c diff --git a/projet/src/buffer.h b/src/buffer.h similarity index 100% rename from projet/src/buffer.h rename to src/buffer.h diff --git a/projet/src/challenge.ept b/src/challenge.ept similarity index 100% rename from projet/src/challenge.ept rename to src/challenge.ept diff --git a/projet/src/city.ept b/src/city.ept similarity index 100% rename from projet/src/city.ept rename to src/city.ept diff --git a/projet/src/control.ept b/src/control.ept similarity index 76% rename from projet/src/control.ept rename to src/control.ept index cbb7567..1591b8e 100644 --- a/projet/src/control.ept +++ b/src/control.ept @@ -4,6 +4,6 @@ open Globals node controller(sens : sensors; iti : itielts) returns (rspeed : wheels; arriving : bool) let - rspeed = { left = 0.0; right = 0.0 }; + rspeed = { left = 00.0; right = 100.0 }; arriving = false; tel diff --git a/projet/src/cutils.c b/src/cutils.c similarity index 100% rename from projet/src/cutils.c rename to src/cutils.c diff --git a/projet/src/cutils.h b/src/cutils.h similarity index 100% rename from projet/src/cutils.h rename to src/cutils.h diff --git a/projet/src/debug.c b/src/debug.c similarity index 100% rename from projet/src/debug.c rename to src/debug.c diff --git a/projet/src/debug.epi b/src/debug.epi similarity index 100% rename from projet/src/debug.epi rename to src/debug.epi diff --git a/projet/src/debug.h b/src/debug.h similarity index 100% rename from projet/src/debug.h rename to src/debug.h diff --git a/projet/src/debug_types.h b/src/debug_types.h similarity index 100% rename from projet/src/debug_types.h rename to src/debug_types.h diff --git a/projet/src/globals.ept b/src/globals.ept similarity index 100% rename from projet/src/globals.ept rename to src/globals.ept diff --git a/projet/src/hept_ffi.h b/src/hept_ffi.h similarity index 100% rename from projet/src/hept_ffi.h rename to src/hept_ffi.h diff --git a/projet/src/main.c b/src/main.c similarity index 100% rename from projet/src/main.c rename to src/main.c diff --git a/projet/src/map.c b/src/map.c similarity index 100% rename from projet/src/map.c rename to src/map.c diff --git a/projet/src/map.epi b/src/map.epi similarity index 100% rename from projet/src/map.epi rename to src/map.epi diff --git a/projet/src/map.h b/src/map.h similarity index 100% rename from projet/src/map.h rename to src/map.h diff --git a/projet/src/map_types.h b/src/map_types.h similarity index 100% rename from projet/src/map_types.h rename to src/map_types.h diff --git a/projet/src/mathext.c b/src/mathext.c similarity index 100% rename from projet/src/mathext.c rename to src/mathext.c diff --git a/projet/src/mathext.epi b/src/mathext.epi similarity index 100% rename from projet/src/mathext.epi rename to src/mathext.epi diff --git a/projet/src/mathext.h b/src/mathext.h similarity index 100% rename from projet/src/mathext.h rename to src/mathext.h diff --git a/projet/src/mathext_types.h b/src/mathext_types.h similarity index 100% rename from projet/src/mathext_types.h rename to src/mathext_types.h diff --git a/projet/src/mymath.h b/src/mymath.h similarity index 100% rename from projet/src/mymath.h rename to src/mymath.h diff --git a/projet/src/simulation_loop.c b/src/simulation_loop.c similarity index 100% rename from projet/src/simulation_loop.c rename to src/simulation_loop.c diff --git a/projet/src/simulation_loop.h b/src/simulation_loop.h similarity index 100% rename from projet/src/simulation_loop.h rename to src/simulation_loop.h diff --git a/projet/src/trace.c b/src/trace.c similarity index 100% rename from projet/src/trace.c rename to src/trace.c diff --git a/projet/src/trace.epi b/src/trace.epi similarity index 100% rename from projet/src/trace.epi rename to src/trace.epi diff --git a/projet/src/trace.h b/src/trace.h similarity index 100% rename from projet/src/trace.h rename to src/trace.h diff --git a/projet/src/trace_lib.c b/src/trace_lib.c similarity index 100% rename from projet/src/trace_lib.c rename to src/trace_lib.c diff --git a/projet/src/trace_lib.h b/src/trace_lib.h similarity index 100% rename from projet/src/trace_lib.h rename to src/trace_lib.h diff --git a/projet/src/trace_types.h b/src/trace_types.h similarity index 100% rename from projet/src/trace_types.h rename to src/trace_types.h diff --git a/projet/src/utilities.ept b/src/utilities.ept similarity index 100% rename from projet/src/utilities.ept rename to src/utilities.ept diff --git a/projet/src/vehicle.ept b/src/vehicle.ept similarity index 100% rename from projet/src/vehicle.ept rename to src/vehicle.ept diff --git a/projet/sujet/sujet-projet.pdf b/sujet/sujet-projet.pdf similarity index 100% rename from projet/sujet/sujet-projet.pdf rename to sujet/sujet-projet.pdf diff --git a/tools/hept b/tools/hept deleted file mode 100755 index 0c6b37e..0000000 --- a/tools/hept +++ /dev/null @@ -1,163 +0,0 @@ -#!/usr/bin/env bash - -# Functions - -VERBOSE=0 -MAXSTEP=0 - -binary_exists() { - if ! command -v $1 &> /dev/null - then - cat <&2 -Usage: $0 [OPTIONS] file.ept -Options: - -s Simulate node - -t Simulate in text mode - -g Simulate in graphical mode (hepts) - -m Stop after steps in text mode - -c Check for required tools and terminate - -v Print internal information -EOF -} - -info() { - if [ $VERBOSE -ne 0 ]; then echo $1; fi -} - -warn() { - echo -e "\e[93m$1\e[0m" >&2 -} - -die() { - echo -e "\e[31m$1\e[0m" >&2 - exit 1 -} - -cmd() { - if [ $VERBOSE -ne 0 ]; then echo $1; fi - command $1 -} - -# Entry point - -VERBOSE=0 -if ! command -v hepts &> /dev/null -then - GRAPHICAL=0 -else - GRAPHICAL=1 -fi - -NODES="" - -while getopts "cvs:htgm:" OPT -do - case "${OPT}" in - v) - VERBOSE=1 - ;; - s) - NODES="${NODES} ${OPTARG}" - ;; - t) - GRAPHICAL=0 - ;; - g) - GRAPHICAL=1 - ;; - h) - help - exit 0 - ;; - c) - binary_exists "realpath" "brew install coreutils" - binary_exists "gcc" "use the package manager of your Linux distro" - binary_exists "heptc" "opam install heptagon" - binary_exists "hepts" "opam install lablgtk heptagon" - echo "All tools seem to be available, $0 ready to run simulations" - exit 0 - ;; - m) - MAXSTEP=$(expr ${OPTARG}) - ;; - ?) - help - ;; - esac -done -shift $((OPTIND-1)) - -if [ $# -lt 1 ] -then - help - exit 1 -fi - -if [ $GRAPHICAL -eq 1 ] -then - binary_exists "hepts" "opam install lablgtk heptagon" -fi -binary_exists "heptc" "opam install heptagon" -binary_exists "gcc" "use the package manager of your Linux distro" -binary_exists "realpath" "brew install coreutils" - -CDIR=`pwd` -FILE=$1 -TMPDIR=`mktemp -d` -BASENAME=`basename $1 .ept` -MOD="$(tr '[:lower:]' '[:upper:]' <<< ${BASENAME:0:1})${BASENAME:1}" -BIN=$BASENAME.bin - -info "Entering temporary dir $TMPDIR" - -cp $FILE $TMPDIR -cd $TMPDIR - -if [ "$NODES" = "" ]; then - warn "No node specified. In $FILE, there is:" - egrep -oh '(node|fun) *(\w+)' "$FILE" -fi - -for NODE in $NODES -do - info "Simulating node $NODE in $FILE" - - if [ $GRAPHICAL -eq 1 ] - then - cmd "heptc -target c -s $NODE -hepts $FILE" - else - cmd "heptc -target c -s $NODE $FILE" - fi - if [ $? -ne 0 ]; then exit 1; fi - - DIRN=${BASENAME//-/lex45_}_c - [ -d ${DIRN} ] || die "Could not find directory ${DIRN}" - - cd ${DIRN} - cmd "gcc -I `heptc -where`/c *.c -o ../$BIN" - if [ $? -ne 0 ] - then - die "Could not compile the generated C code in $TMPDIR" - fi - cd .. - - info "Running simulation of $NODE" - - if [ $GRAPHICAL -eq 1 ] - then - cmd "hepts -mod $MOD -node $NODE -exec "`realpath $TMPDIR/$BIN`"" - else - cmd "`realpath $TMPDIR/$BIN` ${MAXSTEP}" - fi - if [ $? -ne 0 ]; then die "Could not simulate node $NODE"; fi -done -info "Finished simulation" diff --git a/tools/hept-plot b/tools/hept-plot deleted file mode 100755 index c8846ce..0000000 --- a/tools/hept-plot +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env python - -import os, sys, tempfile - -try: - import matplotlib.pyplot as plt - import numpy as np - import pandas as pd -except ImportError as e: - print("You need to install the Python packages matplotlib and pandas") - print("e.g., `pip install --user matplotlib pandas`") - sys.exit(1) - -(_, tracefile) = tempfile.mkstemp(suffix = ".csv") -print("hept-plot: saving trace to {}".format(tracefile)) -os.system("HEPT_TRACE=\"{}\" {}".format(tracefile, " ".join(sys.argv[1:]))) - -try: - trace = pd.read_csv(tracefile) - trace = trace.loc[:, ~trace.columns.str.contains('^Unnamed')] - trace.plot(kind = 'line') - plt.legend(loc = 'upper left') - plt.show() -except pd.errors.EmptyDataError: - print("hept-plot: nothing to plot") - sys.exit(0) diff --git a/tp/README.md b/tp/README.md deleted file mode 100644 index c1b5140..0000000 --- a/tp/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# Travaux pratiques - -Les séances de travaux pratiques se structurent en deux blocs. - -Dans un premier temps, nous allons prendre en main le langage synchrone -[Heptagon](https://gitlab.inria.fr/synchrone/heptagon) à travers des exercices -de programmation. Les exercices en question se trouvent dans les fichiers -TP-XX.pdf - -Dans un second temps, les séances de travaux pratiques serviront de soutien à la -réalisation du projet. - -Si vous rencontrez des difficultés pour installer Heptagon sur votre ordinateur, -veuillez vous référer à la section ci-dessous. - -## Installation d'Heptagon - -La façon la plus simple d'installer Heptagon sur votre machine est via OPAM, le -gestionnaire de paquets OCaml. L'installation de la bibliothèque graphique -LablGTK, qui permet d'obtenir le simulateur graphique `hepts`, est fortement -recommandée. - -`` -opam install lablgtk heptagon -`` - -Pour installer OCaml et OPAM, référez-vous aux instructions de votre -distribution Linux. diff --git a/tp/TP01.pdf b/tp/TP01.pdf deleted file mode 100644 index c1cc4ee..0000000 Binary files a/tp/TP01.pdf and /dev/null differ diff --git a/tp/TP02.pdf b/tp/TP02.pdf deleted file mode 100644 index 4fb2200..0000000 Binary files a/tp/TP02.pdf and /dev/null differ diff --git a/tp/TP03.pdf b/tp/TP03.pdf deleted file mode 100644 index f0c0a0b..0000000 Binary files a/tp/TP03.pdf and /dev/null differ