La méthode DARTS et la programmation multitâche en LabVIEW. Khanh Hieu NGO, Emmanuel GROLLEAU LISI/ENSMA

Documents pareils
Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

UN PROCEDE DE SUPERVISION ET TELESURVEILLANCE A DISTANCE : UN OUTIL PEDAGOGIQUE FAVORISANT L INITIATION AU TRAVAIL DE GROUPE

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Initiation à LabView : Les exemples d applications :

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Cours A7 : Temps Réel

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Projet Active Object

Formation des enseignants. Le tensiomètre. Objet technique modélisable issu de l environnement des élèves

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

Introduction au temps réel

PROJET ALGORITHMIQUE ET PROGRAMMATION II

Cours de Génie Logiciel

Projet CoDrive : utilisation des données de véhicules communicants, intégration avec un système de gestion de trafic (119)

Utilisation d une tablette numérique 01 Initiation à l utilisation de l ipad

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Algorithmique avec Algobox

TP Protocoles SMTP et POP3 avec Pratiquer l algorithmique

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Problèmes liés à la concurrence

Petit guide pratique de dépannage du système d alerte centralisée (modèles de 1980 à 1988)

Bien programmer. en Java ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.

Exécutif temps réel Pierre-Yves Duval (cppm)

Développement itératif, évolutif et agile

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

QUELQUES ÉLÉMENTS DU DÉVELOPPEMENT LOGICIEL

Cours A7 : Temps Réel

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

Programmation parallèle et distribuée

PG208, Projet n 3 : Serveur HTTP évolué

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

Concours EPITA 2009 Epreuve de Sciences Industrielles pour l ingénieur La suspension anti-plongée de la motocyclette BMW K1200S

Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

BI2 : Un profil UML pour les Indicateurs Décisionnels

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique

Machines virtuelles Cours 1 : Introduction

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

E/ECE/324/Rev.1/Add.12/Rev.7/Amend.4 E/ECE/TRANS/505/Rev.1/Add.12/Rev.7/Amend.4

Traduction des Langages : Le Compilateur Micro Java

1- Enregistrer le nouveau planning

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21

Document d accompagnement pour l utilisation du Cartable en ligne Lycée des Métiers Fernand LÉGER 2013/2014

Générer du code à partir d une description de haut niveau

1 Mesure de la performance d un système temps réel : la gigue

Introduction aux systèmes temps réel. Iulian Ober IRIT

Programmation graphique des applications de contrôle-commande

1 - Se connecter au Cartable en ligne

Cours en ligne Développement Java pour le web

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Projet Robot Centaure

Analyse,, Conception des Systèmes Informatiques

Brique BDL Gestion de Projet Logiciel

L enseignement de méthodes agiles dans un contexte d apprentissage actif

Programmation sous QT

Un tempo de Reel sur un rythme de Java

La gestion des boîtes aux lettres partagées

Capteurs de vitesse de rotation de roue ATE

Analyse du temps de réponse des systèmes temps réel

RTDS G3. Emmanuel Gaudin

IFT2255 : Génie logiciel

Journée Développeurs LabVIEW

Ordonnancement temps réel

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Algorithme. Table des matières

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Initiation à Mendeley AUT2012

FLEX 3. Applications Internet riches avec Flash ActionScript 3, MXML et Flex Builder. Aurélien Vannieuwenhuyze

La Certification de la Sécurité des Automatismes de METEOR

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

4.2 Unités d enseignement du M1

Conseils pour les personnes âgées qui achètent un véhicule

Qualité du logiciel: Méthodes de test

Cahier des charges (CDC)

Programme de la 1ère année

ASR1 TD7 : Un microprocesseur RISC 16 bits

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Création d une application Android (APPInventor)

PNTS. L informatique au Service de l Assurance et de la Prévoyance

Etude et développement logiciel Exemples de réalisation

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

ÉTUDE SUR L EFFICACITÉ DES PNEUS D HIVER EN ÉTÉ RÉALISÉE PAR CAA-QUÉBEC

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Informations sur l utilisation du webmail du CNRS. Webmail du CNRS. Manuel Utilisateur

Programmation Objet - Cours II

Education Delivery Intelligent Tool

5TC Projet Innovant Management de Projet. Comment bien dormir. TELECOMMUNICATIONS, SERVICES ET USAGES

LOGICIEL DE GESTION DE DOCUMENTS PDF : PROJET INFO 1

Transcription:

La méthode DARTS et la programmation multitâche en LabVIEW Khanh Hieu NGO, Emmanuel GROLLEAU LISI/ENSMA

Plan de la présentation Systèmes temps réel Problématique Cycle de vie Méthodes de spécification/conception SA/RT DARTS Implémentation de systèmes temps réel Comparaison de différents langages de programmation Outils LabVIEW pour le temps réel La bibliothèque DARTSVIEW Perspectives

Introduction au temps réel Correction algorithmique Correction temporelle

Systèmes temps réel Procédé Cahier des charges Spécification Tâche 1 Tâche 2 R 1 m 1 Découpage en tâches Tâche 3 Contraintes temporelles

Cycle de vie d un système temps réel Spécification (SA-RT, UML ) Conception (DARTS, ) Validation temporelle (WCET, ordonnancement) Tests d'intégration Implémentation Tests unitaires (Ada, C, LabVIEW, )

Système exemple: freinage ABS (version académique) Demande freinage Acquérir Niveau demande freinage freinage Conducteur 1 Pas de Demande freinage Mise en marche Pédale de frein E/D freinage Activation E/D Lire ABS T Contrôler Commande bouton ABS ABS activé Contrôler freinage freinage Bouton activation 2 ABS le système 6 ABS non activé E/D Activation de freinage ABS E/D 0 Affichage ABS Freinage Glissement Détecter Pas de Capteur Glissement glissement Glissement glissementroue glissement roue roue 3 Mise en marche Commander freinage 4 Commande freinage Système de freinage Afficher Voyant état bouton ABS actif ABS Affichage 5 ABS

Eléments d un diagramme DARTS Tâche Module de données Evénement (interruption_it, gestion de temps_htr...) Boîte aux lettres (Bal) Synchronisation Rendez-vous

Conception DARTS HTR (100 ms) Niveau freinage Demande freinage Acquérir demande freinage Contrôler freinage Commande freinage État glissement État demande ABS LIRE LIRE ÉCRIRE ÉCRIRE HTR (150 ms) HTR (1000 ms) Glissement roue Acquérir glissement Activation ABS Lire et afficher demande ABS Affichage ABS

LabVIEW: un langage pour le multitâche Tâche DARTS Synchronisation Communication Gestion du temps Module de données Rendez-vous C Tâche Sémaphore Queue Delay LabVIEW Boucle Sémaphore Queue/ RT FIFO Delay, delay until vi non réentrants rendez-vous ADA Tâche Objets protégés Delay, delay until Rendez-vous

Tâches Tâche périodique indépendante HTR Tâches périodiques non communicantes

Synchronisation T1 HTR T1 T2 T2

Taxonomie des modes de communication Boîte aux lettres Bornée Non bornée (non bloquante en écriture) Avec écrasement (non bloquante en écriture) Sans écrasement (bloquante en écriture) De taille 1 sans donnée =>synchronisation Si la boîte aux lettres est non bloquante en lecture (i.e. si aucune nouvelle donnée, l ancienne donnée est lue), c est un module de données Rendez-vous (mais avec paramètres) -> peu utilisé car difficile à valider -> on recommandera l utilisation de 2 boîtes aux lettres

Communication par boîtes aux lettres: sans écrasement Non bornée (sans écrasement) ou bien bornée et bloquante en écriture queue

Communication par boîtes aux lettres : avec écrasement Bornée avec écrasement RT FIFO La RT FIFO est non bloquante en lecture

Communication par module de données HTR HTR T1 T2 Lire Ecrire M T1 VI non réentrant et registre à décalage M T2

La bibliothèque DARTSVIEW Synchronisation par Sémaphore Module d'encapsulation de données BAL non-bloquante BAL classique Polymorphisme Type (BAL classique) Polymorphisme Type (BAL non-bloquante)

Utilisation de DARTSVIEW

Conclusion & Perspectives DARTSVIEW permet simplement d implémenter à partir de la conception Utilisé en TP cette année Génération de code presque opérationnelle (C, Ada, niveau méta) Même si le langage cible est Ada ou C, facilite le cycle de vie de la Conception aux tests d intégration Spécification Conception préliminaire (SA-RT) (DARTS VIEW) Validation temporelle (LabVIEW RT) (LabVIEW) Test d'intégration Validation temporelle (DARTS VIEW) Conception détaillée (LabVIEW) Tests unitaires (LabVIEW) Conception détaillée (ADA ou C) Tests unitaires Codage (LabVIEW) Codage (ADA ou C)