• Aucun résultat trouvé

3.4 Intégration à UML des mécanismes d’extension proposés.

6.2.4 Les Dépendances :

Permettent la spécification des dépendances entre tous les éléments variables (Points de variation, Variants et éléments architecturaux) par l’usage des stéréotypes « excludes » et « requires ».Ce mécanisme est le même utilisé par UML pour gérer cet aspect de la variabilité.

6.3.

Conclusion.

Ce chapitre a présenté un sous-modèle permettant aux formes hétérogènes de variabilités architecturales d’être spécifiée d’une manière qui permet de modulariser la définition de la variabilité dans une préoccupation architecturale en un seul endroit (la préoccupation) facilitant ainsi son changement et son évolution .Notre sous-modèle conceptuel basé sur des mécanismes UML fournit une représentation de la variabilité facilement compréhensible par les ingénieurs software et l’architecte de la LdP. Il facilite la représentation de la variabilité et sa composition en permettant l’ajout et la suppression d’éléments architecturaux individuels au modèles communs selon les vues .Il fournit un moyen de décrire la variabilité séparément lui permettant d’être traitée comme une nouvelle vue architecturale (càd un modèle de variabilité).

- FIG 6.5 - Aspect dynamique Elément architectural Lignedevie -ref-lignedevie +ajout() +supprimer() +maj() Occurrences d’événement Ref-occurrence Ref-msg Ref-lignedevie +ajout() +send() +receive() +supprimer() +maj() Messages -type-message (complet,perdu,trouvé,inconnu -message-sort(synchcall,asynchcall,asynchsignal) -ref-message +add() +remove() +cons-message-state() +update()

Le système de gestion de la variabilité–La vue s é q u e n c e

Séquence

88

Deuxième partie

Contributions

Chapitre 7.

Etude du système

maison intelligente.

Un modèle logique pour les architectures logicielles dans l’embarqué

Contributions – Etude du système maison intelligente -

Présenté en vue de l’obtention du diplôme de magister en informatique industrielle-concepts avancés- Par Djebar Yacine 89

7-1- Présentation du système de contrôle d’une maison intelligente. Dans l’architecture d’une maison intelligente -cf. Figure 7.1-, nous voulons développer différents produits

qui ont des

compositions différentes de features. En retour, ces compostions vont provoquer des changements dans les éléments architecturaux pour des vues architecturales

différentes. Pour comprendre les variabilités contenues dans ce système, on va prendre en considération le diagramme de features - cf. Figure 7.1- qui utilise la notation de [53].

Dans la Figure 7.1, ce diagramme illustre que contrôle-maison-intelligente peut être développé pour être utilisé avec des périphériques d’authentification différents, qui sont les lecteurs de clés, les lecteurs de cartes magnétiques et les lecteurs d’empruntes et fournit des alternatives de fermeture de la porte d’accès manuelle (clé physique) ou électronique (déverrouillage à l’aide d’un vérin et sur authentification).

La sélection de l’alternative manuelle nécessite que l’utilisateur soit authentifié une fois à l’intérieur de la maison. En plus, il y a une option pour l’ouverture de la porte d’accès à l’aide d’un vérin. Mais cette option n’est valable que si l’alternative électronique est choisie.

Le diagramme de composants est illustré dans la Figure 7.2. Comme il n y a pas une notation standard pour la variabilité qui permet de décrire les ensembles complets de variabilités dans plusieurs vues, nous avons utilisé une notation similaire à celle de Clauss [10]. Ainsi, Le diagramme de composants est utilisé beaucoup plus pour démontrer les problèmes de description des variabilités orthogonales selon les vues dans un contexte visuel .

Les composants : gestionnaire authentification, contrôle-utilisation et contrôle-fermeture représentent le cadre commun basique du diagramme de composants.

Les éléments variables introduits par composition à ce cadre commun par le concepteur ou un autre intervenant sur la LdP sont représentés en traits discontinus.

Le diagramme utilise les annotations <optional>, <alternative>et <requires> pour indiquer les types de variabilités et <requires> pour indiquer les dépendances entre les éléments architecturaux.

Un certain nombre d’éléments architecturaux correspondent directement aux features, mais d’autres ne le sont pas.

Exemple : la sélection de l’option entrée électronique va entrainer la connexion du composant

fermeture-électronique aux composants contrôle-fermeture et gestionnaire-Authentification, et aussi

le composant vérin-fermeture au composant contrôle-fermeture.

De plus, une nouvelle interface requise doit être ajoutée au composant gestionnaire-

Authentification et donc une nouvelle interaction doit être créée entre ce composant et le

composant fermeture-électronique. En plus, chaque périphérique d’authentification doit

Contrôle maison intelligente

Périphérique d’authentification Entrée Ouverture porte lecteur d’accés/ clé lecteur carte lecteur

emprunte Manuelle Electronique <requires>

Alternatives Optional strict Mandatory

FIG 7.1 - Le diagramme de features pour le système contrôle maison intelligente

Préoccupation

90

vont requérir un composant Simple-Algorithme qui ne fait que confirmer l’information reçue par le périphérique périphérique-authentification .Le composant lecteur d’emprunte va requérir un algorithme plus complexe contenu dans le composant emprunte-Algorithme car ce dernier utilise une base biométrique.

En observant le diagramme de composants – Figure 7.2- (qui utilise la notation de [77]) correspondant au diagramme de features –figure 7.1–, on peut constater que même une description d’une simple feature peut entrainer un ensemble complexe de variabilités émergentes à travers la décomposition architecturale. Ainsi, on constate que pour construire le diagramme de composants correspondant à cette feature, il y a lieu de créer d’autres éléments architecturaux dans ce diagramme et donc il n y a pas de correspondance biunivoque entre le diagramme de features et celui des composants .C’est cet aspect de la représentation orthogonale des variabilités architecturales que nous allons illustrer à travers l’exemple du système de contrôle d’accès .Cette illustration prendra deux volets relatifs aux actions de compositions/décompositions à granularité fine et à gros grains de la variabilité: le premier, descriptif , le second correspondant au premier est opératoire .Ce dernier est basé sur l’application des concepts intronisés dans notre sous-modèle .

7-2 Description des compositions à granularité fine.

Par souci de brièveté et de clarté, nous allons seulement détailler la préoccupation « Contrôle-accès »illustrée dans la figure 7.1 qui renferme les points de variation : « périphérique-authentification » et « entrée ». Elle sera formalisée par :

Contrôle-accès (périphérique-authentification (lecteur-accès-clé, lecteur-Carte, lecteur-emprunte),Entrée (Manuelle,

électronique ) ).

7.2.1 Le point de variation « Périphérique authentification »

a- Ce point de variation de type « alternative » fournit 3 alternatives de variants nommées

lecteur accès par clé, lecteur de Carte et lecteur d’emprunte.

Deux références, AuthPériphériquePV et AlgorithmePV, sont crées dans le but de simplifier les sollicitations des éléments qu’ils référencient par les autres éléments de la LdP :

-AuthPériphériquePV référencie le composant « Contrôle-fermeture » et son interface requise « IAuthPériphérique ».

-et AlgorithmePV référencie le composant « gestionnaire authentification » et son interface requise « IAuthAlgorithme » .

Un certain nombre de compositions sont alors nécessaires pour connecter les composants puis les déployer dans leurs nœuds respectifs. Comme les mécanismes de prise en charge de ces compositions sont similaires pour tous les variants, nous allons seulement détailler le variant « lecteur-clé-accès ».

7.2.1.1 Le variant « lecteur-clé-accès ».

b- dans la 1ere action les composants référencés par AuthPériphériquePV sont connectés au composant « Lecteur-clé-accès » via l’interface fournie IAuthPériphérique.

c-Dans La seconde, les composants référencés par AlgorithmePV sont connectés via

l’interface fournie « IAuthAlgorithme » au composant « SimpleAlgorithme » .

d-En dernier, les composants « Lecteur-clé-accès » et « SimpleAlgorithme » sont déployés respectivement dans les nœuds « Périphérique-authentification » et « contrôle-maison-

Un modèle logique pour les architectures logicielles dans l’embarqué

Contributions – Etude du système maison intelligente -

Présenté en vue de l’obtention du diplôme de magister en informatique industrielle-concepts avancés- Par Djebar Yacine 91

7.2.1.2 Les variants « lecteur-carte» et « lecteur emprunte ». Les mêmes compositions décrites au niveau du variant « lecteur-clé-accès » seront appliquées pour décrire les variabilités émergentes de ces deux variants.

- 7.2.2 Le point de variation « Entrée » .Il fournit un ensemble plus complexe et intéressant de compositions. Il détaille deux variants, nommés : Manuel et Electronique.

e- Contrôle-fermeturePV référencie le composant « Contrôle-fermeture » et son interface requise « IFermeturePorte ».

7.2.2.1 Le variant « Manuel » connecte les composants référencés par « contrôle- fermeturePV» au composant « fermeture-manuelle » via l’interface « IFermeture-porte », et

déploie le composant « fermeture-manuelle » dans le nœud « Contrôle-maison-intelligente » 7.2.2.2 Le variant « Electronique » représente un ensemble de compositions simples

incorporant la composition d’éléments à multiples architectures que nous allons décrire :

f- Les composants référencés par « contrôle-fermeturePV» sont connectés via l’interface

IFermeture-porte fournie par le composant Fermeture-électronique .Ensuite, l’interface IAuth-fermeture est ajoutée aux composants Gestionnaire-authentification (comme requise)

et Fermeture-électronique (comme fournie).

g- Par la suite, l’interface requise Ivérin-Fermeture est ajoutée au composant Contrôle-

fermeture puis les composants Contrôle-fermeture et Fermeture-par-vérin sont connectés

via cette interface (requise par contrôle-fermeture et fournie par fermeture-par-vérin). Dans la suite (le point « h »), nous allons illustrer l’usage d’interactions de type séquence.

Iauth- utilisation I Utilisateur IVerin- fermeture Iverin-porte Ifermeture- porte IAuth- fermeture IAuth-algorithm e « requires » « requires » « requires » « requires » Contrôle utilisation «alternative » Lecteur clé accès «alternative » Lecteur-carte «alternative » Lecteur- emprunte Gestionnaire Authentification Manager Contrôle- fermeture Fermeture- par-verin « optional » Verin-de- la-porte «alternative » Fermeture- manuelle «alternative » Fermeture- électronique Simple Algorithme Emprunte- Algorithme Iauth-périphérique

Fig 7.2 . Diagramme de composants pour le système contrôle maison intelligente

Eléments variables Eléments communs

Interface fournie Interface requise

92

h-L’interaction déclare qu’après que l’opération authentifier dans G.A

(

Gestionnaire- authentification) ait été exécutée, un nouveau message doit être ajouté qui envoie le résultat de l’opération de déverrouillage appelée par le composant Gestionnaire-authentification au composant Fermeture-électronique via l’interface IAuth.

A la fin, les composants Fermeture-électronique et Fermeture-par-vérin sont déployés dans le nœud contrôle-maison-intelligente.