Développement formel de systèmes temps réel à l'aide de SDL et IF (Compilation pour système temps réel)

Dimension: px
Commencer à balayer dès la page:

Download "Développement formel de systèmes temps réel à l'aide de SDL et IF (Compilation pour système temps réel)"

Transcription

1 N d ordre 04ISAL Année 2004 Thèse Développement formel de systèmes temps réel à l'aide de SDL et IF (Compilation pour système temps réel) présentée devant L Institut National des Sciences Appliquées de Lyon pour obtenir le grade de docteur Ecole doctorale :EDIIS (Informatique et Information pour la Société) Spécialité : ISCE (Informatique et Systèmes Coopératifs pour l Entreprise) par Ahmad Badreddin ALKHODRE Soutenue le 20 septembre 2004 Jury MM. M.SIFAKIS Joseph, Professeur CNRS-Verimag Grenoble (Président). M.MAMMERI Zoubir, Professeur IRIT-Toulouse (Rapporteur). M.TERRIER François Professeur CEA Paris (Rapporteur). M.BONIOL Frédéric Maître de conférence à l'onera-cert-toulouse (Examinateur). M.SCHWARZ Jean-Jacques, Professuer UCBL (Directeur de thèse). M.BABAU Jean-Philippe, Maître de conférence à l'insa de Lyon (co-encadrant). Cette thèse a été préparée au Laboratoire de CITI Centre d Innovations en Télécommunications et Intégration de Services de L INSA de Lyon.

2 ii

3 Introduction générale... 1 Objectif de la thèse... 3 Structure du mémoire... 4 Partie I... 5 Contexte de travail Notions de système réactif et de contraintes temps réel Les systèmes réactifs Les systèmes temps réel Les contraintes temps réel Conclusion Méthodologies Principes généraux des méthodologies Le modèle en cascade Le modèle "cycle de vie en V" Discussion Les techniques formelles Développement de systèmes temps réel Conclusion Langages de développement des systèmes temps réel Langage de spécification SA-RT Introduction Caractéristiques du langage Conclusion UML Introduction Principes d'uml Caractéristiques du langage Conclusion SDL Introduction à SDL Principes de SDL Caractéristiques du langage Discussion Langage de conception LACATRE SDL-RT Autre langage de conception Discussion Conclusion générale de la partie langages Validation et vérification Vérification comportementale Relation d'équivalence Système de transitions étiquetées (LTS) : Bisimulation forte Bisimulation faible F-simulation Model-checking Le principe du Model-checking Vérification temps réel Les automates temporisés La logique temps réel Techniques dédiées à la validation des système temps réel i

4 Principes Vérification des implémentations multitâches Discussion Conclusion Partie II Description de la méthodologie Les étapes de la méthodologie Modèle de contraintes Modèle d exécution Implémentation Choix des langages Validation Le modèle de contraintes Modèle d'interaction Modèle temporel de l environnement Introduction Activation périodique Introduction Spécification en SDL La sémantique en IF : Activation sur interruption Source d interruption régulière Source d'interruption en rafale Le modèle temporel des données Spécification en SDL La sémantique en IF Activation par message La spécification en SDL La sémantique en IF Le modèle temporel des actions Spécification SDL du modèle temporel d'action La sémantique du modèle temporel d'action L'échéance et l'âge de donnée Introduction L'âge d une donnée Echéance Politique temps réel : Filtrage : Vérification de durée de séparation Vérification d échéance Vérification de l âge de données Utilisation des modèles Conclusion Le modèle d exécution Introduction Eléments applicatifs Les routines La routine d interruption La routine d alarme Les tâches Les tâches périodiques Les tâches sporadiques Les serveurs à scrutation Les tâches logicielles Les données Modèle d'exécution pour l'environnement Source d'interruption et alarme périodique Contrôleur programmable des interruptions ii

5 7.4.1 La modélisation du PIC en SDL La sémantique du PIC en IF Politique temps réel Utilisation du chien de garde La modélisation en SDL La sémantique en IF Utilisation de la fonction check La modélisation en SDL La sémantique en IF Politique d ordonnancement Eléments sépcificques La base de temps Mode d'utilisation Conclusion Génération de code Introduction Principe La communication entre objets Les annotations formelles : La politique d ordonnancement et la priorité Code pour des OS classiques embarqués (Windows) Windows et temps réel Du modèle d exécution à Win La communication entre les objets La routine d interruption Alarme La routine d alarme La tâche périodique Le serveur à scrutation La tâche logicielle Le «main» La gestion de priorités Code pour des exécutif temps réel VxWorks et le temps réel Du modèle d exécution vers VxWorks La communication entre les objets La routine d'interruption L alarme La routine d alarme La tâche périodique Le serveur à scrutation La tâche logicielle Le «main» La gestion de priorités Restrictions sur l'action Afaire Contrôle temps réel La compilation du modèle d exécution vers Win32 ou VxWorks L analyseur lexical et l analyseur syntaxique L analyse sémantique La génération du code C/ Win32 ou C / VxWorks Conclusion Validation Introduction Validation formelle Technique de validation Définition de problème Formalisation du problème de compatibilité Modèle de contraintes Modèle d'exécution Algorithme iii

6 9.3 Méthodologie de la validation formelle Redéfinir une base de temps unitaire La deuxième étape : le renommage La troisième étape : abstraction et réduction des modèles : La quatrième étape : comparaison Exemple d'application Exemple d'activations sporadiques Exemple d'activations périodiques Observation d'échéance Conclusion Vérification des propriétés temps réel Modèle RMA Extraction des paramètres temporels pour RMA Les propriétés à vérifier Vérification d'une échéance simple Vérification d'une échéance de bout en bout Vérification la validité d'une donnée Conclusion Conclusion générale Perspectives Références Bibliographie liée à l'étude Annexes Annexe iv

7 Introduction générale 1

8 Un système temps réel est un système qui interagit avec un environnement physique en remplissant souvent des missions critiques pour lesquelles une faute du système peut avoir des conséquences graves. Il sera dit correct s'il possède les bonnes fonctionnalités et si cellesci sont réalisées à temps, c'est-à-dire avec le respect des contraintes temporelles imposées par l environnement ou par une certaine qualité de service offerte à un utilisateur. La validation fonctionnelle et temporelle des systèmes temps réel est ainsi une nécessité forte. Toutes les situations, tous les comportements du système doivent être envisagés pour que la validation fournisse des résultats fiables. Si l'on sait maintenant comment faire pour développer des systèmes temps réel (aller de la spécification vers la réalisation) il est indispensable, vu les conséquences possibles d'une faute temporelle, de porter un intérêt particulier à la sûreté de fonctionnement, aux méthodes permettant de valider le développement avec pour objectif de garantir à l'avance le bon fonctionnement du point de vue temporel. Afin de garantir le bon fonctionnement du système, il faut utiliser lors du développement de ce système, des techniques de modélisation et outils formels (possédant des représentations mathématiques que l'on peut associer à un programme) qui permettent d'effectuer des preuves de modèles. Le développement d'un système temps réel passe par l'utilisation de langages et d'outils adaptés aux besoins des différentes étapes de développement (la spécification, la conception, l'implémentation et la vérification) et les contraintes temps réel se doivent d'être exprimées et prise en compte à chacune de ces étapes. Le modèle associé à l'étape de spécification est le modèle de contraintes. On y décrit le comportement du système et les contraintes temporelles du système (ce que le système doit faire). Le modèle associé à la conception est appelé le modèle d'exécution : on y décrit l'architecture d'exécution de l'application (comment le système doit s'exécuter). Ce modèle est une abstraction de l'implémentation, qui cache tous les détails de l'implémentation, comme par exemple les moyens de communication. Différentes solutions dépendantes des technologies d'implémentation sont, bien sûr, possibles et chacune d entre elles aura recours à un outillage approprié. Dans le cadre de ce travail nous n'étudions que l'implémentation basée sur l utilisation d un système multitâches monoprocesseur. Ce type d implémentation qui s'appuie donc sur les services d'un exécutif temps réel est largement utilisé par les industriels à cause de la relative facilité d utilisation, mais n a pas bénéficier de beaucoup de développement d outils pour la valididation. Les travaux de recherches liés au développement de système temps réel se divisent en plusieurs axes. Dans un premier axe, les travaux menés se concentrent sur une étape particulière du développement telle que la spécification, la conception ou l'implémentation. En ce que concerne la spécification, les travaux menés s'appuient en général sur l'utilisation d un langage de haut niveau. Ainsi, à titre d exemple, vu la facilité de son utilisation, SA-RT (Structure Analysis - Real Time) [79] a été utilisé pour la spécification de systèmes temps réel, même s il n est qu un langage informel. D'autres approches adoptent des langages de modélisations orientés objet comme UML (Unified Modelling Language) [136]. Ce dernier est un langage semi-formel qui ne possède pas une sémantique précise. Enfin, des approches utilisent des langages formels comme SDL (Specification and Description Language) [85] 2

