- Particularités des graphes de connaissances pour ingénieurs
- Pourquoi et comment connecter les données d'ingénierie?
- Utilité actuelle graphes de connaissances pour ingénieurs
- Solutions potentielles futures basées sur les graphes de connaissances
- Défis d'origine humaine et technique
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
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
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