~ ENSEIGNEMENTS ~

    Vous trouverez sur cette page un descriptif sommaire des cours et TP que j'ai encadré durant les années scolaires 2004/2005, 2005/2006 et 2006/2007. Tous les énoncés de TP et supports de cours sont téléchargeables sur cette page. Pour plus d'informations (code source,...) n'hésitez pas à me contacter directement.
Cours magistraux
2006
2007




 

 

 

 

 

 


Introduction aux méthodes formelles et à la programmation réactive : application au langage synchrone Lustre (INSA,ENSA,DESS).

Ce cours a été présenté aux étudiants de 5ème année à l'INSA (Toulouse), aux étudiants de DESS CAMSI (Master Pro - Toulouse) et aux étudiants de l'ENSA (Marrakech) pendant les années scolaires 2005/2006 et 2006/2007. (40 heures de cours au total). Ce cours ayant évolué au cours de ces trois années d'enseignement, nous ne présentons ici qu'une seule version (la dernière) de ce cours (polycopié et transparents de la présentation). Quelques erreurs de typograpophie restent dans ces présentations. Celles-ci devraient être corrigées quand le temps le permettra !

Contenu du cours : Ce cours présente les notions de bases des méthodes formelles. Après avoir introduit la notion de modèle formel (langage basé sur une syntaxe et une sémantique formelle) et de technique formelle (association d'un langage formel et d'un système de preuve), ce cours présente de manière simplifiée les bases de la preuve formelle, en particulier avec la notion de model-checking permettant la vérification de propriétés (sûreté) décrites dans une logique temporelle. Suite à cette présentation, ce cours introduit la notion de programmation réactive suite à un bref rappel de la programmation temps-réel. En particulier, la notion de langage synchrone et le paradigme du synchronisme fort sont exposés. Une fois les notions de technique formelle, preuve, programmation réactive et synchronisme introduit, une présentation du langage Lustre (et en moindre mesure du langage asynchrone Esterel) est proposée avec de nombreux exemples.

Travaux Pratiques (TP) et examens
2009 2010



Technologie Objet (13 TP de 2h). Travaux pratiques donnés aux éleves de 1ère année ENSEEIHT.

Contenu : Programmation Java (JDK, classes et objets, méthode et constructeurs, relations entre classes, interfaces, programmation par contrats, généricité, Spécialisation/Généralisation, classes abstraites, héritage multiple, réutilisation, exceptions, polymorphisme et généricité, classes internes, modèles de cycle de vie, UML, JUnit, Java Modeling Language, bibliothèque Java-Swing, GUI et programmation événementielle, Modèle Vue Contrôleur).

2009 2010



Outils pour le Génie Logiciel (7 TP de 2h). Travaux pratiques donnés aux éleves de 1ère année ENSEEIHT.

Contenu : Paquetages, archives et CLASSPATH, Outil de trace (Log4J), automatisation avec ANT, Eclipse, respect des normes de codage et calcul de métriques, couverture de tests, outils UML, gestion de configuration avec CVS , construction d'interface graphique avec NetBeans.

2007



 

 

 

 

 

 

 

 



Programmation temps réel sous VxWorks (Tornado) - Programmation asynchrone d'un bras manipulateur deux axes.(INSA) (9h). Travaux pratiques donnés aux éleves de 4ème année INSA (4RT) en collaboration avec Laurent Chenu.

Contenu : Conception (SADT) et développement C temps réel (noyau VxWorks) sous tornado d'un bras manipulateur 2 axes. Test sur cible.

présentation
 
Enoncé du TP
Support TP-conception
Mémo VxWorks
 
2007
2006
2005

 

 

 



TP programmation synchrone : Commande d'un bras manipulateur 2 axes (SUPAERO,INSA,DESS). Travaux pratiques donnés aux étudiants de 5ème année INSA (5TRS) en collaboration avec Nil Geisweiler en 2004/2005 et Julien Forget en 2006/2007, aux étudiants de 3ème année à SUPAERO et aux étudiant de DESS CAMSI. Au total sur les trois années : 100 heures de TP.

Contenu : Programmation en Lustre du système de contrôle-commande d'un bras manipulateur 2 axes. Génération de code C à partir du code Lustre et intégration C sous l'environnement Tornado. Test sur cible VxWorks.

Enoncé du TP
Rappels Lustre
Examens
2007
2006
2005

 


 

 

 

 

 

 

 


TP programmation synchrone : Commande d'un robot Lego Mindstorms.TPs donnés aux étudiants de DESS CAMSI à l'INSA.

Contenu : Programmation Lustre d'un robot lego de type mindstorms équipé de deux chenilles pour le déplacement et de deux capteurs frontaux à gauche et à droite. Ce TP nécessite l'installation d'un compilateur C pour le noyau du robot (BrickOS). Une fois le code Lustre de la partie controle du système établi, un code C est généré puis compilé pour BrickOS. Enfin le code peut être testé sur la cible.

Enoncé du TP
Rappels Lustre
Examens
2006
2007

 

 

 

 

 


TP programmation synchrone : Commande d'une roue inertielle. TP donnés aux étudiants de 3ème année SUPAERO. (15h sur les deux années 2005/2006 et 2006/2007)

Contenu : Programmation en Lustre du système de contrôle-commande d'une roue inertielle pour le positionnement de satellites. Génération de code C à partir du code Lustre et intégration C sous l'environnement Tornado. Tests sur cible VxWorks.

Enoncé du TP
Rappels Lustre
Mémo VxWorks
2007

 

 

 


TP Lustre (ENSA): prise en main du langage Lustre. Utilisation du prover Lezard. TP donnés aux étudaints de 5ème année ENSA. (Marrakech) (12h)
Enoncé du TP
Rappels Lustre