9 [125]. Il reste toutefois que SDL ne possède pas de mécanismes lui permettant d'exprimer précisément les contraintes temps réel. Afin de pallier cette lacune, plusieurs travaux ont été développés pour enrichir SDL sur ce point, soit par l'adjonction à une autre langage temps réel [30], soit par l'ajout de nouvelles syntaxes [7] [145].Lors de la conception, toutes les approches telles que LACATRE [160], UML-RT [124] ou SDL-RT [175] proposent des boîtes à outils qui s'appuient sur des boîtes grises à instancier lors de la conception. Les langages UML-RT et SDL-RT permettent d'intégrer les aspects temps réel mais ils ne proposent pas un cadre formel de conception. L'approche de LACATRE [160] [158] propose un cadre formel pour le développement, mais pas pour la prise en compte des contraintes temps réel. Finalement, peu de travaux sont développés autour de la problématique concernant la transformation entre le modèle associé à la spécification et le modèle associé à la conception tels que proposés dans [72] [106]. En ce qui concerne la correction de cette transformation, elle peut être garantie en utilisant les techniques d'abstraction et de vérification. Les approches développées dans [60] [61] [121] [150] ne s'appliquent que dans le cas où le modèle d'exécution est une adaptation du modèle de contraintes. Dans le deuxième axe, les travaux se concentrent sur la mise en place d'une architecture d'exécution. On essaie alors d'optimiser le déplacement des actions dans les tâches [72] [106]. A titre d'exemple l'approche CODARTS propose des règles et des principes aidant à mapper une spécification d un système temps réel sur une conception basée sur le langage Ada [72]. Les travaux dans du troisième axe se focalisent sur le développement de techniques de validation du système temps réel telles que proposées par [91] [75] [37][185]. Ces techniques permettent de valider des propriétés par rapport à un modèle donné, par exemple l'approche de model-checking [104] [119], soit de valider la conformité de modèles en s appuyant sur la notion d'équivalence [60] [121]. Toutes ces études apportent des principes, des solutions ou des modèles intéressants pour le développement de systèmes temps réel. Cependant ces approches se concentrent spécifiquement sur une étape particulière du développement indépendamment des autres. Donc, aujourd'hui, il existe peu d'approches complètes et formelles qui regroupent tous les aspects nécessaires pour le développement d'un système temps réel en passant de la spécification à la réalisation (implémentation). Objectif de la thèse Dans le cadre des implémentations à base d exécutifs multitâche temps réel, le travail présenté dans cette thèse tente d apporter une approche complète formelle de la suite spécification, conception et implémentation. Dans ce cadre, il porte aussi un intérêt particulier à une méthode de validation de la transformation entre le modèle de contraintes et le modèle d'exécution Dans un premier temps, nous décrivons plus particulièrement la formalisation des phases aboutissant à la définition du modèle de contraintes et du modèle d exécution de l application. Dans ce but, nous utilisons le langage SDL [67] [85] [122] présentant suffisamment de caractéristiques formelles. SDL, langage normalisé par l ITU-T, est très utilisé dans la communauté des télécommunications, mais son cadre d application actuel dépasse largement ce domaine : il est employé avec succès dans des domaines comme les systèmes embarqués 3

10 ou le multimédia [64]. Le monde industriel l apprécie car il est soutenu par un environnement de développement intégré (objectgeode [135], Tau [200]). Par contre, SDL ne possède pas d éléments de spécification clairs et précis de l écoulement du temps et il ne fournit pas une description complète de la façon dont le modèle doit s exécuter dans le temps [29]. Ensuite, le but de cette étude est de prendre en considération la dimension temporelle dans nos modèles SDL. C est le langage IF [28] qui sera exploité pour fixer une sémantique temporelle utile à la validation. Afin de prouver la correction de la transformation entre le modèle de contraintes et le modèle d'exécution, nous proposons une relation de compatibilité comportementale entre ces deux modèles. Cette relation de compatibilité sera exploitée par une méthodologie en quatre étapes pour vérifier la correction de la transformation entre le modèle de contraintes et le modèle d'exécution. Finalement, afin de valider l'implémentation multitâche proposée, nous présentons une approche de validation qui s'appuie sur l'analyse d'ordonnançabilité RMA [98]. Cette approche permet de vérifier, d'une part, la cohérence temporelle de modèle d'exécution et d'autre part les propriétés temps réel exprimées dans les modèles (de contraintes et d'exécution) telles que l'échéance et la durée de la validité d'une donnée. Structure du mémoire Dans cette optique, ce document est constitué de deux parties. La première partie présente le contexte de notre travail : les systèmes temps réel et leur contraintes en faisant état de leurs spécificités et exigences. Nous décrivons divers éléments pris en compte lors de leur développement (chapitre 1), en particulier les méthodologies de développement (chapitre 2), les langages utilisés (chapitre 3) et les techniques de validation (chapitre 4). Dans la deuxième partie nous présentons la structuration de notre contribution, puis chaque étape (spécification, conception et implémentation) sera détaillée. Nous présentons la description de la méthodologie à suivre dans le chapitre 5. Les modèles de contraintes et d'exécution exprimés en SDL avec la sémantique en IF font l objet des chapitres 5 et 6. Le chapitre 8 est consacré aux principes de génération de code et, au final, le chapitre 9 traite le problème de la validation et de la vérification. Nous y abordons le problème de la conformité du modèle d'exécution par rapport au modèle de contraintes et nous montrons comment il est possible de vérifier les contraintes temps réel par une analyse de type RMA à partir des modèles proposés. 4

11 Partie I Contexte de travail. L objectif de cette partie du mémoire est de présenter le domaine visé par notre contribution que sont les systèmes temps réel. En particulier, on s'intéresse aux divers éléments mis en place lors du développement de tels systèmes que sont les méthodologies, les langages et les techniques de validation et de vérification. 5

12 1 Notions de système réactif et de contraintes temps réel 1.1 Les systèmes réactifs Les systèmes informatiques sont traditionnellement classés suivant trois catégories [78] : Les systèmes transformationnels transforment des données pour produire un ou plusieurs résultats. Les programmes de calcul scientifique sont des exemples de systèmes transformationnels. Les résultats produits dépendent uniquement des données traitées. Les systèmes interactifs interagissent avec leur environnement. Leur exécution est contrôlée par une boucle d attente des événements auxquels sont associés des traitements. Pour ces systèmes, l environnement est généralement limité à un utilisateur humain. Les programmes de bureautique sont des exemples de systèmes interactifs. Les résultats produits dépendent des données et des événements. Les systèmes réactifs réagissent aux stimuli émis par leur environnement. A la différence des systèmes interactifs, l environnement évolue de manière indépendante et n attend pas la fin du traitement associé à un stimulus émis. Les systèmes de contrôle - commande sont des exemples de systèmes réactifs. Les résultats dépendent des données, des événements et de leur enchaînement en lien avec l'état de l'environnement. Dans ce travail, nous nous intéressons aux systèmes réactifs et plus précisément aux systèmes réactifs temps réel. 1.2 Les systèmes temps réel Les systèmes temps réels sont une classe de systèmes informatiques réactifs dont le but est de suivre et piloter les évolutions d un procédé dynamique avec des contraintes de temps physique [57]. Le temps de réaction du système aux stimuli du procédé doit être assujetti à la dynamique du procédé. La correction d un système temps réel ne s évalue donc pas uniquement du point de vue fonctionnel (justesse des résultats calculés) et temporel (enchaînement correct des événement) mais également du point de vue temps réel (dates d arrivée des événements) : "Un résultat juste mais hors délai est un résultat faux" [177]. Ces systèmes sont aujourd hui présents dans des domaines tels que l automobile, l avionique, le spatial mais aussi le contrôle de chaînes de production, de processus chimique, etc. Le caractère critique souvent attaché aux systèmes temps réel résulte principalement du souci de préserver le procédé (par exemple un engin spatial), son environnement (par exemple une centrale nucléaire) et les personnes (par exemple un engin de transport). En conséquence, il est nécessaire d appliquer des techniques de validation tout au long du processus de développement de tels systèmes [168]. La validation doit aussi bien porter sur les contraintes fonctionnelles que sur les contraintes temporelles et sur les contraintes temps réel. 1.3 Les contraintes temps réel Dans le cycle de vie d un système temps réel, les contraintes temps réel apparaissent dès la phase d expression des besoins. Ainsi, lorsque sont spécifiées les fonctionnalités du 6

13 système liées au contrôle du procédé, les contraintes temps réel nécessaires à la garantie de ce contrôle doivent être données. En fait, les systèmes réactif temps réel, sont vus comme un ensemble d'actions qui opèrent sur des données en prenant en compte l'écoulement du temps et des événements qui apparaissent au niveau du système réactif ou de son environnement [125]. De ce fait, les contraintes temps réel doivent être exprimées sur ces trois éléments principaux. Contraintes temps réel associées aux actions Une action peut correspondre à tout traitement ayant une fonctionnalité bien précise au niveau d'un système. Selon [88] une action peut être : Une action primitive : c est une opération consommant une quantité bornée de ressource du système. Une action composite : c est une séquence d actions primitives. Les contraintes temporelles portant sur les actions sont : La date de réveil : c'est l'instant où l'action peut démarrer. L'instant d exécution : il représente l'instant où une action commence à s'exécuter. La durée d'exécution : il représente le temps écoulé pendant l'exécution d'une action. La date de fin d exécution : il représente l'instant où l'action se termine. Contraintes temps réel associées aux événements Un événement est un marqueur temporel, c'est-à-dire une occurrence qui marque un point temporel ayant son importance dans la description du comportement du système. Les événements sont classés en plusieurs types : Un événement périodique est un évènement ponctuel, mais revenant périodiquement, par exemple tous les 5 millisecondes. Il est donc caractérisé par sa période. Un événement sporadique est un événement aléatoire, mais il existe une durée minimale et une autre maximale entre deux occurrences de deux événements successifs. Un événement apériodique est un événement aléatoire dont on ne possède pas d'informations temporelles quant à sa date d'occurrence. Les contraintes temporelles exprimées sur les événements sont : Une durée séparative minimale et maximale entre l'occurrence de deux événements successifs : Dans le cas des événements périodiques un seule durée (période) caractérise l'occurrence des événements. Par contre, deux durées caractérisent l'occurrence des événements sporadiques. Une échéance de bout en bout (End-to-End Deadline) représente un intervalle de temps maximum entre un événement en entrée et un événement en sortie du système. Elles sont typiquement associées à une action (celle déclenchée par l'événement entrée) et se répercutent alors sur les différentes entités qui participent à la réalisation de cette action. 7

14 Une échéance relative qui porte sur la terminaison d une action, soit entre les deux événements date de réveil et date de fin d'exécution. Ces contraintes apparaissent par exemple avec l éclatement de contraintes de bout en bout correspondant au découpage du logiciel. Contraintes temps réel associées aux données Une donnée représente toute information utilisée par une ou plusieurs actions pour s'exécuter. Les données appartiennent aux deux types suivants : Les données actives : ce sont des données dont la mise à jour provoque une réaction du système et qui se matérialise par le déclenchement d actions (mises à jour d autres données, déclenchement d une alarme,...). La mise à jour des données suit soit une loi périodique (par exemple, la mise à jour périodique de la vitesse d un avion déclenche la mise à jour de l altitude [186] ), soit une loi sporadique. Les données temporelles sont des données datées qui permettent de gérer l historique de leur évolution [168]. Ces données sont soient lues sur le procédé, soit émises vers le procédé. Pour prendre des décisions correctes en tenant compte de l état réel de l environnement, les données manipulées par une application temps réel doivent être cohérentes du point de vue temporel. Les contraintes temporelles exprimées sur ces deux types de données sont : La contrainte de cadence : elle caractérise un intervalle de temps entre deux mises à jour. De telles contraintes sont caractéristiques des systèmes échantillonnés. L'âge d'une donnée est l intervalle maximum entre la date de production par le procédé et la date de consommation par toute action du système. La latence est le délai requis par le système de contrôle pour prendre en compte une donnée (c est à dire la date maximum entre la date de production de la donnée par le procédé et la date de consommation par toute action du système). Selon qu il faille absolument respecter une contrainte ou qu il soit possible de la violer occasionnellement, il est usuel de classer les contraintes dans deux catégories [125]. Les contraintes temps réel «dures» sont celles qu il faut à tout prix respecter. Les contraintes temps réel «souples» sont celles qu il faut respecter autant que possible, mais qui supportent occasionnellement d être violées. 1.4 Conclusion Les systèmes temps réel, sont vus comme un ensemble d'actions qui opèrent sur des données en prenant en compte l'écoulement du temps et les événements qui apparaissent au niveau du système réactif ou de son environnement. Ces événements sont soit des événements périodiques, soit des événements sporadiques. Ils sont caractérisés d'une part par leurs fréquences d'arrivées et des durées d min et d max, et d'autre part, par la contrainte de délai entre un événement en entrée et un événement en sortie. Les données sont caractérisées par une fréquence de mise à jour et possèdent une durée de validité. 8

15 Nous présentons maintenant les travaux menés autour du développement des systèmes temps réel. Nous parlons d'abord des méthodologies de développement. 9

16 2 Méthodologies Nous présentons dans ce chapitre les principales méthodologies, les techniques formelles et enfin, les travaux principaux menés dans le développement du système temps réel. 2.1 Principes généraux des méthodologies Le modèle du cycle de vie d une application est un modèle des étapes ou des activités qui commencent quand le logiciel est conçu et se termine quand le produit n est plus disponible pour l utilisation [126]. Le cycle de développement d une application comprend typiquement une étape d expression des besoins, une étape de spécification, une étape de conception, une étape d'implémentation, une étape d intégration et de test, une étape d installation et de vérification ainsi que des étapes d opération et de maintenance. Selon le cycle de développement choisi, ces étapes ou activités peuvent survenir une ou plusieurs fois dans un ordre prédéterminé. Ces étapes font partie de tous les cycles de développement de systèmes indépendamment de la nature, du domaine, de la taille et de la complexité du système à développer. Plusieurs modèles de cycle de développement d une application existent : le modèle en cascade [155], la cycle de vie en V[169], le prototypage rapide [152], le prototypage évolutif [69], le réutilisation de logiciel [70], le développement incrémental [81], etc. Nous présentons rapidement les principes des modèles classiques qui sont le modèle en cascade et le cycle en V Le modèle en cascade Le modèle en cascade (figure 2.1) décrit le cycle de vie comme une succession d'étapes conduisant à raffiner des niveaux de description du problème jusqu'à sa réalisation, en partant de la définition jusqu'à l'exploitation et à la maintenance. Chaque étape est liée à l'étape suivante pour représenter le raffinement, et à l'étape précédente pour représenter les corrections par retour-arrière. A chaque étape est associée une phase de vérification ayant pour but de s'assurer de la conformité de la solution retenue avec les spécifications en entrée de l'étape. Un défaut de conformité implique de reprendre l'étape ou de revoir le résultat de l'étape précédente. Ce modèle s'appuie sur le fait qu'un accroissement important de l'effort de validation durant les premières étapes favorise une correction rapide des premières erreurs et réduit le coût de correction considérable lors de l'implémentation. 10

17 Vérifié KO Besoin Système Besoin Logiciel Vérifié OK Vérifié OK Vérifié KO Conception Préliminaire Vérifié OK Légende Etape Raffinement Rectification Vérifié KO Vérifié KO Conception détaillé Vérifié KO Vérifié OK Implémentation et Vérification Vérifié KO Fig. 2.1 : Le modèle en cascade. Vérifié OK Intégration et Test Vérifié OK Exploitation et Maintenance Le modèle "cycle de vie en V" Le modèle "cycle en V" considère la vérification et l'évaluation du système à chaque étape de réalisation. Il montre que la démarche de spécification/conception est globalement descendante tandis que la phase de réalisation/vérification est globalement ascendante. Il s'agit alors d'assembler les constituants pour obtenir les fonctionnalités souhaitées. Le cycle de vie en V du génie logiciel (figure 2.2) [169], a largement inspiré le cycle de vie des Systèmes Automatisés de Production. CAHIER DES CHARGES SPECIFICATION SYSTEME Certification Validation EVALUATION TEST OPERATIONNEL TEST INTEGRATION SYSTEME SPECIFICATION LOGICIELLE Validation TEST PERFORMANCE Validation Spécification Correction CONCEPTION PRELIMINAIRE CONCEPTION DETAILLEE Vérification TEST INTEGRATION TEST UNITAIRE Réalisation Conception REALISATION Fig. 2.2 : Cycle de vie en V du génie logiciel. L approche par étapes est adaptée aux systèmes temps réel car ce sont des systèmes dont les besoins sont figés et clairement identifiables. En effet, lorsqu un système est destiné à piloter un procédé, l analyse des besoins se déduit naturellement des lois de commande conçues pour assurer ce pilotage et des caractéristiques physiques de l installation à contrôler. De plus, en identifiant clairement les débuts et fins des différentes étapes, une approche par étape est statique et donc bien adaptée à la certification (ce qui est une nécessité pour la 11

18 majorité des systèmes critiques). De plus, dans les domaines comme l'automobile, une séparation claire et faite entre ceux qui spécifient (constructeur) et ceux qui conçoivent (constructeur/équipementier) et implémentent (équipementier) Discussion A partir de ces deux modèles du cycle de développement, on peut conclure que les grandes étapes à suivre afin de développer un système sont la spécification, la conception et l'implémentation. La spécification décrit ce que le système doit faire, mais pas comment il le fait. La conception modélise une abstraction de haut niveau de l'implémentation qui cache tous les détails de l'implémentation. L implémentation décrit précisément l'exécution de l'application. Lors du développement d'un tel système, le passage d'un niveau à un autre est assuré par des opérations de transformations. La nature du problème lié aux systèmes temps réel nécessite donc l utilisation d un processus de développement et de maintenance rigoureux. Les propriétés que le système doit satisfaire doivent être identifiées puis maintenues tout au long du développement lors de chaque transformation. Ceci suppose la mise en œuvre d une ou de plusieurs techniques formelles. Les modèles proposés fournissent des principes généraux pour le développement des systèmes temps réel, mais ne fournissent pas un cadre formel nécessaire aux systèmes visés par cette étude. Nous présentons maintenant, quelques travaux de recherche recentrés sur les techniques formelles. 2.2 Les techniques formelles Dans le cadre du génie logiciel, un technique est qualifiée de formelle lorsque les différentes opérations qu'elle supporte, les objets manipulés par ces opérations ainsi que le système de preuve qu'elle possède sont exprimés dans un langage à syntaxe et à sémantique formelles, à base mathématiques. Les techniques formelles relèvent de la sémantique, c'est-àdire de la représentation mathématique que l'on peut associer à un programme. La vérification de la correction lors du développement de systèmes temps réel nécessite d utiliser des techniques formelles dont l objectif final est d assurer que les systèmes développés satisfont les propriétés exprimées dans le cahier de charges (figure 2.3 et 2.4). Dans ce but, la définition et l utilisation de techniques rigoureuses de développement apparaissent comme une composante indispensable des étapes de production d un système correct. Ces deux activités sont indispensables dans le cycle de développement des applications temps réel et interviennent à tous les niveaux. Le travail mené dans [8] présente une démarche d utilisation des techniques formelles. Après avoir identifier les propriétés que le système étudié doit satisfaire et le langage ou la technique formelle à utiliser, la démarche propose deux cadres d'utilisation des techniques formelles. Le premier assure la vérification des propriétés d une application exprimées par des techniques ou langages permettant leur représentation formelle. La figure 3 reprend ces principes où OP p est l objet programme représentant le système étudié et P p l ensemble de propriétés de OP p. On parlera de vérification de la correction d'un modèle. 12

