Tutoriel IngeniBridge

Une approche basée sur la modélisation

IngeniBridge s'appuie sur le paradigme de la modélisation des données afin de décrire les informations de contextualisation des séries temporelles IOT.

 

Le point de vue métier

Quand les capteurs IOTs collectent des informations sur des patrimoines industriels complexes, une clé de succès est d'impliquer les personnels du métier dans le design de l'architecture fonctionnelle du système d'information.

La meilleure façon de communiquer et échanger avec les personnels non IT est d'utiliser la notation intuitive UML. Sujet développé ci-après.

Notation Graphique

La notation est ainsi représentée:

  1. La flèche noire est l'héritage de classe
  2. La flèche orange simple est l'association dirigée unique
  3. La flèche orange multiple est l'association mutliple dirigée

Les fondations de la modélisation de la contextualisation des séries temporelles IOTs

Le postulat de départ est que chaque IOT est rattaché à un élément de patrimoine, fût-il matériel (pompe…) ou immatériel (zone d’influence…).

Cette approche diffère de la traditionnelle méthodologie « post-il ». Veuillez noter que cette manière de procéder « post-it » est constamment proposée par les fournisseurs de bases de données IOTs (voir Azure IOT par exemple où le « post-it est ici appelé une propriété : https://docs.microsoft.com/fr-fr/rest/api/time-series-insights/preview-model#model-settings-api).

  1. Un objet Asset (patrimoine) représente n’importe quel de vos patrimoines (industriel tel une pompe ou conceptuel comme une unité fonctionnelle industrielle).
  2. Chaque patrimoine a une relation multiple vers des séries temporelles IOTs.
  3. Veuillez noter que l’attribut TimeSeries.TimeSeriesExternalReference est utilisé pour conserver la référence vers la base TSDB telle que Azure IOT.

L'écosystème industriel comme exemple à ce tutoriel

Ceci est le modèle UML global construit pour les besoins spécifiques de mon industrie virtuelle.

Veuillez noter que celivrable est construit à l'aide des spécifications fonctionnelles et validé par les experts fontionnels ou représentant du métier.

Description des patrimoines

Explications :

  1. L’objet « MyCompanyRootAsset » est obligatoire pour contenir l’arbre complet (le nom est libre de choix)
  2. Une zone d’influence « InfluenceZone » peut être utilisé pour suivre des activités industrielles influencées par des équipements industriels qui nécessiteront de l’alerting, optimisation de la conduite ou encore du reporting… Cela peut concerner de la pression de gaz, du débit d’eau et surveillance des fuite, de la chloration d’eau avec surveillance des niveaux et optimisation de la consommation.
  3. L’objet « IOT » est abstrait car il représente tout type de capteur (que ce soit « PressureSensor » ou « MultifunctionSensor », bien sur il est possible de requêter sur n’importe quel type de capteur y compris le capteur abstrait « IOT ». Ces objets IOTs sot communément représentés dans un système géographique GIS et IngeniBridge conserve les liens vers les séries temporelles. Chaque objet IOT dans le système GIS est déterminé de façon unique par son code.
  4. L’objet « ProductionSite » contient une arbre hiérarchique d’équipements et est associé à une zone d’influence. Ainsi, il est possible d’effectuer des corrélations entre la zone d’influence et (par exemple) l’injecteur de chlore « ClorineInjector » pour monitorer ou asservir les actions de chloration.
  5. Les objets « City » et « Sector » servent de classification.
  6. L’objet abstrait « Equipment » ne correspond à rien dans le monde réel
  7. Il est spécialisé en injecteur de chlore, pompe ou groupe de pompage
  8. Il peut avoir des sous équipements

Description des séries temporelles Time Series

Explications:

  1. Chaque Time Series est spécialisé de l'objet MyCompanyData.
  2. Chaque Time Series possède un type de mesure TypeOfMeasure (dans une nomenclature).
  3. Chaque Time Series peut être consolidé ou non.
  4. Chaque Time Series peut être acquise ou calculée.

Les nomenclatures

A coté des patrimoines et séries temporelles, il est nécessaire de pouvoir gérer des tables de paramétrage, ce sont les nomenclatures. Elles possèdent un code et un label. Voici celles du modèle en exemple.

Consommation des méta données pour retrouver les Times Series

Ce chapitre devrait normalement arriver à la fin du tutoriel.

Mais, converger le modèle UML de données avec l'univers de requêtage est l'une des plus grandes valeurs apprtées par IngeniBridge. Ainsi, cela doit guider les efforts d'investissement dans le métadonnée sur les séries temporelles.

Donc maintenant, mettons en application les éléments fonctionnels présentés dans les précédents diagrammes UML et constatons les résultats en live:

  1. Récupère tous les patrimoine de type ProductionSite : comme vous pouvez constater le résultat, les données sont transférées dans le format JSON (selon la signature de service Swagger). Le critère de recherche est le suivant: ENTITY_TARGET_TYPE=ProductionSite.
  2. Récupère tous les patrimoins sur le secteur Ouest: il y a moins de résultats. Le nouveau critère utilisé est ProductionSite.Sector.Code=W. La valeur du secteur est dans une nomenclature.

Vous pouvez constater quelque chose de commun entre les premières requêtes ci-dessus. Elles utilisent des éléments déclarés dans le modèle UML de données. En effet, le moteur de recherche s'aligne automatiquement sur le modèle UML, c'est pourquoi la vérité est fixée par (avec) les personnels du métier puis instille la DSI sans modification supplémentaire.

  1. Récupère tous les IOTs: tous les capteurs IOTs quel que soit leur type (tel que défini dans le modèle UML).
  2. Récupère tous les capteurs de type pression : il y a moins de résultat cette fois, bien sûr.
  3. Maintenant, récupère toutes les time series : toutes les séries temporelles avec leurs métadonnées.
  4. Les séries temporelles alimentées par le capteur IOT ayant le téléphone = “1234567890” : utile pour alimenter correctement la base TSDB sur réception d'une trame SMS depuis un capteur IOT.
  5. Toutes les séries temporelle de consommation électrique sur groupe de pompage : tableau de bord.
  6. Toutes les séries temporelle de consommation électrique en usine de production : tableau de bord.

Un peu de technologie

Comme vous l'avez constaté, les enveloppes de données sont récupérées au format JSON.

Le contrat est publié au standard Swagger.

Tout cela est architecturé sur la plateforme .Net Core 2.0. Cela signifie que vous pouvez utiliser les environnements Linux, Windows et MAC pour utiliser IngeniBridge.

Aussi, l'outillage peut être Visual Studio Code (plateformes Windows, Linux or Mac OS) or Visual Studio (plateformes Windows et MAC).

Veuillez noter que le diagramming UML bidirectionnel est intégré dans Visual Studio sans surcoût.

Votre propre métamodèle IOT – Commençons

Arrivé à ce point du tutoriel, vous voudrez connaitre la procédure de création de votre propre modèle.

Premièrement, git clone le repo stoché dans la base github.com. Cela fournit un exemple prêt à l'emploi permettant de démarrer un premier modèle.

Deuxièmement, ouvrir la solution (SLN) nommée “IngeniBridge.Samples.MyCompany”.

 

Paramétrage du projet

Quand la solution est ouverte, le projet  “MyCompanyDataModel” contien le modèle.

  1.  Le projet doit être de type .Net standard 2.0.
  2.  Une classe de type "Asset" doit être spécifiée “root”.
  3.  Ensuite, il suffit de créer les classes en utilisant l'héritage.

 

Initialisation de la base IngeniBridge

La base IngeniBridge est comparable au Master Data Management de type “consolidation”. Cela signifie que les données ne sont pas gouvernées dans IngeniBridge. Mais les données doivent être collectées depuis les différents puis de données existants dans la DSI vers la base IngeniBridge.

Veuillez noter qu'une future version d'IngeniBridge supportera la gouvernance et l'historisation des entitées.

En regardant la solution précédemment ouverte, l'autre projet contient le script d'initialisation de la base IngeniBridge.

Le script d'initialisation contient plusieurs parties.

Ouvrez les différentes sections du script pour les adapter à votre DSI. Le projet d'initialisation de la base IngeniBridge ne doit pas être forcément de type .Net Core. Il peut être du type .Net Framwork lorsque des librairies d'accès à la DSI ne sont pas compatibles .Net Core (tel que le système Osisoft PI System).

Une fois terminé, lancer le script qui va générer le fichier de la base IngeniBridge.

A la fin, le fichier coportant l'extension IBDB est présent sur disque. Ce fichier doit être monté sur le serveur IngeniBridge.

Déploiement de la base IngeniBridge

Un environnement léger en performance est disponible sur le cloud privé de Deagital à https://demo.ingenibridge.com/PublicDemo/TryIngeniBridge/. Aucune qualité de performance ni horaires d'ouverture garantis.

ATTENTION DE NE DEPOSER AUCUNE DONNEE SENSIBLE CAR C'EST UN ENVIRONNEMENT PARTAGE. UTILISER UNIQUEMENT DE L'OPEN DATA.

Pour tester vos métadonnées, suivre la procédure.

  1. Aller sur l'onglet Staging.
  2. Cliquer sur le boutton "Browse" pour sélectionner votre fichier IBDB local puis cliquer sur le boutton "Updload".
  3. Ensuite, utiliser le boutton "Unpark" pour amener la base dans la partie staging.
  4. Monter la base et la mettre online.

Exploration et requêtage Smart

Suivre ainsi:

  1. Aller dans l'onglet "View" pour explorer le contenu.
  2. Sélectionner la base puis le boutton "Display".
  3. L'arbre visuel est explorable et sélectionnable.
  4. Les nomenclatures peuvent être visualisées aussi.

Requêtage Smart

Ensuite vous pouvez requêter sur vos données ce qui est le but recherché.

Tandis que l'interface REST est immuable, les critères de recherche s'alignet automatiquement sur votre propre métamodèle UML.

En fait, IngeniBridge va construire ce qu'il nomme des axes fonctionnels. Pour découvrir les axes fonctionnels construits pour votre modèle vous pouvez utiliser l'API JSON et/ou les visualiser.

Le requêtage requiert un axe+valeur. Tandis que les axes sont générés, les valeurs sont celles qui ont été alimentées en base (par exemple ELEC pour une mesure de type électricité). De cette façon je peux composer cette reête utilisant l'axe+valeur ce qui nous donne MyCompanyData.TypeOfMeasure.Code=ELEC. Et cela fonctionne !

Activation de la recherche DATAVIZ

Il est possible dactiver la recherche plein texte. Pour cela, il suffit d'implémenter une fonction dans votre métamodèle .Net Core 2.0.

Cela permet de tester sur vos propres données.

Les apports puor mon projet digital industriel

Améliore le time to market

IngeniBridge vous permet de gagner du temps et coûts sur l'exploitation/configuration/alimentation de composants tels que Elastic Search, NoSql metadata, serveurs HTTP REST…

Collaboration business/DSI

Mais plus important que le time to market, la collaboration avec les acteurs métier par utilisation du standard UML va sécuriser le succès de la transformation digital de votre entreprise.

Réunification du référentiel patrimoines et mesure de mon industrie

Des petits référentiels disséminés tendent la production d'indicateurs divergents. Cela n'est pas soutenable dans un plan de transformation de type Industrie 4.0.

Activation d'algorithmes complexes de corrélations

Avec la métadonnée provisionnée dans votre transformation, votre système pourra produire des corrélations efficaces, des informations d'alerte (en temps réel) et soutenir la performance industrielle.

La méthodologie agile

Le référentiel IngeniBridge peut être construit en mode agile. Chaque itération agile est sécurisée grace aux services intégrés de gestion des non régressions. Ainsi, la transformation digital est sous contrôle à chaque sprint agile.

Aide à la Data Science

Les métadonnées vont apporter plus de justesse sur les extractions et corrélations de données permettant d'aller encore plus loin dans la découverte de nouvelles relations de causes à effets.

Deagital est une ESN spécialisée dans les architectures de systèmes d'information. Nous proposons une méthodologie industrielle pour construire vos données de contextualisation dans un cycle agile compatible avec votre transformation digitale IOT. Contactez-nous pour en savoir plus sur nos offres de service.