Coffee Machine (Machine à café) : Niveau logique

Introduction

Au niveau logique, nous définirons une solution indépendante sur le plan technologique. Il s’agit du niveau intermédiaire d’abstraction, où le système est décrit en termes de structure et de comportement. À ce niveau, l’accent est mis sur la façon dont les composants du système sont organisés et sur la façon dont ils interagissent les uns avec les autres.

Comportement à la frontière fonctionnelle

Un diagramme de “comportement à la frontière fonctionnelle” est un type de diagramme d’activité SysML utilisé pour montrer les interactions entre différents blocs logiques. Les couloirs d’activité (swim lanes) divisent le diagramme en différentes zones, chacune représentant un bloc fonctionnel ou un composant différent.

Dans ce cas, le diagramme comprend des couloirs d’activité (swimlanes) pour l’IHM (HMI), le contrôleur (Controller), la pompe à eau (Water Pomp), le chauffe-eau (Water Heater) , la tête de groupe (Group Head) et le filtre à eau (Portafilter). L’IHM reçoit l’information “bouton pressé” par le barman ( barista) et envoie une commande au contrôleur. Ce dernier ordonne alors au chauffe-eau de se mettre en marche et, une fois que l’eau a atteint la bonne température, il ordonne à la pompe de se mettre en marche. L’eau est alors pompée à travers la tête de groupe et dans le porte-filtre, ce qui permet de préparer le café. Le diagramme montre le flux d’informations et d’actions entre les différents blocs logiques et permet de s’assurer que le comportement fourni par chaque bloc est correctement connecté et intégré au système.

_images/9fdf0b3c-7170-11ec-999a-f47b099bf663.svg

Dans le paquet Logique, développez le paquet Comportement (Beahavior) dans le navigateur de modèle (Model Browser) et double-cliquez sur le diagramme nommé Comportement de frontière fonctionnelle (Functional Boundary Behavior). Des couloirs d’activités (swimlanes) supplémentaires peuvent être ajoutés en cliquant sur les couloirs d’activités et en ajoutant des partitions supplémentaires dans l’éditeur de propriétés. Le nom de la partition précédant les deux points peut également être modifié dans l’éditeur de propriétés. Les noms des blocs peuvent être modifiés dans le paquet Structure, comme expliqué dans la section Diagramme de domaine.

Des flux d’objets (Object Flows), des broches (attention aux entrées et aux sorties) et des actions supplémentaires peuvent être créés à l’aide de la boîte à outils (Toolbox). Les nœuds de paramètres attachés à l’activité à gauche et à droite du diagramme sont créés et renommés en cliquant sur l’activité et en les modifiant dans l’éditeur de propriétés.

État Logique Machine

L” état logique de la machine à café est un diagramme qui montre les différents états et transitions par lesquels la machine passe pour faire du café. Dans ce cas, il y a deux états principaux : On et Off.

Lorsque la machine à café est allumée, elle passe à l’état « On ». À l’intérieur de cet état, il y a plusieurs sous-états, à commencer par l’état « eau chaude ». La machine passe de l’état « eau chaude » à l’état « prêt » lorsque la température atteint le point de consigne.

Une fois que la machine est prête, l’utilisateur peut sélectionner le mode une ou deux tasses. Selon le mode sélectionné, la machine passera en mode une tasse ou deux tasses.

Diagramme d'état machine montre les états logiques, y compris l'activation et la désactivation

Ouvrez le diagramme des Etats Logiques (Logical States) et ajoutez une région à l’état “On” via l’éditeur de propriétés (Property Editor). Utilisez ensuite la boîte à outils (Toolbox) pour ajouter les sous-états et la transition supplémentaires. Les protections des transitions, indiquées entre parenthèses, sont ajoutées en sélectionnant la transition et la protection correspondante dans l’éditeur de propriétés.