19 Représentation du système Représentation des propriétés OP p Expression et vérification de propriétés P p Fig. 2.3 : L'utilisation des techniques formelles pour la vérification. La deuxième approche assure la maintenance des propriétés de programme lors d une opération de transformation ou de raffinement. La figure 4 reprend ces principes où OP p, P p sont définis comme ci-dessus, OP ' p est l objet programme obtenu suite à la transformation, et P ' p l ensemble de propriétés de OP ' p. On ainsi assure la validation du programme transformé et on parlera de conformité de la transformation d'un modèle. Représentation du système Représentation des propriétés OP p P p Opération de développement Conformité de la transformation O P p P p Fig. 2.4 : L'utilisation des techniques formelles lors d'une transformation ou d'un raffinement. L utilisation de techniques formelles rend possible de nombreux développements de programmes et de nombreuses vérifications de propriétés. Par contre, des efforts doivent être faits pour les rendre utilisables, à grande échelle, dans la pratique. 2.3 Développement de systèmes temps réel Après ces présentations d'ordre général, nous présentons, dans cette section, les travaux plus spécifiquement liés au développement des systèmes temps réel. Les travaux de recherche mentionnés dans ce domaine peuvent être classés selon quatre axes principaux. Un premier axe concerne les travaux qui ne se concentrent sur une certaine étape de développement (la spécification, la conception ou l'implémentation). Dans un deuxième axe, les travaux se concentrent sur le raffinement et la transformation entre les étapes. On peut, par exemple, citer les travaux concernant la traduction de langage orienté spécification vers un langage orienté conception. La troisième catégorie de travaux propose de coupler des langages informels à des langages formels. Le dernier axe, enfin, concerne des méthodes globales de développement qui regroupent plusieurs étapes du développement. Dans le premier axe, les travaux menés dans [40] [170] se recentrent sur l'étape de spécification. Plus précisément, ces travaux traitent des langages de spécification et de leurs capacités d'expression de contraintes temps réel. Le travail présenté dans [153] propose d'introduire le temps dans le diagramme de classe d'uml (Unified Modelling Language) 13

20 [137]. D'autres travaux sont orientés sur l'étape de conception [113]. Par exemple le travail mené dans [155] propose d'intégrer des techniques d'ordonnancement temps réel dans une conception orientée objet (en utilisant le langage UML-RT [171] comme un langage de conception). Enfin, en ce qui concerne la phase de l'implémentation, on peut situer le travail mené dans [11]. Ce travail se concentre sur la traduction automatique d'un programme ESTEREL vers un code microprocesseur. Enfin de nombreux de travaux portant sur la validation et la vérification de systèmes temps réel, nous détaillons ces aspects par ailleurs dans le document. En ce qui concerne le deuxième axe, il s'agit de raffiner un modèle ou transformer un modèle (par exemple la spécification) vers un autre modèle (par exemple la conception). Par exemple, dans l approche proposée par [106], les auteurs se concentrent sur l'optimisation de code générée à partir d'une conception faite en SDL (Specification and Description Language). L'approche étudie deux stratégies pour générer le code à partir du modèle de conception. La première stratégie (Activity Server) est de générer à partir d'un chaque processus SDL un processus VHDL combiné avec une boîte aux lettres. La deuxième stratégie préconise la mise en place d un modèle d exécution orienté événement nommé BAT (Basic Activity Thread). Dans ce cas, on associe une tâche à chaque enchaînement d'actions provoqué par un événement externe. CODARTS [72] est une méthode basée sur SA-RT. CODARTS fournir des éléments pour construire à partir d un modèle SA-RT (Structure Analysis - Real Time) un modèle d exécution multitâche pour une architecture monoprocesseur. Ces éléments sont des règles et des principes aidant à mapper une spécification d un système temps réel sur une conception basée sur Ada comprenant des tâches et des informations de communications entre les tâches. Cette approche est très intéressante mais elle reste limitée du fait de l'aspect informel de SA-RT et des règles de transformation. D'autres travaux [139] ont été proposés dans le cadre de SA-RT/CODARTS : ils proposent d'utiliser le réseau de Pétri coloré avec pour objectif d augmenter la capacité temporelle analytique de CODARTS, l aspect qualité de service et la conception de la concurrence. Cette approche propose de mapper les tâches de CODARTS, les modèles de communication et l exclusion mutuelle par des données partagées en réseau de Pétri coloré. Enfin, l'approche présentée dans [100] propose de combiner UML avec SDL. Cette approche permet de définir les règles de transformation automatique d un sous ensemble formalisé d OMT [100] noté OMT* [130] vers SDL. Cette approche n'intègre pas tous les diagrammes supportés par UML comme le diagramme de composant et de déploiement. Une autre approche proposée par [87] définit un profil d'uml pour SDL nommé "SDL with UML". Ce profil définit un ensemble de spécialisations UML qui permettent d'utiliser un ensemble de concepts d'uml en conjonction avec SDL. En ce qui concerne le troisième axe, les travaux mettent l accent sur plusieurs phases de développement des systèmes temps réel, telles que la spécification, la conception, l'implémentation et la vérification. Dans ce sens, le projet DESS de l'itea [114] propose d'utiliser le langage UML afin de spécifier les système temps réel. Les contraintes temps réel (échéances) sont spécifiées au travers de timers virtuels proposés dans le diagramme de classe. Ce projet propose aussi de traduire la spécification semi formelle d'uml dans un formalisme formel tel que Trio [75], Esterel [38] ou Kronos [185] afin de vérifier des contraintes temps réel. [58] propose d'utiliser une ou plusieurs techniques formelles dans la phase de conception pour décrire le comportement du système par niveaux d'abstraction. Cette formalisation est traduite à partir d'une spécification informelle des besoins. L'implémentation est faite 14

