Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | |||
formations:masters:ue:m2:psy9 [2023/04/21 09:17] – supprimée - modification externe (Unknown date) 127.0.0.1 | formations:masters:ue:m2:psy9 [2023/04/21 09:17] (Version actuelle) – ↷ Page déplacée de formations:masters:cours:m2:psy9 à formations:masters:ue:m2:psy9 treinen | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ~~NOTOC~~ | ||
+ | ---- | ||
+ | |||
+ | ====== Programmation synchrone ====== | ||
+ | |||
+ | ===== Description ===== | ||
+ | |||
+ | Ce module offre une introduction à la programmation de systèmes informatiques en | ||
+ | interaction continue avec un environnement extérieur, les systèmes réactifs, par | ||
+ | le biais de langages de programmation spécialisés, | ||
+ | |||
+ | Le cours utilise comme véhicule le langage Heptagon, variante libre du logiciel | ||
+ | SCADE utilisé dans l' | ||
+ | contexte critique. Heptagon est utilisé pour les séances de travaux pratiques et | ||
+ | la réalisation d'un projet. | ||
+ | |||
+ | À la fin du module, vous : | ||
+ | * saurez reconnaı̂tre les systèmes réactifs qui vous environnent, | ||
+ | * connaı̂trez les principaux problèmes soulevés par la conception et réalisation de systèmes réactifs, | ||
+ | * saurez écrire des programmes synchrones capable de contrôler des dispositifs non triviaux, | ||
+ | * serez familiarisés avec les mathématiques des systèmes réactifs, y compris des rudiments d’automatique appliquée, | ||
+ | * aurez une idée du fonctionnement général d’un compilateur de langage synchrone. | ||
+ | |||
+ | ===== Syllabus ===== | ||
+ | |||
+ | ==== Sujets centraux ==== | ||
+ | |||
+ | * Introduction aux systèmes réactifs | ||
+ | * Le langage synchrone Heptagon | ||
+ | - Programmation flots de données, programmes causaux et non causaux | ||
+ | - Structures de contrôle et automates hiérarchiques | ||
+ | - Structures de données, tableaux, ordre supérieur | ||
+ | * Applications | ||
+ | - Traitement audio en temps réel | ||
+ | - Automatique élémentaire (pendule inversé) | ||
+ | * Implémentation des langages synchrones | ||
+ | - Analyse de causalité | ||
+ | - Génération de code en boucle simple | ||
+ | |||
+ | ==== Sujets potentiellement traités ==== | ||
+ | |||
+ | * Introduction aux systèmes hybrides (temps discret/ | ||
+ | |||
+ | ===== Pré-requis ===== | ||
+ | |||
+ | * Le module suppose une familiarité avec la programmation en général et le développement sous environnement UNIX en particulier. | ||
+ | * La connaissance d’un langage fonctionnel comme OCaml ou Haskell est la bienvenue, sans être obligatoire. | ||
+ | |||