Note de lecture : Real-Time UML, par Bruce Powel Douglass

Note : 6 ; Beaucoup d’UML classique avec un peu de spécifique « temps réel ».

Les 50 premières pages de ce livre ne nous laissent pas vraiment penser que celui-ci traite spécifiquement de temps-réel : elles exposent les principes généraux d’UML.

Il faut attendre le chapitre 2 et le traitement des exigences temps-réel pour aborder des éléments spécifiques. Ici, on parle surtout de messages, d’évènements et de réponses, mais aussi de cas d’utilisation (curieusement ils utilisent un formalisme « pré-UML » avec les relations « uses », entre autres choses). Sinon, l’approche proposée se calque sur la structure en « peau d’oignons » de John Ellis.

Le chapitre 3 est consacré à l’analyse objet. Ici, ce sont les techniques de découverte des objets (qu’ils soient du domaine, visuels ou utilitaires), des associations et des attributs qui sont détaillés. Curieusement, l’étape du « problem statement » prends place ici, alors que je l’aurais plutôt vu au chapitre précédant. La particularité des modèles « temps réels » est d’utiliser une structure de classes composites, à l’image des diagrammes de blocs proposés par UML 2.

Le chapitre 4, consacré à l’aspect comportemental des objets est, comme on peut s’y attendre dans le domaine du temps réel, essentiellement consacré aux automates d’état. Les « timing diagrams » apparus ultérieurement avec UML2 y sont aussi évoqués.

Le chapitre 5 dédié à l’architectural design s’appuie sur une approche à 3 niveaux (Architectural design, mechanistic design et detailed design). Les 2 niveaux suivants seront étudiés aux 2 chapitres suivants. L’architectural design se focalise sur la structure en couche et en package, la définition des protocoles d’échanges et le modèle de concurrence. Outre l’utilisation classique des diagrammes de dépendances entre packages, on a aussi droit à l’utilisation moins courante des diagrammes de déploiement. Les protocoles sont fort logiquement décrits à l’aide de collaborations et de diagrammes de séquence. Ce chapitre est également l’occasion de développer certains patterns architecturaux tels que : Monitor-Actuator, Watchdog, Safety executive, Diverse redundancy, Homogenous redundancy, ainsi que les plus classiques Proxy et Broker. La description de la concurrence s’appuie sur des diagrammes de déploiement où figurent les instances de tâches : non standard mais diablement clairs et utiles !

Comme on pouvait s’y attendre, le chapitre 6 traite du « mechanistic design ». Ceux-ci exposent les choix tactiques de conception, à savoir les design patterns mis en œuvre. Quelques patterns viennent étoffer les très classiques patterns du GoF (Rendez-vous, Transaction,…), ils sont très logiquement documentés à l’aide de Collaborations UML.

Le chapitre 7 « detailed design » traite du troisième niveau de l’approche architecturale. Ici, ce sont les structures de donnée, les complexités algorithmiques et la gestion des exceptions qui sont abordées.

Ce livre est sommes toutes complet sur l’usage d’UML dans le domaine du temps-réel. Il commence assez doucement et plutôt classiquement (voir faiblement) sur l’expression du besoin, mais surprend en couvrant l’ensemble du cycle de développement, y compris la conception détaillée avec UML, ce que l’on n’est pas forcément habitué à voir. Le public est aussi clairement visé : les ingénieurs travaillant dans le temps réel. Les autres seront peu ou pas concernés…

real-time-UML

Référence complète : Real-Time UML, Developing efficient objects for embedded systems – Bruce Powel Douglass – Addison Wesley / O.T. series 1998 – ISBN : 0-201-32579-9

Real-Time UML: Developing Efficient Objects for Embedded Systems

http://www.goodreads.com/book/add_to_books_widget_frame/0201325799?atmb_widget%5Bbutton%5D=atmb_widget_1.png

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s