UML pour le temps-réel et l embarqué



Documents pareils
IFT2255 : Génie logiciel

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

Analyse,, Conception des Systèmes Informatiques

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

UML (Paquetage) Unified Modeling Language

Ingénierie des Modèles. Méta-modélisation

Extensions à la formation. Laurent Pérochon, avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

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

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier

Description de la formation

CC30 Certificat de compétence Conception, développement et animation de sites Web

Université de Bangui. Modélisons en UML

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Cours STIM P8 TD 1 Génie Logiciel

Génie Logiciel Orienté Objet UML

RTDS G3. Emmanuel Gaudin

Introduction au génie logiciel

UML (Diagramme de classes) Unified Modeling Language

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

Diagrammes de Package, de déploiement et de composants UML

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

Conception, architecture et urbanisation des systèmes d information

Cours en ligne Développement Java pour le web

Classeur de suivi de l auditeur. Architecture et Ingénierie des Systèmes et des Logiciels

Ordonnancement temps réel

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

Chapitre I : le langage UML et le processus unifié

Cours de Génie Logiciel

Introduction au temps réel

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML.

Synthèse d une conception UML temps-réel à partir de diagrammes de séquences

Conception des systèmes répartis

3. UML - Unified Modeling Language Diagrammes statiques

Vérifier la qualité de vos applications logicielle de manière continue

Rational Unified Process

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

Refonte front-office / back-office - Architecture & Conception -

ACTIVITÉ DE PROGRAMMATION

UML est-il soluble dans les méthodes agiles?

Modélisation de Lignes de Produits en UML *

Programmation temps-réel Cours 1 et 2 Introduction et ordonnancement

Le Guide Pratique des Processus Métiers

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

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

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Nom de l application

Business Process Modeling (BPM)

Synergies entre Artisan Studio et outils PLM

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

MEAD : temps réel et tolérance aux pannes pour CORBA

En vue de l obtention du. Discipline : Informatique. Présentée et soutenue par Mohamed HADJ KACEM. Le Jeudi 13 Novembre 2008

Eclipse Process Framework et Telelogic Harmony/ITSW

Le génie logiciel. maintenance de logiciels.

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

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

Objectif du cours. Outline. Complexité des systèmes modernes. La modélisation et UML dans les activités du Génie Logiciel...

Patrons de Conception (Design Patterns)

Génie Logiciel Avancé Cours 3 Le modèle à objets

Réussir la modélisation UML des phases amont Techniques de «pré-modélisation» : un pont vers le modèle

CONCEPTION DE PROJET SIG AVEC UML

UML 2.0. (IUT, département informatique, 1 re année) Laurent AUDIBERT

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

SECTION 5 BANQUE DE PROJETS

M1 : Ingénierie du Logiciel

Chapitre 5 Vision Informatique Logique Architectures Applicative et Logicielle

Architecture d'entreprise : Guide Pratique de l'architecture Logique

GL Le Génie Logiciel

CNAM cours NFE107 : Urbanisation et architecture des SI Xavier Godefroy, Rapport sur le BPM, mai Le BPM

Sommaire. Conduite de projet Méthode d analyse et de conception. Processus unifié. Objectifs d un processus de développement

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Analyse par Objets. avec UML (Unified Modeling Language) Pr. Jean-Marc Jézéquel IRISA - Univ. Rennes I

Développement d un interpréteur OCL pour une machine virtuelle UML.

OCL - Object Constraint Language

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur Le 23 novembre 2012

Modèles système, modèles logiciel et modèles de code dans les applications spatiales

Les diagrammes de modélisation

Formation : Modélisation avec UML 2.0 et Mise en pratique

Profil UML pour TLM: contribution à la formalisation et à l automatisation du flot de conception et vérification des systèmes-sur-puce.

4.2 Unités d enseignement du M1

BI2 : Un profil UML pour les Indicateurs Décisionnels

Besoins utilisateurs. Quelle démarche pour passer des besoins au code? Code. chapitre1 UNIFIED MODELING LANGUAGE. package LogiqueMetier.

Chapitre VI- La validation de la composition.

Chapitre 2 - Architecture logicielle et construction d applications client-serveur

Prise en compte des ressources dans les composants logiciels parallèles

NFP111 Systèmes et Applications Réparties

Systèmes d information et bases de données (niveau 1)

MASTER 2 PROFESSIONNEL. Génie Logiciel, Logiciels Répartis et Embarqués

ANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational

Utilisation de SysML pour la modélisation des réseaux de capteurs

REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION

Conception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA (d'après A.-M. Hugues) màj 17/04/2007

Évaluation et implémentation des langages

Une architecture pour les transformations de modèles et la restructuration de modèles uml

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Visual Paradigm Contraintes inter-associations

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

Transcription:

UML pour le temps-réel et l embarqué 1

Plan du cours Introduction Rappels d UML Les designs patterns pour le temps-réel Les apports de la nouvelle norme UML 2.0 Les profils UML dédiés aux SETR Les méthodologies de développement des SETR basées sur UML Les outils de développement UML pour les SETR Conclusion 2

Introduction Les contraintes de modélisation pour le temps-réel - Résultat fourni dans le respect des contraintes temporelles (échéances) - Pseudo-concurrence (monoprocesseur) et concurrence réelle (multiprocesseur) - Ordonnancement des activités périodiques / apériodiques - Partage de ressources - Prédictibilité, ordonnançabilité et déterminisme - Tolérance aux fautes et sûreté de fonctionnement 3

Introduction Les contraintes de modélisation pour l embarqué - Fiabilité - Sécurité - Modularité - Spécificité (support hardware) - Encombrement -Energie - Coût 4

Introduction Avantages de la modélisation objet - Consistance des vues du modèle - Abstraction adaptée au domaine du problème - Flexibilité accrue - Modularité - Réutilisation facilitée - Evolutivité aisée - Facilité pour le déploiement d applications 5

Rappels d UML UML : Unified Modeling Language - UML est un langage graphique pour la conception objet, utilisé pour : - UML offre :. - spécifier - visualiser - construire - documenter - une représentation indépendante de tout langage de programmation et de toute méthode de développement - une analyse de besoins - un support de modélisation du comportement - UML a été accepté comme standard par l OMG (Object Management Group) en 1997 6

Rappels d UML UML : l historique 7

Rappels d UML UML : objets, classes et interfaces -Un objet est une entité d exécution qui occupe de la mémoire à un moment donné dans le temps (instance de classe) - possède un comportement (méthodes) - possède des données (attributs) - Une classe est un concept qui définit la structure et le comportement d un ensemble d objets créés à l exécution - spécifie un comportement (méthodes) - spécifie des données (attributs) - Une interface est un concept qui spécifie les messages qu une classe reçoit - possède seulement un comportement (opérations) 8

Rappels d UML UML : les diagrammes - UML 1.4 comporte 9 types de diagrammes : Diagramme de séquence Diagramme d activité Diagramme d état-transition Diagramme des cas d utilisation Diagramme de collaboration MODELE Diagramme de classe Diagramme de déploiement Diagramme d objets Diagramme de composants 9

Rappels d UML Diagramme des cas d utilisation Se déplacer Ecouter de la musique GARAGISTE Téléphoner CONDUCTEUR Faire la vidange Changer les bougies - Comment spécifier des contraintes temporelles? «Lorsque l acteur CONDUCTEUR envoie une commande ClignotantDroit, le temps de réponse du système ne doit pas excéder 10ms» 10

Rappels d UML Diagramme de séquence : Appelant : Ligne téléphonique Décroche Tonalité Numérotation : Appelé Indication de sonnerie Décroche Sonnerie Allô - Spécification temporelle sur un diagramme de séquence : Délai de propagation? : O 1 : O 2 m1 Spécification informelle! <1 sec. m2 11

Rappels d UML Diagramme d activité Client Serveur EntreResto AttenteClient AttenteTable [Resto complet] [tables libres] PrendTable Commande PrendsCommande et sert Mange Attend facture Paie et sort 12

Rappels d UML Diagramme d état-transition Disponible éteindre AppuyerTouche EnMarche termine Non-déterministe car traité comme tous les autres événements! - Spécification temporelle sur un diagramme d état-transition : TimeEvent Spécification de temps relatif : after (10 ms) / action-list Etat 1 Etat 2 Spécification de temps absolu : when (t=now+10s) / action-list Etat 1 Etat 2 13

Rappels d UML Diagramme de collaboration : Ascenseur : Cabine 1 : Monter 3 : Fermer 2 : Allumer : Porte : Lumière Un objet Ascenseur envoie un message Monter à un objet Cabine, puis l objet Cabine envoie un message Allumer à un objet Lumière, et enfin Cabine envoie un message Fermer à un objet Porte. 14

Rappels d UML Diagramme de classes AD_Convert 1 Capteur 1 * contrôleur 1 * Actionneur controlregister controlregister CapteurPression valve CapteurTemperature MoteurPas 15

Rappels d UML Diagramme d objets Fenêtre 1 1 2 Ascenseur : Fenêtre : Zone de dessin : Ascenseur 1 Zone de dessin : Ascenseur Diagramme de classes Diagramme d objetsd 16

Rappels d UML Diagramme de composants <<file>> Contrôleur_machine.h <<file>> Contrôleur_machine.c <<Exécutable>> Contrôleur_machine.exe 17

Rappels d UML Diagramme de déploiement <<RS-232>> 1 PC <<Processeur>> 1 * Console Imprimante <<dispositif>> 1 1 * Robot * 18

Rappels d UML Utilisation des modèles UML Modèle Exemple d utilisation Nature Use case Expression du besoin Dynamique Classe Modèle conceptuel, modèle de données, Statique organisation Séquence Exemple de fonctionnement Dynamique Collaboration Coopération entre objets Dynamique Explication d architecture Etat/transition Dynamique de fonctionnement Dynamique Activité Workflow, Dynamique de fonctionnement Dynamique Composant Modèle physique, organisation des ressources Statique Déploiement Distribution, diagramme d architecture Statique 19

Rappels d UML Classification échelle des diagrammes (B. P. DOUGLASS) - Modélisation medium scale : Diagramme de classe et d objets Diagramme de séquences Diagramme statechart Modélisation large scale : Diagramme d utilisation Diagramme de package Diagramme de déploiement Modélisation small scale : Diagramme d activité 20

Rappels d UML Faiblesses générales d UML 1.4 - Manque de sémantique formelle - Multiplicité des modèles : nombre écrasant de diagrammes et de symboles - Peu de relations bien définies entre les diagrammes d un modèle - Pas de structure hiérarchique dans la composition des modèles - Implémentations du langage différentes selon les outils 21

Rappels d UML Faiblesses d UML 1.4 vis-à-vis du temps-réel - Manque de concepts pour exprimer les contraintes et propriétés temps-réel - période, échéance, date de réveil, durée d exécution, priorité, laxité - Pas de structures de communication assez évoluées - ports, connecteurs, protocoles, sémaphores - Pas de techniques d ordonnancement proposées - Round-Robin, FCFS, RM, DM, EDF, LLF - Spécification de temps informelle 22

Les design patterns pour le temps-réel Les Design Patterns - Solution généralisée d un problème commun - Approche pour le reuse - Mécanismes paramétrables lors de la création d une collaboration Class name Package Class name Class name Class name Package Pattern Name - Un design pattern se décompose en 3 parties : - un contexte du problème - une approche généralisée de la solution - un ensemble de conséquences pour le design Class name 23

Les design patterns pour le temps-réel Design Patterns architecturaux (1) 24 Module ME1 : Ingénierie du logiciel Audrey Marchand 2005-2006

Les design patterns pour le temps-réel Design Patterns architecturaux (2) 25 Module ME1 : Ingénierie du logiciel Audrey Marchand 2005-2006

Les design patterns pour le temps-réel Execution Control Pattern 26

Les design patterns pour le temps-réel Static Allocation Pattern 27

Les design patterns pour le temps-réel Priority Ceiling Pattern 28

Les design patterns pour le temps-réel Watchdog Pattern : Watchdog : Channel Service Service Service Timeout Reset 29

Les design patterns pour le temps-réel Safety Executive Pattern 30

Les apports de la nouvelle norme 2.0 L UML 2.0 - Standard officiellement adopté en Juin 2003 lors d un meeting de l OMG - Origine : - 4 RFPs (Request For Proposals) émis par l OMG - Caractéristiques générales : - 4 documents de spécifications différents (au lieu d un seul) : - UML 2.0 Infrastructure - UML 2.0 Superstructure - UML 2.0 OCL - UML 2.0 Diagram Interchange - Approche de méta-modèles à 4 couches Scission entre le cœur du langage et les éléments de modélisation 31

Les apports de la nouvelle norme 2.0 4 documents de spécifications - UML 2.0 Infrastructure - Améliore l alignement d UML sur les autres standards de modélisation de l OMG - Rend UML plus facile à comprendre, implémenter et étendre - Améliore les mécanismes d extensibilité d UML - UML2.0 Superstructure - Supporte l ingénierie logicielle à base de composants - Clarifie les sémantiques de généralisation, dépendances et relations - Supporte l encapsulation dans la modélisation du comportement - UML 2.0 OCL - Définit un méta-modèle OCL (Object Constraint Language) consistant avec UML - UML 2.0 Diagram Interchange - Cible le problème de l échange des diagrammes 32

Les apports de la nouvelle norme 2.0 Approche de méta-modèles à 4 couches 33

Les apports de la nouvelle norme 2.0 UML 2.0 : les nouveaux diagrammes 34

Les apports de la nouvelle norme 2.0 Les diagrammes de modélisation structurelle (1) - Le diagramme de classes (peu modifié) : PC 1 Carte mère 1 Carte graphique 1 1 1 1 Carte USB 35 Module ME1 : Ingénierie du logiciel Audrey Marchand 2005-2006

Les apports de la nouvelle norme 2.0 Les diagrammes de modélisation structurelle (2) - Le diagramme de structure composite (nouveau diagramme) : PC Interface fournie Carte mère Carte graphique IKeybListener clavier clavier video Interface requise Carte USB video IDisplay usb usb Port Comportement IUSB_in IUSB_out 36

Les apports de la nouvelle norme 2.0 Les diagrammes de modélisation structurelle (3) - Le diagramme de paquetages (nouveau diagramme) : Interface Utilisateur Liste des chansons dépendance paquetage Playlist Playback Paiement 37

Les apports de la nouvelle norme 2.0 Les diagrammes de modélisation structurelle (4) - Le diagramme de composants (modifié) : - notation condensée : - notation intermédiaire : - notation avec le détail des interfaces : 38

Les apports de la nouvelle norme 2.0 Les diagrammes de modélisation structurelle (5) - Le diagramme de déploiement (peu modifié): 39

Les apports de la nouvelle norme 2.0 Les diagrammes de modélisation comportementale (1) - Le diagramme de séquence (modifié) : - avec contraintes de temps : sd choisirboisson :paiementcontrôleur :machinecontrôleur pièce(1) uneuro()/t1=now tea()/t2=now retourmonnaie() {t1..t1+5} {t2..t2+3} - avec alternative : sd paiementboisson :paiementcontrôleur :machinecontrôleur pièce(50) alt [valeurpièce==50] cinquantecent() pièce(1) else UnEuro() 40

Les apports de la nouvelle norme 2.0 Les diagrammes de modélisation comportementale (2) - Le diagramme de vue d ensemble des interactions (nouveau diagramme) : td machine_à_boisson sd choixboisson :machinecontrôleur alt thé() café() ref paiementboisson [timeout] 41 [paid]

Les apports de la nouvelle norme 2.0 Les diagrammes de modélisation comportementale (3) - Le diagramme de timing (nouveau diagramme) : sd contrbehavior :machinecontrôleur attente paiement {t2..t2+2} payé 1 préparation café 0 5 10 Vue compacte : sd contrbehavior :machinecontrôleur {t2..t2+2} attente paiement payé 1 préparation café 0 5 10 42

Les apports de la nouvelle norme 2.0 Application à la modélisation de tâches temps-réel Task A period = 20ms exec time = 6ms priority = élevée Task B period = 80ms exec time = 2ms priority = moyenne Task C period = 100ms exec time = 10ms priority = faible task_a task_b task_c 1 1 {task_a utilise la ressource durant 5ms} 1 DataClass 1 {task_c utilise la ressource durant 4ms} Tracer le diagramme de timing correspondant 43

Les profils UML dédiés aux SETR Profils UML : définition - Profil : Mécanisme d extension permettant d effectuer des extensions courantes sans avoir à modifier le langage de modélisation - Possibilité de réaliser des extensions limitées d UML pour l adapter à un domaine, une technologie ou une implémentation spécifiques - Un profil se compose de différents mécanismes d extensibilité : - des stéréotypes : nouveaux types d éléments de modèle fondés sur des types de modèles existants Borne «ethernet» Serveur - des contraintes : instructions textuelles de la relation sémantique Spectacle Nom : Chaîne {les noms pour une saison doivent être uniques} - des valeurs étiquetées : éléments d information désignés, attachés à un élément de modèle «réalisation» «réalisation» Programmation auteur = "Franck Martin" remise = 31 déc. 2005 44

Les profils UML dédiés aux SETR Les profils dédiés aux systèmes embarqués et au temps-réel - Profils adoptés par l OMG : - SPT : Schedulability, Performance and Time -QoS andft: QoS and Fault-Tolerant - Profils en cours de soumission : - MARTE :Modeling and Analysis of Real-Time and Embedded systems - TURTLE :Timed-UML RT-Lotos Environment -OMEGA : Modélisation et validation de systèmes temps-réel - Embedded UML : Approche pour le co-design hardware/software en temps-réel 45

Les profils UML dédiés aux SETR Le profil «Schedulability, Performance and Time» Origine - Premier d une série d appels à soumission (RFPs) dédiés au temps-réel - RFP émis en Mars 1999 : demande d «un paradigme basé sur UML pour la modélisation des aspects liés au temps, à l ordonnancement et à la performance dans les systèmes temps-réel» - Proposition initiale soumise en Août 2000 - Consortium : - ARTiSAN - Telelogic - I-Logix - TimeSys - Rational - Tri-Pacific Software - Standard adopté en Septembre 2001 46

Les profils UML dédiés aux SETR Le profil «Schedulability, Performance and Time» Objectifs de contenu - Méthodes considérées pour le profil : Analyse d ordonnançabilité Toutes les échéances temporelles du système seront-elles respectées? Analyse de performance Quel type de réponse le système fournira-t-il en fonction de la charge d exécution? - Aspects considérés pour les méthodes : - temps physique - spécifications temporelles - services et mécanismes temporels - ressources (logiques et physiques) - ordonnancement et concurrence - infrastructure logicielle et matérielle ainsi que leurs relations 47

Les profils UML dédiés aux SETR Le profil «Schedulability, Performance and Time» Structure 48

Les profils UML dédiés aux SETR Le profil «Schedulability, Performance and Time» Structure : partie normative Stéréotypes et valeurs étiquetées pour la modélisation des ressources et de la QoS Stéréotypes et valeurs étiquetées pour la modélisation de la concurrence Stéréotypes et valeurs étiquetées pour la modélistion du temps Stéréotypes et valeurs étiquetées pour l analyse d ordonnançabilité Extension du SAprofil Stéréotypes et valeurs étiquetées pour l analyse de performance 49

Les profils UML dédiés aux SETR Le profil «Schedulability, Performance and Time» La modélisation des ressources et de la QoS Ressource : élément dont la capacité de service est limitée, directement ou indirectement, par les capacités finies de l environnement d exécution physique sous-jacent Quality of Service (QoS) : spécification (généralement quantitative) de la manière selon laquelle un service est assuré (bande passante, temps de réponse ) 50

Les profils UML dédiés aux SETR Le profil «Schedulability, Performance and Time» Exemple d utilisation 51

Les profils UML dédiés aux SETR Le profil «Schedulability, Performance and Time» La modélisation du temps : vue générale 52

Les profils UML dédiés aux SETR Le profil «Schedulability, Performance and Time» La modélisation du temps : les stéréotypes (1) 53

Les profils UML dédiés aux SETR Le profil «Schedulability, Performance and Time» La modélisation du temps : les stéréotypes (2) - Les valeurs de temps peuvent être représentées par un stéréotype particulier de valeurs, appelé «RTtime», regroupant différents formats : - 12:04 (heure) - 5.3 ms (intervalle) - 07/12/2005 (date) - Wed (jour) - $param ms (valeur paramétrable) - poisson, 5.1 sec (valeur avec une distribution de Poisson) - histogram, 0, 0.3 1, 0.4 2, 0.3 (histogramme) 54

Les profils UML dédiés aux SETR Le profil «Schedulability, Performance and Time» La modélisation de la concurrence : vue générale 55

Les profils UML dédiés aux SETR Le profil «Schedulability, Performance and Time» La modélisation de la concurrence : les stéréotypes 56

Les profils UML dédiés aux SETR Le profil «Schedulability, Performance and Time» Le sous-profil d ordonnançabilité : vue générale 57

Les profils UML dédiés aux SETR Le profil «Schedulability, Performance and Time» Le sous-profil d ordonnançabilité : les stéréotypes (1) 58

Les profils UML dédiés aux SETR Le profil «Schedulability, Performance and Time» Le sous-profil d ordonnançabilité : les stéréotypes (2) 59

Les profils UML dédiés aux SETR Le profil «Schedulability, Performance and Time» Le sous-profil d ordonnançabilité : les stéréotypes (3) 60

Les profils UML dédiés aux SETR Le profil «Schedulability, Performance and Time» Exemple d utilisation 61

Les méthodologies de développement des SETR basées sur UML Les processus de développement pour les SETR - ROPES :Rapid Object-oriented Process for Embedded Systems - UML-RT (ROOM) :UML Real-Time (Real-time Object-Oriented Modeling) - ACCORD/UML : Ingénierie des modèles pour le développement de systèmes temps réel embarqués -UML/SDL: UML / Software Description Language 62

Les méthodologies de développement des SETR basées sur UML La méthodologie ROPES Le cycle de vie en V Il consiste à associer à chaque étape de conception une autre étape de test 63

Les méthodologies de développement des SETR basées sur UML La méthodologie ROPES Le cycle de vie ROPES 64

Les méthodologies de développement des SETR basées sur UML La méthodologie ROPES Les différentes étapes cycliques - Analyse - Analyse des besoins - Analyse du système - Architecture - Analyse objet - Conception - Conception architecturale - Conception mécaniste - Conception détaillée - Translation - Implémentation - Tests 65

Les méthodologies de développement des SETR basées sur UML La méthodologie ROPES La phase d analyse - Analyse des besoins - Identification des exigences et besoins du client - analyse au niveau des vues fonctionnelles du système Diagrammes d utilisation, de séquence, d état-transition - Analyse du système - Architecture - proposer une vision de l architecture fonctionnelle du système Diagrammes de composants, de déploiement - Analyse objet - identification des objets et des classes essentiels ainsi que leurs propriétés Diagrammes de classes, de collaborations, de séquence 66

Les méthodologies de développement des SETR basées sur UML La méthodologie ROPES La phase de conception - Conception architecturale - Identification et caractérisation des threads - définition des composants logiciels et leurs distributions - Application de «design patterns» pour la gestion des erreurs, de la sécurité Diagrammes de classes, d objets, de composants, de déploiement - Conception mécaniste - raffinement des objets (contrôleurs associés aux objets ) Diagrammes de collaborations, de classes, d objets - Conception détaillée - définition de la structure interne de chaque classe, message, opération Diagrammes de classes, de collaborations 67

Les méthodologies de développement des SETR basées sur UML La méthodologie ROPES Les phases de translation et de test - La phase de translation - implémentation - passage des modèles conceptuels au code concret - La phase de test - tests d intégration - tests de validation 68

Les méthodologies de développement des SETR basées sur UML La méthodologie ROPES Illustration 69

Les outils de développement UML pour les SETR Les outils du marché pour le développement des SETR (1) - Les outils propriétaires : - Rhapsody (UML 2.0) de chez I-Logix (http://www.ilogix.com) - Rational Rose Real-Time (UML-RT) de chez IBM (http://www.rational.com) - Real-Time Studio (ACCORD/UML) de chez ARTiSAN (http://www.artisansw.com) - Tau Generation 2 (UML/SDL) de chez Telelogic (http://www.telelogic.com) - Metamill (UML 2.0) de Metamill Software (http://www.metamill.com) - Visual Paradigm for UML (UML 2.0) de chez Visual Paradigm (http://www.visual-paradigm.com) 70

Les outils de développement UML pour des SETR Les outils du marché pour le développement des SETR (1) - Les outils open-source : - ArgoUML (UML 1.3) (http://www.argouml.tigris.org) - Poseidon (UML 1.3 / UML 2.0 partiel) (http://www.gentleware.com) - StarUML (UML 2.0 partiel) (http://www.staruml.com) 71

Conclusion Conclusion - UML 1.x ne possède pas de concepts de modélisation de contraintes et de propriétés temps-réel - Utilisation des design patterns pour le temps-réel - UML 2.0 permet de modéliser des contraintes et des propriétés temps-réel mais la norme reste un peu juste - Le profil SPT offre des constructions pour modéliser différents aspects des systèmes temps-réel (ressources, temps, ordonnancement, performance, etc.) focalisé sur des aspects plus syntaxiques que sémantiques pas de lien avec la sémantique de la partie fonctionnelle du modèle UML - Futur : évaluation des propositions en réponse au dernier RFP de l OMG du 06 février 2005 pour le temps-réel et l embarqué : UML Profile for Modeling and Analysis of Real-Time and Embedded Systems (MARTE), deadline : 14 novembre 2005 72

Références Références - B. P. Douglass, Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks and Patterns, Addison Wesley, 1999 - B. P. Douglass, Real-Time UML : Developping Efficient Objects for Embedded Systems, Addison Wesley, 1999 - J. Rumbaugh, I. Jacobson, G. Booch, UML 2.0 Guide de Référence, CampusPress, 2004 - C. Larman, UML 2 et les design patterns, Pearson Education, 2005 - P. Roques, F. Vallée, UML 2 en action : De l analyse des besoins à la conception J2EE, Eyrolles, 2004 - http://www.omg.org 73