Le diagramme d’état logique de la machine à café montre ces états et les différentes conditions qui déclenchent les transitions. Cela aide les fourmis qui conçoivent la machine à comprendre le fonctionnement de la machine à café et à s’assurer qu’elle fonctionne correctement.

Structure logique

La structure logique montre de quels blocs logiques la machine à espresso est constituée. Puisque nous sommes au niveau logique, ces blocs devraient être agnostiques par rapport aux choix techniques.

Les blocs logiques suivants font partie de la machine à expresso :

  • Water tank (Réservoir d’eau)

  • Water pump (Pompe)

  • Water heater (Chauffe-eau)

  • Portafilter (Porte-filtre)

  • Contrôleur

  • Group head (Tête de groupe)

  • IHM

Chaque bloc représente une partie essentielle de la machine à espresso, et la relation de confinement est utilisée entre la machine à espresso et ses parties logiques.

Schéma de définition du bloc montrant la machine à café et ses parties logiques
  • Water tank : Le réservoir d’eau est un récipient qui stocke l’eau utilisée dans la machine à espresso. Il a généralement une capacité spécifique et est conçu pour être facilement rempli et nettoyé. Le réservoir d’eau alimente la pompe à eau en cas de besoin.

  • Water pump : La pompe à eau est chargée de puiser l’eau dans le réservoir d’eau et de créer la pression nécessaire pour faire passer l’eau à travers le marc de café dans le filtre à café. Elle joue un rôle crucial dans le processus d’extraction de l’espresso en assurant un débit d’eau constant.

  • Water heater : Le chauffe-eau, également appelé boiler ou élément chauffant, est chargé de chauffer l’eau à la température optimale pour la préparation de l’espresso. Il maintient l’eau à la température souhaitée pour garantir une extraction et une saveur adéquates.

  • Portafilter : C’est un dispositif amovible en forme de poignée qui contient le marc de café. Il est fixé à la machine à espresso et sert de porte-filtre. L’eau de la pompe est forcée à travers le marc de café dans le porte-filtre pour extraire les arômes et créer l’espresso.

  • Controller : C’est très souvent un microcontrôleur ou un circuit imprimé dédié, c’est le cerveau de la machine à espresso. Il gère et coordonne le fonctionnement de divers composants, tels que la pompe à eau, le chauffe-eau et l’IHM, afin de garantir un processus d’infusion correct. Il surveille et contrôle la température, la pression et d’autres paramètres afin de maintenir la cohérence et d’obtenir les résultats souhaités.

  • Group head : La tête de groupe est une partie de la machine à espresso où se fixe le porte-filtre. Elle assure une liaison sûre entre le portafiltre et la machine, ce qui permet à l’espresso de s’écouler du portafiltre et de se déverser dans la tasse. La tête de groupe permet également de maintenir une température et une pression adéquates pendant le processus d’infusion.

  • HMI : L’Interface Homme-Machine (IHM) est interface utilisateur de la machine à espresso. Elle permet à l’utilisateur d’interagir avec la machine, généralement au moyen de boutons, d’interrupteurs ou d’un écran tactile. L’IHM permet à l’utilisateur de sélectionner différentes options d’infusion, d’ajuster les réglages et de contrôler l’état de la machine. Elle fournit des informations en retour et affiche des informations relatives au processus de préparation, telles que le temps de préparation, la température et la sélection de la taille de la tasse.

Nous n’avons pas fait de choix techniques à ce stade, par exemple nous n’avons pas spécifié le type de contrôleur (controller), la capacité de la pompe (Water pump)ou le modèle de la tête de groupe (Group Head). Ces détails seront définis une fois que nous aurons atteint le niveau technologique.

Les fourmis ont besoin de votre aide pour mettre à jour le diagramme de la Structure Logique afin qu’il corresponde au diagramme ci-dessus.

Frontière logique