21 automatiquement en utilisant des synthèses à partir de cette abstraction afin d'assurer que l'implémentation est correcte. La validation dans cette approche est faite via la simulation. Au final, dans le dernier axe, l'approche présentée dans [172] recentre sur deux phases du développement du système temps réel, la spécification et la conception. Tout d'abord, la spécification dans cette approche est faite en utilisant la sémantique UML+. Cette dernière est inspirée des StateCharts temporisés [99]. La conception est la traduction de cette spécification en un modèle UML-RT [171]. L'implémentation est basée sur le fait que UML-RT peut produire directement du code en utilisant les outils existants comme Rational ROSE-RT [192] PROSEUS [35] [21] est un guide méthodologique qui peut être utilisé par des concepteurs voulant utiliser UML pour la description et la spécification et SDL pour l'implémentation de diagrammes UML. Il propose d'utiliser SDL comme un langage intermédiaire entre UML et l'implémentation finale. PROSEUS propose d'utiliser le modèle de SDL pour le prototypage, la génération de code et la vérification de l'application. Il définit les différentes étapes de développement et la méthode de passage entre étapes. Dans chaque étape, PROSEUS propose un formalisme à utiliser et la manière dont il peut être mis en œuvre, mais pas un cadre formel de développement. 2.4 Conclusion En conclusion, le développement de systèmes temps réel doit s'appuyer sur des étapes de spécification, conception et implémentation. Les contraintes temps réel doivent être exprimées à chaque étape du développement. Le passage d'une étape à l autre, si nécessaire, est assuré par des opérations de transformations ou de raffinements. Enfin, la vérification de propriétés fonctionnelles, comportementales et la validation des transformations doit s'appuyer sur des techniques formelles. Nous allons désormais étudier les langages du domaine temps réel susceptibles de supporter une telle approche. 15

22 3 Langages de développement des systèmes temps réel. Dans ce chapitre, nous étudions, les langages qui peuvent être utilisés dans le cycle de développement de Systèmes Temps Réel (STR). Il s agit au premier lieu de langages utilisés pour spécifier et modéliser les besoins des STR tels que SA-RT, UML et SDL, puis de langages utilisés pour leur conception (LACATRE, SDL-RT). Un point particulier est mis sur SDL. 3.1 Langage de spécification Au niveau de la spécification, la description des systèmes s appuie classiquement sur des langages qui permettent de les spécifier sous différents aspects (les types de données, les fonctionnalités, les protocoles de communication, etc.). Certains de ces langages sont informels comme SA-RT [79], semi-formels comme UML [136] ou formels comme SDL [135] SA-RT Introduction Le langage SA-RT fut développé par D.J. Hatley et I.A. Pirbhai afin de spécifier et de concevoir des systèmes temps réel [79]. Il répond aux besoins de ces systèmes en intégrant l analyse structurée de DeMarco [49] et la théorie des machines à états finis pour la représentation d une structure de contrôle [187]. Le langage SA-RT [44] est un langage permettant de spécifier les aspects dynamiques non décrits dans la méthode SA. Ce langage dissocie les aspects fonctionnels et événementiels d une application temps réel. L aspect fonctionnel est une représentation de la transformation que le système opère sur les données via des processus de transformation des données. L aspect événementiel est une représentation des événements qui conditionnent l évolution d un système et la spécification de la logique de contrôle. Cette dernière déclenche les actions, produit des événements en fonction d événements en entrée et fait changer d état le système Caractéristiques du langage SA-RT [49] est un langage fonctionnel qui permet de spécifier un système temps réel tant du point de vue logiciel que matériel (via des diagrammes d'architecture). De plus ce langage comprend plusieurs points importants concernant les aspects génie logiciel. Le raffinement est assuré par la décomposition descendante de SA-RT. Par ailleurs, la lisibilité dans une spécification SA-RT provient de la hiérarchisation du modèle en utilisant plusieurs niveaux de diagrammes. Ainsi la spécification d un système permet de décomposer celui-ci en plusieurs sous systèmes. La spécification SA-RT est informelle et ne permet donc pas de vérifier le modèle décrit. Afin de pallier ce manque, le projet IPTES (Incremental Prototyping of Technology for Embedded System) [188] propose une méthode basée sur des prototypes. Ces prototypes sont décrits par un langage de spécification qui est une extension de diagrammes SA-RT complétée par des descriptions en Meta-IV. Ce dernier est un langage basé sur le langage formel VDM (Vienna Development Method) [17], pour spécifier les données et les transformations. Les 16

23 besoins temporels sont exprimés en utilisant un formalisme qui s appelle High Level Timed Petri Net, dans lequel les modèles SA-RT sont transformés. A L'aspect temps réel L aspect temps réel dans SA-RT s'appuie sur des spécifications des temps de réponse et des fréquences de répétitions. Ces deux contraintes ne sont apparentées qu'aux signaux présents à l'interface du système ou ceux présents dans les diagrammes de contexte. La fréquence de répétition est spécifiée pour les signaux primitifs externes dans le dictionnaire de données. Le temps de réponse entre une entrée et une sortie est défini sous forme de table listant les événements qui sont détectés aux entrées du système, les événements correspondants qui doivent se produire aux sorties du système et les contraintes d'échéance à l intérieur desquels le système doit générer ces réponses. Enfin le travail mené dans [142] propose de compléter la spécification SA-RT par des spécifications exprimées sous forme de Réseaux de Petri avec pour un objectif d améliorer les aspects formels et temporels. La spécification du contrôle est faite par les réseaux de Petri qui permet de prendre en compte certains aspects temps réel comme, par exemple, l'utilisation du chien de garde pour définir des fenêtres temporelles associées à la prise en compte de certains événements. L inconvénient majeure réside dans la génération du graphe de marquage avec le nombre de places et de connections qui peut être assez très grand même pour des petits systèmes Conclusion Le langage SA-RT est très répandue et très utilisée pour spécifier les systèmes temps réel, vraisemblablement à cause de sa simplicité d utilisation et son pouvoir d expression, graphique en particulier : SA-RT possède l'avantage d'être bien lisible car la spécification est faite d une manière hiérarchique. Cependant cette spécification est informelle et ne permet pas de vérifier directement le modèle. Les travaux menés s'appliquent à fixer une sémantique au langage. Pour autant, actuellement, peu de travaux sont en cours et peu d'outils formels disponibles. Dans la suite, nous présentons les travaux menés autour du langage UML, langage semi formel et orienté objet UML Introduction L utilisation de l approche Orientée Objet (OO) dans le développement de logiciel augmente la qualité du fait de la mise en oeuvre des principes de modularité (un logiciel est formé d un ensemble d objets), d encapsulation (une donnée n'est pas accessible que via une interface) et de réutilisation (principe d héritage). Dans le domaine des langage OO, UML [136] s impose comme un standard. UML est un langage de modélisation graphique qui se veut universel pour les systèmes d information. Il est utilisé pour percevoir et documenter les phases de développement des systèmes. 17

24 UML a été standardisé en 1997 par l organisme de normalisation industriel OMG (Object Management Group) [194] et a fait l objet d améliorations successives jusqu à ses dernières versions (UML 0.8 UML 0.9 UML 1.0 à UML-2.0 [194] ). En fait, UML dérive de trois différentes approches orientées objet, OMT [154], OOSE [132] et BOOCH [39] [22] UML définit une sémantique pour les modèles objets et fournit des notations pour capturer la structure et le comportement du système Principes d'uml Lors de la modélisation d'un système, UML voit le système à travers plusieurs niveaux d'abstraction exprimés par divers diagrammes. Le diagramme de cas d utilisation est utilisé pour décrire les interactions entre l'environnement et l'application. Ce diagramme se compose de l'ensemble des acteurs, du système et des cas d'utilisation eux-mêmes. Chaque acteur représente un rôle joué par une personne ou un élément qui interagit avec le système. Le cas d'utilisation regroupe la famille des séquences d interaction (les scénarios) du point de vue de l utilisateur. Le diagramme de classe lui, exprime la structure statique d un système, en termes de classes et de relations entre ces classes. Chaque classe consiste à un ensemble d'attributs qui représentent les données et un ensemble des méthodes qui représentent les services. Le diagramme d'instance décrit les objets qui constituent le système. Pour présenter le comportement dynamique d un classe, le diagramme d'état transition (Statechart) définit les méthodes à exécuter en fonction de l état courant et des messages reçus. Enfin, le diagramme d'activité permet de décrire un enchaînement d'actions. Les diagrammes de séquence et de collaboration permettent de modéliser les interactions entre les objets au cours de scénarios donnés. Ils s'appuient sur les cas d'utilisation, les diagrammes de classe et d'instance. Tous ces modèles peuvent être "décorés" de contraintes non fonctionnelles (temps, précédence, etc.) à l'aide de mécanismes d'extension d'uml et du langage de description de contraintes OCL (Object Constraint Language specification) [136]. Les architectures matérielles et logicielles d'un système peuvent être décrites en UML via les diagrammes de déploiement et de composants respectivement. Dans la suite, nous présentons les caractéristiques du langage (aspect génie logiciel, formel et temps réel) et les travaux mentionnés autour de chaque aspect Caractéristiques du langage A Aspect génie logiciel UML a été créé dans le but de fournir à l utilisateur la possibilité de modéliser tous les aspects d un système. Le raffinement n est pas formellement défini mais on peut l exprimer par les relations de dépendances entre paquetages en utilisant le stéréotype «refine» [15]. La validation du raffinement s effectue de manière manuelle. 18

IFT2255 : Génie logiciel

IFT2255 : Génie logiciel IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti

Plus en détail

Chapitre I : le langage UML et le processus unifié

Chapitre I : le langage UML et le processus unifié I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et

Plus en détail

Analyse,, Conception des Systèmes Informatiques

Analyse,, Conception des Systèmes Informatiques Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance

Plus en détail

Université de Bangui. Modélisons en UML

Université de Bangui. Modélisons en UML Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Méthodologies de développement de logiciels de gestion

Méthodologies de développement de logiciels de gestion Méthodologies de développement de logiciels de gestion Chapitre 5 Traits caractéristiques des deux approches de méthodologie Présentation réalisée par P.-A. Sunier Professeur à la HE-Arc de Neuchâtel http://lgl.isnetne.ch

Plus en détail

Les diagrammes de modélisation

Les diagrammes de modélisation L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse

Plus en détail

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

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm) Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 - Evénements et architectures - Spécifications de performances

Plus en détail

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1

Plus en détail

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

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre Partie I : Introduction Plan de la première partie Quelques définitions Caractéristiques communes des applications temps-réel Exemples d

Plus en détail

2. Activités et Modèles de développement en Génie Logiciel

2. Activités et Modèles de développement en Génie Logiciel 2. Activités et Modèles de développement en Génie Logiciel Bernard ESPINASSE Professeur à l'université d'aix-marseille Plan Les Activités du GL Analyse des besoins Spécification globale Conceptions architecturale

Plus en détail

Le génie logiciel. maintenance de logiciels.

Le génie logiciel. maintenance de logiciels. Le génie logiciel Définition de l IEEE (IEEE 1990): L application d une approche systématique, disciplinée et quantifiable pour le développement, l opération et la maintenance de logiciels. Introduction

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes

Plus en détail

Qu'est-ce que le BPM?

Qu'est-ce que le BPM? Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant

Plus en détail

RTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com

RTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com RTDS G3 Emmanuel Gaudin emmanuel.gaudin@pragmadev.com PragmaDev Dédiée au développement d un AGL pour le développement des applications temps réel et embarquées. Réseau de partenaires: Formations, Service,

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

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

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools. 1- RAD Quelle sont les avantages que apporte la méthode RAD à l entreprise? Une méthode RAD devrait, d après son auteur, apporter trois avantages compétitifs à l entreprise : Une rapidité de développement

Plus en détail

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr Introduction aux systèmes temps réel Iulian Ober IRIT ober@iut-blagnac.fr Définition Systèmes dont la correction ne dépend pas seulement des valeurs des résultats produits mais également des délais dans

Plus en détail

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

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language Unified Modeling Language UML Salima Hassas Version Cycle de vie du logiciel Client Besoins Déploiement Analyse Test Conception Cours sur la base des transparents de : Gioavanna Di Marzo Serugendo et Frédéric

Plus en détail

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET 1 Tianxiao LIU Licence Professionnelle Réseaux & Sécurité Université de Cergy-Pontoise http://depinfo.u-cergy.fr/~tliu/lpg.php PLAN Objectif et

Plus en détail

Méthodes de développement. Analyse des exigences (spécification)

Méthodes de développement. Analyse des exigences (spécification) 1 / 16 Méthodes de développement Analyse des exigences (spécification) 1 -Objectifs de l'analyse des exigences... 2 2 - Approfondissement et formalisation du besoin... 2 2.1 Séparation des besoins, contraintes

Plus en détail

CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES. Jean GASSINO, Jean-Yves HENRY. Rapport IPSN/Département d'évaluation de sûreté N 280

CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES. Jean GASSINO, Jean-Yves HENRY. Rapport IPSN/Département d'évaluation de sûreté N 280 FR9704668 PC CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES Jean GASSINO, Jean-Yves HENRY eci Rapport IPSN/Département d'évaluation de sûreté N 280 Octobre 1996 INSTITUT DE PROTECTION

Plus en détail

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.) Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.) Bernard ESPINASSE Professeur à l'université d'aix-marseille Plan Introduction Les modèles d'omt Le Modèle Objet (MO) Le Modèle

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION d'un. ORDONNANCEUR à ECHEANCES REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6

