Architecture de flux de données

Dans l'architecture de flux de données, l'ensemble du système logiciel est considéré comme une série de transformations sur des éléments consécutifs ou un ensemble de données d'entrée, où les données et les opérations sont indépendantes les unes des autres. Dans cette approche, les données entrent dans le système puis circulent à travers les modules un par un jusqu'à ce qu'elles soient affectées à une destination finale (sortie ou magasin de données).

Les connexions entre les composants ou les modules peuvent être implémentées sous forme de flux d'E / S, de tampons d'E / S, de connexions canalisées ou d'autres types de connexions. Les données peuvent être déplacées dans la topologie du graphe avec des cycles, dans une structure linéaire sans cycles ou dans une structure de type arborescente.

L'objectif principal de cette approche est d'atteindre les qualités de réutilisation et de modifiabilité. Il convient aux applications qui impliquent une série bien définie de transformations de données indépendantes ou de calculs sur des entrées et des sorties définies de manière ordonnée, telles que des compilateurs et des applications de traitement de données d'entreprise. Il existe trois types de séquences d'exécution entre les modules -

  • Lot séquentiel
  • Tuyau et filtre ou mode pipeline non séquentiel
  • Contrôle de processus

Lot séquentiel

Batch séquential est un modèle de traitement de données classique, dans lequel un sous-système de transformation de données ne peut lancer son processus qu'après que son sous-système précédent soit complètement à

  • Le flux de données transporte un lot de données dans son ensemble d'un sous-système à un autre.

  • Les communications entre les modules sont effectuées à travers des fichiers intermédiaires temporaires qui peuvent être supprimés par des sous-systèmes successifs.

  • Il s'applique aux applications où les données sont groupées et chaque sous-système lit les fichiers d'entrée associés et écrit les fichiers de sortie.

  • L'application typique de cette architecture comprend le traitement des données commerciales telles que la facturation des services bancaires et des services publics.

Avantages

  • Fournit des divisions plus simples sur les sous-systèmes.

  • Chaque sous-système peut être un programme indépendant travaillant sur des données d'entrée et produisant des données de sortie.

Désavantages

  • Fournit une latence élevée et un faible débit.

  • Ne fournit pas de simultanéité et d'interface interactive.

  • Un contrôle externe est nécessaire pour la mise en œuvre.

Architecture de canalisation et de filtre

Cette approche met l'accent sur la transformation incrémentale des données par composante successive. Dans cette approche, le flux de données est piloté par les données et l'ensemble du système est décomposé en composants de source de données, filtres, canaux et puits de données.

Les connexions entre les modules sont un flux de données qui est un tampon premier entré / premier sorti qui peut être un flux d'octets, de caractères ou tout autre type de ce type. La principale caractéristique de cette architecture est son exécution simultanée et incrémentée.

Filtre

Un filtre est un transformateur de flux de données indépendant ou des transducteurs de flux. Il transforme les données du flux de données d'entrée, les traite et écrit le flux de données transformé sur un tuyau pour le prochain filtre à traiter. Il fonctionne dans un mode incrémentiel, dans lequel il commence à fonctionner dès que les données arrivent via le tuyau connecté. Il existe deux types de filtres -active filter et passive filter.

Active filter

Le filtre actif permet aux canalisations connectées d'extraire des données et d'extraire les données transformées. Il fonctionne avec un tuyau passif, qui fournit des mécanismes de lecture / écriture pour tirer et pousser. Ce mode est utilisé dans le mécanisme de canal et de filtre UNIX.

Passive filter

Le filtre passif permet aux tuyaux connectés de pousser les données et de les extraire. Il fonctionne avec un tuyau actif, qui extrait les données d'un filtre et les pousse dans le filtre suivant. Il doit fournir un mécanisme de lecture / écriture.

Avantages

  • Fournit la concurrence et un débit élevé pour un traitement excessif des données.

  • Fournit une réutilisabilité et simplifie la maintenance du système.

  • Fournit une modifiabilité et un faible couplage entre les filtres.

  • Fournit la simplicité en offrant des divisions claires entre deux filtres quelconques connectés par tuyau.

  • Fournit de la flexibilité en prenant en charge à la fois l'exécution séquentielle et parallèle.

Désavantages

  • Ne convient pas aux interactions dynamiques.

  • Un faible dénominateur commun est nécessaire pour la transmission de données au format ASCII.

  • Frais généraux de transformation des données entre les filtres.

  • Ne permet pas aux filtres d'interagir de manière coopérative pour résoudre un problème.

  • Difficile de configurer cette architecture dynamiquement.

Tuyau

Les tuyaux sont sans état et transportent des flux binaires ou de caractères qui existent entre deux filtres. Il peut déplacer un flux de données d'un filtre à un autre. Les tubes utilisent un peu d'informations contextuelles et ne conservent aucune information d'état entre les instanciations.

Architecture de contrôle de processus

Il s'agit d'un type d'architecture de flux de données où les données ne sont ni séquentielles par lots ni flux en pipeline. Le flux de données provient d'un ensemble de variables, qui contrôle l'exécution du processus. Il décompose l'ensemble du système en sous-systèmes ou modules et les connecte.

Types de sous-systèmes

Une architecture de contrôle de processus aurait un processing unit pour modifier les variables de contrôle de processus et un controller unit pour calculer le montant des changements.

Une unité de contrôle doit avoir les éléments suivants -

  • Controlled Variable- La variable contrôlée fournit des valeurs pour le système sous-jacent et doit être mesurée par des capteurs. Par exemple, la vitesse dans le système de régulation de vitesse.

  • Input Variable- Mesure une entrée dans le processus. Par exemple, température de l'air de retour dans le système de contrôle de température

  • Manipulated Variable - La valeur de la variable manipulée est ajustée ou modifiée par le contrôleur.

  • Process Definition - Il comprend des mécanismes de manipulation de certaines variables de processus.

  • Sensor - Obtient les valeurs des variables de processus pertinentes pour le contrôle et peut être utilisé comme référence de retour pour recalculer les variables manipulées.

  • Set Point - C'est la valeur souhaitée pour une variable contrôlée.

  • Control Algorithm - Il est utilisé pour décider comment manipuler les variables de processus.

Zone d'application

L'architecture de contrôle de processus convient dans les domaines suivants -

  • Conception logicielle du système intégré, où le système est manipulé par des données variables de contrôle de processus.

  • Applications, dont le but est de maintenir les propriétés spécifiées des sorties du processus à des valeurs de référence données.

  • Applicable pour le régulateur de vitesse de voiture et les systèmes de contrôle de la température du bâtiment.

  • Logiciel système en temps réel pour contrôler les freins antiblocage automobiles, les centrales nucléaires, etc.