La frontière logique est un type de Diagramme de Bloc Interne qui représente la structure interne d’un système, illustrant les relations entre ses composants ou blocs internes. Il aide à visualiser la manière dont ces blocs interagissent et échangent des informations au sein du système. Le terme frontière utilisé ici signifie une vue claire de la boîte à l’intérieur de la machine à espresso au niveau de la frontière logique. Elle utilise les propriétés partielles des blocs qui figuraient dans le Diagramme de Structure Logique ci-dessus.

Le diagramme de bloc fonctionnel représente une vue claire de la boîte de la machine à espresso

Les interactions entre les propriétés des composant à l’intérieur de la machine à expresso sont représentées sous forme de flux d’éléments (ItemFlows) sur les connecteurs “Connectors).

  • Water : Représente le flux d’eau depuis le réservoir d’eau jusqu’à la pompe à eau.

  • On/Off : Représente la commande ou le signal de mise en marche ou d’arrêt de la machine à espresso.

  • Volume Adjustment : (Ajustement du volume) Représente le réglage du volume sélectionné par l’utilisateur pour la sortie du café.

  • Pressurized Water : (Eau sous pression) Représente le débit d’eau sous pression pour l’extraction du café.

  • Heat Command :(Commande de chauffage) Représente la commande ou le signal permettant d’activer le chauffe-eau et de lancer le processus de chauffage.

  • Temperature : (Température) Représente le signal de retour indiquant la température actuelle de l’eau.

  • Hot Pressurized Water : (Eau chaude sous pression) Représente l’eau chaude sous pression pour la préparation du café.

  • Coffee Water Mixture : (Mélange d’eau et de café) Représente le mélange d’eau chaude et de marc de café pendant le processus d’infusion.

Attention

Remarquez que nous ne montrons rien qui entre ou qui sort du périmètre de la machine à expresso, comme les entrées du barman ou le café qui en résulte. Gaphor ne permet pas actuellement d’ajouter des ports à la frontière d’un schéma fonctionnel interne, mais nous espérons pouvoir le faire bientôt !

Ces flux reflètent les interactions et les échanges essentiels au sein de la machine à espresso. Ils représentent le flux d’eau, les signaux de commande, le retour de température et le mélange d’eau et de café qui en résulte. Les flux d’éléments illustrent la séquence et les connexions entre les différents composants, ce qui permet de mieux comprendre le fonctionnement de la machine dans son ensemble.

Une fois de plus, aidez les fourmis en mettant à jour le diagramme des Frontières Logiques afin qu’il corresponde au diagramme ci-dessus.

Exigences logiques

Les exigences logiques font référence aux spécifications et fonctionnalités de haut niveau qui décrivent ce qu’un système ou un produit doit accomplir sans spécifier comment il sera mis en œuvre. Ces exigences se concentrent sur les résultats et le comportement souhaités du système plutôt que sur les détails techniques spécifiques.

Nous avons également déjà défini le comportement et la structure de la machine à espresso au niveau logique, et la tâche principale consiste maintenant à traduire ces informations en termes d’exigences.

Astuce

Si vous avez besoin d’aide pour rédiger des spécifications de qualité, nous vous recommandons le Guide INCOSE sur les besoins et les spécifications et le Guide pratique de la syntaxe des spécifications.

Nous utilisons la relation “Exigence dérivée” de « l’Exigence logique » vers les “Exigences conceptuelles” que nous avons créées précédemment. La direction de cette relation est celle de la dépendance, ce qui peut être contraire à ce que vous avez l’habitude de faire, à savoir que l’exigence de niveau supérieur pointe vers l’exigence de niveau inférieur.

Nous en déduisons deux exigences :

  • Le contrôleur commande la mise en température

  • pression de l’eau 900kPa

Exigences logiques pour la commande du contrôleur et la pression de l'eau, dérivées des exigences du concept

Mettez à jour le diagramme des Exigences Logiques (Logical Requirements) en y ajoutant ces exigences. Si vous le souhaitez, vous pouvez également développer des exigences supplémentaires pour tous les comportements et structures logiques que nous avons spécifiés dans les autres diagrammes.