Présentation
RÉSUMÉ
UML est utilisé industriellement pour le développement de logiciels. Son introduction plus récente dans le domaine du temps réel a montré qu’il offre une base riche et intéressante. Cet article fait un point sur les concepts standard d’UML pouvant être utilisés pour modéliser des systèmes temps réel et en particulier les différents supports fournis par UML pour la modélisation de la concurrence, du comportement, des communications et d’informations temporelles.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleAuteur(s)
-
François TERRIER : Chef du département Ingénierie des logiciels et des systèmes - CEA, LIST – Gif-sur-Yvette, France
-
Sébastien GÉRARD : Chef du laboratoire Ingénierie dirigée par les modèles pour les systèmes embarqués - CEA, LIST / DILS – Gif-sur-Yvette, France
INTRODUCTION
Avec la normalisation d'UML (Unified Modeling Language), le point dur de la profusion de formalismes orientés objets est tombé, facilitant par là-même l'introduction de ces technologies dans le domaine industriel. Présent dans le cursus de formation des filières informatiques de la plupart des masters et écoles d'ingénieur, UML est déjà largement utilisé dans l'industrie pour la conception et le développement des systèmes d'information de secteurs très variés comme les finances ou la défense. Les travaux en cours à l'OMG (Objet Management Group) pour introduire dans les évolutions de la norme les points relatifs au domaine du temps réel montrent un intérêt fort pour UML de la part du monde des systèmes et logiciels temps réel ou embarqués avec l'implication de secteurs industriels majeurs comme l'avionique, les télécommunications et l'automobile .
Ce texte vise à faire un point sur les concepts natifs d'UML déjà disponibles en standard et qui peuvent être utilisés pour modéliser des systèmes temps réel. En particulier, nous décrirons rapidement les différents supports fournis par UML pour la modélisation de la concurrence, du comportement, des communications et informations temporelles quantitatives. Il se réfère à la version 2.5 fournie par l'OMG en 2013. Les exemples de modèles ont été construits à l'aide du modeleur UML 2 de référence de la fondation Eclipse ( http://www.eclipse.org/papyrus).
Un second article UML pour le temps réel. Application illustrera ces concepts sur une étude de cas en mettant en évidence une approche méthodologique proposée pour traiter les points les plus délicats de l'utilisation d'UML.
MOTS-CLÉS
Classe/Objet machine à état messages Spécification et modélisation de logiciels Conception de systèmes temps réel Systèmes embarqués Logiciels temps réel
VERSIONS
- Version archivée 1 de juin 2005 par François TERRIER, Sébastien GÉRARD
DOI (Digital Object Identifier)
CET ARTICLE SE TROUVE ÉGALEMENT DANS :
Accueil > Ressources documentaires > Automatique - Robotique > Automatique et ingénierie système > Supervision des systèmes industriels > UML pour le temps réel : le langage et les méthodes > Intérêt d'UML pour le temps réel
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
1. Intérêt d'UML pour le temps réel
Indépendamment des chiffres précis, il est clair qu'il y a une explosion du marché des systèmes embarqués, temps réel et distribués, qui entraîne une pression extrêmement forte sur leur développement. L'accroissement constant des nouveaux services fournis par ces systèmes met les développeurs en face du problème de développement de systèmes de plus en plus sophistiqués alors que la compétition toujours croissante entre les entreprises les incite à développer de plus en plus rapidement avec des coûts toujours plus réduits !
Les approches classiques de développement temps réel ont atteint leurs limites dans un monde où, d'une part, les cibles matérielles ne peuvent être précisément connues à l'avance et où, d'autre part, les évolutions des versions des systèmes deviennent de plus en plus rapides afin de suivre les exigences du marché.
Réutilisation et évolutivité deviennent des exigences essentielles pour les méthodes et techniques de développement. Dans un tel contexte, le développement de systèmes temps réel ne peut être réalisé efficacement sans un important support méthodologique et des outils d'accompagnement. Parallèlement, les techniques orientées objets ont atteint un degré de maturité suffisant pour offrir avec succès la flexibilité demandée par les nouvelles applications. Toutefois, jusqu'ici, la communauté temps réel a été réticente à franchir ce rubicon, et ce principalement pour les deux raisons suivantes :
-
l'état de maturité des approches orientées objets n'était pas suffisant pour assurer la stabilité et la pérennité des solutions proposées en termes de méthodes et d'outils ;
-
les spécificités du temps réel étaient généralement mal couvertes par les approches proposées.
Ces dernières années, UML est devenu le langage privilégié des ingénieurs pour la modélisation des systèmes. En effet, l'arrivée de la première norme UML en 1997 a fourni à de nombreux éditeurs de logiciels le signal qu'ils attendaient pour lancer le développement d'une nouvelle génération d'outils centrés sur la modélisation des systèmes. La modélisation orientée objets, avec un formalisme standard comme UML, apporte ainsi des solutions intéressantes aux enjeux soulignés précédemment....
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Intérêt d'UML pour le temps réel
BIBLIOGRAPHIE
-
(1) - SELIC, BURNS, MOORE, TEMPELMEIER, TERRIER - * - . – Heaven or Hell ? A « Real-Time » UML ? In Lecture Notes in Computer Science Vol. 1939, pp 93-100 (2000).
-
(2) - MOORE, COOLING - Real-time Perspective – Overview (Version 1.0) - ARTISAN Software (1998).
-
(3) - SELIC, RUMBAUGH - Using UML for Modeling Complex Real-Time Systems - ObjecTime Limited (1998).
-
(4) - DOUGLASS - Doing Hard Time : Developing Real-Time Systems with UML - Objects, Frameworks, and Patterns. Object technology Series, ed. Rumbaugh. Addison Wesley (1999).
-
(5) - GÉRARD - * - . – Modélisation UML exécutable pour les systèmes embarqués de l'automobile, PhD Thesis, in GLSP. Evry : Paris (2000).
-
(6) - MELLOR, BALCER - Executable UML : A Foundation for Model-Driven...
DANS NOS BASES DOCUMENTAIRES
ANNEXES
-
Objet : un objet est associé à une brique logicielle qui possède une structure interne et un comportement, et sait communiquer avec d’autres objets. Il représente un concept, une idée ou toute entité du monde physique. La communication entre les objets permet de réaliser les fonctionnalités attendues.
-
Classe : une classe décrit (type) un ensemble d’objets qui partagent les mêmes spécifications de propriétés, contraintes, comportement et sémantique.
-
Instance (de classe) : une instance d’une classe référence un objet concret qui possède les caractéristiques de la classe. Il s'agit d'un objet constituant un exemplaire de la classe. L'instanciation est l'action de créer un objet à partir d'un modèle (la classe).
-
Opération : une opération est la spécification externe d’un comportement d’une classe ; elle définit le nom, le type, les paramètres et les contraintes pour l’invocation de ce comportement.
-
Méthode : une méthode est la spécification interne d’un comportement ; elle décrit sa réalisation.
-
Comportement : un comportement caractérise comment un objet change d’état au cours du temps et de ses interactions ; il permet de décrire des traitements et procédures.
-
Activité : une activité est la spécification d’un comportement paramétrable avec des données d’entrée et pouvant produire des données de sortie. Elle est exprimée sous la forme d’une séquence coordonnée d’activités ou d’actions.
-
Action : une action est une unité...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive