SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
Comment connecter les données d'ingénierie?
OSLC (Open Services for Lifecycle Collaboration)
JT-AFIS-COMET : Les nouvelles technologies au service de l'Ingénierie Système
Axel Reichwein, Koneksys
20 novembre, 2020
1
Axel Reichwein
● Etudes en aéronautique
et espace
● Doctorat et postdoc sur
l’intégration des données
2
Axel Reichwein
● Etudes en aéronautique
et espace
● Doctorat et postdoc sur
l’intégration des données
3
Koneksys
Conseil et développement de logiciels
pour connecter les données de
l’ingénierie
Types de projets
● Solutions sur mesure pour des
organisations/vendeurs de
logiciels
● Participation à des projets de
recherche
4
Prise de décision en ingénierie
Selon David Meza, Responsable de la
gestion des connaissances à la NASA
● La plupart des ingénieurs doivent
consulter 13 sources différentes
pour trouver les informations qu'ils
recherchent
● 54% de nos décisions sont prises
avec des informations incohérentes,
incomplètes ou inadéquates
Connected Data London, 2016
Quote from https://www.youtube.com/watch?v=QEBVoultYJg
5
URLs of reused images related to architecture, 3D, control
Prise de décision sans accès facile a l’information
6
Défi: Aspects transverses à travers les disciplines
7
Je veux comprendre
l'impact de la
modification de cette
exigence
Je veux comprendre
comment cette
exigence est mise en
œuvre
Je veux trouver la
meilleure architecture
Je veux comprendre
l'origine de la
défaillance d'un
produit
Ingénieur SystèmeIngénieur des Exigences
Ingénieur QualitéIngénieur en Mécanique
Exigences Conception Fabrication Operation
Exemple de relations en ingénierie
8
Requirement
Test
Simulation Model
3D Model
FEDERAL AVIATION ADMINISTRATION (FAA)
Title 14, Chapter I, Subchapter C
§25.121
...(a) Takeoff; landing gear
extended... the steady
gradient of climb...not less
than 0.5 percent...for four-
engine airplanes
<<requirement>>
Climb: One-engine-inoperative
Perform simulation under
conditions...
<<testcase>>
Climb: One-engine-inoperative
Exigence
Test
Modèle 3D
Modèle de simulation
Modèle de réglage
Graphe pour ingénieurs
9
Autres graphes dans d’autres domaines
10
Google Knowledge Graph
EBay Product Knowledge Graph
Facebook Social Graph
Construction d’un graphe de connaissance
1. Utilisateur ajoute des
informations sur Wikipedia
2. Utilisateur crée des liens entre
les pages Wikipedia
3. Les pages Wikipedia et les liens
entre les pages Wikipedia sont
transformées en graphe DBPedia
à travers des programmes (le
graphe est créé indirectement
par les utilisateurs)
11
Wikipedia Page #1
Wikipedia Page #2
lien vers
page 2
Président
Construction d’un graphe pour ingénieurs
1. Utilisateur ajoute des
informations dans des modèles
ou des logiciels spécialisés
2. Utilisateur crée des liens entre
des données de logiciels
différents
3. Le graphe pour ingénieurs est
créé directement par les
utilisateurs!
12
Donnée #1
Donnée #2
lien vers
donnée 2
vérifié par
Exigence XYZ
Test 123
Standard pour décrire les liens
● Les liens doivent être décrits
selon un schéma commun (e.g.
RDF ou RDF*)
● Un lien contient 3 informations:
1. Identifiant de la source du lien
2. Identifiant de la cible du lien
3. Identifiant du type du lien
13
Donnée #1
Donnée #2
lien vers
donnée 2
vérifié par
Exigence XYZ
Test 123
Standard pour identifier les données
● Il faut identifier de façon commune
les choses:
○ Les données (e.g.
https://www.api.cloudprive.com/
outilX/Exigences/Exigence123)
○ Les types de données (e.g.
http://open-
services.net/ns/rm#Requirement)
○ Les types de liens (e.g.
http://open-
services.net/ns/rm#validatedBy)
14
Donnée #1
Donnée #2
lien vers
donnée 2
vérifié par
Exigence XYZ
Test 123
Création d’un lien: sélection de la source d’un lien
● Un utilisateur typiquement crée un
lien a partir d’un logiciel spécialisé
● Dans son logiciel spécialisé, il peut
facilement choisir la donnée
source pour un nouveau lien
● La recherche de la donnée cible du
nouveau lien doit être facile
15
Donnée #1
Donnée #2
lien vers
donnée 2
vérifié par
Exigence XYZ
Test 123
Comment trouver l’URL?
Création d’un lien: sélection de la cible d’un lien
● La donnée #2 a été crée avec un
autre logiciel
● Cet autre logiciel a une interface
de programmation (API)
● A travers l’API, l’utilisateur veut
découvrir les données qui ont été
créé par ce logiciel
16
Donnée #1
Donnée #2
lien vers
donnée 2
vérifié par
Exigence XYZ
Test 123
Comment trouver l’URL?
APIAPI Client
Création d’un lien: sélection de la cible d’un lien
L’API du logiciel doit offrir des
services pour permettre de trouver
une donnée en utilisant des filtres
● Identifiant de la source de données
● Identifiant de conteneurs de
données (e.g. projets)
● Identifiant de version du
conteneur (e.g. git commit 789)
● Identifiant de types de données
(e.g. exigences)
● Service pour une recherche plein
texte
17
Donnée #2
Test 123
Comment trouver l’URL?
APIDonnée Cible
Test 123
source de données
conteneurs de données
types de données
recherche
plein texte
versions du conteneur
Ou sauvegarder le lien?
● Dans le logiciel de la donnée source
● Parfois aussi dans le logiciel de la
donnée cible
● Dans une base de donnée orientée
graphe
18
Donnée #1
Donnée #2
lien vers
donnée 2
vérifié par
Exigence XYZ
Test 123
Utilité actuelle du graphe
● Visualiser le graphe
● Analyse d’impact
● Faire des requêtes envers le
graphe
● Créer des rapports
19
Impact des modifications des données
● Les données évoluent en temps réel
● La base de donnée orientée graphe doit être actualisée en fonction des
modifications des données pour que les résultats des requêtes soient juste
20
API
API
∆
∆
Modification
des données
Modification
des données
Respect des droits d’accès aux données
● Chaque utilisateur n’a que droit à accéder à certaines données.
● La base de donnée orientée graphe doit connaitre les droits d’accès de chaque
utilisateur pour filtrer les résultats des requêtes en fonction des droits d’accès
21
API
API
Droits d’accès
Droits d’accès
Description des versions des données
● Les données de l’ingénierie ont des versions
● Le graphe est composé de versions spécifiques des données.
● Les graphes ont aussi une version, et peuvent être fusionnés avec d’autres
graphes pour créer un graphe plus complet
22
API
API
Versions des
données
Versions des
données
Particularités des graphes pour ingénieurs
Typiques graphes de connaissance
● Création des liens par des
programmes
● Les liens ne peuvent pas être
modifiés par les utilisateurs
● Les données changent rarement
● Il n’y a pas de version de données
Graphes de l’ingénierie
● Création des liens par les
utilisateurs
● Les liens peuvent être modifiés
par les utilisateurs
● Les données changent
fréquemment
● Les versions des données
comptent
23
Aspects standardisés par OSLC
● Schéma pour décrire les liens et les
données
● Identifiant global pour n’importe quelle
donnée
● Type d’API
● Schéma pour décrire des services
permettant la découverte de données
● Schéma pour décrire les modification des
données
● Schéma pour décrire les droits d’accès
● Schéma pour décrire les versions des
données
24
API
REST
Besoins de
l’ingénierie
Web
sémantique
OSLC
Adoption d’OSLC
25
Source de
donnée #1
Source de
donnée #2
Standard API
Standard API
APIs OSLC pour 50+
différent logiciels
Logiciels existants utilisant des données de
divers APIs OSLC
Vendeur Logiciel
IBM • Engineering Insights
• Global Configuration
Management
• Jazz Reporting Service
Mentor
Graphics
Context
Sodius SECollab
MID Smartfacts
PTC Integrity Modeler
Défis d’origine humaine
● Adoption d’APIs OSLC
● Adoption d’applications Web
avec une API REST
● Adoption de standards pour
décrire les données
● Certaines disciplines de
l’ingénierie innovent plus que
d’autres
26
Plus
d’APIs
OSLC
Plus de
données
connectées
Plus le
graphe
devient
complet
Plus de
solutions
basées sur
le graphe
Dans un monde parfait…
Inspiration du succès du Eclipse Modeling Framework
● Objectif du Eclipse Modeling Framework (EMF): offrir une interface
standardisée aux données dans les modèles
● Toutes les données sont des EObjects
● Schéma des données défini selon le standard Ecore
● Grand consortium d’entreprises derrière EMF
● Développement de beaucoup de logiciels compatibles en se basant sur EMF
● Résultat: Beaucoup d’innovation! Beaucoup de open-source!
● A quand la transition vers une version de EMF compatible avec les standards du
Web (e.g. OSLC)? Est-ce que l’énorme succès de EMF retarde cette transition?
● Est-ce qu’une version Web d’EMF peut déclencher le même succès?
27
Futures solutions basées sur les graphes de l’ingénierie
● Recherche plein texte type Google pour les données
● Gestion efficace de graphes larges et nombreux
● Prédictions des liens
● Assistant vocal
● Audit des changements du graphe en utilisant blockchain
28
Example fictif de recherche plein texte
29
Recherche plein texte pour les données
Scenario: découverte de donnée cibles pour les liens
directement a partir d’une recherche plein texte
● L’indexage avec ElasticSearch ne suffit pas
● PageRank pour déterminer les résultats les plus
importants
● En utilisant une solution Online analytical
processing (OLAP) tel que Apache Spark
GraphX, et non Online transaction processing
(OLTP) pour les requêtes
● Personnaliser les résultats de la recherche
30
Gestion des graphes larges et nombreux
● Solutions qui permettent
○ des opérations de lecture a grande échelle
○ des opérations d’écriture a grande échelle
○ des opérations de lecture et d’ écriture a
grande échelle
● Le théorème de CAP dit : Dans toute base
de données, vous ne pouvez respecter au
plus que 2 propriétés parmi la cohérence, la
disponibilité et la distribution
31
Exemple intéressant
Akutan (Ebay Knowledge Graph)
Open-source depuis 2019:
https://github.com/eBay/akutan
Basé sur Kafka
Peut-être inspiré de KSQL (streaming
SQL engine for Apache Kafka)
https://speakerdeck.com/rmoff/apache-kafka-and-ksql-in-
action-lets-build-a-streaming-data-pipeline?slide=24
Prédiction des liens
32
● La définition manuelle des liens prend
du temps
● En se basant sur les liens existants, des
liens supplémentaires peuvent être
prédits en utilisant du machine
learning, data mining et l'heuristique
● La description de l’évolution du
graphe dans le temps peut améliorer la
prédiction des liens
Lien prédit
Realistic Re-evaluation of Knowledge Graph Completion Methods:
An Experimental Study, https://arxiv.org/abs/2003.08001
Assistant vocal
Exemple d’approche étudiée par Amazon
Alexa
1. question d'entrée
2. une recherche textuelle, en récupérant
les dix premiers documents du Web
3. construire un graphe des connaissances
qui intègre les données dans les
documents
4. Ajout de nœuds dans le graphe décrivant
le type des données
5. trouver la solution en fonction des
nœuds référence
33
https://www.amazon.science/blog/teaching-computers-to-answer-complex-questions +
Answering Complex Questions by Joining Multi-Document Evidence with Quasi Knowledge
Graphs, https://alexapapers.s3.us-east-2.amazonaws.com/Joint+QA+system.pdf
Which Nolan films won an Oscar but
missed a Golden Globe?
Audit du graphe
● Toutes les opérations d’écriture sur le
graphe peuvent être sauvegardées pour
toujours à travers la blockchain
● Aucune manipulation du graphe peut être
effectuée en cachette (par des
administrateurs)
34
https://flur.ee/
Conclusion
● Mauvaises décisions en ingénierie peuvent coûter cher
● Mauvaises décisions souvent dues à un manque d’informations
● Mauvaises informations dues à un manque d’accès à des données de divers
sources et un manque de compréhension des relations entre les données
● Heureusement il y a le Web
● Il est temps de profiter des standards du Web en ingénierie pour connecter les
données et établir des graphes de connaissances
35
Merci!
axel.reichwein@koneksys.com

Contenu connexe

Similaire à Comment connecter les données d'ingénierie? Open Services for Lifecycle Collaboration

Apprentissage automatique avec RapidMiner
Apprentissage automatique avec RapidMinerApprentissage automatique avec RapidMiner
Apprentissage automatique avec RapidMinerMajdi Hannachi
 
Angular développer des applications .pdf
Angular développer des applications .pdfAngular développer des applications .pdf
Angular développer des applications .pdfimenhamada17
 
Quelles évolutions fonderont l’avenir des serveurs d’application ?
Quelles évolutions fonderont l’avenir des serveurs d’application ?Quelles évolutions fonderont l’avenir des serveurs d’application ?
Quelles évolutions fonderont l’avenir des serveurs d’application ?Marc Bojoly
 
Projet Confluence - Une base de données de type Wiki
Projet Confluence - Une base de données de type WikiProjet Confluence - Une base de données de type Wiki
Projet Confluence - Une base de données de type WikiMylneRoffi
 
Base de données graphe et Neo4j
Base de données graphe et Neo4jBase de données graphe et Neo4j
Base de données graphe et Neo4jBoris Guarisma
 
Mise en place d’un moteur de recherche et de recommandation de documents text...
Mise en place d’un moteur de recherche et de recommandation de documents text...Mise en place d’un moteur de recherche et de recommandation de documents text...
Mise en place d’un moteur de recherche et de recommandation de documents text...AbdeslamAMRANE3
 
Denodo 2022 : le meilleur time-to-Data du marché
Denodo 2022 : le meilleur time-to-Data du marchéDenodo 2022 : le meilleur time-to-Data du marché
Denodo 2022 : le meilleur time-to-Data du marchéDenodo
 
4_Architectures_de_SI.pdf
4_Architectures_de_SI.pdf4_Architectures_de_SI.pdf
4_Architectures_de_SI.pdfharizi riadh
 
What's new in MongoDB 3.6
What's new in MongoDB 3.6What's new in MongoDB 3.6
What's new in MongoDB 3.6MongoDB
 
Introduction à Neo4j
Introduction à Neo4jIntroduction à Neo4j
Introduction à Neo4jNeo4j
 
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp012014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01MongoDB
 
SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...
SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...
SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...Vincent Terrasi
 
Découverte de la Graph Data Science
Découverte de la Graph Data ScienceDécouverte de la Graph Data Science
Découverte de la Graph Data ScienceNeo4j
 
"WakaDroid" API encapsulant les services REST offerts par wakandaDB (nosql)
"WakaDroid" API encapsulant les services REST offerts par wakandaDB (nosql)"WakaDroid" API encapsulant les services REST offerts par wakandaDB (nosql)
"WakaDroid" API encapsulant les services REST offerts par wakandaDB (nosql)Abdellah SELASSI
 
Portrait-de-la-gestion-des-identites-avec-des-logiciels-Libres-en-2023-un-voy...
Portrait-de-la-gestion-des-identites-avec-des-logiciels-Libres-en-2023-un-voy...Portrait-de-la-gestion-des-identites-avec-des-logiciels-Libres-en-2023-un-voy...
Portrait-de-la-gestion-des-identites-avec-des-logiciels-Libres-en-2023-un-voy...Benoit Mortier
 
Microsoft Power Platform en Action
Microsoft Power Platform en Action Microsoft Power Platform en Action
Microsoft Power Platform en Action Denys Chamberland
 
Linq et Entity framework
Linq et Entity frameworkLinq et Entity framework
Linq et Entity frameworkDNG Consulting
 
MongoDB 3.6 Customer Deck pptx.pptx
MongoDB 3.6 Customer Deck pptx.pptxMongoDB 3.6 Customer Deck pptx.pptx
MongoDB 3.6 Customer Deck pptx.pptxMongoDB
 
Les nouveautés de MongoDB 3.6
Les nouveautés de MongoDB 3.6Les nouveautés de MongoDB 3.6
Les nouveautés de MongoDB 3.6MongoDB
 

Similaire à Comment connecter les données d'ingénierie? Open Services for Lifecycle Collaboration (20)

Apprentissage automatique avec RapidMiner
Apprentissage automatique avec RapidMinerApprentissage automatique avec RapidMiner
Apprentissage automatique avec RapidMiner
 
Angular développer des applications .pdf
Angular développer des applications .pdfAngular développer des applications .pdf
Angular développer des applications .pdf
 
Quelles évolutions fonderont l’avenir des serveurs d’application ?
Quelles évolutions fonderont l’avenir des serveurs d’application ?Quelles évolutions fonderont l’avenir des serveurs d’application ?
Quelles évolutions fonderont l’avenir des serveurs d’application ?
 
Projet Confluence - Une base de données de type Wiki
Projet Confluence - Une base de données de type WikiProjet Confluence - Une base de données de type Wiki
Projet Confluence - Une base de données de type Wiki
 
Base de données graphe et Neo4j
Base de données graphe et Neo4jBase de données graphe et Neo4j
Base de données graphe et Neo4j
 
Mise en place d’un moteur de recherche et de recommandation de documents text...
Mise en place d’un moteur de recherche et de recommandation de documents text...Mise en place d’un moteur de recherche et de recommandation de documents text...
Mise en place d’un moteur de recherche et de recommandation de documents text...
 
Denodo 2022 : le meilleur time-to-Data du marché
Denodo 2022 : le meilleur time-to-Data du marchéDenodo 2022 : le meilleur time-to-Data du marché
Denodo 2022 : le meilleur time-to-Data du marché
 
4_Architectures_de_SI.pdf
4_Architectures_de_SI.pdf4_Architectures_de_SI.pdf
4_Architectures_de_SI.pdf
 
What's new in MongoDB 3.6
What's new in MongoDB 3.6What's new in MongoDB 3.6
What's new in MongoDB 3.6
 
Introduction à Neo4j
Introduction à Neo4jIntroduction à Neo4j
Introduction à Neo4j
 
Christophe Tricot et Raphaël Velt (infoviz)
Christophe Tricot et Raphaël Velt (infoviz)Christophe Tricot et Raphaël Velt (infoviz)
Christophe Tricot et Raphaël Velt (infoviz)
 
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp012014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
 
SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...
SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...
SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...
 
Découverte de la Graph Data Science
Découverte de la Graph Data ScienceDécouverte de la Graph Data Science
Découverte de la Graph Data Science
 
"WakaDroid" API encapsulant les services REST offerts par wakandaDB (nosql)
"WakaDroid" API encapsulant les services REST offerts par wakandaDB (nosql)"WakaDroid" API encapsulant les services REST offerts par wakandaDB (nosql)
"WakaDroid" API encapsulant les services REST offerts par wakandaDB (nosql)
 
Portrait-de-la-gestion-des-identites-avec-des-logiciels-Libres-en-2023-un-voy...
Portrait-de-la-gestion-des-identites-avec-des-logiciels-Libres-en-2023-un-voy...Portrait-de-la-gestion-des-identites-avec-des-logiciels-Libres-en-2023-un-voy...
Portrait-de-la-gestion-des-identites-avec-des-logiciels-Libres-en-2023-un-voy...
 
Microsoft Power Platform en Action
Microsoft Power Platform en Action Microsoft Power Platform en Action
Microsoft Power Platform en Action
 
Linq et Entity framework
Linq et Entity frameworkLinq et Entity framework
Linq et Entity framework
 
MongoDB 3.6 Customer Deck pptx.pptx
MongoDB 3.6 Customer Deck pptx.pptxMongoDB 3.6 Customer Deck pptx.pptx
MongoDB 3.6 Customer Deck pptx.pptx
 
Les nouveautés de MongoDB 3.6
Les nouveautés de MongoDB 3.6Les nouveautés de MongoDB 3.6
Les nouveautés de MongoDB 3.6
 

Plus de Axel Reichwein

Introduction to Open Services for Lifecycle Collaboration (OSLC)
Introduction to Open Services for Lifecycle Collaboration (OSLC)Introduction to Open Services for Lifecycle Collaboration (OSLC)
Introduction to Open Services for Lifecycle Collaboration (OSLC)Axel Reichwein
 
Koneksys Presentation March 2021
Koneksys Presentation March 2021Koneksys Presentation March 2021
Koneksys Presentation March 2021Axel Reichwein
 
Open Services for Lifecycle Collaboration (OSLC) - Extending REST APIs to Con...
Open Services for Lifecycle Collaboration (OSLC) - Extending REST APIs to Con...Open Services for Lifecycle Collaboration (OSLC) - Extending REST APIs to Con...
Open Services for Lifecycle Collaboration (OSLC) - Extending REST APIs to Con...Axel Reichwein
 
Open Services for Lifecycle Collaboration (OSLC)
Open Services for Lifecycle Collaboration (OSLC) Open Services for Lifecycle Collaboration (OSLC)
Open Services for Lifecycle Collaboration (OSLC) Axel Reichwein
 
Standard Web APIs for Multidisciplinary Collaboration
Standard Web APIs for Multidisciplinary CollaborationStandard Web APIs for Multidisciplinary Collaboration
Standard Web APIs for Multidisciplinary CollaborationAxel Reichwein
 
Introduction to Open Services for Lifecycle Collaboration (OSLC)
Introduction to Open Services for Lifecycle Collaboration (OSLC)Introduction to Open Services for Lifecycle Collaboration (OSLC)
Introduction to Open Services for Lifecycle Collaboration (OSLC)Axel Reichwein
 
Enabling the digital thread using open OSLC standards
Enabling the digital thread using open OSLC standardsEnabling the digital thread using open OSLC standards
Enabling the digital thread using open OSLC standardsAxel Reichwein
 
Achieving the digital thread through PLM and ALM integration using oslc
Achieving the digital thread through PLM and ALM integration using oslcAchieving the digital thread through PLM and ALM integration using oslc
Achieving the digital thread through PLM and ALM integration using oslcAxel Reichwein
 
Overview of OSLC - INCOSE IW 2018 MBSE Workshop
Overview of OSLC - INCOSE IW 2018 MBSE Workshop Overview of OSLC - INCOSE IW 2018 MBSE Workshop
Overview of OSLC - INCOSE IW 2018 MBSE Workshop Axel Reichwein
 

Plus de Axel Reichwein (9)

Introduction to Open Services for Lifecycle Collaboration (OSLC)
Introduction to Open Services for Lifecycle Collaboration (OSLC)Introduction to Open Services for Lifecycle Collaboration (OSLC)
Introduction to Open Services for Lifecycle Collaboration (OSLC)
 
Koneksys Presentation March 2021
Koneksys Presentation March 2021Koneksys Presentation March 2021
Koneksys Presentation March 2021
 
Open Services for Lifecycle Collaboration (OSLC) - Extending REST APIs to Con...
Open Services for Lifecycle Collaboration (OSLC) - Extending REST APIs to Con...Open Services for Lifecycle Collaboration (OSLC) - Extending REST APIs to Con...
Open Services for Lifecycle Collaboration (OSLC) - Extending REST APIs to Con...
 
Open Services for Lifecycle Collaboration (OSLC)
Open Services for Lifecycle Collaboration (OSLC) Open Services for Lifecycle Collaboration (OSLC)
Open Services for Lifecycle Collaboration (OSLC)
 
Standard Web APIs for Multidisciplinary Collaboration
Standard Web APIs for Multidisciplinary CollaborationStandard Web APIs for Multidisciplinary Collaboration
Standard Web APIs for Multidisciplinary Collaboration
 
Introduction to Open Services for Lifecycle Collaboration (OSLC)
Introduction to Open Services for Lifecycle Collaboration (OSLC)Introduction to Open Services for Lifecycle Collaboration (OSLC)
Introduction to Open Services for Lifecycle Collaboration (OSLC)
 
Enabling the digital thread using open OSLC standards
Enabling the digital thread using open OSLC standardsEnabling the digital thread using open OSLC standards
Enabling the digital thread using open OSLC standards
 
Achieving the digital thread through PLM and ALM integration using oslc
Achieving the digital thread through PLM and ALM integration using oslcAchieving the digital thread through PLM and ALM integration using oslc
Achieving the digital thread through PLM and ALM integration using oslc
 
Overview of OSLC - INCOSE IW 2018 MBSE Workshop
Overview of OSLC - INCOSE IW 2018 MBSE Workshop Overview of OSLC - INCOSE IW 2018 MBSE Workshop
Overview of OSLC - INCOSE IW 2018 MBSE Workshop
 

Comment connecter les données d'ingénierie? Open Services for Lifecycle Collaboration

  • 1. Comment connecter les données d'ingénierie? OSLC (Open Services for Lifecycle Collaboration) JT-AFIS-COMET : Les nouvelles technologies au service de l'Ingénierie Système Axel Reichwein, Koneksys 20 novembre, 2020 1
  • 2. Axel Reichwein ● Etudes en aéronautique et espace ● Doctorat et postdoc sur l’intégration des données 2
  • 3. Axel Reichwein ● Etudes en aéronautique et espace ● Doctorat et postdoc sur l’intégration des données 3
  • 4. Koneksys Conseil et développement de logiciels pour connecter les données de l’ingénierie Types de projets ● Solutions sur mesure pour des organisations/vendeurs de logiciels ● Participation à des projets de recherche 4
  • 5. Prise de décision en ingénierie Selon David Meza, Responsable de la gestion des connaissances à la NASA ● La plupart des ingénieurs doivent consulter 13 sources différentes pour trouver les informations qu'ils recherchent ● 54% de nos décisions sont prises avec des informations incohérentes, incomplètes ou inadéquates Connected Data London, 2016 Quote from https://www.youtube.com/watch?v=QEBVoultYJg 5 URLs of reused images related to architecture, 3D, control
  • 6. Prise de décision sans accès facile a l’information 6
  • 7. Défi: Aspects transverses à travers les disciplines 7 Je veux comprendre l'impact de la modification de cette exigence Je veux comprendre comment cette exigence est mise en œuvre Je veux trouver la meilleure architecture Je veux comprendre l'origine de la défaillance d'un produit Ingénieur SystèmeIngénieur des Exigences Ingénieur QualitéIngénieur en Mécanique Exigences Conception Fabrication Operation
  • 8. Exemple de relations en ingénierie 8 Requirement Test Simulation Model 3D Model FEDERAL AVIATION ADMINISTRATION (FAA) Title 14, Chapter I, Subchapter C §25.121 ...(a) Takeoff; landing gear extended... the steady gradient of climb...not less than 0.5 percent...for four- engine airplanes <<requirement>> Climb: One-engine-inoperative Perform simulation under conditions... <<testcase>> Climb: One-engine-inoperative Exigence Test Modèle 3D Modèle de simulation Modèle de réglage
  • 10. Autres graphes dans d’autres domaines 10 Google Knowledge Graph EBay Product Knowledge Graph Facebook Social Graph
  • 11. Construction d’un graphe de connaissance 1. Utilisateur ajoute des informations sur Wikipedia 2. Utilisateur crée des liens entre les pages Wikipedia 3. Les pages Wikipedia et les liens entre les pages Wikipedia sont transformées en graphe DBPedia à travers des programmes (le graphe est créé indirectement par les utilisateurs) 11 Wikipedia Page #1 Wikipedia Page #2 lien vers page 2 Président
  • 12. Construction d’un graphe pour ingénieurs 1. Utilisateur ajoute des informations dans des modèles ou des logiciels spécialisés 2. Utilisateur crée des liens entre des données de logiciels différents 3. Le graphe pour ingénieurs est créé directement par les utilisateurs! 12 Donnée #1 Donnée #2 lien vers donnée 2 vérifié par Exigence XYZ Test 123
  • 13. Standard pour décrire les liens ● Les liens doivent être décrits selon un schéma commun (e.g. RDF ou RDF*) ● Un lien contient 3 informations: 1. Identifiant de la source du lien 2. Identifiant de la cible du lien 3. Identifiant du type du lien 13 Donnée #1 Donnée #2 lien vers donnée 2 vérifié par Exigence XYZ Test 123
  • 14. Standard pour identifier les données ● Il faut identifier de façon commune les choses: ○ Les données (e.g. https://www.api.cloudprive.com/ outilX/Exigences/Exigence123) ○ Les types de données (e.g. http://open- services.net/ns/rm#Requirement) ○ Les types de liens (e.g. http://open- services.net/ns/rm#validatedBy) 14 Donnée #1 Donnée #2 lien vers donnée 2 vérifié par Exigence XYZ Test 123
  • 15. Création d’un lien: sélection de la source d’un lien ● Un utilisateur typiquement crée un lien a partir d’un logiciel spécialisé ● Dans son logiciel spécialisé, il peut facilement choisir la donnée source pour un nouveau lien ● La recherche de la donnée cible du nouveau lien doit être facile 15 Donnée #1 Donnée #2 lien vers donnée 2 vérifié par Exigence XYZ Test 123 Comment trouver l’URL?
  • 16. Création d’un lien: sélection de la cible d’un lien ● La donnée #2 a été crée avec un autre logiciel ● Cet autre logiciel a une interface de programmation (API) ● A travers l’API, l’utilisateur veut découvrir les données qui ont été créé par ce logiciel 16 Donnée #1 Donnée #2 lien vers donnée 2 vérifié par Exigence XYZ Test 123 Comment trouver l’URL? APIAPI Client
  • 17. Création d’un lien: sélection de la cible d’un lien L’API du logiciel doit offrir des services pour permettre de trouver une donnée en utilisant des filtres ● Identifiant de la source de données ● Identifiant de conteneurs de données (e.g. projets) ● Identifiant de version du conteneur (e.g. git commit 789) ● Identifiant de types de données (e.g. exigences) ● Service pour une recherche plein texte 17 Donnée #2 Test 123 Comment trouver l’URL? APIDonnée Cible Test 123 source de données conteneurs de données types de données recherche plein texte versions du conteneur
  • 18. Ou sauvegarder le lien? ● Dans le logiciel de la donnée source ● Parfois aussi dans le logiciel de la donnée cible ● Dans une base de donnée orientée graphe 18 Donnée #1 Donnée #2 lien vers donnée 2 vérifié par Exigence XYZ Test 123
  • 19. Utilité actuelle du graphe ● Visualiser le graphe ● Analyse d’impact ● Faire des requêtes envers le graphe ● Créer des rapports 19
  • 20. Impact des modifications des données ● Les données évoluent en temps réel ● La base de donnée orientée graphe doit être actualisée en fonction des modifications des données pour que les résultats des requêtes soient juste 20 API API ∆ ∆ Modification des données Modification des données
  • 21. Respect des droits d’accès aux données ● Chaque utilisateur n’a que droit à accéder à certaines données. ● La base de donnée orientée graphe doit connaitre les droits d’accès de chaque utilisateur pour filtrer les résultats des requêtes en fonction des droits d’accès 21 API API Droits d’accès Droits d’accès
  • 22. Description des versions des données ● Les données de l’ingénierie ont des versions ● Le graphe est composé de versions spécifiques des données. ● Les graphes ont aussi une version, et peuvent être fusionnés avec d’autres graphes pour créer un graphe plus complet 22 API API Versions des données Versions des données
  • 23. Particularités des graphes pour ingénieurs Typiques graphes de connaissance ● Création des liens par des programmes ● Les liens ne peuvent pas être modifiés par les utilisateurs ● Les données changent rarement ● Il n’y a pas de version de données Graphes de l’ingénierie ● Création des liens par les utilisateurs ● Les liens peuvent être modifiés par les utilisateurs ● Les données changent fréquemment ● Les versions des données comptent 23
  • 24. Aspects standardisés par OSLC ● Schéma pour décrire les liens et les données ● Identifiant global pour n’importe quelle donnée ● Type d’API ● Schéma pour décrire des services permettant la découverte de données ● Schéma pour décrire les modification des données ● Schéma pour décrire les droits d’accès ● Schéma pour décrire les versions des données 24 API REST Besoins de l’ingénierie Web sémantique OSLC
  • 25. Adoption d’OSLC 25 Source de donnée #1 Source de donnée #2 Standard API Standard API APIs OSLC pour 50+ différent logiciels Logiciels existants utilisant des données de divers APIs OSLC Vendeur Logiciel IBM • Engineering Insights • Global Configuration Management • Jazz Reporting Service Mentor Graphics Context Sodius SECollab MID Smartfacts PTC Integrity Modeler
  • 26. Défis d’origine humaine ● Adoption d’APIs OSLC ● Adoption d’applications Web avec une API REST ● Adoption de standards pour décrire les données ● Certaines disciplines de l’ingénierie innovent plus que d’autres 26 Plus d’APIs OSLC Plus de données connectées Plus le graphe devient complet Plus de solutions basées sur le graphe Dans un monde parfait…
  • 27. Inspiration du succès du Eclipse Modeling Framework ● Objectif du Eclipse Modeling Framework (EMF): offrir une interface standardisée aux données dans les modèles ● Toutes les données sont des EObjects ● Schéma des données défini selon le standard Ecore ● Grand consortium d’entreprises derrière EMF ● Développement de beaucoup de logiciels compatibles en se basant sur EMF ● Résultat: Beaucoup d’innovation! Beaucoup de open-source! ● A quand la transition vers une version de EMF compatible avec les standards du Web (e.g. OSLC)? Est-ce que l’énorme succès de EMF retarde cette transition? ● Est-ce qu’une version Web d’EMF peut déclencher le même succès? 27
  • 28. Futures solutions basées sur les graphes de l’ingénierie ● Recherche plein texte type Google pour les données ● Gestion efficace de graphes larges et nombreux ● Prédictions des liens ● Assistant vocal ● Audit des changements du graphe en utilisant blockchain 28
  • 29. Example fictif de recherche plein texte 29
  • 30. Recherche plein texte pour les données Scenario: découverte de donnée cibles pour les liens directement a partir d’une recherche plein texte ● L’indexage avec ElasticSearch ne suffit pas ● PageRank pour déterminer les résultats les plus importants ● En utilisant une solution Online analytical processing (OLAP) tel que Apache Spark GraphX, et non Online transaction processing (OLTP) pour les requêtes ● Personnaliser les résultats de la recherche 30
  • 31. Gestion des graphes larges et nombreux ● Solutions qui permettent ○ des opérations de lecture a grande échelle ○ des opérations d’écriture a grande échelle ○ des opérations de lecture et d’ écriture a grande échelle ● Le théorème de CAP dit : Dans toute base de données, vous ne pouvez respecter au plus que 2 propriétés parmi la cohérence, la disponibilité et la distribution 31 Exemple intéressant Akutan (Ebay Knowledge Graph) Open-source depuis 2019: https://github.com/eBay/akutan Basé sur Kafka Peut-être inspiré de KSQL (streaming SQL engine for Apache Kafka) https://speakerdeck.com/rmoff/apache-kafka-and-ksql-in- action-lets-build-a-streaming-data-pipeline?slide=24
  • 32. Prédiction des liens 32 ● La définition manuelle des liens prend du temps ● En se basant sur les liens existants, des liens supplémentaires peuvent être prédits en utilisant du machine learning, data mining et l'heuristique ● La description de l’évolution du graphe dans le temps peut améliorer la prédiction des liens Lien prédit Realistic Re-evaluation of Knowledge Graph Completion Methods: An Experimental Study, https://arxiv.org/abs/2003.08001
  • 33. Assistant vocal Exemple d’approche étudiée par Amazon Alexa 1. question d'entrée 2. une recherche textuelle, en récupérant les dix premiers documents du Web 3. construire un graphe des connaissances qui intègre les données dans les documents 4. Ajout de nœuds dans le graphe décrivant le type des données 5. trouver la solution en fonction des nœuds référence 33 https://www.amazon.science/blog/teaching-computers-to-answer-complex-questions + Answering Complex Questions by Joining Multi-Document Evidence with Quasi Knowledge Graphs, https://alexapapers.s3.us-east-2.amazonaws.com/Joint+QA+system.pdf Which Nolan films won an Oscar but missed a Golden Globe?
  • 34. Audit du graphe ● Toutes les opérations d’écriture sur le graphe peuvent être sauvegardées pour toujours à travers la blockchain ● Aucune manipulation du graphe peut être effectuée en cachette (par des administrateurs) 34 https://flur.ee/
  • 35. Conclusion ● Mauvaises décisions en ingénierie peuvent coûter cher ● Mauvaises décisions souvent dues à un manque d’informations ● Mauvaises informations dues à un manque d’accès à des données de divers sources et un manque de compréhension des relations entre les données ● Heureusement il y a le Web ● Il est temps de profiter des standards du Web en ingénierie pour connecter les données et établir des graphes de connaissances 35