[chore] projet structure
2
AUTEURS
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
BATISTA CARDOSO,TIAGO,tiago.batista-cardoso@etu.u-paris.fr
|
||||||
|
nom2,prenom2,email2
|
||||||
69
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.
|
Le [sujet](sujet/sujet-projet.pdf) contient tous les détails.
|
||||||
|
|
||||||
### 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/).
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 703 KiB After Width: | Height: | Size: 703 KiB |
|
Before Width: | Height: | Size: 703 KiB After Width: | Height: | Size: 703 KiB |
|
Before Width: | Height: | Size: 703 KiB After Width: | Height: | Size: 703 KiB |
|
Before Width: | Height: | Size: 703 KiB After Width: | Height: | Size: 703 KiB |
|
Before Width: | Height: | Size: 703 KiB After Width: | Height: | Size: 703 KiB |
|
Before Width: | Height: | Size: 703 KiB After Width: | Height: | Size: 703 KiB |
|
Before Width: | Height: | Size: 703 KiB After Width: | Height: | Size: 703 KiB |
|
Before Width: | Height: | Size: 703 KiB After Width: | Height: | Size: 703 KiB |
|
Before Width: | Height: | Size: 703 KiB After Width: | Height: | Size: 703 KiB |
|
Before Width: | Height: | Size: 703 KiB After Width: | Height: | Size: 703 KiB |
|
Before Width: | Height: | Size: 698 KiB After Width: | Height: | Size: 698 KiB |
|
Before Width: | Height: | Size: 698 KiB After Width: | Height: | Size: 698 KiB |
|
Before Width: | Height: | Size: 698 KiB After Width: | Height: | Size: 698 KiB |
|
Before Width: | Height: | Size: 698 KiB After Width: | Height: | Size: 698 KiB |
|
Before Width: | Height: | Size: 698 KiB After Width: | Height: | Size: 698 KiB |
|
Before Width: | Height: | Size: 703 KiB After Width: | Height: | Size: 703 KiB |
|
Before Width: | Height: | Size: 696 KiB After Width: | Height: | Size: 696 KiB |
|
Before Width: | Height: | Size: 703 KiB After Width: | Height: | Size: 703 KiB |
|
Before Width: | Height: | Size: 703 KiB After Width: | Height: | Size: 703 KiB |
|
Before Width: | Height: | Size: 703 KiB After Width: | Height: | Size: 703 KiB |
|
Before Width: | Height: | Size: 698 KiB After Width: | Height: | Size: 698 KiB |
|
Before Width: | Height: | Size: 698 KiB After Width: | Height: | Size: 698 KiB |
|
Before Width: | Height: | Size: 698 KiB After Width: | Height: | Size: 698 KiB |
|
Before Width: | Height: | Size: 698 KiB After Width: | Height: | Size: 698 KiB |
|
Before Width: | Height: | Size: 698 KiB After Width: | Height: | Size: 698 KiB |
|
Before Width: | Height: | Size: 698 KiB After Width: | Height: | Size: 698 KiB |
|
Before Width: | Height: | Size: 698 KiB After Width: | Height: | Size: 698 KiB |
|
Before Width: | Height: | Size: 698 KiB After Width: | Height: | Size: 698 KiB |
|
Before Width: | Height: | Size: 698 KiB After Width: | Height: | Size: 698 KiB |
|
Before Width: | Height: | Size: 698 KiB After Width: | Height: | Size: 698 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
@@ -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.
|
|
||||||
@@ -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
|
|
||||||
44
logs.txt
Normal file
@@ -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
|
||||||
@@ -1 +0,0 @@
|
|||||||
Les [notes de cours](notes-de-cours-progsync.pdf) sont disponibles.
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
nom1,prenom1,email1
|
|
||||||
nom2,prenom2,email2
|
|
||||||
@@ -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.
|
|
||||||
@@ -4,6 +4,6 @@ open Globals
|
|||||||
node controller(sens : sensors; iti : itielts)
|
node controller(sens : sensors; iti : itielts)
|
||||||
returns (rspeed : wheels; arriving : bool)
|
returns (rspeed : wheels; arriving : bool)
|
||||||
let
|
let
|
||||||
rspeed = { left = 0.0; right = 0.0 };
|
rspeed = { left = 00.0; right = 100.0 };
|
||||||
arriving = false;
|
arriving = false;
|
||||||
tel
|
tel
|
||||||