Plus en détail

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

Développement d un interpréteur OCL pour une machine virtuelle UML. ObjeXion Software Prototyping made easy SA au capital de 500 000 F Siret 421 565 565 00015 APE 722Z Téléphone : 03 89 35 70 75 Télécopie : 03 89 35 70 76 L embarcadère 5, rue Gutemberg 68 800 Vieux-Thann,

Plus en détail

Diagramme de classes

Diagramme de classes Diagramme de classes Un diagramme de classes décrit les classes et leurs relations (associations, généralisation/spécialisation, ). classe association méthodes attributs héritage Diagramme de classes :

Plus en détail

Méthodes de développement

Méthodes de développement 1 / 9 Méthodes de développement Méthodes agiles 1 - Introduction... 2 2 -Le manifeste agile et les méthodes agiles... 2 2.1 Le manifeste agile... 2 2.2 Les méthodes agiles... 3 3 - Caractéristiques communes

Plus en détail

Introduction au génie logiciel

Introduction au génie logiciel Introduction au génie logiciel Guillaume Laurent ENSMM 2007 G. Laurent (ENSMM) Introduction au génie logiciel 2007 1 / 36 Plan du cours 1 Problématique du génie logiciel 2 Méthodes de développement logiciel

Plus en détail

Conception, architecture et urbanisation des systèmes d information

Conception, architecture et urbanisation des systèmes d information Conception, architecture et urbanisation des systèmes d information S. Servigne Maître de Conférences, LIRIS, INSA-Lyon, F-69621 Villeurbanne Cedex e-mail: sylvie.servigne@insa-lyon.fr 1. Introduction

Plus en détail

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

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 i LE TEMPS RÉEL 1. PRÉSENTATION DU TEMPS RÉEL 1.1. APPLICATIONS TEMPS RÉEL 1.2. CONTRAINTES DE TEMPS RÉEL 2. STRUCTURES D'ACCUEIL POUR LE TEMPS RÉEL 2.1. EXÉCUTIFS TEMPS RÉEL 2.2. RÉSEAUX LOCAUX TEMPS

Plus en détail

Projet Active Object

Projet Active Object Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques

Plus en détail

Description de la formation

Description de la formation Description de la formation Modalités Ce parcours de formation est un parcours en alternance, d une durée de 2ans, à raison d une semaine de formation par mois, soit 770 heures et de trois semaines de

Plus en détail

Rational Unified Process

Rational Unified Process Rational Unified Process For Christiane DAVOINE-GUHUR Société GICAB - Vannes Christiane.Davoine@CA-GICAB.fr Table des Matières 1 INTRODUCTION... 1 2 LES COMPOSANTS ET LES GRANDS PRINCIPES DU PROCESSUS...

Plus en détail

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

Architecture d'entreprise : Guide Pratique de l'architecture Logique Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam

Plus en détail

Cours Gestion de projet

Cours Gestion de projet Cours Gestion de projet Méthodes de conduite de projet Version Date Auteur V1.8 Septembre 2007 Pascal HEYER 1 Méthodes de conduite de projet Ce document est publié sous la licence libre Creative Commons-BY-NC-SA

