Cette publication ne fait pas partie de la bibliothèque YouScribe
Elle est disponible uniquement à l'achat (la librairie de YouScribe)
Achetez pour : 32,99 € Lire un extrait

Téléchargement

Format(s) : PDF

avec DRM

Partagez cette publication

Vous aimerez aussi

5.1
5
Système de domotique
INTRODUCTION
L’étude de cas qui suit est extraite du livre de Rumbaughet al.[7]. Elle a été étendue et corrigée pour respectivement gagner en crédibilité et pour remédier aux erreurs de spécification qui figurent dans l’ouvrage précité. Nous revenons sur ce dernier point en relevant les principales fautes de modélisation. Par ailleurs, nous exposons des variantes de spécification pour montrer la faisabilité de plusieurs modèles. Parfois l’accroissement d’une qualité comme l’évolutivité peut se faire au détriment d’une autre qualité, par exemple la performance. Un arbitrage se justifie donc souvent. Il n’existe jamais « un » modèle solution mais plusieurs, chacun présentant des avanta-ges et des inconvénients. Nous insistons sur une qualité rarement prise en charge : la capacité d’un modèle à être facilement implanté. Cela ne signifie pas que la spécifi-cation n’est qu’une représentation graphique de ce que sera la version codée du sys-tème en C++, Java ou tout autre langage objet. Bien au contraire, nous prouvons l’indépendance de la spécification ainsi que son aptitude à être déclinée sans heurt vers tout d’abord, un modèle de conception par nature teinté de considérations opé-rationnelles, puis du code, tout cela dans l’esprit du MDE.
Les caractéristiques de cette étude de cas sont le fort usage du cadencement, c’est-à-dire de services deTimerqui, du fait de leur sophistication, ont conduit à l’élaboration d’un patron spécifique et de son outillage en Java. Nous traitons par ailleurs brièvement de la manière dont un composant logiciel, s’il requiert des servi-ces deTimervia sarequired interface, peut s’octroyer de tels services. Finalement, du fait que l’application est fortement axée sur lesState Machine Diagram, nous mon-trons l’architecture et la mise en fonctionnement de la bibliothèquePauWare.Sta-techarts,qui automatise l’implémentation de ces types de diagramme UML 2.x. Bien entendu, l’étude de cas utilise aussi lesClass Diagramet de façon plus anecdotique les Communication Diagram. Nous voyons que dans le domaine de la dynamique, les types de diagramme autres que lesState Machine Diagramsont plutôt accessoires.
248
5.2
Chapitre 5. Système de domotique
Sans faire office de preuve, ce constat confirme l’avis exposé dans le chapitre 3 sur la qualité de ces derniers.
CAHIER DES CHARGES
Un thermostat programmable contrôle un chauffage et un conditionneur d’air en fonction de données entrées, à l’aide d’un pavé de dix boutons activé par un utilisa-teur. En fonctionnement, le thermostat agit soit sur le chauffage, soit sur le condi-tionneur d’air, pour faire converger la température ambiante vers la température cible courante. Au chauffage et au conditionneur d’air s’ajoute un ventilateur égale-ment contrôlé par le thermostat. En fonctionnement, le thermostat contrôle chacun de ces trois éléments par le biais de trois relais de puissance. Le thermostat établit la température ambiante à l’aide d’un capteur de température. Le cycle et le mode de rafraîchissement de cette information ne sont pas connus car ils dépendent du dispo-sitif retenu pour l’installation finale. En effet, en fonction de contraintes matérielles et logicielles ultérieurement définies (type de capteur, protocole de communication, etc.), la spécification doit être suffisamment flexible pour s’adapter à ces contraintes. Le thermostat a besoin à tout moment de quatre informations: la température ambiante, l’heure et le jour courants, la température cible courante, ainsi que la constante « delta », la condition d’arrêt du chauffage étant exprimée par « tempéra-ture ambiante > température cible courante + delta », et la condition d’arrêt du con-ditionneur d’air étant exprimée par «température ambiante < température cible courante – delta ».
Le ventilateur est piloté par un commutateur comportant deux modes : le mode forcé entraîne le fonctionnement du ventilateur quelle que soit la situation. Le mode automatique, au contraire, n’entraîne la mise en marche du ventilateur que si le chauffage ou le conditionneur d’air se lance. En mode automatique, le ventilateur s’arrête également si le chauffage ou le conditionneur d’air s’arrête. La température cible est décrite dans une table de huit valeurs préalablement sai-sies par l’utilisateur. Avec chaque valeur est enregistrée une heure. Par convention, les quatre premières heures enregistrées décrivent les instants d’une journée de la semaine auxquels la température cible va changer. Les quatre dernières heures décri-vent les instants d’une journée du week-end auxquels la température cible va chan-ger. Exemple: • Période de programmation n˚ 1, heure: 22 heures, température cible: 21 ˚C à partir de 22 heures • n˚ 2, 7 heures, 14 ˚C à partir de 7 heures • n˚ 3, 9 heures, 22 ˚C à partir de 9 heures • n˚ 4, 17 heures, 18 ˚C à partir de 17 heures • n˚ 5, 23 heures, 22 ˚C à partir de 23 heures
5.2 Cahier des charges
• n˚ 6, 9 heures, 14 ˚C à partir de 9 heures • n˚ 7, 13 heures, 22 ˚C à partir de 13 heures • n˚ 8, 18 heures, 19 ˚C à partir de 18 heures
249
Le thermostat dépend d’une interface utilisateur intégrant le pavé de dix bou-tons. Un témoin d’activité, un commutateur de saison et un commutateur de venti-lation font également partie de l’interface utilisateur. Chaque commutateur accepte une valeur de paramètre parmi deux ou trois possibilités. Les commutateurs et leurs valeurs de paramètre se présentent ainsi : • commutateur de saison:Heat(le thermostat ne contrôle que le chauffage pour réguler la température ambiante),Cool(le thermostat ne contrôle que le conditionneur d’air pour réguler la température ambiante) ouOff. Dans ce dernier cas, le chauffage et le conditionneur d’air sont arrêtés et ne peuvent être remis en fonctionnement qu’en sortant du modeOff; • commutateur de ventilation:On(le ventilateur opère en permanence) ou Auto(le ventilateur n’opère que si le chauffage est actif ou le conditionneur d’air est actif).
Le témoin d’activité ne s’allume que si le chauffage est actif ou si le condition-neur d’air est actif.
L’interface utilisateur est dotée d’un système alternant toutes les deux secondes l’affichage de l’heure et du jour courants avec l’affichage de la température ambiante, ainsi qu’un système d’affichage de la température cible courante (figure 5.1). C’est le mode d’activité de programme (étatOperate) dans lequel le thermostat vérifie seconde par seconde si l’heure courante est égale à l’instant auquel la température cible doit changer. Dans un tel cas, il faut passer à la période de programmation sui-vante et fixer la nouvelle température cible courante à partir de la table. Il est cepen-dant possible de ne pas tenir compte du programme en maintenant jusqu’à nouvel ordre la température cible courante (boutonHold tempde l’interface utilisateur). Le mode alternatif au mode d’activité de programme est le mode de configuration/pro-grammation (étatSetup). Les données affichées par l’interface utilisateur dépendent alors du fait que l’on configure le jour et l’heure courants du thermostat ou que l’on programme la table avec de nouvelles températures cibles à des créneaux horaires précis. L’affichage présente l’aspect suivant.
Dans la figure 5.1, les quatre lignes correspondent à quatre possibilités de visuali-sation. Dans une ligne donnée, il y a deux zones d’affichage. Selon l’état courant du thermostat programmable, ces zones sont réservées à l’affichage de données bien pré-cises. En ce sens, nous avons mentionné en italique, pour information, l’état dans lequel se trouverait le thermostat pour être en mesure d’afficher le type de données. Par exemple, la première ligne en haut de la figure 5.1 fait apparaître à gauche, le jour et l’heure courants et à droite, la température cible courante à atteindre. C’est seulement dans l’étatOperateet son sous-étatTarget temperature displayingque cela est possible. © Dunod – La photocopie non autorisée est un délit