Plus en détail

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

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer Le Processus RUP Database Administrator Project Leader H. Kadima Performance Engineer Release Engineer Analyst Designer / Developer Tester Table des matières 1. De l artisanat à l industrialisation de

Plus en détail

Le Guide Pratique des Processus Métiers

Le Guide Pratique des Processus Métiers Guides Pratiques Objecteering Le Guide Pratique des Processus Métiers Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam 21 avenue Victor Hugo 75016

Plus en détail

LES INTERFACES HOMME-MACHINE

LES INTERFACES HOMME-MACHINE LES INTERFACES HOMME-MACHINE 1 ère Partie : Introduction aux Interfaces Homme-Machine 2 ème Partie : Notions de base sur les Sciences Cognitives 3 ème Partie : Recommandations ergonomiques 4 ème Partie

Plus en détail

Méthodes de Conception Orientés Objet (MCOO) SOMMAIRE

Méthodes de Conception Orientés Objet (MCOO) SOMMAIRE SOMMAIRE Sommaire... 1 INTRODUCTION... 3 I. Particularités d UML... 4 I.1 UML est une norme... 5 I.2 UML est un langage de modélisation objet... 5 I.3 UML est un support de communication... 6 I.4 UML est

Plus en détail

Concepteur Développeur Informatique

Concepteur Développeur Informatique Référentiel de Certification UNION EUROPEENNE Fonds Social Européen DSP REAC RC RF CDC Concepteur Développeur Informatique Libellé réduit: CDI Code titre: TP-01281 Type de document: Guide RC Version: 1

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit. Proposition de stage de BAC+4 ou BAC+5 Pro ou Recherche Etude comparative des outils de vérification d'algorithmes parallèles Logiciels (LSL), localisé à Palaiseau (Essonne), développe les outils d'aide

Plus en détail

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail

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

La Certification de la Sécurité des Automatismes de METEOR 1 La Certification de la Sécurité des Automatismes de METEOR 2 un mot sur METEOR 3 Le projet METEOR, c'est... un système automatique complexe fortement intégré matériel roulant, équipements électriques,

Plus en détail

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P EUROCOPTER SAS Groupe EADS Marignane Ecole des Mines d Alès Laboratoire de Génie Informatique et d Ingénierie de Production LGI2P Nîmes Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P Titre Domaine

Plus en détail

Sujet de thèse CIFRE RESULIS / LGI2P

Sujet de thèse CIFRE RESULIS / LGI2P Ecole des Mines d Alès Laboratoire de Génie Informatique et d Ingénierie de Production LGI2P Nîmes Sujet de thèse CIFRE RESULIS / LGI2P Titre Domaine De l ingénierie des besoins à l ingénierie des exigences

Plus en détail

2.DIFFERENTS MODELES DE CYCLE DE VIE

2.DIFFERENTS MODELES DE CYCLE DE VIE 2.DIFFERENTS MODELES DE CYCLE DE VIE 2.1. INTRODUCTION... 1 2.1.1 Notion de cycle de vie... 1 2.1.2 Justification du cycle de vie... 1 2.2. LES DIFFERENTES PHASES DU CYCLE DE VIE... 2 2.2.1 Définition

Plus en détail

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 SOMMAIRE 1 AVANT PROPOS...3 2 PRÉSENTATION...4 2.1 Quelques définitions...4 2.2 Besoins d'intégration d'un moteur de workflow...4

Plus en détail

Programmation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006

Programmation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006 vendredi 8 septembre 2006 Programmation d'agents intelligents Vers une refonte des fils de raisonnement Stage de fin d'études Master IAD 2006 Benjamin DEVEZE Responsable : M. Patrick TAILLIBERT Plan Plan

Plus en détail

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude

Plus en détail

UML (Paquetage) Unified Modeling Language

UML (Paquetage) Unified Modeling Language UML (Paquetage) Unified Modeling Language Sommaire Introduction Objectifs Paquetage Espace de nommage d un paquetage Dépendances entre paquetages 2 Notion introduite véritablement par UML car superficiellement

Plus en détail

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

Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML. Analyse et conception objet du logiciel : Méthode de conception objet et notation UML Rémy Courdier Email : Remy.Courdier@univ-reunion.fr Rémy Courdier V2.1 1 Plan du cours Introduction au Génie Logiciel

Plus en détail

Service de réplication des données HP pour la gamme de disques Continuous Access P9000 XP

Service de réplication des données HP pour la gamme de disques Continuous Access P9000 XP Service de réplication des données HP pour la gamme de disques Continuous Access P9000 XP Services HP Care Pack Données techniques Le service de réplication des données HP pour Continuous Access offre

Plus en détail

MEGA Application Portfolio Management. Guide d utilisation

MEGA Application Portfolio Management. Guide d utilisation MEGA Application Portfolio Management Guide d utilisation MEGA 2009 SP5 R7 2ème édition (novembre 2012) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis

Plus en détail

Outil de gestion et de suivi des projets

Outil de gestion et de suivi des projets Outil de gestion et de suivi des projets Proposition technique et commerciale Amselem Jonathan - Corniglion Benoit - Sorine Olivier Troche Mariela - Zekri Sarah 08 Sommaire I. Les atouts de la proposition

Plus en détail

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

Plus en détail

Enquête 2014 de rémunération globale sur les emplois en TIC

Enquête 2014 de rémunération globale sur les emplois en TIC Enquête 2014 de rémunération globale sur les emplois en TIC Enquête 2014 de rémunération globale sur les emplois en TIC Les emplois repères de cette enquête sont disponibles selon les trois blocs suivants

Plus en détail

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

Diagrammes de Package, de déploiement et de composants UML labsticc.univ-brest.fr/pages_perso/babau/ Diagrammes de Package, de déploiement et de composants UML Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Plan Description

Plus en détail

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,

Plus en détail

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh NOTATION UML AVEC RATIONAL ROSE G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh Sommaire 1 GÉNÉRALITES...2 1.1 ENVIRONNEMENT LOGICIEL...2 1.2 LES VUES DU LOGICIEL ROSE...3 1.3 ORGANISATION RECOMMANDÉE...3

Plus en détail

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire

Plus en détail

Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2.

Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2. Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2. Le test aux limites 3. Méthode 2.1. Pré-requis 2.2. Préparation des

Plus en détail

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

Introduction à l informatique temps réel Pierre-Yves Duval (cppm) Introduction à l informatique temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 -Définition et problématique - Illustration par des exemples -Automatisme:

Plus en détail

Comprendre Merise et la modélisation des données

Comprendre Merise et la modélisation des données Comprendre Merise et la modélisation des données Tables des matières Avant-propos 1- Introduction 1-1 Principes fondateurs 1-2 Bases conceptuelles 1-3 Place de Merise dans le cycle de développement informatique

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

Management des processus opérationnels

Management des processus opérationnels Ecole Nationale Supérieure de Management Master Management des organisations Management des processus opérationnels Dr TOUMI Djamila Cours n 2: la modélisation des processus opérationnels INTRODUCTION

Plus en détail

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

Conception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA http://www.labri.fr/~marlet. (d'après A.-M. Hugues) màj 17/04/2007 1 Génie Logiciel (d'après A.-M. Hugues) Conception Renaud Marlet LaBRI / INRIA http://www.labri.fr/~marlet màj 17/04/2007 2 Position dans le cycle de vie Contexte : étant donnée une spécification (ce que

Plus en détail

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

Ingénierie des Modèles. Méta-modélisation Ingénierie des Modèles Méta-modélisation Eric Cariou Master Technologies de l'internet 2 ème année Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr

Plus en détail

L apprentissage automatique

L apprentissage automatique L apprentissage automatique L apprentissage automatique L'apprentissage automatique fait référence au développement, à l analyse et à l implémentation de méthodes qui permettent à une machine d évoluer

Plus en détail

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

Formation : Modélisation avec UML 2.0 et Mise en pratique Formation : Modélisation avec et Mise en pratique Durée : sur 4 Jours soit 28 heures ou sur 5 Jours soit 35 heures Présentation Stage UML (Unified Modeling Language) est la notation standard qui s'est

Plus en détail

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason

Plus en détail

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

Sommaire. Conduite de projet Méthode d analyse et de conception. Processus unifié. Objectifs d un processus de développement Conduite de projet Méthode d analyse et de conception Processus unifié G. Picard SMA/G2I/ENS Mines Saint-Etienne gauthier.picard@emse.fr Octobre 2009 Sommaire!!Objectifs d un processus d ingénierie logicielle!

Plus en détail

Leica Application Suite

Leica Application Suite Leica Application Suite Macro Editor et Macro Runner (Éditeur de macros et Exécuteur de macros) Personnalisées et automatisées 2 Les instructions peuvent être momentanément suspendues» de manière optionnelle

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Développement spécifique d'un système d information

Développement spécifique d'un système d information Centre national de la recherche scientifique Direction des systèmes d'information REFERENTIEL QUALITE Procédure Qualité Développement spécifique d'un système d information Référence : CNRS/DSI/conduite-proj/developpement/proc-developpement-si

Plus en détail

Programmation de services sensibles au contexte en téléphonie sur IP

Programmation de services sensibles au contexte en téléphonie sur IP Programmation de services sensibles au contexte en téléphonie sur IP Présentation de mémoire Grégory Estienne Sous la supervision du Dr. Luigi Logrippo Introduction La téléphonie sur IP comme support à

Plus en détail

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET Glossaire La terminologie propre au projet, ainsi que les abréviations et sigles utilisés sont définis dans le Glossaire. Approbation Décision formelle, donnée

Plus en détail

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants. Plan du chapitre Master Informatique et Systèmes Urbanisation des Systèmes d Information Architecture d Entreprise 04 Architecture du SI : identifier et décrire les services, structurer le SI 1 2 3 4 5

Plus en détail

UNIVERSITE D'ORLEANS ISSOUDUN CHATEAUROUX

UNIVERSITE D'ORLEANS ISSOUDUN CHATEAUROUX UNIVERSITE D'ORLEANS ISSOUDUN CHATEAUROUX PLAN

Plus en détail

Processus d Informatisation

Processus d Informatisation Processus d Informatisation Cheminement de la naissance d un projet jusqu à son terme, deux grandes étapes : Recherche ou étude de faisabilité (en amont) L utilisateur a une idée (plus ou moins) floue

Plus en détail

Livre blanc Mesure des performances sous Windows Embedded Standard 7

Livre blanc Mesure des performances sous Windows Embedded Standard 7 Livre blanc Mesure des performances sous Windows Embedded Standard 7 Table des matières Résumé... 1 Introduction... 1 Utilisation de la boîte à outils Windows Performance Analysis... 2 Fonctionnement...

Plus en détail

modélisation solide et dessin technique

modélisation solide et dessin technique CHAPITRE 1 modélisation solide et dessin technique Les sciences graphiques regroupent un ensemble de techniques graphiques utilisées quotidiennement par les ingénieurs pour exprimer des idées, concevoir

Plus en détail

Expression des besoins

Expression des besoins Centre national de la recherche scientifique Direction des systèmes d'information REFERENTIEL QUALITE Guide méthodologique Expression des besoins Référence : CNRS/DSI/conduite-projet/developpement/technique/guide-expression-besoins

Plus en détail

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement)

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement) HP Data Protector Express Software - Tutoriel 4 Utilisation de Quick Access Control (Windows uniquement) Que contient ce tutoriel? Quick Access Control est une application qui s'exécute indépendamment

Plus en détail

Cours Composant 2. Qualité logicielle et spécications algébriques

Cours Composant 2. Qualité logicielle et spécications algébriques UPMC Paris Universitas Master Informatique STL Cours Composant 2. Qualité logicielle et spécications algébriques c 2005-2008 Frédéric Peschanski UPMC Paris Universitas 24 février 2008 c 2005-2008 Frédéric

Plus en détail

UML (Diagramme de classes) Unified Modeling Language

UML (Diagramme de classes) Unified Modeling Language UML (Diagramme de classes) Unified Modeling Language Sommaire Introduction Objectifs Diagramme de classes Classe (Nom, attribut, opération) Visibilité et portée des constituants d une classe Association

Plus en détail

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA I. Introduction Suite à une demande des étudiants, il m'est apparu intéressant de montrer, à travers un exemple concret, comment

Plus en détail

Dossier d'étude technique

Dossier d'étude technique Centre national de la recherche scientifique Direction des systèmes d'information REFERENTIEL QUALITE Guide méthodologique Dossier d'étude technique Référence : CNRS/DSI/conduite-projet/developpement/technique/guide-etude-technique

Plus en détail

LA SURVEILLANCE ET LE SUIVI DE L'ENVIRONNEMENT. Pierre Guimont Conseiller en environnement Unité Environnement Division Équipement, Hydro-Québec

LA SURVEILLANCE ET LE SUIVI DE L'ENVIRONNEMENT. Pierre Guimont Conseiller en environnement Unité Environnement Division Équipement, Hydro-Québec LA SURVEILLANCE ET LE SUIVI DE L'ENVIRONNEMENT Pierre Guimont Conseiller en environnement Unité Environnement Division Équipement, Hydro-Québec Introduction L'un des principes directeurs de la politique

Plus en détail

Comprendre ITIL 2011

Comprendre ITIL 2011 Editions ENI Comprendre ITIL 2011 Normes et meilleures pratiques pour évoluer vers ISO 20000 Collection DataPro Extrait 54 Comprendre ITIL 2011 Normes et meilleures pratiques pour évoluer vers ISO 20000

Plus en détail

Urbanisation des Systèmes d Information Architecture d Entreprise. 04 Architecture du SI : identifier et décrire les services, structurer le SI

Urbanisation des Systèmes d Information Architecture d Entreprise. 04 Architecture du SI : identifier et décrire les services, structurer le SI Plan du chapitre Master Informatique et Systèmes Urbanisation des Systèmes d Information Architecture d Entreprise 04 Architecture du SI : identifier et décrire les services, structurer le SI 1 2 3 1.1

Plus en détail

ANALYSE DE RISQUE AVEC LA MÉTHODE MEHARI Eric Papet e.papet@dev1-0.com Co-Fondateur SSII DEV1.0 Architecte Logiciel & Sécurité Lead Auditor ISO 27001

ANALYSE DE RISQUE AVEC LA MÉTHODE MEHARI Eric Papet e.papet@dev1-0.com Co-Fondateur SSII DEV1.0 Architecte Logiciel & Sécurité Lead Auditor ISO 27001 ANALYSE DE RISQUE AVEC LA MÉTHODE MEHARI Eric Papet e.papet@dev1-0.com Co-Fondateur SSII DEV1.0 Architecte Logiciel & Sécurité Lead Auditor ISO 27001 PLAN Introduction Générale Introduction MEHARI L'analyse

Plus en détail

Cours STIM P8 TD 1 Génie Logiciel

Cours STIM P8 TD 1 Génie Logiciel Cours STIM P8 TD 1 Génie Logiciel Compléments sur UML Intervenant : Anil CASSAM CHENAI Date : 02/02/2012 Objectifs du complément Ce complément sera approfondi en parallèle de plusieurs TD/Cours. Rappels

Plus en détail

Test et Validation du Logiciel

Test et Validation du Logiciel Test et Validation du Logiciel McInfo4_ASR Tests Janvier 2009 Patrick FELIX patrick.felix@labri.fr IUT Bordeaux 1 Plan Introduction : Pourquoi de la VVT? 1 Introduction au test de logiciels 2 Le test fonctionnel

Plus en détail

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

Plus en détail

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

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition) Avant-propos 1. Objectifs du livre 13 2. Structure du livre 14 Un projet informatique 1. Les enjeux 17 1.1 Les buts d'un projet 17 1.2 Les protagonistes d'un projet 18 1.3 Exemples de projets 19 2. Les

Plus en détail

Introduction au temps réel

Introduction au temps réel Introduction au temps réel Laurent.Pautet@enst.fr Version 2.0 Définition d un système temps réel Un système temps réel se compose d'un ou plusieurs sous-systèmes devant répondre en un temps fini et spécifié

Plus en détail

Business Process Modeling (BPM)

Business Process Modeling (BPM) Business Process Modeling (BPM) Mineure SOA Cécile Hardebolle cecile.hardebolle@supelec.fr Programme 8 nov. 15 nov. Introduction. Enjeux, rôle de l'architecte SI Partie n 1 du cas d'étude Architecture

Plus en détail

Le Ro le Hyper V Premie re Partie Configuration et Prise en main du gestionnaire Hyper-V

Le Ro le Hyper V Premie re Partie Configuration et Prise en main du gestionnaire Hyper-V Le Ro le Hyper V Premie re Partie Configuration et Prise en main du gestionnaire Hyper-V Microsoft France Division DPE Table des matières Présentation... 2 Objectifs... 2 Pré requis... 2 Quelles sont les

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

Plus en détail