Browse Source

Prepare octiva release

Arkadiusz Ryś 2 years ago
parent
commit
e812a4cfd0
100 changed files with 877 additions and 10212 deletions
  1. 9 23
      README.md
  2. 0 23
      backend/ontology/.editorconfig
  3. 0 28
      backend/ontology/.fuseki.ttl
  4. 0 29
      backend/ontology/.project
  5. 0 251
      backend/ontology/build.gradle
  6. 0 5
      backend/ontology/catalog.xml
  7. 0 2
      backend/ontology/representations.aird
  8. 0 1
      backend/ontology/src/data/.gitignore
  9. 0 13
      backend/ontology/src/data/README.md
  10. 0 6
      backend/ontology/src/data/control.mat
  11. 0 10
      backend/ontology/src/data/coupling.csv
  12. 0 6
      backend/ontology/src/data/generator.mlx
  13. 0 2
      backend/ontology/src/data/limitations.txt
  14. 0 21
      backend/ontology/src/data/profile.csv
  15. 0 4
      backend/ontology/src/data/requirements.txt
  16. 0 2
      backend/ontology/src/data/rtt.c
  17. 0 58
      backend/ontology/src/data/rules_sensor.rml
  18. 0 10
      backend/ontology/src/data/sensor.csv
  19. 0 65
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/AnotherPM_corr.oml
  20. 0 312
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/AnotherPM_drawio.oml
  21. 0 81
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/AnotherPM_pm.oml
  22. 0 102
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/Drawing_drawio.oml
  23. 0 101
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/FTG_corr.oml
  24. 0 2084
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/FTG_drawio.oml
  25. 0 178
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/FTG_ftg.oml
  26. 0 41
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/MinimalPM_corr.oml
  27. 0 96
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/MinimalPM_drawio.oml
  28. 0 33
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/MinimalPM_pm.oml
  29. 0 83
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/MyPM_corr.oml
  30. 0 490
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/MyPM_drawio.oml
  31. 0 124
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/MyPM_pm.oml
  32. 0 89
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/RecPM_corr.oml
  33. 0 576
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/RecPM_drawio.oml
  34. 0 144
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/RecPM_pm.oml
  35. 0 43
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/SmallXournalFile_xopp.oml
  36. 0 36
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/TwoHiddenLayers_xopp.oml
  37. 0 455
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/drivetrain_corr.oml
  38. 0 2148
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/drivetrain_drawio.oml
  39. 0 504
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/drivetrain_pm.oml
  40. 0 51
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/imabox_drawio.oml
  41. 0 43
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/my_xopp.oml
  42. 0 18
      backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/my_xopp_to_drawio.oml
  43. 0 28
      backend/ontology/src/oml/ua.be/sdo2l/description/bundle.oml
  44. 0 180
      backend/ontology/src/oml/ua.be/sdo2l/description/traces/my_pt.oml
  45. 0 6
      backend/ontology/src/oml/ua.be/sdo2l/files/csv/addresses.csv
  46. 0 1
      backend/ontology/src/oml/ua.be/sdo2l/files/drawio/AnotherPM:pm
  47. 0 1
      backend/ontology/src/oml/ua.be/sdo2l/files/drawio/FTG:ftg
  48. 0 1
      backend/ontology/src/oml/ua.be/sdo2l/files/drawio/MinimalPM:pm
  49. 0 1
      backend/ontology/src/oml/ua.be/sdo2l/files/drawio/MyPM:pm
  50. 0 1
      backend/ontology/src/oml/ua.be/sdo2l/files/drawio/MyPMRec:pm
  51. 0 1
      backend/ontology/src/oml/ua.be/sdo2l/files/drawio/drivetrain:pm
  52. 0 1
      backend/ontology/src/oml/ua.be/sdo2l/files/drawio/imabox
  53. BIN
      backend/ontology/src/oml/ua.be/sdo2l/files/file/api.png
  54. BIN
      backend/ontology/src/oml/ua.be/sdo2l/files/file/robot.webp
  55. BIN
      backend/ontology/src/oml/ua.be/sdo2l/files/xopp/SmallXournalFile.xopp
  56. BIN
      backend/ontology/src/oml/ua.be/sdo2l/files/xopp/TwoHiddenLayers.xopp
  57. 0 34
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/base/acyclic.oml
  58. 0 131
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/base/base.oml
  59. 0 27
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/bundle.oml
  60. 0 44
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/federation.oml
  61. 0 59
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/code.oml
  62. 0 76
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/component.oml
  63. 0 19
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/cs_as.oml
  64. 0 25
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/dict.oml
  65. 0 204
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/drawio.oml
  66. 0 13
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/file.oml
  67. 0 57
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/ftg.oml
  68. 0 48
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/object_diagram.oml
  69. 0 120
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/pm.oml
  70. 0 124
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/processtraces.oml
  71. 0 30
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/requirement.oml
  72. 0 51
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/richtext.oml
  73. 0 31
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/script.oml
  74. 0 17
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/shaclproperty.oml
  75. 0 8
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/system.oml
  76. 0 111
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/tabular.oml
  77. 0 27
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/text.oml
  78. 0 17
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/traceability_model.oml
  79. 0 16
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/violation.oml
  80. 0 137
      backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/xopp.oml
  81. 0 44
      backend/ontology/src/shacl/pt_time_consistency.ttl
  82. 0 8
      backend/ontology/src/sparql/GetObjects.sparql
  83. 0 12
      backend/ontology/src/sparql/GetTypesWithoutSubType.sparql
  84. 0 48
      backend/ontology/src/sparql/WhatIsCell.sparql
  85. 0 23
      backend/ontology/src/sparql/WhatIsDiagram.sparql
  86. 0 10
      backend/shape_lib/ftg.xml
  87. 0 9
      backend/shape_lib/pm.xml
  88. 0 2
      config/backend.env
  89. 0 10
      config/drawio.env
  90. 0 2
      config/fuseki.env
  91. 0 0
      data/backend/shape_lib/common.xml
  92. 1 0
      data/backend/shape_lib/ftg.xml
  93. 1 0
      data/backend/shape_lib/pm.xml
  94. 0 0
      data/backend/shape_lib/pt.xml
  95. 0 0
      data/backend/shape_lib/ss.xml
  96. 3 3
      drawio/dtdesign.js
  97. 839 0
      data/drawio/ftgpm.js
  98. 20 0
      data/spendpoint/configuration.toml
  99. 4 3
      wee/application.properties
  100. 0 0
      docker-compose.yml

+ 9 - 23
README.md

@@ -1,30 +1,16 @@
-# Deployer
+## Using
 
-> I am become boredom, the deployer of tools.
+Four services are made available:
 
-Tool to easily deploy a demo for FlandersMake Digital Twin Design project Work Package 2.
+- [wee](http://localhost:8081): The workflow enactment engine. End user interface.
+- [drawio](http://localhost:8700/?p=ftgpm;dtdesign&dev=1&stealth=1&splash=0&nosplash=1): Drawio with all plugins loaded. End user interface.
 
-[//]: # (`docker network create --subnet=172.30.0.0/16 web`)
 
-## Local endpoint
 
-- http://localhost:8445/?p=ftgpm;dtdesign&dev=1&stealth=1#
+- [fuseki](http://localhost:3030): Fuseki debug interface.
+- [backend](http://localhost:5000): Backend debug interface.
 
-## Components
+Two additional services are also accessible if you use the custom SPARQL containers.
 
-- [WEE](https://msdl.uantwerpen.be/git/lucasalbertins/wee "Workflow Enactment Engine")
-- [DrawIO](https://msdl.uantwerpen.be/git/jexelmans/drawio)
-- [drawio2oml](https://msdl.uantwerpen.be/git/jexelmans/drawio2oml)
-- [drawio2py](https://msdl.uantwerpen.be/git/jexelmans/drawio2py)
-- [DTDesign](https://msdl.uantwerpen.be/git/lucasalbertins/DTDesign)
-- [spendpoint](https://msdl.uantwerpen.be/git/arys/spendpoint)
-- [Graph Exploring Tool](https://msdl.uantwerpen.be/git/arys/graph-exploring-tool)
-- [xopp2py](https://msdl.uantwerpen.be/git/jexelmans/xopp2py)
-- [Ontopoint](https://msdl.uantwerpen.be/git/arys/ontopoint)
-- [Graph View](https://msdl.uantwerpen.be/git/arys/graph-view)
-
-## History
-
-### 0.0.0 (yyyy-mm-dd)
-
-- No history yet.
+- [spendpoint](http://localhost:8000): SPARQL bind interceptor.
+- [outliers](http://localhost:9090): Service to detect outliers in CSV files.

+ 0 - 23
backend/ontology/.editorconfig

@@ -1,23 +0,0 @@
-root = true
-
-[*]
-charset = utf-8
-end_of_line = lf
-insert_final_newline = true
-trim_trailing_whitespace = true
-
-[*.{py,rst,ini,oml,gradle}]
-indent_style = space
-indent_size = 4
-
-[*.{html,css,scss,json,yml,svg,xml,ttl}]
-indent_style = space
-indent_size = 2
-max_line_length = 140
-
-[*.md]
-trim_trailing_whitespace = false
-
-[*.project]
-indent_style = space
-indent_size = 2

+ 0 - 28
backend/ontology/.fuseki.ttl

@@ -1,28 +0,0 @@
-@prefix fuseki:  <http://jena.apache.org/fuseki#> .
-@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
-@prefix tdb2:    <http://jena.apache.org/2016/tdb#> .
-@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .
-@prefix :        <#> .
-
-[] rdf:type fuseki:Server .
-
-<#service> rdf:type fuseki:Service ;
-    rdfs:label          "SystemDesignOntology2Layers" ;                             # Human readable label for dataset
-    fuseki:name         "SystemDesignOntology2Layers" ;                             # Name of the dataset in the endpoint url
-    fuseki:serviceReadWriteGraphStore "SystemDesignOntology2Layers" ;               # SPARQL Graph store protocol (read and write)
-    fuseki:endpoint     [ fuseki:operation fuseki:query ; fuseki:name "sparql"  ] ; # SPARQL query service
-    fuseki:endpoint     [ fuseki:operation fuseki:shacl ; fuseki:name "shacl" ] ;   # SHACL query service
-    
-    # Joeri: I added these, because the enactment service expects a single endpoint for query and update:
-    fuseki:endpoint     [ fuseki:operation fuseki:update ];
-    fuseki:endpoint     [ fuseki:operation fuseki:query ];
-    
-    fuseki:dataset      <#dataset> .
-
-<#dataset> rdf:type tdb2:DatasetTDB2 ;
-    tdb2:location "run/databases/DB2" ;
-    ja:context [ ja:cxtName "arq:queryTimeout" ; ja:cxtValue "1000" ] ;
-    # Make the default graph be the union of all named graphs.
-    tdb2:unionDefaultGraph true ;

+ 0 - 29
backend/ontology/.project

@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>SystemDesignOntology2Layers</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>io.opencaesar.rosetta.oml.ui.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>io.opencaesar.rosetta.oml.ui.nature</nature>
-		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
-		<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
-	</natures>
-</projectDescription>

+ 0 - 251
backend/ontology/build.gradle

@@ -1,251 +0,0 @@
-buildscript {
-    repositories {
-        mavenLocal()
-        mavenCentral()
-    }
-    dependencies {
-        classpath "io.opencaesar.owl:owl-fuseki-gradle:+"
-        classpath "io.opencaesar.owl:owl-shacl-fuseki-gradle:+"
-        classpath "io.opencaesar.owl:owl-query-gradle:+"
-        classpath "io.opencaesar.owl:owl-load-gradle:+"
-        classpath "io.opencaesar.owl:owl-reason-gradle:+"
-        classpath "io.opencaesar.oml:oml-bikeshed-gradle:1.+"
-        classpath "io.opencaesar.oml:oml-merge-gradle:1.+"
-        classpath "io.opencaesar.adapters:oml2owl-gradle:1.+"
-    }
-}
-
-plugins {
-    id "java"
-    id "maven-publish"
-    id "eclipse"
-    id "signing"
-}
-
-ext.title = "System Design Ontology - 2 Layers"
-description = "System design ontology considering only 2 layers (types and instances)."
-group = "be.ua"
-version = "1.0.0"
-
-ext {
-    dataset = "SystemDesignOntology2Layers"
-    rootIri = "http://ua.be/sdo2l/description/bundle"
-    url = ""
-    bikeshed = "build/bikeshed"
-}
-
-repositories {
-    mavenLocal()
-    mavenCentral()
-    maven {
-      //url "https://git.rys.one/api/v4/groups/dtdesign/-/packages/maven"
-        url "https://git.rys.one/api/v4/projects/${System.getenv('CI_PROJECT_ID')}/packages/maven"
-        name "Gitlab"
-        credentials(HttpHeaderCredentials) {
-            name = "Job-Token"
-            value = System.getenv("CI_JOB_TOKEN")
-        }
-        authentication {
-            header(HttpHeaderAuthentication)
-        }
-    }
-}
-
-configurations {
-    oml
-}
-
-ext { 
-    //coreVersion = "3.+"
-    metrologyVersion = "+"
-}
-
-dependencies {
-    //oml "io.opencaesar.ontologies:core-vocabularies:$coreVersion"
-    oml "io.opencaesar.ontologies:metrology-vocabularies:$metrologyVersion"
-}
-
-task downloadDependencies(type:io.opencaesar.oml.merge.OmlMergeTask, group:"oml") {
-    inputZipPaths = configurations.oml.files
-    outputCatalogFolder = file("build/oml")
-}
-
-task omlToBikeshed(type: io.opencaesar.oml.bikeshed.Oml2BikeshedTask, group:"oml", dependsOn: downloadDependencies) {
-    inputCatalogPath = file("catalog.xml")
-    inputCatalogTitle = project.title
-    inputCatalogVersion = project.version
-    rootOntologyIri = "$rootIri".toString()
-    outputFolderPath = file("$bikeshed")
-    publishUrl = "$url".toString()
-}
-
-task generateDocs(type: Exec, dependsOn: omlToBikeshed) {
-    inputs.files(fileTree("$bikeshed").include("**/*.bs"))
-    outputs.files(fileTree("$bikeshed").include("**/*.html"))
-    if (org.gradle.internal.os.OperatingSystem.current().isWindows()) {
-        commandLine "$bikeshed/publish.bat"
-    } else {
-        commandLine "$bikeshed/publish.sh"
-    }
-}
-
-task omlToOwl(type:io.opencaesar.oml2owl.Oml2OwlTask, group:"oml", dependsOn: downloadDependencies) {
-    // OML catalog
-    inputCatalogPath = file("catalog.xml")
-    // OWL catalog
-    outputCatalogPath = file("build/owl/catalog.xml")
-}
-
-// A task to run the Openllet reasoner on the OWL catalog
-task owlReason(type:io.opencaesar.owl.reason.OwlReasonTask, group:"oml", dependsOn: omlToOwl) {
-    // OWL catalog
-    catalogPath = file("build/owl/catalog.xml")
-    // Input ontology IRI to reason on
-    inputOntologyIri = "$rootIri".toString()
-    // Entailment statements to generate and the ontologies to persist them in
-    specs = [
-        "$rootIri/classes = ALL_SUBCLASS".toString(),
-        "$rootIri/properties = INVERSE_PROPERTY | ALL_SUBPROPERTY".toString(),
-        "$rootIri/individuals = ALL_INSTANCE | DATA_PROPERTY_VALUE | OBJECT_PROPERTY_VALUE | SAME_AS".toString()
-    ]
-    // Junit error report
-    reportPath = file("build/reports/reasoning.xml")
-}
-
-task startFuseki(type: io.opencaesar.owl.fuseki.StartFusekiTask, group:"oml") {
-    configurationPath = file(".fuseki.ttl")
-    outputFolderPath = file(".fuseki")
-    webUI = true
-}
-
-task stopFuseki(type: io.opencaesar.owl.fuseki.StopFusekiTask, group:"oml") {
-    outputFolderPath = file(".fuseki")
-}
-
-task owlLoad(type:io.opencaesar.owl.load.OwlLoadTask, group:"oml", dependsOn: owlReason) {
-    inputs.files(startFuseki.outputFolderPath) // rerun when fuseki restarts
-    catalogPath = file("build/owl/catalog.xml")
-    endpointURL = "https://fuseki.rys.app/$dataset".toString()
-    fileExtensions = ["owl", "ttl"]
-    iris = [
-        "$rootIri/classes".toString(),
-        "$rootIri/properties".toString(),
-        "$rootIri/individuals".toString()
-    ]
-}
-
-task owlQuery(type:io.opencaesar.owl.query.OwlQueryTask, group:"oml", dependsOn: owlLoad) {
-    inputs.files(owlLoad.inputs.files) // rerun when the dataset changes
-    endpointURL = "https://fuseki.rys.app/$dataset".toString()
-    queryPath = file("src/sparql")
-    resultPath = file("build/results")
-    format = "json"
-}
-
-task owlShacl(type:io.opencaesar.owl.shacl.fuseki.OwlShaclFusekiTask, group:"oml", dependsOn: owlLoad) {
-    inputs.files(owlLoad.inputs.files) // rerun when the dataset changes
-    endpointURL = "https://fuseki.rys.app/$dataset".toString()
-    queryPath = file("src/shacl")
-    resultPath = file("build/reports")
-}
-
-build {
-    group "oml"
-    dependsOn owlReason
-}
-
-tasks.named("clean") {
-    group "oml"
-}
-
-task omlZip(type: Zip, group:"oml") {
-    from file("src/oml")
-    include "**/*.oml"
-    destinationDirectory = file("build/libs")
-    archiveBaseName = project.name
-    archiveVersion = project.version
-}
-
-def pomConfig = {
-    licenses {
-        license {
-            name "The Apache Software License, Version 2.0"
-            url "http://www.apache.org/licenses/LICENSE-2.0.txt"
-            distribution "repo"
-        }
-    }
-    developers {
-        developer {
-            id "uantwerp"
-            name "University of Antwerp"
-            email ""
-        }
-    }
-    scm {
-        url "https://msdl.uantwerpen.be/git/lucasalbertins/DTDesign/"
-    }
-}
-
-publishing {
-    publications {
-        maven(MavenPublication) {
-            groupId project.group
-            artifactId project.name
-            version project.version
-            artifact omlZip
-            pom {
-                packaging = "zip"
-                withXml {
-                    def root = asNode()
-                    if (configurations.find { it.name == "oml" }) {
-                        def dependencies = root.appendNode("dependencies")
-                        configurations.oml.resolvedConfiguration.resolvedArtifacts.each {
-                            def dependency = dependencies.appendNode("dependency")
-                            dependency.appendNode("groupId", it.moduleVersion.id.group)
-                            dependency.appendNode("artifactId", it.moduleVersion.id.name)
-                            dependency.appendNode("version", it.moduleVersion.id.version)
-                            if (it.classifier != null) {
-                                dependency.appendNode("classifier", it.classifier)
-                                dependency.appendNode("type", it.extension)
-                            }
-                        }
-                    }
-                    root.appendNode("name", project.ext.title)
-                    root.appendNode("description", project.description)
-                    root.appendNode("url", "https://msdl.uantwerpen.be/git/lucasalbertins/DTDesign/")
-                    root.children().last() + pomConfig
-                }
-            }
-        }
-    }
-    repositories {
-        maven {
-          //url "https://git.rys.one/api/v4/groups/dtdesign/-/packages/maven"
-            url "https://git.rys.one/api/v4/projects/${System.getenv('CI_PROJECT_ID')}/packages/maven"
-            name "Gitlab"
-            credentials(HttpHeaderCredentials) {
-                name = "Job-Token"
-                value = System.getenv("CI_JOB_TOKEN")
-            }
-            authentication {
-                header(HttpHeaderAuthentication)
-            }
-        }
-    }
-}
-
-//signing {
-//    def pgpSigningKey = project.findProperty("pgpSigningKey")
-//    if (pgpSigningKey != null) { pgpSigningKey = new String(pgpSigningKey.decodeBase64()) }
-//    def pgpSigningPassword = project.findProperty("pgpSigningPassword")
-//    useInMemoryPgpKeys(pgpSigningKey, pgpSigningPassword)
-//    sign publishing.publications.maven
-//}
-
-//gradle.taskGraph.whenReady { taskGraph ->
-//    signMavenPublication.onlyIf { taskGraph.allTasks.any{it.name == "publishMavenPublicationToGitlabRepository"} }
-//}
-
-eclipse {
-    synchronizationTasks downloadDependencies
-}

+ 0 - 5
backend/ontology/catalog.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0"?>
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="public">
-	<rewriteURI uriStartString="http://ua.be/sdo2l/" rewritePrefix="src/oml/ua.be/sdo2l/"/>
-	<rewriteURI uriStartString="http://" rewritePrefix="build/oml/"/>
-</catalog>

+ 0 - 2
backend/ontology/representations.aird

@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<viewpoint:DAnalysis xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" uid="_oOHLUK0pEe2ohuzI-H2Jdg" version="15.0.0.202209061200"/>

+ 0 - 1
backend/ontology/src/data/.gitignore

@@ -1 +0,0 @@
-0p1Hz_rotation_1600Hz_64G_060123.txt

+ 0 - 13
backend/ontology/src/data/README.md

@@ -1,13 +0,0 @@
-# What we know
-
-The sensor data is formatted as:
-index, microsec, sensor 1 -> sensor 8 (16bit) m/s² (x/2^16*2 double range),  
-Ring 1 and ring 2.
-
-The time series is the Torque in Nm.
-
-The parameters model is a MATLAB file (.mat).
-
-# Disclaimer
-
-All the data is made up.

+ 0 - 6
backend/ontology/src/data/control.mat

@@ -1,6 +0,0 @@
-[x,y,z] = sphere;
-r = 2;
-surf(x*r,y*r,z*r)
-axis equal
-A = 4*pi*r^2;
-V = (4/3)*pi*r^3;

+ 0 - 10
backend/ontology/src/data/coupling.csv

@@ -1,10 +0,0 @@
-index,microsec,sense_00,sense_01,sense_02,sense_03,sense_10,sense_11,sense_12,sense_13
-0,100,0.3,0.6,0.1,0.3,0.3,0.1,0.3,0.5
-1,145,0.4,0.4,0.5,0.6,0.1,0.1,0.1,0.7
-2,246,0.1,0.2,0.6,0.7,0.1,0.2,0.2,0.5
-3,451,0.1,0.1,0.7,0.5,0.5,0.1,0.2,0.8
-4,564,0.2,0.1,0.9,0.4,0.4,0.3,0.4,0.9
-5,578,0.1,0.8,0.7,0.3,0.1,0.3,0.8,0.2
-6,612,0.2,0.4,0.7,0.2,0.2,0.1,0.1,0.1
-7,715,0.8,0.4,0.7,0.1,0.1,0.4,0.5,0.3
-8,788,0.1,0.1,0.4,0.5,0.1,0.1,0.1,0.1

+ 0 - 6
backend/ontology/src/data/generator.mlx

@@ -1,6 +0,0 @@
-num = randi(100)
-if num < 90
-   sz = 'yes'
-else
-   sz = 'no'
-end

+ 0 - 2
backend/ontology/src/data/limitations.txt

@@ -1,2 +0,0 @@
-We need to operate between 0 and 5000 RPM.
-The torque cannot exceed 1000 Nm.

+ 0 - 21
backend/ontology/src/data/profile.csv

@@ -1,21 +0,0 @@
-time,value
-1645343060000,0.1063435735
-1645799771000,0.1413462533
-1643731574000,0.0373289706
-1645534917000,0.1933671917
-1645881479000,-0.1221919282
-1644552154000,-0.1778075408
-1644171052000,-0.2688664202
-1643827663000,-0.1011829049
-1645673633000,-0.0463323214
-1645119377000,-0.2162654668
-1644038701000,0.2680340619
-1645058918000,-0.0288904173
-1643880041000,0.0804983286
-1645744877000,0.0828198062
-1645403668000,0.2368045351
-1645322842000,-0.3658627047
-1645305624000,-0.2719289020
-1645430775000,-0.1403125402
-1644767653000,-0.1142019323
-1644604915000,-0.0052879950

+ 0 - 4
backend/ontology/src/data/requirements.txt

@@ -1,4 +0,0 @@
-We need a drivetrain.
-It needs a sensor.
-This sensor needs to measure values.
-These values need to be between certain limits.

+ 0 - 2
backend/ontology/src/data/rtt.c

@@ -1,2 +0,0 @@
-#include <stdio.h>
-int main() {printf("Hello, World!"); return 0;}

+ 0 - 58
backend/ontology/src/data/rules_sensor.rml

@@ -1,58 +0,0 @@
-prefixes:
-  ex: http://example.com/table/table/
-  dbo: http://dbpedia.org/ontology/
-  rr: http://www.w3.org/ns/r2rml#
-  foaf: http://xmlns.com/foaf/0.1/
-  xsd: http://www.w3.org/2001/XMLSchema#
-  rdfs: http://www.w3.org/2000/01/rdf-schema#
-  dc: http://purl.org/dc/elements/1.1/
-  rev: http://purl.org/stuff/rev#
-  gtfs: http://vocab.gtfs.org/terms#
-  geo: http://www.w3.org/2003/01/geo/wgs84_pos#
-  schema: http://schema.org/
-  dct: http://purl.org/dc/terms/
-  rml: http://semweb.mmlab.be/ns/rml#
-  ql: http://semweb.mmlab.be/ns/ql#
-  rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
-
-mappings:
-  sensor_readings:
-    sources:
-      - [sensor.csv~csv]
-    s: ex:$(index)
-    po:
-      - [a, ex:SensorReading]
-      - [ex:occuredIndex, $(index)]
-      - [ex:occuredTime, $(microsec)]
-      - p: ex:Value
-          o:
-            value: $(sense_00)
-            datatype: xsd:double
-      - p: ex:Value
-          o:
-            value: $(sense_01)
-            datatype: xsd:double
-      - p: ex:Value
-          o:
-            value: $(sense_02)
-            datatype: xsd:double
-      - p: ex:Value
-          o:
-            value: $(sense_03)
-            datatype: xsd:double
-      - p: ex:Value
-          o:
-            value: $(sense_10)
-            datatype: xsd:double
-      - p: ex:Value
-          o:
-            value: $(sense_11)
-            datatype: xsd:double
-      - p: ex:Value
-          o:
-            value: $(sense_12)
-            datatype: xsd:double
-      - p: ex:Value
-          o:
-            value: $(sense_13)
-            datatype: xsd:double

+ 0 - 10
backend/ontology/src/data/sensor.csv

@@ -1,10 +0,0 @@
-index,microsec,sense_00,sense_01,sense_02,sense_03,sense_10,sense_11,sense_12,sense_13
-0,100,0.3,0.6,0.1,0.3,0.3,0.1,0.3,0.5
-1,145,0.4,0.4,0.5,0.6,0.1,0.1,0.1,0.7
-2,246,0.1,0.2,0.6,0.7,0.1,0.2,0.2,0.5
-3,451,0.1,0.1,0.7,0.5,0.5,0.1,0.2,0.8
-4,564,0.2,0.1,0.9,0.4,0.4,0.3,0.4,0.9
-5,578,0.1,0.8,0.7,0.3,0.1,0.3,0.8,0.2
-6,612,0.2,0.4,0.7,0.2,0.2,0.1,0.1,0.1
-7,715,0.8,0.4,0.7,0.1,0.1,0.4,0.5,0.3
-8,788,0.1,0.1,0.4,0.5,0.1,0.1,0.1,0.1

+ 0 - 65
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/AnotherPM_corr.oml

@@ -1,65 +0,0 @@
-// Warning: Generated Code! Do not edit!
-// Input: http://localhost:5000/files/drawio/AnotherPM:pm
-// Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml/drawio2oml/pm/oml_generator.py
-
-// This file contains the correspondence links between concrete syntax (Drawio) and abstract syntax (Process Model).
-description <http://ua.be/sdo2l/description/artifacts/AnotherPM_corr#> as AnotherPM_corr {
-
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/cs_as#> as cs_as
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-
-  extends <http://ua.be/sdo2l/description/artifacts/AnotherPM_drawio#> as my_drawio
-  extends <http://ua.be/sdo2l/description/artifacts/AnotherPM_pm#> as my_pm
-
-  ci model : cs_as:CorrespondenceModel [
-    object_diagram:hasName "AnotherPM_corr"
-  ]
-
-  ri trace_drawio_0v6vhYM9hFzFfcc7qPzW-3_initial : cs_as:CS_AS_Link [
-    from my_drawio:cell_0v6vhYM9hFzFfcc7qPzW-3
-    to my_pm:initial
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_0v6vhYM9hFzFfcc7qPzW-4_final : cs_as:CS_AS_Link [
-    from my_drawio:cell_0v6vhYM9hFzFfcc7qPzW-4
-    to my_pm:final
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_OMHYlqIPrFl9iUvyUxSD-0_artifact_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_OMHYlqIPrFl9iUvyUxSD-0
-    to my_pm:artifact_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_OMHYlqIPrFl9iUvyUxSD-1_activity_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_OMHYlqIPrFl9iUvyUxSD-1
-    to my_pm:activity_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_OMHYlqIPrFl9iUvyUxSD-6_ctrl_flow_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_OMHYlqIPrFl9iUvyUxSD-6
-    to my_pm:ctrl_flow_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_OMHYlqIPrFl9iUvyUxSD-3_data_flow_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_OMHYlqIPrFl9iUvyUxSD-3
-    to my_pm:data_flow_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_OMHYlqIPrFl9iUvyUxSD-7_ctrl_flow_1 : cs_as:CS_AS_Link [
-    from my_drawio:cell_OMHYlqIPrFl9iUvyUxSD-7
-    to my_pm:ctrl_flow_1
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_0v6vhYM9hFzFfcc7qPzW-1_model : cs_as:CS_AS_Link [
-    from my_drawio:cell_0v6vhYM9hFzFfcc7qPzW-1
-    to my_pm:model
-    object_diagram:inModel model
-  ]
-}

+ 0 - 312
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/AnotherPM_drawio.oml

@@ -1,312 +0,0 @@
-// Warning: Generated code! Do not edit!
-// Input: http://localhost:5000/files/drawio/AnotherPM:pm
-// Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml/drawio2oml/oml_generator.py
-// Minimal mode enabled: Page/cell attributes, style, and geometries have been omitted (making the drawio-> OML conversion lossy).
-
-description <http://ua.be/sdo2l/description/artifacts/AnotherPM_drawio#> as AnotherPM_drawio {
-
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/drawio#> as drawio
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/dict#> as dict
-
-  ci model : drawio:Model [
-    drawio:hasDrawioId "isBpO64vPvADqoAOVkyf"
-    object_diagram:hasName "AnotherPM:pm_drawio"
-  ]
-
-  
-  ci cell_0v6vhYM9hFzFfcc7qPzW-0 : drawio:Cell [
-    drawio:hasDrawioId "0v6vhYM9hFzFfcc7qPzW-0"
-    drawio:isRootOf model
-    object_diagram:inModel model
-  ]
-  
-
-  
-  ci cell_0v6vhYM9hFzFfcc7qPzW-1 : drawio:Cell [
-    drawio:hasDrawioId "0v6vhYM9hFzFfcc7qPzW-1"
-    drawio:hasParent cell_0v6vhYM9hFzFfcc7qPzW-0
-    object_diagram:inModel model
-  ]
-  
-
-  
-  ci cell_OMHYlqIPrFl9iUvyUxSD-6 : drawio:Edge [
-    drawio:hasDrawioId "OMHYlqIPrFl9iUvyUxSD-6"
-    drawio:hasParent cell_0v6vhYM9hFzFfcc7qPzW-1
-    object_diagram:inModel model
-    drawio:hasSource cell_0v6vhYM9hFzFfcc7qPzW-3
-    drawio:hasTarget cell_OMHYlqIPrFl9iUvyUxSD-4
-  ]
-  
-  ci cell_OMHYlqIPrFl9iUvyUxSD-6_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-6
-    object_diagram:inModel model
-  ]
-  ci cell_OMHYlqIPrFl9iUvyUxSD-6_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_flow"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-6
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_0v6vhYM9hFzFfcc7qPzW-3 : drawio:Vertex [
-    drawio:hasDrawioId "0v6vhYM9hFzFfcc7qPzW-3"
-    drawio:hasParent cell_0v6vhYM9hFzFfcc7qPzW-1
-    object_diagram:inModel model
-  ]
-  
-  ci cell_0v6vhYM9hFzFfcc7qPzW-3_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_0v6vhYM9hFzFfcc7qPzW-3
-    object_diagram:inModel model
-  ]
-  ci cell_0v6vhYM9hFzFfcc7qPzW-3_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "initial"
-    drawio:propertyOf cell_0v6vhYM9hFzFfcc7qPzW-3
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_0v6vhYM9hFzFfcc7qPzW-4 : drawio:Vertex [
-    drawio:hasDrawioId "0v6vhYM9hFzFfcc7qPzW-4"
-    drawio:hasParent cell_0v6vhYM9hFzFfcc7qPzW-1
-    object_diagram:inModel model
-  ]
-  
-  ci cell_0v6vhYM9hFzFfcc7qPzW-4_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_0v6vhYM9hFzFfcc7qPzW-4
-    object_diagram:inModel model
-  ]
-  ci cell_0v6vhYM9hFzFfcc7qPzW-4_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "final"
-    drawio:propertyOf cell_0v6vhYM9hFzFfcc7qPzW-4
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_OMHYlqIPrFl9iUvyUxSD-0 : drawio:Vertex [
-    drawio:hasDrawioId "OMHYlqIPrFl9iUvyUxSD-0"
-    drawio:hasParent cell_0v6vhYM9hFzFfcc7qPzW-1
-    object_diagram:inModel model
-  ]
-  
-  ci cell_OMHYlqIPrFl9iUvyUxSD-0_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%name% : %type%"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-0
-    object_diagram:inModel model
-  ]
-  ci cell_OMHYlqIPrFl9iUvyUxSD-0_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "artifact"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-0
-    object_diagram:inModel model
-  ]
-  ci cell_OMHYlqIPrFl9iUvyUxSD-0_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-0
-    object_diagram:inModel model
-  ]
-  ci cell_OMHYlqIPrFl9iUvyUxSD-0_prop_name : drawio:CellProperty [
-    dict:hasKey "name"
-    dict:hasValue "sketch"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-0
-    object_diagram:inModel model
-  ]
-  ci cell_OMHYlqIPrFl9iUvyUxSD-0_prop_type : drawio:CellProperty [
-    dict:hasKey "type"
-    dict:hasValue "xopp"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-0
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_OMHYlqIPrFl9iUvyUxSD-1 : drawio:Vertex [
-    drawio:hasDrawioId "OMHYlqIPrFl9iUvyUxSD-1"
-    drawio:hasParent cell_0v6vhYM9hFzFfcc7qPzW-1
-    object_diagram:inModel model
-  ]
-  
-  ci cell_OMHYlqIPrFl9iUvyUxSD-1_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "<u style=\"color: rgb(0 , 0 , 0)\">%name%<br>: %type%</u>"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-1
-    object_diagram:inModel model
-  ]
-  ci cell_OMHYlqIPrFl9iUvyUxSD-1_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "activity"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-1
-    object_diagram:inModel model
-  ]
-  ci cell_OMHYlqIPrFl9iUvyUxSD-1_prop_name : drawio:CellProperty [
-    dict:hasKey "name"
-    dict:hasValue "lol"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-1
-    object_diagram:inModel model
-  ]
-  ci cell_OMHYlqIPrFl9iUvyUxSD-1_prop_type : drawio:CellProperty [
-    dict:hasKey "type"
-    dict:hasValue ""
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-1
-    object_diagram:inModel model
-  ]
-  ci cell_OMHYlqIPrFl9iUvyUxSD-1_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-1
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_OMHYlqIPrFl9iUvyUxSD-2 : drawio:Vertex [
-    drawio:hasDrawioId "OMHYlqIPrFl9iUvyUxSD-2"
-    drawio:hasParent cell_OMHYlqIPrFl9iUvyUxSD-1
-    object_diagram:inModel model
-  ]
-  
-  ci cell_OMHYlqIPrFl9iUvyUxSD-2_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-2
-    object_diagram:inModel model
-  ]
-  ci cell_OMHYlqIPrFl9iUvyUxSD-2_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "dout"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-2
-    object_diagram:inModel model
-  ]
-  ci cell_OMHYlqIPrFl9iUvyUxSD-2_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-2
-    object_diagram:inModel model
-  ]
-  ci cell_OMHYlqIPrFl9iUvyUxSD-2_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "data_out"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-2
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_OMHYlqIPrFl9iUvyUxSD-4 : drawio:Vertex [
-    drawio:hasDrawioId "OMHYlqIPrFl9iUvyUxSD-4"
-    drawio:hasParent cell_OMHYlqIPrFl9iUvyUxSD-1
-    object_diagram:inModel model
-  ]
-  
-  ci cell_OMHYlqIPrFl9iUvyUxSD-4_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-4
-    object_diagram:inModel model
-  ]
-  ci cell_OMHYlqIPrFl9iUvyUxSD-4_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "cin"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-4
-    object_diagram:inModel model
-  ]
-  ci cell_OMHYlqIPrFl9iUvyUxSD-4_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-4
-    object_diagram:inModel model
-  ]
-  ci cell_OMHYlqIPrFl9iUvyUxSD-4_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_in"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-4
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_OMHYlqIPrFl9iUvyUxSD-5 : drawio:Vertex [
-    drawio:hasDrawioId "OMHYlqIPrFl9iUvyUxSD-5"
-    drawio:hasParent cell_OMHYlqIPrFl9iUvyUxSD-1
-    object_diagram:inModel model
-  ]
-  
-  ci cell_OMHYlqIPrFl9iUvyUxSD-5_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-5
-    object_diagram:inModel model
-  ]
-  ci cell_OMHYlqIPrFl9iUvyUxSD-5_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "cout"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-5
-    object_diagram:inModel model
-  ]
-  ci cell_OMHYlqIPrFl9iUvyUxSD-5_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-5
-    object_diagram:inModel model
-  ]
-  ci cell_OMHYlqIPrFl9iUvyUxSD-5_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_out"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-5
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_OMHYlqIPrFl9iUvyUxSD-3 : drawio:Edge [
-    drawio:hasDrawioId "OMHYlqIPrFl9iUvyUxSD-3"
-    drawio:hasParent cell_0v6vhYM9hFzFfcc7qPzW-1
-    object_diagram:inModel model
-    drawio:hasSource cell_OMHYlqIPrFl9iUvyUxSD-2
-    drawio:hasTarget cell_OMHYlqIPrFl9iUvyUxSD-0
-  ]
-  
-  ci cell_OMHYlqIPrFl9iUvyUxSD-3_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-3
-    object_diagram:inModel model
-  ]
-  ci cell_OMHYlqIPrFl9iUvyUxSD-3_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "data_flow"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-3
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_OMHYlqIPrFl9iUvyUxSD-7 : drawio:Edge [
-    drawio:hasDrawioId "OMHYlqIPrFl9iUvyUxSD-7"
-    drawio:hasParent cell_0v6vhYM9hFzFfcc7qPzW-1
-    object_diagram:inModel model
-    drawio:hasSource cell_OMHYlqIPrFl9iUvyUxSD-5
-    drawio:hasTarget cell_0v6vhYM9hFzFfcc7qPzW-4
-  ]
-  
-  ci cell_OMHYlqIPrFl9iUvyUxSD-7_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-7
-    object_diagram:inModel model
-  ]
-  ci cell_OMHYlqIPrFl9iUvyUxSD-7_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_flow"
-    drawio:propertyOf cell_OMHYlqIPrFl9iUvyUxSD-7
-    object_diagram:inModel model
-  ]
-
-  
-}

+ 0 - 81
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/AnotherPM_pm.oml

@@ -1,81 +0,0 @@
-// Warning: Generated Code! Do not edit!
-// Input: http://localhost:5000/files/drawio/AnotherPM:pm
-// Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml/drawio2oml/pm/oml_generator.py
-
-description <http://ua.be/sdo2l/description/artifacts/AnotherPM_pm#> as AnotherPM_pm {
-
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/pm#> as pm
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/ftg#> as ftg
-
-  extends <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as ftg_instance
-
-  ci model : pm:Model [
-    object_diagram:hasName "AnotherPM_pm"
-  ]
-
-  ci initial : pm:Initial [
-    object_diagram:inModel model
-    pm:ctrlTo activity_0_port_0 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci final : pm:Final [
-    object_diagram:inModel model
-    //pm:ctrlFrom activity_0_port_1 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci artifact_0 : pm:Artifact [
-    pm:hasName "sketch"
-    pm:hasType ftg_instance:f_xopp
-    object_diagram:inModel model
-    
-  ]
-
-  ci activity_0 : pm:Activity [
-    pm:hasName "lol"
-    object_diagram:inModel model
-  ]
-
-  ci activity_0_port_1 : pm:CtrlOutputPort [
-    pm:hasName "cout"
-    pm:ofActivity activity_0
-    object_diagram:inModel model
-    pm:ctrlTo final // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_0_port_0 : pm:CtrlInputPort [
-    pm:hasName "cin"
-    pm:ofActivity activity_0
-    object_diagram:inModel model
-    //pm:ctrlFrom initial // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_0_port_2 : pm:DataOutputPort [
-    pm:hasName "dout"
-    pm:ofActivity activity_0
-    object_diagram:inModel model
-    pm:dataTo artifact_0 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ri ctrl_flow_0 : pm:CtrlFlow [
-    from initial
-    to activity_0_port_0
-    object_diagram:inModel model
-  ]
-
-  ri ctrl_flow_1 : pm:CtrlFlow [
-    from activity_0_port_1
-    to final
-    object_diagram:inModel model
-  ]
-
-  ri data_flow_0 : pm:DataFlow [
-    from activity_0_port_2
-    to artifact_0
-    object_diagram:inModel model
-  ]
-
-}

+ 0 - 102
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/Drawing_drawio.oml

@@ -1,102 +0,0 @@
-// Warning: Generated code! Do not edit!
-// Input: http://localhost:5000/files/drawio/Drawing
-// Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml/drawio2oml/oml_generator.py
-// Minimal mode enabled: Page/cell attributes, style, and geometries have been omitted (making the drawio-> OML conversion lossy).
-
-description <http://ua.be/sdo2l/description/artifacts/Drawing_drawio#> as Drawing_drawio {
-
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/drawio#> as drawio
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/dict#> as dict
-
-  ci model : drawio:Model [
-    drawio:hasDrawioId "LgIOMtHxWmRO3Oc9vvxL"
-    object_diagram:hasName "Drawing_drawio"
-  ]
-
-  
-  ci cell_0 : drawio:Cell [
-    drawio:hasDrawioId "0"
-    drawio:isRootOf model
-    object_diagram:inModel model
-  ]
-  
-
-  
-  ci cell_1 : drawio:Cell [
-    drawio:hasDrawioId "1"
-    drawio:hasParent cell_0
-    object_diagram:inModel model
-  ]
-  
-
-  
-  ci cell_qzttm6LrCUpeeJGvPEF2-1 : drawio:Vertex [
-    drawio:hasDrawioId "qzttm6LrCUpeeJGvPEF2-1"
-    drawio:hasValue "Actor"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-  ]
-  
-
-  
-  ci cell_qzttm6LrCUpeeJGvPEF2-2 : drawio:Vertex [
-    drawio:hasDrawioId "qzttm6LrCUpeeJGvPEF2-2"
-    drawio:hasValue "Actor"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-  ]
-  
-
-  
-  ci cell_qzttm6LrCUpeeJGvPEF2-3 : drawio:Vertex [
-    drawio:hasDrawioId "qzttm6LrCUpeeJGvPEF2-3"
-    drawio:hasValue "Actor"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-  ]
-  
-
-  
-  ci cell_qzttm6LrCUpeeJGvPEF2-4 : drawio:Vertex [
-    drawio:hasDrawioId "qzttm6LrCUpeeJGvPEF2-4"
-    drawio:hasValue "Actor"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-  ]
-  
-
-  
-  ci cell_qzttm6LrCUpeeJGvPEF2-6 : drawio:Vertex [
-    drawio:hasDrawioId "qzttm6LrCUpeeJGvPEF2-6"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-  ]
-  
-
-  
-  ci cell_qzttm6LrCUpeeJGvPEF2-7 : drawio:Vertex [
-    drawio:hasDrawioId "qzttm6LrCUpeeJGvPEF2-7"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-  ]
-  
-
-  
-  ci cell_qzttm6LrCUpeeJGvPEF2-8 : drawio:Vertex [
-    drawio:hasDrawioId "qzttm6LrCUpeeJGvPEF2-8"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-  ]
-  
-
-  
-  ci cell_qzttm6LrCUpeeJGvPEF2-9 : drawio:Vertex [
-    drawio:hasDrawioId "qzttm6LrCUpeeJGvPEF2-9"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-  ]
-  
-
-  
-}

+ 0 - 101
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/FTG_corr.oml

@@ -1,101 +0,0 @@
-// Warning: Generated Code! Do not edit!
-// Input: http://localhost:5000/files/drawio/FTG:ftg
-// Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml/drawio2oml/ftg/oml_generator.py
-
-// This file contains the correspondence links between concrete syntax (Drawio) and abstract syntax (FTG).
-description <http://ua.be/sdo2l/description/artifacts/FTG_corr#> as FTG_corr {
-
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/cs_as#> as cs_as
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-
-  extends <http://ua.be/sdo2l/description/artifacts/FTG_drawio#> as my_drawio
-  extends <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as my_ftg
-
-  ci model : cs_as:CorrespondenceModel [
-    object_diagram:hasName "FTG_corr"
-  ]
-
-  ri trace_drawio_VtfaJCiFz_Gr-LFw8VM8-3_f_xopp : cs_as:CS_AS_Link [
-    from my_drawio:cell_VtfaJCiFz_Gr-LFw8VM8-3
-    to my_ftg:f_xopp
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_DT2_XpkoWL6Mp4KuCbJF-10_f_TextDocument : cs_as:CS_AS_Link [
-    from my_drawio:cell_DT2_XpkoWL6Mp4KuCbJF-10
-    to my_ftg:f_TextDocument
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_DT2_XpkoWL6Mp4KuCbJF-16_f_Profile : cs_as:CS_AS_Link [
-    from my_drawio:cell_DT2_XpkoWL6Mp4KuCbJF-16
-    to my_ftg:f_Profile
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_DT2_XpkoWL6Mp4KuCbJF-19_f_TabularData : cs_as:CS_AS_Link [
-    from my_drawio:cell_DT2_XpkoWL6Mp4KuCbJF-19
-    to my_ftg:f_TabularData
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_DT2_XpkoWL6Mp4KuCbJF-21_f_Code : cs_as:CS_AS_Link [
-    from my_drawio:cell_DT2_XpkoWL6Mp4KuCbJF-21
-    to my_ftg:f_Code
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_DT2_XpkoWL6Mp4KuCbJF-24_f_Script : cs_as:CS_AS_Link [
-    from my_drawio:cell_DT2_XpkoWL6Mp4KuCbJF-24
-    to my_ftg:f_Script
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_VtfaJCiFz_Gr-LFw8VM8-1_t_Sketch : cs_as:CS_AS_Link [
-    from my_drawio:cell_VtfaJCiFz_Gr-LFw8VM8-1
-    to my_ftg:t_Sketch
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_VtfaJCiFz_Gr-LFw8VM8-2_t_LookAtSketch : cs_as:CS_AS_Link [
-    from my_drawio:cell_VtfaJCiFz_Gr-LFw8VM8-2
-    to my_ftg:t_LookAtSketch
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_4rE98VZ8RXfWWRRUgjGg-1_t_Preparation : cs_as:CS_AS_Link [
-    from my_drawio:cell_4rE98VZ8RXfWWRRUgjGg-1
-    to my_ftg:t_Preparation
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_4rE98VZ8RXfWWRRUgjGg-9_t_SetupProfile : cs_as:CS_AS_Link [
-    from my_drawio:cell_4rE98VZ8RXfWWRRUgjGg-9
-    to my_ftg:t_SetupProfile
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_4rE98VZ8RXfWWRRUgjGg-16_t_GenerateControlParameters : cs_as:CS_AS_Link [
-    from my_drawio:cell_4rE98VZ8RXfWWRRUgjGg-16
-    to my_ftg:t_GenerateControlParameters
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_4rE98VZ8RXfWWRRUgjGg-22_t_VerifyData : cs_as:CS_AS_Link [
-    from my_drawio:cell_4rE98VZ8RXfWWRRUgjGg-22
-    to my_ftg:t_VerifyData
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_4rE98VZ8RXfWWRRUgjGg-28_t_RunExperiment : cs_as:CS_AS_Link [
-    from my_drawio:cell_4rE98VZ8RXfWWRRUgjGg-28
-    to my_ftg:t_RunExperiment
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_4rE98VZ8RXfWWRRUgjGg-35_t_BuildControlSettings : cs_as:CS_AS_Link [
-    from my_drawio:cell_4rE98VZ8RXfWWRRUgjGg-35
-    to my_ftg:t_BuildControlSettings
-    object_diagram:inModel model
-  ]
-}

File diff suppressed because it is too large
+ 0 - 2084
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/FTG_drawio.oml


+ 0 - 178
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/FTG_ftg.oml

@@ -1,178 +0,0 @@
-// Warning: Generated Code! Do not edit!
-// Input: http://localhost:5000/files/drawio/FTG:ftg
-// Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml/drawio2oml/ftg/oml_generator.py
-
-description <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as FTG_ftg {
-
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/ftg#> as ftg
-  uses <http://ua.be/sdo2l/vocabulary/base/base#> as base
-
-  ci f_xopp : ftg:Formalism [
-    base:hasGUID "xopp"
-  ]
-
-  ci f_TextDocument : ftg:Formalism [
-    base:hasGUID "TextDocument"
-  ]
-
-  ci f_Profile : ftg:Formalism [
-    base:hasGUID "Profile"
-  ]
-
-  ci f_TabularData : ftg:Formalism [
-    base:hasGUID "TabularData"
-  ]
-
-  ci f_Code : ftg:Formalism [
-    base:hasGUID "Code"
-  ]
-
-  ci f_Script : ftg:Formalism [
-    base:hasGUID "Script"
-  ]
-
-  ci t_Sketch : ftg:Transformation [
-    base:hasGUID "Sketch"
-    ftg:hasCtrlInput "cin"
-    ftg:hasCtrlOutput "cout"
-  ]
-  ri t_Sketch_output0 : ftg:HasOutput [
-    from t_Sketch
-    to f_xopp
-    ftg:hasName "sketch"
-  ]
-
-  ci t_LookAtSketch : ftg:Transformation [
-    base:hasGUID "LookAtSketch"
-    ftg:hasCtrlInput "cin"
-    ftg:hasCtrlOutput "cout"
-  ]
-  ri t_LookAtSketch_input0 : ftg:HasInput [
-    from t_LookAtSketch
-    to f_xopp
-    ftg:hasName "sketch"
-  ]
-
-  ci t_Preparation : ftg:Transformation [
-    base:hasGUID "Preparation"
-    ftg:hasCtrlInput "cin"
-    ftg:hasCtrlOutput "cout"
-  ]
-  ri t_Preparation_output0 : ftg:HasOutput [
-    from t_Preparation
-    to f_TextDocument
-    ftg:hasName "dout"
-  ]
-  ri t_Preparation_output1 : ftg:HasOutput [
-    from t_Preparation
-    to f_TextDocument
-    ftg:hasName "dout"
-  ]
-  ri t_Preparation_output2 : ftg:HasOutput [
-    from t_Preparation
-    to f_Script
-    ftg:hasName "dout"
-  ]
-
-  ci t_SetupProfile : ftg:Transformation [
-    base:hasGUID "SetupProfile"
-    ftg:hasCtrlInput "cin"
-    ftg:hasCtrlInput "cinRec"
-    ftg:hasCtrlOutput "cout"
-  ]
-  ri t_SetupProfile_input0 : ftg:HasInput [
-    from t_SetupProfile
-    to f_TextDocument
-    ftg:hasName "din"
-  ]
-  ri t_SetupProfile_input1 : ftg:HasInput [
-    from t_SetupProfile
-    to f_TextDocument
-    ftg:hasName "din"
-  ]
-  ri t_SetupProfile_output0 : ftg:HasOutput [
-    from t_SetupProfile
-    to f_Profile
-    ftg:hasName "dout"
-  ]
-
-  ci t_GenerateControlParameters : ftg:Transformation [
-    base:hasGUID "GenerateControlParameters"
-    ftg:hasCtrlInput "cin"
-    ftg:hasCtrlOutput "cout"
-  ]
-  ri t_GenerateControlParameters_input0 : ftg:HasInput [
-    from t_GenerateControlParameters
-    to f_Profile
-    ftg:hasName "din"
-  ]
-  ri t_GenerateControlParameters_input1 : ftg:HasInput [
-    from t_GenerateControlParameters
-    to f_Script
-    ftg:hasName "din"
-  ]
-  ri t_GenerateControlParameters_output0 : ftg:HasOutput [
-    from t_GenerateControlParameters
-    to f_TabularData
-    ftg:hasName "dout"
-  ]
-
-  ci t_VerifyData : ftg:Transformation [
-    base:hasGUID "VerifyData"
-    ftg:hasCtrlInput "cin"
-    ftg:hasCtrlOutput "cout"
-    ftg:hasCtrlOutput "coutRec"
-  ]
-  ri t_VerifyData_input0 : ftg:HasInput [
-    from t_VerifyData
-    to f_TabularData
-    ftg:hasName "din"
-  ]
-  ri t_VerifyData_input1 : ftg:HasInput [
-    from t_VerifyData
-    to f_TabularData
-    ftg:hasName "din"
-  ]
-
-  ci t_RunExperiment : ftg:Transformation [
-    base:hasGUID "RunExperiment"
-    ftg:hasCtrlInput "cin"
-    ftg:hasCtrlOutput "cout"
-  ]
-  ri t_RunExperiment_input0 : ftg:HasInput [
-    from t_RunExperiment
-    to f_Code
-    ftg:hasName "din"
-  ]
-  ri t_RunExperiment_output0 : ftg:HasOutput [
-    from t_RunExperiment
-    to f_TabularData
-    ftg:hasName "dout"
-  ]
-  ri t_RunExperiment_output1 : ftg:HasOutput [
-    from t_RunExperiment
-    to f_TabularData
-    ftg:hasName "dout"
-  ]
-
-  ci t_BuildControlSettings : ftg:Transformation [
-    base:hasGUID "BuildControlSettings"
-    ftg:hasCtrlInput "cin"
-    ftg:hasCtrlOutput "cout"
-  ]
-  ri t_BuildControlSettings_input0 : ftg:HasInput [
-    from t_BuildControlSettings
-    to f_TabularData
-    ftg:hasName "din"
-  ]
-  ri t_BuildControlSettings_input1 : ftg:HasInput [
-    from t_BuildControlSettings
-    to f_TextDocument
-    ftg:hasName "din"
-  ]
-  ri t_BuildControlSettings_output0 : ftg:HasOutput [
-    from t_BuildControlSettings
-    to f_Code
-    ftg:hasName "dout"
-  ]
-}

+ 0 - 41
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/MinimalPM_corr.oml

@@ -1,41 +0,0 @@
-// Warning: Generated Code! Do not edit!
-// Input: http://localhost:5000/files/drawio/MinimalPM:pm
-// Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml/drawio2oml/pm/oml_generator.py
-
-// This file contains the correspondence links between concrete syntax (Drawio) and abstract syntax (Process Model).
-description <http://ua.be/sdo2l/description/artifacts/MinimalPM_corr#> as MinimalPM_corr {
-
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/cs_as#> as cs_as
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-
-  extends <http://ua.be/sdo2l/description/artifacts/MinimalPM_drawio#> as my_drawio
-  extends <http://ua.be/sdo2l/description/artifacts/MinimalPM_pm#> as my_pm
-
-  ci model : cs_as:CorrespondenceModel [
-    object_diagram:hasName "MinimalPM_corr"
-  ]
-
-  ri trace_drawio_kPhmW1dwLuky_b0boUTp-1_initial : cs_as:CS_AS_Link [
-    from my_drawio:cell_kPhmW1dwLuky_b0boUTp-1
-    to my_pm:initial
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_kPhmW1dwLuky_b0boUTp-2_final : cs_as:CS_AS_Link [
-    from my_drawio:cell_kPhmW1dwLuky_b0boUTp-2
-    to my_pm:final
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_kPhmW1dwLuky_b0boUTp-3_ctrl_flow_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_kPhmW1dwLuky_b0boUTp-3
-    to my_pm:ctrl_flow_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_1_model : cs_as:CS_AS_Link [
-    from my_drawio:cell_1
-    to my_pm:model
-    object_diagram:inModel model
-  ]
-}

+ 0 - 96
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/MinimalPM_drawio.oml

@@ -1,96 +0,0 @@
-// Warning: Generated code! Do not edit!
-// Input: http://localhost:5000/files/drawio/MinimalPM:pm
-// Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml/drawio2oml/oml_generator.py
-// Minimal mode enabled: Page/cell attributes, style, and geometries have been omitted (making the drawio-> OML conversion lossy).
-
-description <http://ua.be/sdo2l/description/artifacts/MinimalPM_drawio#> as MinimalPM_drawio {
-
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/drawio#> as drawio
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/dict#> as dict
-
-  ci model : drawio:Model [
-    drawio:hasDrawioId "k7m7Ebu8EXRkVeQowzfr"
-    object_diagram:hasName "MinimalPM:pm_drawio"
-  ]
-
-  
-  ci cell_0 : drawio:Cell [
-    drawio:hasDrawioId "0"
-    drawio:isRootOf model
-    object_diagram:inModel model
-  ]
-  
-
-  
-  ci cell_1 : drawio:Cell [
-    drawio:hasDrawioId "1"
-    drawio:hasParent cell_0
-    object_diagram:inModel model
-  ]
-  
-
-  
-  ci cell_kPhmW1dwLuky_b0boUTp-3 : drawio:Edge [
-    drawio:hasDrawioId "kPhmW1dwLuky_b0boUTp-3"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-    drawio:hasSource cell_kPhmW1dwLuky_b0boUTp-1
-    drawio:hasTarget cell_kPhmW1dwLuky_b0boUTp-2
-  ]
-  
-  ci cell_kPhmW1dwLuky_b0boUTp-3_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_kPhmW1dwLuky_b0boUTp-3
-    object_diagram:inModel model
-  ]
-  ci cell_kPhmW1dwLuky_b0boUTp-3_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_flow"
-    drawio:propertyOf cell_kPhmW1dwLuky_b0boUTp-3
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_kPhmW1dwLuky_b0boUTp-1 : drawio:Vertex [
-    drawio:hasDrawioId "kPhmW1dwLuky_b0boUTp-1"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-  ]
-  
-  ci cell_kPhmW1dwLuky_b0boUTp-1_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_kPhmW1dwLuky_b0boUTp-1
-    object_diagram:inModel model
-  ]
-  ci cell_kPhmW1dwLuky_b0boUTp-1_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "initial"
-    drawio:propertyOf cell_kPhmW1dwLuky_b0boUTp-1
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_kPhmW1dwLuky_b0boUTp-2 : drawio:Vertex [
-    drawio:hasDrawioId "kPhmW1dwLuky_b0boUTp-2"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-  ]
-  
-  ci cell_kPhmW1dwLuky_b0boUTp-2_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_kPhmW1dwLuky_b0boUTp-2
-    object_diagram:inModel model
-  ]
-  ci cell_kPhmW1dwLuky_b0boUTp-2_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "final"
-    drawio:propertyOf cell_kPhmW1dwLuky_b0boUTp-2
-    object_diagram:inModel model
-  ]
-
-  
-}

+ 0 - 33
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/MinimalPM_pm.oml

@@ -1,33 +0,0 @@
-// Warning: Generated Code! Do not edit!
-// Input: http://localhost:5000/files/drawio/MinimalPM:pm
-// Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml/drawio2oml/pm/oml_generator.py
-
-description <http://ua.be/sdo2l/description/artifacts/MinimalPM_pm#> as MinimalPM_pm {
-
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/pm#> as pm
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/ftg#> as ftg
-
-  extends <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as ftg_instance
-
-  ci model : pm:Model [
-    object_diagram:hasName "MinimalPM_pm"
-  ]
-
-  ci initial : pm:Initial [
-    object_diagram:inModel model
-    pm:ctrlTo final // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci final : pm:Final [
-    object_diagram:inModel model
-    //pm:ctrlFrom initial // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ri ctrl_flow_0 : pm:CtrlFlow [
-    from initial
-    to final
-    object_diagram:inModel model
-  ]
-
-}

+ 0 - 83
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/MyPM_corr.oml

@@ -1,83 +0,0 @@
-// Warning: Generated Code! Do not edit!
-// Input: http://localhost:5000/files/drawio/MyPM:pm
-// Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml/drawio2oml/pm/oml_generator.py
-
-// This file contains the correspondence links between concrete syntax (Drawio) and abstract syntax (Process Model).
-description <http://ua.be/sdo2l/description/artifacts/MyPM_corr#> as MyPM_corr {
-
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/cs_as#> as cs_as
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-
-  extends <http://ua.be/sdo2l/description/artifacts/MyPM_drawio#> as my_drawio
-  extends <http://ua.be/sdo2l/description/artifacts/MyPM_pm#> as my_pm
-
-  ci model : cs_as:CorrespondenceModel [
-    object_diagram:hasName "MyPM_corr"
-  ]
-
-  ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-1_initial : cs_as:CS_AS_Link [
-    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-1
-    to my_pm:initial
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-3_final : cs_as:CS_AS_Link [
-    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-3
-    to my_pm:final
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-2_activity_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-2
-    to my_pm:activity_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-33_artifact_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-33
-    to my_pm:artifact_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_1m2y2pvaED3J6VFvMTAg-2_activity_1 : cs_as:CS_AS_Link [
-    from my_drawio:cell_1m2y2pvaED3J6VFvMTAg-2
-    to my_pm:activity_1
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-6_ctrl_flow_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-6
-    to my_pm:ctrl_flow_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-7_ctrl_flow_1 : cs_as:CS_AS_Link [
-    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-7
-    to my_pm:ctrl_flow_1
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-20_ctrl_flow_2 : cs_as:CS_AS_Link [
-    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-20
-    to my_pm:ctrl_flow_2
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-32_data_flow_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-32
-    to my_pm:data_flow_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-28_data_flow_1 : cs_as:CS_AS_Link [
-    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-28
-    to my_pm:data_flow_1
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_1_model : cs_as:CS_AS_Link [
-    from my_drawio:cell_1
-    to my_pm:model
-    object_diagram:inModel model
-  ]
-}

+ 0 - 490
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/MyPM_drawio.oml

@@ -1,490 +0,0 @@
-// Warning: Generated code! Do not edit!
-// Input: http://localhost:5000/files/drawio/MyPM:pm
-// Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml/drawio2oml/oml_generator.py
-// Minimal mode enabled: Page/cell attributes, style, and geometries have been omitted (making the drawio-> OML conversion lossy).
-
-description <http://ua.be/sdo2l/description/artifacts/MyPM_drawio#> as MyPM_drawio {
-
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/drawio#> as drawio
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/dict#> as dict
-
-  ci model : drawio:Model [
-    drawio:hasDrawioId "prYNwPAbIUO19HUZXAOh"
-    object_diagram:hasName "MyPM:pm_drawio"
-  ]
-
-  
-  ci cell_0 : drawio:Cell [
-    drawio:hasDrawioId "0"
-    drawio:isRootOf model
-    object_diagram:inModel model
-  ]
-  
-
-  
-  ci cell_1 : drawio:Cell [
-    drawio:hasDrawioId "1"
-    drawio:hasParent cell_0
-    object_diagram:inModel model
-  ]
-  
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-1 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-1"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-1_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-1
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-1_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "initial"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-1
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-2 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-2"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-2_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "<u style=\"color: rgb(0 , 0 , 0)\">%name%<br>: %type%</u>"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-2_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "activity"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-2_prop_name : drawio:CellProperty [
-    dict:hasKey "name"
-    dict:hasValue "sketch"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-2_prop_type : drawio:CellProperty [
-    dict:hasKey "type"
-    dict:hasValue "Sketch"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-2_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-4 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-4"
-    drawio:hasParent cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-4_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-4
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-4_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "cin"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-4
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-4_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-4
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-4_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_in"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-4
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-5 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-5"
-    drawio:hasParent cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-5_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-5
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-5_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "cout"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-5
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-5_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-5
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-5_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_out"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-5
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-27 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-27"
-    drawio:hasParent cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-27_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-27
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-27_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "sketch"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-27
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-27_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-27
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-27_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "data_out"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-27
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-6 : drawio:Edge [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-6"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-    drawio:hasSource cell_CvR4PfVCJDiI6bvIUUvl-1
-    drawio:hasTarget cell_CvR4PfVCJDiI6bvIUUvl-4
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-6_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-6
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-6_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_flow"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-6
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-3 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-3"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-3_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-3
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-3_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "final"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-3
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-7 : drawio:Edge [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-7"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-    drawio:hasSource cell_CvR4PfVCJDiI6bvIUUvl-5
-    drawio:hasTarget cell_CvR4PfVCJDiI6bvIUUvl-18
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-7_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-7
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-7_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_flow"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-7
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-20 : drawio:Edge [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-20"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-    drawio:hasSource cell_CvR4PfVCJDiI6bvIUUvl-19
-    drawio:hasTarget cell_CvR4PfVCJDiI6bvIUUvl-3
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-20_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-20
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-20_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_flow"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-20
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-32 : drawio:Edge [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-32"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-    drawio:hasSource cell_CvR4PfVCJDiI6bvIUUvl-33
-    drawio:hasTarget cell_CvR4PfVCJDiI6bvIUUvl-31
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-32_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-32
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-32_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "data_flow"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-32
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-28 : drawio:Edge [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-28"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-    drawio:hasSource cell_CvR4PfVCJDiI6bvIUUvl-27
-    drawio:hasTarget cell_CvR4PfVCJDiI6bvIUUvl-33
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-28_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-28
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-28_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "data_flow"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-28
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-33 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-33"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-33_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%name% : %type%"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-33
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-33_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "artifact"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-33
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-33_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-33
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-33_prop_name : drawio:CellProperty [
-    dict:hasKey "name"
-    dict:hasValue "sketch"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-33
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-33_prop_type : drawio:CellProperty [
-    dict:hasKey "type"
-    dict:hasValue "xopp"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-33
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_1m2y2pvaED3J6VFvMTAg-2 : drawio:Vertex [
-    drawio:hasDrawioId "1m2y2pvaED3J6VFvMTAg-2"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-  ]
-  
-  ci cell_1m2y2pvaED3J6VFvMTAg-2_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "<u style=\"color: rgb(0 , 0 , 0)\">%name%<br>: %type%</u>"
-    drawio:propertyOf cell_1m2y2pvaED3J6VFvMTAg-2
-    object_diagram:inModel model
-  ]
-  ci cell_1m2y2pvaED3J6VFvMTAg-2_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "activity"
-    drawio:propertyOf cell_1m2y2pvaED3J6VFvMTAg-2
-    object_diagram:inModel model
-  ]
-  ci cell_1m2y2pvaED3J6VFvMTAg-2_prop_name : drawio:CellProperty [
-    dict:hasKey "name"
-    dict:hasValue "look_at_sketch"
-    drawio:propertyOf cell_1m2y2pvaED3J6VFvMTAg-2
-    object_diagram:inModel model
-  ]
-  ci cell_1m2y2pvaED3J6VFvMTAg-2_prop_type : drawio:CellProperty [
-    dict:hasKey "type"
-    dict:hasValue "LookAtSketch"
-    drawio:propertyOf cell_1m2y2pvaED3J6VFvMTAg-2
-    object_diagram:inModel model
-  ]
-  ci cell_1m2y2pvaED3J6VFvMTAg-2_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_1m2y2pvaED3J6VFvMTAg-2
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-19 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-19"
-    drawio:hasParent cell_1m2y2pvaED3J6VFvMTAg-2
-    object_diagram:inModel model
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-19_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-19
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-19_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "cout"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-19
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-19_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-19
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-19_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_out"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-19
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-31 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-31"
-    drawio:hasParent cell_1m2y2pvaED3J6VFvMTAg-2
-    object_diagram:inModel model
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-31_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-31
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-31_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "sketch"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-31
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-31_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-31
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-31_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "data_in"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-31
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-18 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-18"
-    drawio:hasParent cell_1m2y2pvaED3J6VFvMTAg-2
-    object_diagram:inModel model
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-18_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-18
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-18_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "cin"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-18
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-18_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-18
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-18_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_in"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-18
-    object_diagram:inModel model
-  ]
-
-  
-}

+ 0 - 124
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/MyPM_pm.oml

@@ -1,124 +0,0 @@
-// Warning: Generated Code! Do not edit!
-// Input: http://localhost:5000/files/drawio/MyPM:pm
-// Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml/drawio2oml/pm/oml_generator.py
-
-description <http://ua.be/sdo2l/description/artifacts/MyPM_pm#> as MyPM_pm {
-
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/pm#> as pm
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/ftg#> as ftg
-
-  extends <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as ftg_instance
-
-  ci model : pm:Model [
-    object_diagram:hasName "MyPM_pm"
-  ]
-
-  ci initial : pm:Initial [
-    object_diagram:inModel model
-    pm:ctrlTo activity_0_port_0 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci final : pm:Final [
-    object_diagram:inModel model
-    //pm:ctrlFrom activity_1_port_1 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci artifact_0 : pm:Artifact [
-    pm:hasName "sketch"
-    pm:hasType ftg_instance:f_xopp
-    object_diagram:inModel model
-    pm:dataTo activity_1_port_2 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci activity_0 : pm:Activity [
-    pm:hasName "sketch"
-    pm:isTransformation ftg_instance:t_Sketch
-    object_diagram:inModel model
-  ]
-
-  ci activity_0_port_1 : pm:CtrlOutputPort [
-    pm:hasName "cout"
-    pm:ofActivity activity_0
-    object_diagram:inModel model
-    pm:ctrlTo activity_1_port_0 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_0_port_0 : pm:CtrlInputPort [
-    pm:hasName "cin"
-    pm:ofActivity activity_0
-    object_diagram:inModel model
-    //pm:ctrlFrom initial // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_0_port_2 : pm:DataOutputPort [
-    pm:hasName "sketch"
-    pm:ofActivity activity_0
-    object_diagram:inModel model
-    pm:dataTo artifact_0 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_1 : pm:Activity [
-    pm:hasName "look_at_sketch"
-    pm:isTransformation ftg_instance:t_LookAtSketch
-    object_diagram:inModel model
-  ]
-
-  ci activity_1_port_1 : pm:CtrlOutputPort [
-    pm:hasName "cout"
-    pm:ofActivity activity_1
-    object_diagram:inModel model
-    pm:ctrlTo final // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_1_port_0 : pm:CtrlInputPort [
-    pm:hasName "cin"
-    pm:ofActivity activity_1
-    object_diagram:inModel model
-    //pm:ctrlFrom activity_0_port_1 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-  
-
-  ci activity_1_port_2 : pm:DataInputPort [
-    pm:hasName "sketch"
-    pm:ofActivity activity_1
-    object_diagram:inModel model
-    //pm:dataFrom artifact_0 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ri ctrl_flow_0 : pm:CtrlFlow [
-    from initial
-    to activity_0_port_0
-    object_diagram:inModel model
-  ]
-
-  ri ctrl_flow_1 : pm:CtrlFlow [
-    from activity_0_port_1
-    to activity_1_port_0
-    object_diagram:inModel model
-  ]
-
-  ri ctrl_flow_2 : pm:CtrlFlow [
-    from activity_1_port_1
-    to final
-    object_diagram:inModel model
-  ]
-
-  ri data_flow_0 : pm:DataFlow [
-    from artifact_0
-    to activity_1_port_2
-    object_diagram:inModel model
-  ]
-
-  ri data_flow_1 : pm:DataFlow [
-    from activity_0_port_2
-    to artifact_0
-    object_diagram:inModel model
-  ]
-
-}

+ 0 - 89
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/RecPM_corr.oml

@@ -1,89 +0,0 @@
-// Warning: Generated Code! Do not edit!
-// Input: /Users/albertins/git/drawio2oml/RecPM.drawio#RecPM:pm
-// Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml/drawio2oml/pm/oml_generator.py
-
-// This file contains the correspondence links between concrete syntax (Drawio) and abstract syntax (Process Model).
-description <http://ua.be/sdo2l/description/artifacts/RecPM_corr#> as RecPM_corr {
-
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/cs_as#> as cs_as
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-
-  extends <http://ua.be/sdo2l/description/artifacts/RecPM_drawio#> as my_drawio
-  extends <http://ua.be/sdo2l/description/artifacts/RecPM_pm#> as my_pm
-
-  ci model : cs_as:CorrespondenceModel [
-    object_diagram:hasName "RecPM_corr"
-  ]
-
-  ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-1_initial : cs_as:CS_AS_Link [
-    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-1
-    to my_pm:initial
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-3_final : cs_as:CS_AS_Link [
-    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-3
-    to my_pm:final
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-2_activity_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-2
-    to my_pm:activity_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-33_artifact_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-33
-    to my_pm:artifact_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_1m2y2pvaED3J6VFvMTAg-2_activity_1 : cs_as:CS_AS_Link [
-    from my_drawio:cell_1m2y2pvaED3J6VFvMTAg-2
-    to my_pm:activity_1
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-6_ctrl_flow_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-6
-    to my_pm:ctrl_flow_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-7_ctrl_flow_1 : cs_as:CS_AS_Link [
-    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-7
-    to my_pm:ctrl_flow_1
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-20_ctrl_flow_2 : cs_as:CS_AS_Link [
-    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-20
-    to my_pm:ctrl_flow_2
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-32_data_flow_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-32
-    to my_pm:data_flow_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-28_data_flow_1 : cs_as:CS_AS_Link [
-    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-28
-    to my_pm:data_flow_1
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_DqRSZQiQ3lTnqpyIPe1H-2_ctrl_flow_3 : cs_as:CS_AS_Link [
-    from my_drawio:cell_DqRSZQiQ3lTnqpyIPe1H-2
-    to my_pm:ctrl_flow_3
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_1_model : cs_as:CS_AS_Link [
-    from my_drawio:cell_1
-    to my_pm:model
-    object_diagram:inModel model
-  ]
-}

+ 0 - 576
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/RecPM_drawio.oml

@@ -1,576 +0,0 @@
-// Warning: Generated code! Do not edit!
-// Input: /Users/albertins/git/drawio2oml/RecPM.drawio#RecPM:pm
-// Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml/drawio2oml/oml_generator.py
-// Minimal mode enabled: Page/cell attributes, style, and geometries have been omitted (making the drawio-> OML conversion lossy).
-
-description <http://ua.be/sdo2l/description/artifacts/RecPM_drawio#> as RecPM_drawio {
-
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/drawio#> as drawio
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/dict#> as dict
-
-  ci model : drawio:Model [
-    drawio:hasDrawioId "2Bc0qMESYrDuhpiJgCwm"
-    object_diagram:hasName "RecPM:pm_drawio"
-  ]
-
-  
-  ci cell_0 : drawio:Cell [
-    drawio:hasDrawioId "0"
-    drawio:isRootOf model
-    object_diagram:inModel model
-  ]
-  
-
-  
-  ci cell_1 : drawio:Cell [
-    drawio:hasDrawioId "1"
-    drawio:hasParent cell_0
-    object_diagram:inModel model
-  ]
-  
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-1 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-1"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-1_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-1
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-1_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "initial"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-1
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-2 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-2"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-2_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "<u style=\"color: rgb(0 , 0 , 0)\">%name%<br>: %type%</u>"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-2_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "activity"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-2_prop_name : drawio:CellProperty [
-    dict:hasKey "name"
-    dict:hasValue "sketch"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-2_prop_type : drawio:CellProperty [
-    dict:hasKey "type"
-    dict:hasValue "Sketch"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-2_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-27 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-27"
-    drawio:hasParent cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-27_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-27
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-27_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "sketch"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-27
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-27_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-27
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-27_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "data_out"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-27
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-5 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-5"
-    drawio:hasParent cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-5_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-5
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-5_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "cout"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-5
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-5_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-5
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-5_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_out"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-5
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-4 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-4"
-    drawio:hasParent cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-4_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-4
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-4_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "cin"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-4
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-4_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-4
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-4_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_in"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-4
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_DqRSZQiQ3lTnqpyIPe1H-1 : drawio:Vertex [
-    drawio:hasDrawioId "DqRSZQiQ3lTnqpyIPe1H-1"
-    drawio:hasParent cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-  
-  ci cell_DqRSZQiQ3lTnqpyIPe1H-1_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf cell_DqRSZQiQ3lTnqpyIPe1H-1
-    object_diagram:inModel model
-  ]
-  ci cell_DqRSZQiQ3lTnqpyIPe1H-1_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "cinRec"
-    drawio:propertyOf cell_DqRSZQiQ3lTnqpyIPe1H-1
-    object_diagram:inModel model
-  ]
-  ci cell_DqRSZQiQ3lTnqpyIPe1H-1_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_DqRSZQiQ3lTnqpyIPe1H-1
-    object_diagram:inModel model
-  ]
-  ci cell_DqRSZQiQ3lTnqpyIPe1H-1_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_in"
-    drawio:propertyOf cell_DqRSZQiQ3lTnqpyIPe1H-1
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-6 : drawio:Edge [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-6"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-    drawio:hasSource cell_CvR4PfVCJDiI6bvIUUvl-1
-    drawio:hasTarget cell_CvR4PfVCJDiI6bvIUUvl-4
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-6_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-6
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-6_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_flow"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-6
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-3 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-3"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-3_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-3
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-3_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "final"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-3
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-7 : drawio:Edge [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-7"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-    drawio:hasSource cell_CvR4PfVCJDiI6bvIUUvl-5
-    drawio:hasTarget cell_CvR4PfVCJDiI6bvIUUvl-18
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-7_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-7
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-7_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_flow"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-7
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-20 : drawio:Edge [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-20"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-    drawio:hasSource cell_CvR4PfVCJDiI6bvIUUvl-19
-    drawio:hasTarget cell_CvR4PfVCJDiI6bvIUUvl-3
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-20_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-20
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-20_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_flow"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-20
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-32 : drawio:Edge [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-32"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-    drawio:hasSource cell_CvR4PfVCJDiI6bvIUUvl-33
-    drawio:hasTarget cell_CvR4PfVCJDiI6bvIUUvl-31
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-32_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-32
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-32_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "data_flow"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-32
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-28 : drawio:Edge [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-28"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-    drawio:hasSource cell_CvR4PfVCJDiI6bvIUUvl-27
-    drawio:hasTarget cell_CvR4PfVCJDiI6bvIUUvl-33
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-28_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-28
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-28_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "data_flow"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-28
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-33 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-33"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-33_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%name% : %type%"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-33
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-33_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "artifact"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-33
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-33_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-33
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-33_prop_name : drawio:CellProperty [
-    dict:hasKey "name"
-    dict:hasValue "sketch"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-33
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-33_prop_type : drawio:CellProperty [
-    dict:hasKey "type"
-    dict:hasValue "xopp"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-33
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_1m2y2pvaED3J6VFvMTAg-2 : drawio:Vertex [
-    drawio:hasDrawioId "1m2y2pvaED3J6VFvMTAg-2"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-  ]
-  
-  ci cell_1m2y2pvaED3J6VFvMTAg-2_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "<u style=\"color: rgb(0 , 0 , 0)\">%name%<br>: %type%</u>"
-    drawio:propertyOf cell_1m2y2pvaED3J6VFvMTAg-2
-    object_diagram:inModel model
-  ]
-  ci cell_1m2y2pvaED3J6VFvMTAg-2_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "activity"
-    drawio:propertyOf cell_1m2y2pvaED3J6VFvMTAg-2
-    object_diagram:inModel model
-  ]
-  ci cell_1m2y2pvaED3J6VFvMTAg-2_prop_name : drawio:CellProperty [
-    dict:hasKey "name"
-    dict:hasValue "look_at_sketch"
-    drawio:propertyOf cell_1m2y2pvaED3J6VFvMTAg-2
-    object_diagram:inModel model
-  ]
-  ci cell_1m2y2pvaED3J6VFvMTAg-2_prop_type : drawio:CellProperty [
-    dict:hasKey "type"
-    dict:hasValue "LookAtSketch"
-    drawio:propertyOf cell_1m2y2pvaED3J6VFvMTAg-2
-    object_diagram:inModel model
-  ]
-  ci cell_1m2y2pvaED3J6VFvMTAg-2_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_1m2y2pvaED3J6VFvMTAg-2
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-19 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-19"
-    drawio:hasParent cell_1m2y2pvaED3J6VFvMTAg-2
-    object_diagram:inModel model
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-19_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-19
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-19_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "cout"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-19
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-19_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-19
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-19_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_out"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-19
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-31 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-31"
-    drawio:hasParent cell_1m2y2pvaED3J6VFvMTAg-2
-    object_diagram:inModel model
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-31_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-31
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-31_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "sketch"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-31
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-31_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-31
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-31_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "data_in"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-31
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-18 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-18"
-    drawio:hasParent cell_1m2y2pvaED3J6VFvMTAg-2
-    object_diagram:inModel model
-  ]
-  
-  ci cell_CvR4PfVCJDiI6bvIUUvl-18_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-18
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-18_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "cin"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-18
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-18_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-18
-    object_diagram:inModel model
-  ]
-  ci cell_CvR4PfVCJDiI6bvIUUvl-18_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_in"
-    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-18
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_7jRsOKVBNxhU3iQF4-4r-1 : drawio:Vertex [
-    drawio:hasDrawioId "7jRsOKVBNxhU3iQF4-4r-1"
-    drawio:hasParent cell_1m2y2pvaED3J6VFvMTAg-2
-    object_diagram:inModel model
-  ]
-  
-  ci cell_7jRsOKVBNxhU3iQF4-4r-1_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf cell_7jRsOKVBNxhU3iQF4-4r-1
-    object_diagram:inModel model
-  ]
-  ci cell_7jRsOKVBNxhU3iQF4-4r-1_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "coutRec"
-    drawio:propertyOf cell_7jRsOKVBNxhU3iQF4-4r-1
-    object_diagram:inModel model
-  ]
-  ci cell_7jRsOKVBNxhU3iQF4-4r-1_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf cell_7jRsOKVBNxhU3iQF4-4r-1
-    object_diagram:inModel model
-  ]
-  ci cell_7jRsOKVBNxhU3iQF4-4r-1_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_out"
-    drawio:propertyOf cell_7jRsOKVBNxhU3iQF4-4r-1
-    object_diagram:inModel model
-  ]
-
-  
-  ci cell_DqRSZQiQ3lTnqpyIPe1H-2 : drawio:Edge [
-    drawio:hasDrawioId "DqRSZQiQ3lTnqpyIPe1H-2"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-    drawio:hasSource cell_7jRsOKVBNxhU3iQF4-4r-1
-    drawio:hasTarget cell_DqRSZQiQ3lTnqpyIPe1H-1
-  ]
-  
-  ci cell_DqRSZQiQ3lTnqpyIPe1H-2_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf cell_DqRSZQiQ3lTnqpyIPe1H-2
-    object_diagram:inModel model
-  ]
-  ci cell_DqRSZQiQ3lTnqpyIPe1H-2_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_flow"
-    drawio:propertyOf cell_DqRSZQiQ3lTnqpyIPe1H-2
-    object_diagram:inModel model
-  ]
-
-  
-}

+ 0 - 144
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/RecPM_pm.oml

@@ -1,144 +0,0 @@
-// Warning: Generated Code! Do not edit!
-// Input: /Users/albertins/git/drawio2oml/RecPM.drawio#RecPM:pm
-// Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml/drawio2oml/pm/oml_generator.py
-
-description <http://ua.be/sdo2l/description/artifacts/RecPM_pm#> as RecPM_pm {
-
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/pm#> as pm
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/ftg#> as ftg
-
-  extends <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as ftg_instance
-
-  ci model : pm:Model [
-    object_diagram:hasName "RecPM_pm"
-  ]
-
-  ci initial : pm:Initial [
-    object_diagram:inModel model
-    pm:ctrlTo activity_0_port_0 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci final : pm:Final [
-    object_diagram:inModel model
-    //pm:ctrlFrom activity_1_port_1 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci artifact_0 : pm:Artifact [
-    pm:hasName "sketch"
-    pm:hasType ftg_instance:f_xopp
-    object_diagram:inModel model
-    pm:dataTo activity_1_port_3 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci activity_0 : pm:Activity [
-    pm:hasName "sketch"
-    pm:isTransformation ftg_instance:t_Sketch
-    object_diagram:inModel model
-  ]
-
-  ci activity_0_port_2 : pm:CtrlOutputPort [
-    pm:hasName "cout"
-    pm:ofActivity activity_0
-    object_diagram:inModel model
-    pm:ctrlTo activity_1_port_0 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_0_port_0 : pm:CtrlInputPort [
-    pm:hasName "cin"
-    pm:ofActivity activity_0
-    object_diagram:inModel model
-    //pm:ctrlFrom initial // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci activity_0_port_1 : pm:CtrlInputPort [
-    pm:hasName "cinRec"
-    pm:ofActivity activity_0
-    object_diagram:inModel model
-    //pm:ctrlFrom activity_1_port_2 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_0_port_3 : pm:DataOutputPort [
-    pm:hasName "sketch"
-    pm:ofActivity activity_0
-    object_diagram:inModel model
-    pm:dataTo artifact_0 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_1 : pm:Activity [
-    pm:hasName "look_at_sketch"
-    pm:isTransformation ftg_instance:t_LookAtSketch
-    object_diagram:inModel model
-  ]
-
-  ci activity_1_port_1 : pm:CtrlOutputPort [
-    pm:hasName "cout"
-    pm:ofActivity activity_1
-    object_diagram:inModel model
-    pm:ctrlTo final // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci activity_1_port_2 : pm:CtrlOutputPort [
-    pm:hasName "coutRec"
-    pm:ofActivity activity_1
-    object_diagram:inModel model
-    pm:ctrlTo activity_0_port_1 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_1_port_0 : pm:CtrlInputPort [
-    pm:hasName "cin"
-    pm:ofActivity activity_1
-    object_diagram:inModel model
-    //pm:ctrlFrom activity_0_port_2 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-  
-
-  ci activity_1_port_3 : pm:DataInputPort [
-    pm:hasName "sketch"
-    pm:ofActivity activity_1
-    object_diagram:inModel model
-    //pm:dataFrom artifact_0 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ri ctrl_flow_0 : pm:CtrlFlow [
-    from initial
-    to activity_0_port_0
-    object_diagram:inModel model
-  ]
-
-  ri ctrl_flow_1 : pm:CtrlFlow [
-    from activity_0_port_2
-    to activity_1_port_0
-    object_diagram:inModel model
-  ]
-
-  ri ctrl_flow_2 : pm:CtrlFlow [
-    from activity_1_port_1
-    to final
-    object_diagram:inModel model
-  ]
-
-  ri ctrl_flow_3 : pm:CtrlFlow [
-    from activity_1_port_2
-    to activity_0_port_1
-    object_diagram:inModel model
-  ]
-
-  ri data_flow_0 : pm:DataFlow [
-    from artifact_0
-    to activity_1_port_3
-    object_diagram:inModel model
-  ]
-
-  ri data_flow_1 : pm:DataFlow [
-    from activity_0_port_3
-    to artifact_0
-    object_diagram:inModel model
-  ]
-
-}

File diff suppressed because it is too large
+ 0 - 43
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/SmallXournalFile_xopp.oml


+ 0 - 36
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/TwoHiddenLayers_xopp.oml

@@ -1,36 +0,0 @@
-// Warning: Generated code! Do not edit!
-// Input file: 'http://localhost:5000/files/xopp/TwoHiddenLayers.xopp'
-// Generator: https://msdl.uantwerpen.be/git/jexelmans/xopp2py
-// Minimal mode enabled: All XML attributes and non-text nodes are omitted.
-
-description <http://ua.be/sdo2l/description/artifacts/TwoHiddenLayers_xopp#> as TwoHiddenLayers_xopp {
-
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/xopp#> as xopp
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-
-  ci model : xopp:Model [
-    object_diagram:hasName "TwoHiddenLayers_xopp"
-  ]
-
-  ci file : xopp:File [
-    xopp:hasCreator "Xournal++ 1.1.2"
-    xopp:hasFileVersion 4
-    xopp:hasTitle "Xournal++ document - see https://github.com/xournalpp/xournalpp"
-    object_diagram:inModel model
-  ]
-
-  ci p0 : xopp:Page [
-    xopp:hasWidth 595.27559100
-    xopp:hasHeight 841.88976400
-    xopp:hasBackgroundType "solid"
-    xopp:hasBackgroundColor "#ffffffff"
-    xopp:hasBackgroundStyle "plain"
-    xopp:inFile file
-    object_diagram:inModel model
-  ]
-
-  ci p0l0 : xopp:Layer [
-    xopp:inPage p0
-    object_diagram:inModel model
-  ]
-}

+ 0 - 455
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/drivetrain_corr.oml

@@ -1,455 +0,0 @@
-// Warning: Generated Code! Do not edit!
-// Input: http://localhost:5000/files/drawio/drivetrain:pm
-// Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml/drawio2oml/pm/oml_generator.py
-
-// This file contains the correspondence links between concrete syntax (Drawio) and abstract syntax (Process Model).
-description <http://ua.be/sdo2l/description/artifacts/drivetrain_corr#> as drivetrain_corr {
-
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/cs_as#> as cs_as
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-
-  extends <http://ua.be/sdo2l/description/artifacts/drivetrain_drawio#> as my_drawio
-  extends <http://ua.be/sdo2l/description/artifacts/drivetrain_pm#> as my_pm
-
-  ci model : cs_as:CorrespondenceModel [
-    object_diagram:hasName "drivetrain_corr"
-  ]
-
-  ri trace_drawio_Kvt-DgTJ1DRZdE3eO3Tz-1_initial : cs_as:CS_AS_Link [
-    from my_drawio:cell_Kvt-DgTJ1DRZdE3eO3Tz-1
-    to my_pm:initial
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-69_final : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-69
-    to my_pm:final
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-10_activity_0_port_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-10
-    to my_pm:activity_0_port_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-12_activity_0_port_3 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-12
-    to my_pm:activity_0_port_3
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-13_activity_0_port_4 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-13
-    to my_pm:activity_0_port_4
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-20_activity_0_port_5 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-20
-    to my_pm:activity_0_port_5
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-23_activity_0_port_2 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-23
-    to my_pm:activity_0_port_2
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_lIuTJBtmPldcnfcOhHGF-3_activity_0_port_1 : cs_as:CS_AS_Link [
-    from my_drawio:cell_lIuTJBtmPldcnfcOhHGF-3
-    to my_pm:activity_0_port_1
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-4_activity_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-4
-    to my_pm:activity_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-5_artifact_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-5
-    to my_pm:artifact_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-6_artifact_1 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-6
-    to my_pm:artifact_1
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-17_artifact_2 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-17
-    to my_pm:artifact_2
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-18_artifact_3 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-18
-    to my_pm:artifact_3
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-28_activity_1_port_2 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-28
-    to my_pm:activity_1_port_2
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_XzE_Lk5AR0apfi5KI8EF-2_activity_1_port_1 : cs_as:CS_AS_Link [
-    from my_drawio:cell_XzE_Lk5AR0apfi5KI8EF-2
-    to my_pm:activity_1_port_1
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-38_activity_1_port_4 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-38
-    to my_pm:activity_1_port_4
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-24_activity_1_port_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-24
-    to my_pm:activity_1_port_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-26_activity_1_port_3 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-26
-    to my_pm:activity_1_port_3
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-22_activity_1 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-22
-    to my_pm:activity_1
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-43_activity_2_port_2 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-43
-    to my_pm:activity_2_port_2
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_XzE_Lk5AR0apfi5KI8EF-1_activity_2_port_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_XzE_Lk5AR0apfi5KI8EF-1
-    to my_pm:activity_2_port_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_XzE_Lk5AR0apfi5KI8EF-4_activity_2_port_1 : cs_as:CS_AS_Link [
-    from my_drawio:cell_XzE_Lk5AR0apfi5KI8EF-4
-    to my_pm:activity_2_port_1
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_-FBhw_vcgPF5rW2nMRGZ-12_activity_2_port_4 : cs_as:CS_AS_Link [
-    from my_drawio:cell_-FBhw_vcgPF5rW2nMRGZ-12
-    to my_pm:activity_2_port_4
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-47_activity_2_port_3 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-47
-    to my_pm:activity_2_port_3
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-30_activity_2 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-30
-    to my_pm:activity_2
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-34_artifact_4 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-34
-    to my_pm:artifact_4
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-49_artifact_5 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-49
-    to my_pm:artifact_5
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-57_activity_3_port_3 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-57
-    to my_pm:activity_3_port_3
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-58_activity_3_port_4 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-58
-    to my_pm:activity_3_port_4
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_XzE_Lk5AR0apfi5KI8EF-5_activity_3_port_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_XzE_Lk5AR0apfi5KI8EF-5
-    to my_pm:activity_3_port_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_XzE_Lk5AR0apfi5KI8EF-8_activity_3_port_1 : cs_as:CS_AS_Link [
-    from my_drawio:cell_XzE_Lk5AR0apfi5KI8EF-8
-    to my_pm:activity_3_port_1
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_-FBhw_vcgPF5rW2nMRGZ-13_activity_3_port_2 : cs_as:CS_AS_Link [
-    from my_drawio:cell_-FBhw_vcgPF5rW2nMRGZ-13
-    to my_pm:activity_3_port_2
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-50_activity_3 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-50
-    to my_pm:activity_3
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-52_artifact_6 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-52
-    to my_pm:artifact_6
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-53_artifact_7 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-53
-    to my_pm:artifact_7
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-67_activity_4_port_3 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-67
-    to my_pm:activity_4_port_3
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_hjtIVpRlB6XSkxCe3kzS-4_activity_4_port_1 : cs_as:CS_AS_Link [
-    from my_drawio:cell_hjtIVpRlB6XSkxCe3kzS-4
-    to my_pm:activity_4_port_1
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_lIuTJBtmPldcnfcOhHGF-6_activity_4_port_2 : cs_as:CS_AS_Link [
-    from my_drawio:cell_lIuTJBtmPldcnfcOhHGF-6
-    to my_pm:activity_4_port_2
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-68_activity_4_port_4 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-68
-    to my_pm:activity_4_port_4
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_XzE_Lk5AR0apfi5KI8EF-7_activity_4_port_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_XzE_Lk5AR0apfi5KI8EF-7
-    to my_pm:activity_4_port_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-54_activity_4 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-54
-    to my_pm:activity_4
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_oDRBLhcRjnzzmYJR4pT3-2_activity_5_port_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_oDRBLhcRjnzzmYJR4pT3-2
-    to my_pm:activity_5_port_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_oDRBLhcRjnzzmYJR4pT3-3_activity_5_port_1 : cs_as:CS_AS_Link [
-    from my_drawio:cell_oDRBLhcRjnzzmYJR4pT3-3
-    to my_pm:activity_5_port_1
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_oDRBLhcRjnzzmYJR4pT3-5_activity_5_port_2 : cs_as:CS_AS_Link [
-    from my_drawio:cell_oDRBLhcRjnzzmYJR4pT3-5
-    to my_pm:activity_5_port_2
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_oDRBLhcRjnzzmYJR4pT3-6_activity_5_port_3 : cs_as:CS_AS_Link [
-    from my_drawio:cell_oDRBLhcRjnzzmYJR4pT3-6
-    to my_pm:activity_5_port_3
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_nNHIfMFn6DHzLZeGgIeC-1_activity_5_port_4 : cs_as:CS_AS_Link [
-    from my_drawio:cell_nNHIfMFn6DHzLZeGgIeC-1
-    to my_pm:activity_5_port_4
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_ZZiZBwUqE79DcpNbQ25f-1_activity_5 : cs_as:CS_AS_Link [
-    from my_drawio:cell_ZZiZBwUqE79DcpNbQ25f-1
-    to my_pm:activity_5
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-3_ctrl_flow_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-3
-    to my_pm:ctrl_flow_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-14_data_flow_0 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-14
-    to my_pm:data_flow_0
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-15_data_flow_1 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-15
-    to my_pm:data_flow_1
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_hjtIVpRlB6XSkxCe3kzS-1_data_flow_2 : cs_as:CS_AS_Link [
-    from my_drawio:cell_hjtIVpRlB6XSkxCe3kzS-1
-    to my_pm:data_flow_2
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-27_data_flow_3 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-27
-    to my_pm:data_flow_3
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-29_data_flow_4 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-29
-    to my_pm:data_flow_4
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-21_data_flow_5 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-21
-    to my_pm:data_flow_5
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-25_ctrl_flow_1 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-25
-    to my_pm:ctrl_flow_1
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-48_data_flow_6 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-48
-    to my_pm:data_flow_6
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-41_data_flow_7 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-41
-    to my_pm:data_flow_7
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_-FBhw_vcgPF5rW2nMRGZ-15_data_flow_8 : cs_as:CS_AS_Link [
-    from my_drawio:cell_-FBhw_vcgPF5rW2nMRGZ-15
-    to my_pm:data_flow_8
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_qdYLwQm77Az_fS4UmsVN-1_data_flow_9 : cs_as:CS_AS_Link [
-    from my_drawio:cell_qdYLwQm77Az_fS4UmsVN-1
-    to my_pm:data_flow_9
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_-FBhw_vcgPF5rW2nMRGZ-11_data_flow_10 : cs_as:CS_AS_Link [
-    from my_drawio:cell_-FBhw_vcgPF5rW2nMRGZ-11
-    to my_pm:data_flow_10
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_Akw1mT6UbTgWhP--InIg-65_data_flow_11 : cs_as:CS_AS_Link [
-    from my_drawio:cell_Akw1mT6UbTgWhP--InIg-65
-    to my_pm:data_flow_11
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_-FBhw_vcgPF5rW2nMRGZ-6_data_flow_12 : cs_as:CS_AS_Link [
-    from my_drawio:cell_-FBhw_vcgPF5rW2nMRGZ-6
-    to my_pm:data_flow_12
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_-FBhw_vcgPF5rW2nMRGZ-14_data_flow_13 : cs_as:CS_AS_Link [
-    from my_drawio:cell_-FBhw_vcgPF5rW2nMRGZ-14
-    to my_pm:data_flow_13
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_XzE_Lk5AR0apfi5KI8EF-3_ctrl_flow_2 : cs_as:CS_AS_Link [
-    from my_drawio:cell_XzE_Lk5AR0apfi5KI8EF-3
-    to my_pm:ctrl_flow_2
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_XzE_Lk5AR0apfi5KI8EF-6_ctrl_flow_3 : cs_as:CS_AS_Link [
-    from my_drawio:cell_XzE_Lk5AR0apfi5KI8EF-6
-    to my_pm:ctrl_flow_3
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_XzE_Lk5AR0apfi5KI8EF-9_ctrl_flow_4 : cs_as:CS_AS_Link [
-    from my_drawio:cell_XzE_Lk5AR0apfi5KI8EF-9
-    to my_pm:ctrl_flow_4
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_hjtIVpRlB6XSkxCe3kzS-5_ctrl_flow_5 : cs_as:CS_AS_Link [
-    from my_drawio:cell_hjtIVpRlB6XSkxCe3kzS-5
-    to my_pm:ctrl_flow_5
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_lIuTJBtmPldcnfcOhHGF-5_ctrl_flow_6 : cs_as:CS_AS_Link [
-    from my_drawio:cell_lIuTJBtmPldcnfcOhHGF-5
-    to my_pm:ctrl_flow_6
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_oDRBLhcRjnzzmYJR4pT3-4_ctrl_flow_7 : cs_as:CS_AS_Link [
-    from my_drawio:cell_oDRBLhcRjnzzmYJR4pT3-4
-    to my_pm:ctrl_flow_7
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_oDRBLhcRjnzzmYJR4pT3-7_data_flow_14 : cs_as:CS_AS_Link [
-    from my_drawio:cell_oDRBLhcRjnzzmYJR4pT3-7
-    to my_pm:data_flow_14
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_oDRBLhcRjnzzmYJR4pT3-8_data_flow_15 : cs_as:CS_AS_Link [
-    from my_drawio:cell_oDRBLhcRjnzzmYJR4pT3-8
-    to my_pm:data_flow_15
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_nNHIfMFn6DHzLZeGgIeC-2_data_flow_16 : cs_as:CS_AS_Link [
-    from my_drawio:cell_nNHIfMFn6DHzLZeGgIeC-2
-    to my_pm:data_flow_16
-    object_diagram:inModel model
-  ]
-
-  ri trace_drawio_1_model : cs_as:CS_AS_Link [
-    from my_drawio:cell_1
-    to my_pm:model
-    object_diagram:inModel model
-  ]
-}

File diff suppressed because it is too large
+ 0 - 2148
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/drivetrain_drawio.oml


+ 0 - 504
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/drivetrain_pm.oml

@@ -1,504 +0,0 @@
-// Warning: Generated Code! Do not edit!
-// Input: http://localhost:5000/files/drawio/drivetrain:pm
-// Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml/drawio2oml/pm/oml_generator.py
-
-description <http://ua.be/sdo2l/description/artifacts/drivetrain_pm#> as drivetrain_pm {
-
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/pm#> as pm
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/ftg#> as ftg
-
-  extends <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as ftg_instance
-
-  ci model : pm:Model [
-    object_diagram:hasName "drivetrain_pm"
-  ]
-
-  ci initial : pm:Initial [
-    object_diagram:inModel model
-    pm:ctrlTo activity_5_port_0 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci final : pm:Final [
-    object_diagram:inModel model
-    //pm:ctrlFrom activity_4_port_1 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci artifact_0 : pm:Artifact [
-    pm:hasName "drivetrain_limitations"
-    pm:hasType ftg_instance:f_TextDocument
-    object_diagram:inModel model
-    pm:dataTo activity_0_port_3 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci artifact_1 : pm:Artifact [
-    pm:hasName "test_requirements"
-    pm:hasType ftg_instance:f_TextDocument
-    object_diagram:inModel model
-    pm:dataTo activity_0_port_4 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner errorpm:dataTo activity_2_port_2 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci artifact_2 : pm:Artifact [
-    pm:hasName "matlab_torque"
-    pm:hasType ftg_instance:f_Profile
-    object_diagram:inModel model
-    pm:dataTo activity_1_port_3 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci artifact_3 : pm:Artifact [
-    pm:hasName "control_parameter_generator"
-    pm:hasType ftg_instance:f_Script
-    object_diagram:inModel model
-    pm:dataTo activity_1_port_2 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci artifact_4 : pm:Artifact [
-    pm:hasName "matlab_control_parameters"
-    pm:hasType ftg_instance:f_TabularData
-    object_diagram:inModel model
-    pm:dataTo activity_2_port_3 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci artifact_5 : pm:Artifact [
-    pm:hasName "c-code_to_be_run_on_rtt"
-    pm:hasType ftg_instance:f_Code
-    object_diagram:inModel model
-    pm:dataTo activity_3_port_2 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci artifact_6 : pm:Artifact [
-    pm:hasName "drivetrain_sensor_data"
-    pm:hasType ftg_instance:f_TabularData
-    object_diagram:inModel model
-    pm:dataTo activity_4_port_3 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci artifact_7 : pm:Artifact [
-    pm:hasName "coupling_sensor_data"
-    pm:hasType ftg_instance:f_TabularData
-    object_diagram:inModel model
-    pm:dataTo activity_4_port_4 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci activity_0 : pm:Activity [
-    pm:hasName "set_up_drivetrain_profile"
-    pm:isTransformation ftg_instance:t_SetupProfile
-    object_diagram:inModel model
-  ]
-
-  ci activity_0_port_2 : pm:CtrlOutputPort [
-    pm:hasName "cout"
-    pm:ofActivity activity_0
-    object_diagram:inModel model
-    pm:ctrlTo activity_1_port_0 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_0_port_0 : pm:CtrlInputPort [
-    pm:hasName "cin"
-    pm:ofActivity activity_0
-    object_diagram:inModel model
-    //pm:ctrlFrom activity_5_port_1 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci activity_0_port_1 : pm:CtrlInputPort [
-    pm:hasName "cinRec"
-    pm:ofActivity activity_0
-    object_diagram:inModel model
-    //pm:ctrlFrom activity_4_port_2 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_0_port_5 : pm:DataOutputPort [
-    pm:hasName "dout"
-    pm:ofActivity activity_0
-    object_diagram:inModel model
-    pm:dataTo artifact_2 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_0_port_3 : pm:DataInputPort [
-    pm:hasName "din"
-    pm:ofActivity activity_0
-    object_diagram:inModel model
-    pm:dataFrom artifact_0 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci activity_0_port_4 : pm:DataInputPort [
-    pm:hasName "din"
-    pm:ofActivity activity_0
-    object_diagram:inModel model
-    pm:dataFrom artifact_1 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci activity_1 : pm:Activity [
-    pm:hasName "Generate_matlab_control_parameters"
-    pm:isTransformation ftg_instance:t_GenerateControlParameters
-    object_diagram:inModel model
-  ]
-
-  ci activity_1_port_1 : pm:CtrlOutputPort [
-    pm:hasName "cout"
-    pm:ofActivity activity_1
-    object_diagram:inModel model
-    pm:ctrlTo activity_2_port_0 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_1_port_0 : pm:CtrlInputPort [
-    pm:hasName "cin"
-    pm:ofActivity activity_1
-    object_diagram:inModel model
-    //pm:ctrlFrom activity_0_port_2 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_1_port_4 : pm:DataOutputPort [
-    pm:hasName "dout"
-    pm:ofActivity activity_1
-    object_diagram:inModel model
-    pm:dataTo artifact_4 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_1_port_2 : pm:DataInputPort [
-    pm:hasName "din"
-    pm:ofActivity activity_1
-    object_diagram:inModel model
-    pm:dataFrom artifact_3 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci activity_1_port_3 : pm:DataInputPort [
-    pm:hasName "din"
-    pm:ofActivity activity_1
-    object_diagram:inModel model
-    pm:dataFrom artifact_2 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci activity_2 : pm:Activity [
-    pm:hasName "Build_simulink_control_settings"
-    pm:isTransformation ftg_instance:t_BuildControlSettings
-    object_diagram:inModel model
-  ]
-
-  ci activity_2_port_1 : pm:CtrlOutputPort [
-    pm:hasName "cout"
-    pm:ofActivity activity_2
-    object_diagram:inModel model
-    pm:ctrlTo activity_3_port_0 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_2_port_0 : pm:CtrlInputPort [
-    pm:hasName "cin"
-    pm:ofActivity activity_2
-    object_diagram:inModel model
-    //pm:ctrlFrom activity_1_port_1 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_2_port_4 : pm:DataOutputPort [
-    pm:hasName "dout"
-    pm:ofActivity activity_2
-    object_diagram:inModel model
-    pm:dataTo artifact_5 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_2_port_2 : pm:DataInputPort [
-    pm:hasName "din"
-    pm:ofActivity activity_2
-    object_diagram:inModel model
-    pm:dataFrom artifact_1 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci activity_2_port_3 : pm:DataInputPort [
-    pm:hasName "din"
-    pm:ofActivity activity_2
-    object_diagram:inModel model
-    pm:dataFrom artifact_4 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci activity_3 : pm:Activity [
-    pm:hasName "run_experiment"
-    pm:isTransformation ftg_instance:t_RunExperiment
-    object_diagram:inModel model
-  ]
-
-  ci activity_3_port_1 : pm:CtrlOutputPort [
-    pm:hasName "cout"
-    pm:ofActivity activity_3
-    object_diagram:inModel model
-    pm:ctrlTo activity_4_port_0 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_3_port_0 : pm:CtrlInputPort [
-    pm:hasName "cin"
-    pm:ofActivity activity_3
-    object_diagram:inModel model
-    //pm:ctrlFrom activity_2_port_1 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_3_port_3 : pm:DataOutputPort [
-    pm:hasName "dout"
-    pm:ofActivity activity_3
-    object_diagram:inModel model
-    pm:dataTo artifact_6 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci activity_3_port_4 : pm:DataOutputPort [
-    pm:hasName "dout"
-    pm:ofActivity activity_3
-    object_diagram:inModel model
-    pm:dataTo artifact_7 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_3_port_2 : pm:DataInputPort [
-    pm:hasName "din"
-    pm:ofActivity activity_3
-    object_diagram:inModel model
-    pm:dataFrom artifact_5 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci activity_4 : pm:Activity [
-    pm:hasName "check_properties"
-    pm:isTransformation ftg_instance:t_VerifyData
-    object_diagram:inModel model
-  ]
-
-  ci activity_4_port_1 : pm:CtrlOutputPort [
-    pm:hasName "cout"
-    pm:ofActivity activity_4
-    object_diagram:inModel model
-    pm:ctrlTo final // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci activity_4_port_2 : pm:CtrlOutputPort [
-    pm:hasName "coutRec"
-    pm:ofActivity activity_4
-    object_diagram:inModel model
-    pm:ctrlTo activity_0_port_1 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_4_port_0 : pm:CtrlInputPort [
-    pm:hasName "cin"
-    pm:ofActivity activity_4
-    object_diagram:inModel model
-    //pm:ctrlFrom activity_3_port_1 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-  
-
-  ci activity_4_port_3 : pm:DataInputPort [
-    pm:hasName "din"
-    pm:ofActivity activity_4
-    object_diagram:inModel model
-    pm:dataFrom artifact_6 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci activity_4_port_4 : pm:DataInputPort [
-    pm:hasName "din"
-    pm:ofActivity activity_4
-    object_diagram:inModel model
-    pm:dataFrom artifact_7 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci activity_5 : pm:Activity [
-    pm:hasName "InputParameters"
-    pm:isTransformation ftg_instance:t_Preparation
-    object_diagram:inModel model
-  ]
-
-  ci activity_5_port_1 : pm:CtrlOutputPort [
-    pm:hasName "cout"
-    pm:ofActivity activity_5
-    object_diagram:inModel model
-    pm:ctrlTo activity_0_port_0 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_5_port_0 : pm:CtrlInputPort [
-    pm:hasName "cin"
-    pm:ofActivity activity_5
-    object_diagram:inModel model
-    //pm:ctrlFrom initial // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ci activity_5_port_2 : pm:DataOutputPort [
-    pm:hasName "dout"
-    pm:ofActivity activity_5
-    object_diagram:inModel model
-    pm:dataTo artifact_0 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci activity_5_port_3 : pm:DataOutputPort [
-    pm:hasName "dout"
-    pm:ofActivity activity_5
-    object_diagram:inModel model
-    pm:dataTo artifact_1 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-
-  ci activity_5_port_4 : pm:DataOutputPort [
-    pm:hasName "dout"
-    pm:ofActivity activity_5
-    object_diagram:inModel model
-    pm:dataTo artifact_3 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
-  ]
-  
-
-  ri ctrl_flow_0 : pm:CtrlFlow [
-    from initial
-    to activity_5_port_0
-    object_diagram:inModel model
-  ]
-
-  ri ctrl_flow_1 : pm:CtrlFlow [
-    from activity_0_port_2
-    to activity_1_port_0
-    object_diagram:inModel model
-  ]
-
-  ri ctrl_flow_2 : pm:CtrlFlow [
-    from activity_1_port_1
-    to activity_2_port_0
-    object_diagram:inModel model
-  ]
-
-  ri ctrl_flow_3 : pm:CtrlFlow [
-    from activity_2_port_1
-    to activity_3_port_0
-    object_diagram:inModel model
-  ]
-
-  ri ctrl_flow_4 : pm:CtrlFlow [
-    from activity_3_port_1
-    to activity_4_port_0
-    object_diagram:inModel model
-  ]
-
-  ri ctrl_flow_5 : pm:CtrlFlow [
-    from activity_4_port_1
-    to final
-    object_diagram:inModel model
-  ]
-
-  ri ctrl_flow_6 : pm:CtrlFlow [
-    from activity_4_port_2
-    to activity_0_port_1
-    object_diagram:inModel model
-  ]
-
-  ri ctrl_flow_7 : pm:CtrlFlow [
-    from activity_5_port_1
-    to activity_0_port_0
-    object_diagram:inModel model
-  ]
-
-  ri data_flow_0 : pm:DataFlow [
-    from artifact_0
-    to activity_0_port_3
-    object_diagram:inModel model
-  ]
-
-  ri data_flow_1 : pm:DataFlow [
-    from artifact_1
-    to activity_0_port_4
-    object_diagram:inModel model
-  ]
-
-  ri data_flow_2 : pm:DataFlow [
-    from artifact_1
-    to activity_2_port_2
-    object_diagram:inModel model
-  ]
-
-  ri data_flow_3 : pm:DataFlow [
-    from artifact_2
-    to activity_1_port_3
-    object_diagram:inModel model
-  ]
-
-  ri data_flow_4 : pm:DataFlow [
-    from artifact_3
-    to activity_1_port_2
-    object_diagram:inModel model
-  ]
-
-  ri data_flow_5 : pm:DataFlow [
-    from activity_0_port_5
-    to artifact_2
-    object_diagram:inModel model
-  ]
-
-  ri data_flow_6 : pm:DataFlow [
-    from artifact_4
-    to activity_2_port_3
-    object_diagram:inModel model
-  ]
-
-  ri data_flow_7 : pm:DataFlow [
-    from activity_1_port_4
-    to artifact_4
-    object_diagram:inModel model
-  ]
-
-  ri data_flow_8 : pm:DataFlow [
-    from artifact_5
-    to activity_3_port_2
-    object_diagram:inModel model
-  ]
-
-  ri data_flow_9 : pm:DataFlow [
-    from artifact_6
-    to activity_4_port_3
-    object_diagram:inModel model
-  ]
-
-  ri data_flow_10 : pm:DataFlow [
-    from artifact_7
-    to activity_4_port_4
-    object_diagram:inModel model
-  ]
-
-  ri data_flow_11 : pm:DataFlow [
-    from activity_3_port_3
-    to artifact_6
-    object_diagram:inModel model
-  ]
-
-  ri data_flow_12 : pm:DataFlow [
-    from activity_3_port_4
-    to artifact_7
-    object_diagram:inModel model
-  ]
-
-  ri data_flow_13 : pm:DataFlow [
-    from activity_2_port_4
-    to artifact_5
-    object_diagram:inModel model
-  ]
-
-  ri data_flow_14 : pm:DataFlow [
-    from activity_5_port_2
-    to artifact_0
-    object_diagram:inModel model
-  ]
-
-  ri data_flow_15 : pm:DataFlow [
-    from activity_5_port_3
-    to artifact_1
-    object_diagram:inModel model
-  ]
-
-  ri data_flow_16 : pm:DataFlow [
-    from activity_5_port_4
-    to artifact_3
-    object_diagram:inModel model
-  ]
-
-}

+ 0 - 51
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/imabox_drawio.oml

@@ -1,51 +0,0 @@
-// Warning: Generated code! Do not edit!
-// Input: http://localhost:5000/files/drawio/imabox
-// Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml/drawio2oml/oml_generator.py
-// Minimal mode enabled: Page/cell attributes, style, and geometries have been omitted (making the drawio-> OML conversion lossy).
-
-description <http://ua.be/sdo2l/description/artifacts/imabox_drawio#> as imabox_drawio {
-
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/drawio#> as drawio
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/dict#> as dict
-
-  ci model : drawio:Model [
-    drawio:hasDrawioId "zrtIvTJA7dqCUAPr35Tx"
-    object_diagram:hasName "imabox_drawio"
-  ]
-
-  
-  ci cell_0 : drawio:Cell [
-    drawio:hasDrawioId "0"
-    drawio:isRootOf model
-    object_diagram:inModel model
-  ]
-  
-
-  
-  ci cell_1 : drawio:Cell [
-    drawio:hasDrawioId "1"
-    drawio:hasParent cell_0
-    object_diagram:inModel model
-  ]
-  
-
-  
-  ci cell_9icA3CxboUUVQeyL5Ov7-1 : drawio:Vertex [
-    drawio:hasDrawioId "9icA3CxboUUVQeyL5Ov7-1"
-    drawio:hasValue "Hello, I'm a box!"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-  ]
-  
-
-  
-  ci cell_9icA3CxboUUVQeyL5Ov7-2 : drawio:Vertex [
-    drawio:hasDrawioId "9icA3CxboUUVQeyL5Ov7-2"
-    drawio:hasParent cell_1
-    object_diagram:inModel model
-  ]
-  
-
-  
-}

File diff suppressed because it is too large
+ 0 - 43
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/my_xopp.oml


+ 0 - 18
backend/ontology/src/oml/ua.be/sdo2l/description/artifacts/my_xopp_to_drawio.oml

@@ -1,18 +0,0 @@
-// Hardcoded example of a traceability model that relates one XOPP-text-node to one Drawio-cell
-description <http://ua.be/sdo2l/description/artifacts/my_xopp_to_drawio#> as my_xopp_to_drawio {
-	extends <http://ua.be/sdo2l/description/artifacts/MyPM_drawio#> as my_drawio
-	extends <http://ua.be/sdo2l/description/artifacts/my_xopp#> as my_xopp
-	
-	uses <http://ua.be/sdo2l/vocabulary/formalisms/traceability_model#> as traceability_model
-	uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-	
-	ci model : traceability_model:TraceabilityModel [
-		object_diagram:hasName "my_xopp_to_drawio"
-	]
-	
-	ri link : traceability_model:TraceabilityLink [
-		from my_xopp:p0l0e1
-		to my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-2
-		object_diagram:inModel model
-	]
-}

+ 0 - 28
backend/ontology/src/oml/ua.be/sdo2l/description/bundle.oml

@@ -1,28 +0,0 @@
-description bundle <http://ua.be/sdo2l/description/bundle#> as ^bundle {
-  uses <http://ua.be/sdo2l/vocabulary/bundle#>
-  includes <http://ua.be/sdo2l/description/artifacts/drivetrain_pm#>
-  includes <http://ua.be/sdo2l/description/artifacts/MinimalPM_pm#>
-  includes <http://ua.be/sdo2l/description/artifacts/MyPM_drawio#>
-  includes <http://ua.be/sdo2l/description/artifacts/my_xopp#>
-  includes <http://ua.be/sdo2l/description/artifacts/RecPM_corr#>
-  includes <http://ua.be/sdo2l/description/artifacts/MyPM_corr#>
-  includes <http://ua.be/sdo2l/description/artifacts/RecPM_pm#>
-  includes <http://ua.be/sdo2l/description/artifacts/AnotherPM_drawio#>
-  includes <http://ua.be/sdo2l/description/artifacts/MinimalPM_drawio#>
-  includes <http://ua.be/sdo2l/description/artifacts/SmallXournalFile_xopp#>
-  includes <http://ua.be/sdo2l/description/artifacts/FTG_ftg#>
-  includes <http://ua.be/sdo2l/description/artifacts/FTG_corr#>
-  includes <http://ua.be/sdo2l/description/artifacts/RecPM_drawio#>
-  includes <http://ua.be/sdo2l/description/artifacts/TwoHiddenLayers_xopp#>
-  includes <http://ua.be/sdo2l/description/artifacts/FTG_drawio#>
-  includes <http://ua.be/sdo2l/description/artifacts/drivetrain_drawio#>
-  includes <http://ua.be/sdo2l/description/artifacts/AnotherPM_corr#>
-  includes <http://ua.be/sdo2l/description/artifacts/MinimalPM_corr#>
-  includes <http://ua.be/sdo2l/description/artifacts/MyPM_pm#>
-  includes <http://ua.be/sdo2l/description/artifacts/imabox_drawio#>
-  includes <http://ua.be/sdo2l/description/artifacts/my_xopp_to_drawio#>
-  includes <http://ua.be/sdo2l/description/artifacts/drivetrain_corr#>
-  includes <http://ua.be/sdo2l/description/artifacts/Drawing_drawio#>
-  includes <http://ua.be/sdo2l/description/artifacts/AnotherPM_pm#>
-  includes <http://ua.be/sdo2l/description/traces/my_pt#>
-}

+ 0 - 180
backend/ontology/src/oml/ua.be/sdo2l/description/traces/my_pt.oml

@@ -1,180 +0,0 @@
-// Hardcoded example of a process trace
-description <http://ua.be/sdo2l/description/traces/my_pt#> as my_pt {
-	extends <http://ua.be/sdo2l/description/artifacts/MyPM_pm#> as my_pm
-
-	uses <http://ua.be/sdo2l/vocabulary/formalisms/processtraces#> as traces
-	uses <http://ua.be/sdo2l/vocabulary/base/base#> as base
-	uses <http://www.w3.org/2001/XMLSchema#> as xsd
-
-	extends <http://ua.be/sdo2l/description/artifacts/my_xopp#> as my_xopp
-	
-	ci start_trace_event : traces:StartTraceEvent [
-		traces:relatesTo my_pm:model
-		traces:hasTimestamp "2011-06-01T19:16:58.869Z"^^xsd:dateTime
-	]
-	
-	ci start_activity0 : traces:StartActivityEvent [
-		traces:isPrecededBy start_trace_event
-		traces:relatesTo my_pm:activity_0_port_0 // ctrl inport
-		traces:hasTimestamp "2011-06-02T19:16:58.869Z"^^xsd:dateTime
-	]
-	
-	ci sketch-v1.xopp : traces:Artifact [
-		traces:hasLocation "sketch-v1.xopp"
-		base:hasTag "v1"
-		base:hasGUID "sketch.xopp-v1"
-		traces:relatesTo my_pm:artifact_0
-		traces:isModel my_xopp:model // example: an artifact can be a 'model'
-		base:previousVersionOf sketch-v2.xopp
-		traces:addedAt "2011-06-04T19:16:58.869Z"^^xsd:dateTime
-	]
-
-	
-	ci end_activity0 : traces:EndActivityEvent [
-		traces:isPrecededBy start_activity0
-		traces:relatesTo my_pm:activity_0_port_1 // ctrl outport
-				traces:hasTimestamp "2011-06-03T19:16:58.869Z"^^xsd:dateTime
-	]
-
-	ri produced_artifact : traces:Produces [
-		from end_activity0
-		to sketch-v1.xopp
-		traces:relatesTo my_pm:activity_0_port_2 // data outport
-	]
-	
-	ci start_activity1 : traces:StartActivityEvent [
-		traces:isPrecededBy end_activity0
-		traces:relatesTo my_pm:activity_1_port_0 // ctrl inport
-		traces:hasTimestamp "2011-06-04T19:16:58.869Z"^^xsd:dateTime
-	]
-	
-	ri consumed_artifact : traces:Consumes [
-		from start_activity1
-		to sketch-v1.xopp
-		traces:relatesTo my_pm:activity_1_port_2 // data inport
-	]
-	
-	ci end_activity1 : traces:EndActivityEvent [
-		traces:isPrecededBy start_activity1
-		traces:relatesTo my_pm:activity_1_port_1 // ctrl outport
-				traces:hasTimestamp "2011-06-05T19:16:58.869Z"^^xsd:dateTime
-	]
-	
-	ci start_activity2 : traces:StartActivityEvent [
-		traces:isPrecededBy end_activity1
-		traces:relatesTo my_pm:activity_0_port_0 // ctrl inport
-				traces:hasTimestamp "2011-06-06T19:16:58.869Z"^^xsd:dateTime
-	]
-	
-	ci sketch-v2.xopp : traces:Artifact [
-		traces:hasLocation "sketch-v2.xopp"
-		base:hasTag "v2"
-		base:hasGUID "sketch.xopp-v2"
-		traces:relatesTo my_pm:artifact_0
-		traces:isModel my_xopp:model // example: an artifact can be a 'model'
-		base:nextVersionOf sketch-v1.xopp
-		traces:addedAt "2011-06-05T19:16:58.869Z"^^xsd:dateTime
-	]
-	
-	ri produced_artifact_v2 : traces:Produces [
-		from end_activity2
-		to sketch-v2.xopp
-		traces:relatesTo my_pm:activity_0_port_2 // data inport
-	]
-	
-	ci end_activity2 : traces:EndActivityEvent [
-		traces:isPrecededBy start_activity2
-		traces:relatesTo my_pm:activity_0_port_1 // ctrl outport
-		traces:hasTimestamp "2011-06-07T19:16:58.869Z"^^xsd:dateTime
-	]
-	
-	ci start_activity3 : traces:StartActivityEvent [
-		traces:isPrecededBy end_activity2
-		traces:relatesTo my_pm:activity_1_port_0 // ctrl inport
-		traces:hasTimestamp "2011-06-08T19:16:58.869Z"^^xsd:dateTime
-	]
-	
-	ri consumed_artifact_v2 : traces:Consumes [
-		from start_activity3
-		to sketch-v2.xopp
-		traces:relatesTo my_pm:activity_1_port_2 // data inport
-	]
-	
-	ci end_activity3 : traces:EndActivityEvent [
-		traces:isPrecededBy start_activity3
-		traces:relatesTo my_pm:activity_1_port_1 // ctrl outport
-		traces:hasTimestamp "2011-06-09T19:16:58.869Z"^^xsd:dateTime
-	]
-	
-	ci start_activity4 : traces:StartActivityEvent [
-		traces:isPrecededBy end_activity3
-		traces:relatesTo my_pm:activity_0_port_0 // ctrl inport
-		traces:hasTimestamp "2011-06-10T19:16:58.869Z"^^xsd:dateTime
-	]
-	
-	ci sketch-v3.xopp : traces:Artifact [
-		traces:hasLocation "sketch-v3.xopp"
-		base:hasTag "v3"
-		base:hasGUID "sketch.xopp-v3"
-		traces:relatesTo my_pm:artifact_0
-		traces:isModel my_xopp:model // example: an artifact can be a 'model'
-		base:nextVersionOf sketch-v2.xopp
-		traces:addedAt "2011-06-06T19:16:58.869Z"^^xsd:dateTime
-	]
-	
-	ri produced_artifact_v3 : traces:Produces [
-		from end_activity4
-		to sketch-v3.xopp
-		traces:relatesTo my_pm:activity_0_port_2 // data inport
-	]
-	
-	ci end_activity4 : traces:EndActivityEvent [
-		traces:isPrecededBy start_activity4
-		traces:relatesTo my_pm:activity_0_port_1 // ctrl outport
-		traces:hasTimestamp "2011-06-11T19:16:58.869Z"^^xsd:dateTime
-	]
-	
-	ci start_activity5 : traces:StartActivityEvent [
-		traces:isPrecededBy end_activity4
-		traces:relatesTo my_pm:activity_1_port_0 // ctrl inport
-		traces:hasTimestamp "2011-06-12T19:16:58.869Z"^^xsd:dateTime
-	]
-	
-	ri consumed_artifact_v3 : traces:Consumes [
-		from start_activity5
-		to sketch-v3.xopp
-		traces:relatesTo my_pm:activity_1_port_2 // data inport
-	]
-	
-	ci end_activity5 : traces:EndActivityEvent [
-		traces:isPrecededBy start_activity5
-		traces:relatesTo my_pm:activity_1_port_1 // ctrl outport
-		traces:hasTimestamp "2011-06-13T19:16:58.869Z"^^xsd:dateTime
-	]
-	
-	ci start_activity6 : traces:StartActivityEvent [
-		traces:isPrecededBy end_activity5
-		traces:relatesTo my_pm:activity_0_port_0 // ctrl inport
-		traces:hasTimestamp "2011-06-14T19:16:58.869Z"^^xsd:dateTime
-	]
-	
-	ci end_activity6 : traces:EndActivityEvent [
-		traces:isPrecededBy start_activity6
-		traces:relatesTo my_pm:activity_0_port_1 // ctrl outport
-		traces:hasTimestamp "2011-06-15T19:16:58.869Z"^^xsd:dateTime
-	]
-	
-	ci start_activity7 : traces:StartActivityEvent [
-		traces:isPrecededBy end_activity6
-		traces:relatesTo my_pm:activity_1_port_0 // ctrl inport
-		traces:hasTimestamp "2011-06-16T19:16:58.869Z"^^xsd:dateTime
-	]
-	
-	
-	
-	ci end_trace_event : traces:EndTraceEvent [
-		traces:isPrecededBy start_activity7
-		traces:relatesTo my_pm:model
-		traces:hasTimestamp "2011-06-17T19:16:58.869Z"^^xsd:dateTime
-	]
-}

+ 0 - 6
backend/ontology/src/oml/ua.be/sdo2l/files/csv/addresses.csv

@@ -1,6 +0,0 @@
-John,Doe,120 jefferson st.,Riverside, NJ, 08075
-Jack,McGinnis,220 hobo Av.,Phila, PA,09119
-"John ""Da Man""",Repici,120 Jefferson St.,Riverside, NJ,08075
-Stephen,Tyler,"7452 Terrace ""At the Plaza"" road",SomeTown,SD, 91234
-,Blankman,,SomeTown, SD, 00298
-"Joan ""the bone"", Anne",Jet,"9th, at Terrace plc",Desert City,CO,00123

File diff suppressed because it is too large
+ 0 - 1
backend/ontology/src/oml/ua.be/sdo2l/files/drawio/AnotherPM:pm


File diff suppressed because it is too large
+ 0 - 1
backend/ontology/src/oml/ua.be/sdo2l/files/drawio/FTG:ftg


File diff suppressed because it is too large
+ 0 - 1
backend/ontology/src/oml/ua.be/sdo2l/files/drawio/MinimalPM:pm


File diff suppressed because it is too large
+ 0 - 1
backend/ontology/src/oml/ua.be/sdo2l/files/drawio/MyPM:pm


File diff suppressed because it is too large
+ 0 - 1
backend/ontology/src/oml/ua.be/sdo2l/files/drawio/MyPMRec:pm


File diff suppressed because it is too large
+ 0 - 1
backend/ontology/src/oml/ua.be/sdo2l/files/drawio/drivetrain:pm


File diff suppressed because it is too large
+ 0 - 1
backend/ontology/src/oml/ua.be/sdo2l/files/drawio/imabox


BIN
backend/ontology/src/oml/ua.be/sdo2l/files/file/api.png


BIN
backend/ontology/src/oml/ua.be/sdo2l/files/file/robot.webp


BIN
backend/ontology/src/oml/ua.be/sdo2l/files/xopp/SmallXournalFile.xopp


BIN
backend/ontology/src/oml/ua.be/sdo2l/files/xopp/TwoHiddenLayers.xopp


+ 0 - 34
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/base/acyclic.oml

@@ -1,34 +0,0 @@
-vocabulary <http://ua.be/sdo2l/vocabulary/base/acyclic#> as acyclic {
-	
-	aspect element []
-	
-	// Add this type as a supertype of any relation to make it acyclic.
-	relation entity Acyclic [
-		from element
-		to element
-		forward acyclicForward
-		irreflexive
-		asymmetric
-	]
-	
-	relation entity derivedTransitiveRelation [
-		from element
-		to element
-		forward transitiveForward
-		irreflexive
-		asymmetric
-		
-		// transitive // Currently ignored by reasoner. See workaround below.
-	]
-	
-	
-	rule DeriveTransitiveRelation [
-		acyclicForward(A, B) -> transitiveForward(A, B)
-	]
-	
-	// Workaround:
-	rule MakeTransitive [
-		// Don't know if this creates unnecessary bloat, compared to the 'transitive'-flag, but it works:
-		transitiveForward(A, B) ^ transitiveForward(B, C) -> transitiveForward(A, C)
-	]
-}

+ 0 - 131
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/base/base.oml

@@ -1,131 +0,0 @@
-vocabulary <http://ua.be/sdo2l/vocabulary/base/base#> as base {
-	extends <http://www.w3.org/2000/01/rdf-schema#> as rdfs
-	extends <http://www.w3.org/2001/XMLSchema#> as xsd
-	extends <http://ua.be/sdo2l/vocabulary/base/acyclic#> as acyclic
-
-	aspect ImmutableThing [
-		key hasGUID
-		restricts scalar property hasGUID to exactly 1 
-	]
-	
-	scalar property hasGUID [
-		domain ImmutableThing
-		range xsd:string
-		functional
-	]
-
-	// Elements for Identified Things
-
-	@rdfs:comment "The class of things having an id and a canonical name"
-	aspect IdentifiedThing [
-		restricts scalar property hasIdentifier to exactly 1
-		//restricts scalar property hasCanonicalName to exactly 1
-	]
-
-	@rdfs:comment "The has canonical name property"
-	scalar property hasCanonicalName [
-		domain IdentifiedThing
-		range xsd:string
-	]
-
-	@rdfs:comment "The has identifier property"
-	scalar property hasIdentifier [
-		domain IdentifiedThing
-		range xsd:string
-	]
-
-	@rdfs:comment "The has description property"
-	scalar property hasDescription [
-		domain IdentifiedThing
-		range xsd:string
-	]
-	
-	enumerated scalar BasicType [
-    	"Boolean","Double", "Integer","String", "Char"
-    ]  
-    
-    // OBS: The specialization did not work for enumerated scalars, the only way to work is duplicating the values like this. 
-    enumerated scalar NumericType :> BasicType [
-    	"Double", "Integer"
-    ]
-
-	// Relationships aggreagation and containment
-
-	// Joeri: These appear to be unused at the moment. Can we remove them?
- 	@rdfs:comment "The class of things that can be aggregated"
-	aspect AggregatedThing
-
-	@rdfs:comment "The aggregates relation between aggregated things"
-	relation entity Aggregates [
-		from AggregatedThing
-		to AggregatedThing
-		forward aggregates
-		reverse isAggregatedIn
-		asymmetric
-		irreflexive
-	]
-
-	@rdfs:comment "A ContainedElement is a thing that can participate in homomeric containment relationships."
-	aspect ContainedElement
-
-	@rdfs:comment "Contains is a many-to-many relation used to represent homomeric relations that form directed rooted trees."
-	relation entity Contains :> acyclic:Acyclic [
-		from ContainedElement
-		to ContainedElement
-		forward contains
-		reverse isContainedIn
-		inverse functional
-		asymmetric
-		irreflexive
-	]
-
-	// Definitions and Usages
-
-	@rdfs:comment "The class of things that specify definitions of elements"
-	aspect DefinitionThing
-
-	@rdfs:comment "The has name property"
-	scalar property hasName [
-		domain DefinitionThing
-		range xsd:string
-	]
-
-
-	@rdfs:comment "The class of things that are used and are defined by DefinitionThings"
-	aspect UsageThing
-
-	@rdfs:comment "The has usage name property"
-	scalar property hasUsageName [
-		domain UsageThing
-		range xsd:string
-	]
-
-	@rdfs:comment "relationship between definitions and concrete elements"
-	relation entity Defines [
-		from DefinitionThing
-		to UsageThing
-		forward defines
-		reverse isDefinedBy
-		asymmetric
-		irreflexive
-	]
-
-	// Version
-
-	aspect Versionable :> ImmutableThing
-
-	@rdfs:comment "The has canonical name property"
-	scalar property hasTag [
-		domain Versionable
-		range xsd:string
-	]
-
-	relation entity Versions :> acyclic:Acyclic [
-		from Versionable
-		to Versionable
-		forward previousVersionOf
-		reverse nextVersionOf
-		asymmetric
-		irreflexive
-	]
-}

+ 0 - 27
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/bundle.oml

@@ -1,27 +0,0 @@
-vocabulary bundle <http://ua.be/sdo2l/vocabulary/bundle#> as ^bundle {
-	includes <http://ua.be/sdo2l/vocabulary/base/acyclic#>
-	includes <http://ua.be/sdo2l/vocabulary/base/base#>
-	
-	includes <http://ua.be/sdo2l/vocabulary/formalisms/file#>
-	includes <http://ua.be/sdo2l/vocabulary/formalisms/ftg#>
-	includes <http://ua.be/sdo2l/vocabulary/formalisms/processtraces#>
-	includes <http://ua.be/sdo2l/vocabulary/formalisms/shaclproperty#>
-	includes <http://ua.be/sdo2l/vocabulary/formalisms/system#>
-	includes <http://ua.be/sdo2l/vocabulary/formalisms/violation#>
-	includes <http://ua.be/sdo2l/vocabulary/formalisms/code#>
-	includes <http://ua.be/sdo2l/vocabulary/formalisms/component#>
-	includes <http://ua.be/sdo2l/vocabulary/formalisms/cs_as#>
-	includes <http://ua.be/sdo2l/vocabulary/formalisms/dict#>
-	includes <http://ua.be/sdo2l/vocabulary/formalisms/drawio#>
-	includes <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#>
-	includes <http://ua.be/sdo2l/vocabulary/formalisms/pm#>
-	includes <http://ua.be/sdo2l/vocabulary/formalisms/requirement#>
-	includes <http://ua.be/sdo2l/vocabulary/formalisms/richtext#>
-	includes <http://ua.be/sdo2l/vocabulary/formalisms/script#>
-	includes <http://ua.be/sdo2l/vocabulary/formalisms/tabular#>
-	includes <http://ua.be/sdo2l/vocabulary/formalisms/text#>
-	includes <http://ua.be/sdo2l/vocabulary/formalisms/traceability_model#>
-    includes <http://ua.be/sdo2l/vocabulary/formalisms/xopp#>
-    
-   	includes <http://ua.be/sdo2l/vocabulary/federation#>
-}

+ 0 - 44
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/federation.oml

@@ -1,44 +0,0 @@
-@dc:description "A vocabulary about federation. Virtual data access (service and storage)."
-vocabulary <http://ua.be/sdo2l/vocabulary/federation#> as federation {
-	extends <http://www.w3.org/2000/01/rdf-schema#> as rdfs
-	extends <http://www.w3.org/2001/XMLSchema#> as xsd
-    extends <http://purl.org/dc/elements/1.1/> as dc
-    extends <http://ua.be/sdo2l/vocabulary/formalisms/processtraces#> as traces
-
-    // TODO Maybe add return values/names/types
-    @rdfs:comment "An Operation specifies one possible call (or operation) that can be made. For example 'translate' for a Point class."
-    concept Operation [ key hasIri ]
-	scalar property hasEndPoint [ domain Operation range xsd:string ]
-    scalar property hasDescription [ domain Operation range xsd:string ]
-    scalar property hasSideEffect [ domain Operation range xsd:boolean ]
-    // TODO Should be IRI not string
-    scalar property hasIri [ domain Operation range xsd:string ]
-    scalar property hasCall [ domain Operation range xsd:string ]
-    relation entity Parameters [
-		from Operation
-		to Parameter
-		forward hasParameter
-		reverse isParameterOf
-	]
-
-    @rdfs:comment "A Parameter is a key value store for passing around values by name."
-    concept Parameter [ key hasIdentifier ]
-	scalar property hasIdentifier [ domain Parameter range xsd:string ]
-    scalar property hasValue [ domain Parameter	range xsd:string ]
-
-    // TODO Maybe make this an aspect and create concept per type of service with restrictions
-    @rdfs:comment "A Service specifies an element which has one or more Operations available."
-    concept Service
-    relation entity Services [
-		from traces:Artifact
-		to Service
-		forward hasService
-		reverse isOperationFor
-	]
-    relation entity Operations [
-		from Service
-		to Operation
-		forward hasOperation
-		reverse isOperationOf
-	]
-}

+ 0 - 59
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/code.oml

@@ -1,59 +0,0 @@
-vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/code#> as code {
-	extends <http://ua.be/sdo2l/vocabulary/formalisms/text#> as text
-
-
-    concept CodeData :> text:TextData
-    concept CodeLanguage
-
-    enumerated scalar CodeLanguageOption [
-        "C",
-        "C++",
-        "Python",
-        "MATLAB"
-    ]
-
-    scalar property hasCodeLanguageOption [
-        domain CodeLanguage
-        range CodeLanguageOption
-    ]
-
-    relation entity UsesCodeLanguage [
-        from CodeData
-        to CodeLanguage
-        forward usesCodeLanguage
-    ]
-
-    concept CCodeLanguage :> CodeLanguage [
-        restricts scalar property hasCodeLanguageOption to "C"
-    ]
-
-    concept CCode :> CodeData [
-        restricts all relation usesCodeLanguage to CCodeLanguage
-    ]
-
-    concept CppCodeLanguage :> CodeLanguage [
-        restricts scalar property hasCodeLanguageOption to "C++"
-    ]
-
-    concept CppCode :> CodeData [
-        restricts all relation usesCodeLanguage to CppCodeLanguage
-    ]
-
-    concept PythonCodeLanguage :> CodeLanguage [
-        restricts scalar property hasCodeLanguageOption to "Python"
-    ]
-
-    concept PythonCode :> CodeData [
-        restricts all relation usesCodeLanguage to PythonCodeLanguage
-    ]
-
-    concept MATLABCodeLanguage :> CodeLanguage [
-        restricts scalar property hasCodeLanguageOption to "MATLAB"
-    ]
-
-    concept MATLABCode :> CodeData [
-        restricts all relation usesCodeLanguage to MATLABCodeLanguage
-    ]
-
-
-}

+ 0 - 76
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/component.oml

@@ -1,76 +0,0 @@
-vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/component#> as component {
-	
-	extends <http://www.w3.org/2000/01/rdf-schema#> as rdfs
-	extends <http://ua.be/sdo2l/vocabulary/base/base#> as base
-	extends <http://bipm.org/jcgm/vim4#> as vim4
-
-	extends <http://ua.be/sdo2l/vocabulary/formalisms/processtraces#> as traces
-
-	@rdfs:comment "A Structural Model defines the static view of a system in terms of its components and their relationships."
-	concept StructuralModel :> base:IdentifiedThing, traces:Artifact//, base:WorkflowArtifact
-	
-	@rdfs:comment "A Structural Model is specified by several components."
-	relation entity Specifies [
-		from StructuralModel
-		to Component
-		forward specifies
-		reverse isSpecifiedBy
-		inverse functional
-		asymmetric
-		irreflexive
-	]
-	
-	// Definitions for Components
-	
-	@rdfs:comment "A Component is something that can be designed in a structural model."
-	concept Component :> base:IdentifiedThing, base:ContainedElement, vim4:Object
-	
-	@rdfs:comment "A component may have several attributes."
-	concept Attribute :> base:IdentifiedThing, vim4:InherentUnitaryQuantityValue [
-		restricts all relation vim4:characterizes to Component
-	]
-	
-	@rdfs:comment "An Interface represents a set of features that describe some Component’s interaction with another Component."
-	concept Interface :> base:IdentifiedThing
-	
-	@rdfs:comment "A Component presents zero or more Interfaces."
-	relation entity Presents [
-		from Component
-		to Interface
-		forward presents
-		reverse isPresentedBy
-		inverse functional
-		asymmetric
-		irreflexive
-	]
-	
-	@rdfs:comment "A Junction joins two or more Interfaces."
-	relation entity Junction :> base:IdentifiedThing [
-		from Interface
-		to Interface
-		forward joins
-		symmetric
-		irreflexive
-	]
-	
-	@rdfs:comment "A Component connects to zero or more components."
-	relation entity Connection [
-		from Component
-		to Component
-		forward connectsTo
-		symmetric
-	]
-	
-	@rdfs:comment "When interfaces presented by components are joined, we infer that the components are connected."
-	rule Junction-infers-Connection [
-		presents(c1, i1) ^ joins(i1, i2) ^ isPresentedBy(i2, c2) -> connectsTo(c1, c2)
-	]
-	
-	// Domain-Specific Components
-	
-	concept CarComponent :> Component
-	
-	concept WheelComponent :> Component
-	
-	
-}

+ 0 - 19
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/cs_as.oml

@@ -1,19 +0,0 @@
-vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/cs_as#> as cs_as {
-	
-	extends <http://ua.be/sdo2l/vocabulary/formalisms/traceability_model#> as traceability_model
-	extends <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-	
-	relation entity CS_AS_Link :> traceability_model:TraceabilityLink [
-		from object_diagram:Object
-		to object_diagram:Object
-		forward parsedAs
-		reverse renderedAs
-		functional // Assuming that CS contains at least the same amount of the information as AS, there is only one way to parse something
-		asymmetric
-		irreflexive
-	]
-	
-	concept CorrespondenceModel :> traceability_model:TraceabilityModel [
-		restricts all relation object_diagram:hasObject to CS_AS_Link
-	]
-}

+ 0 - 25
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/dict.oml

@@ -1,25 +0,0 @@
-// Extension of object_diagram vocabulary
-vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/dict#> as dict {
-	
-	extends <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-	extends <http://www.w3.org/2001/XMLSchema#> as xsd
-
-	aspect Object []
-	
-	// In many vocabularies, we want to have "dictionaries" (key-value mappings).
-	// We choose to represent every dictionary entry by an 'Object', that has a 'key' and 'value' field
-	aspect DictEntry :> Object [
-		restricts scalar property hasKey to exactly 1
-		restricts scalar property hasValue to exactly 1
-	]
-	scalar property hasKey :> object_diagram:hasField [
-		domain DictEntry
-		range xsd:string
-		functional
-	]
-	scalar property hasValue :> object_diagram:hasField [
-		domain DictEntry
-		range xsd:string
-		functional
-	]
-}

+ 0 - 204
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/drawio.oml

@@ -1,204 +0,0 @@
-// Vocabulary for the Draw.io file format
-vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/drawio#> as drawio {
-
-	extends <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-	extends <http://ua.be/sdo2l/vocabulary/base/acyclic#> as acyclic
-	extends <http://ua.be/sdo2l/vocabulary/formalisms/dict#> as dict
-	extends <http://www.w3.org/2001/XMLSchema#> as xsd
-
-	aspect element :> object_diagram:Object []
-	
-	// Cells and Pages have a GUID generated by drawio.
-	aspect elementWithDrawioId :> element [
-		restricts scalar property hasDrawioId to exactly 1
-	]
-	scalar property hasDrawioId [
-		domain elementWithDrawioId
-		range xsd:string
-		functional
-	]
-
-	// All cells are vertices or edges, except for:
-	//   (1) The root cell of a page
-	//   (2) The cells that represent layers (direct children of the root cell)
-	concept Cell :> elementWithDrawioId []
-
-	scalar property hasValue [
-		domain Cell
-		range xsd:string
-		functional
-	]
-	
-	relation entity HasParentCell :> acyclic:Acyclic, object_diagram:Link [
-		from Cell
-		to Cell
-		forward hasParent
-		reverse hasChild
-		asymmetric
-		irreflexive
-		functional // all cells have one parent, except for the root cell
-	]
-	
-	relation entity HasProperty :> object_diagram:Link [
-		from Cell
-		to CellProperty
-		forward hasProperty
-		reverse propertyOf
-		asymmetric
-		irreflexive
-		inverse functional
-	]
-	relation entity HasStyleEntry :> object_diagram:Link [
-		from Cell
-		to CellStyleEntry
-		forward hasStyleEntry
-		reverse styleEntryOf
-		asymmetric
-		irreflexive
-		inverse functional
-	]
-	relation entity HasCellAttribute :> object_diagram:Link [
-		from Cell
-		to CellAttribute
-		forward hasCellAttribute
-		reverse attributeOf
-		asymmetric
-		irreflexive
-		inverse functional
-	]
-	
-	concept CellProperty :> dict:DictEntry, element []
-	concept CellStyleEntry :> dict:DictEntry, element []
-	concept CellAttribute :> dict:DictEntry, element []
-	
-	structure Point [
-		restricts scalar property hasX to exactly 1
-		restricts scalar property hasY to exactly 1
-	]
-	scalar property hasX :> object_diagram:hasField [
-		domain Point
-		range xsd:decimal
-		functional
-	]
-	scalar property hasY :> object_diagram:hasField [
-		domain Point
-		range xsd:decimal
-		functional
-	]
-	
-	structure VertexGeometry :> Point [
-		restricts scalar property hasWidth to exactly 1
-		restricts scalar property hasHeight to exactly 1
-	]
-	scalar property hasWidth :> object_diagram:hasField [
-		domain VertexGeometry
-		range xsd:decimal
-		functional
-	]
-	scalar property hasHeight :> object_diagram:hasField [
-		domain VertexGeometry
-		range xsd:decimal
-		functional
-	]
-	
-	// An edge may have an ordered sequence of 'waypoints'
-	// We'll add a 'list index' property to store the order.
-	structure PointListItem :> Point [
-		restricts scalar property hasListIndex to exactly 1
-	]
-	scalar property hasListIndex [
-		domain PointListItem
-		range xsd:nonNegativeInteger
-		functional
-	]
-	
-	structure EdgeGeometry []
-	structured property hasPoint [
-		domain EdgeGeometry
-		range PointListItem
-		// not functional: any number of points allowed
-	]
-	structured property hasSourcePoint [
-		domain EdgeGeometry
-		range Point
-		functional
-	]
-	structured property hasTargetPoint [
-		domain EdgeGeometry
-		range Point
-		functional
-	]
-	
-	concept Vertex :> Cell []
-	concept Edge :> Cell []
-	
-	structured property hasVertexGeometry [
-		domain Vertex
-		range VertexGeometry
-		functional
-	]
-	structured property hasEdgeGeometry [
-		domain Edge
-		range EdgeGeometry
-		functional
-	]
-	
-	relation entity EdgeHasSource [
-		from Edge
-		to Vertex
-		forward hasSource
-		reverse sourceOf
-		functional
-		asymmetric
-		irreflexive
-	]
-	relation entity EdgeHasTarget [
-		from Edge
-		to Vertex
-		forward hasTarget
-		reverse targetOf
-		functional
-		asymmetric
-		irreflexive
-	]
-	
-	// A model here is a page in Drawio
-	concept Model :> elementWithDrawioId, object_diagram:Model [
-		restricts relation hasRootCell to exactly 1
-		restricts all relation object_diagram:hasObject to element
-	]
-	
-	relation entity HasPageAttribute :> object_diagram:Link [
-		from Model
-		to PageAttribute
-		forward hasPageAttribute
-		reverse ofPage
-		asymmetric
-		irreflexive
-		inverse functional
-	]
-	relation entity HasRootCell :> object_diagram:Link [
-		from Model
-		to Cell
-		forward hasRootCell
-		reverse isRootOf
-		asymmetric
-		irreflexive
-		functional // every page has exactly one root cell
-		inverse functional // a cell can be the root of at most one page
-	]
-	
-	concept PageAttribute :> dict:DictEntry, element []
-		
-	scalar property isCompressed [
-		domain Model
-		range xsd:boolean
-		functional
-	]
-	
-	scalar property hasDrawioVersion [
-		domain Model
-		range xsd:string
-		functional
-	]
-}

+ 0 - 13
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/file.oml

@@ -1,13 +0,0 @@
-vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/file#> as file {
-    extends <http://www.w3.org/2001/XMLSchema#> as xsd
-    extends <http://ua.be/sdo2l/vocabulary/formalisms/processtraces#> as traces
-
-    aspect Data
-    concept File :> traces:Artifact [key isLocatedAt] 
-
-    scalar property isLocatedAt [
-        domain File
-        range xsd:string
-        functional
-    ]
-}

+ 0 - 57
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/ftg.oml

@@ -1,57 +0,0 @@
-vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/ftg#> as ftg {
-	extends <http://www.w3.org/2000/01/rdf-schema#> as rdfs
-	extends <http://ua.be/sdo2l/vocabulary/base/base#> as base
-	extends <http://www.w3.org/2001/XMLSchema#> as xsd
-
-	extends <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-
-	// Definitions for Activities
-	@rdfs:comment "The types of activities performed during the system design process. This concept should be used in the FTG."
-	concept Transformation :> base:ImmutableThing, base:DefinitionThing, object_diagram:Object [
-		restricts scalar property hasCtrlInput to min 1
-		restricts scalar property hasCtrlOutput to min 1
-	]
-	
-	// Ctrl inputs/outputs:
-	scalar property hasCtrlInput [
-		domain Transformation
-		range xsd:string
-	]
-	scalar property hasCtrlOutput [
-		domain Transformation
-		range xsd:string
-	]
-
-	// Definitions for Artifacts
-	@rdfs:comment "The types of artifacts generated during the system design process. This concept should be used in the FTG."
-	concept Formalism :> base:ImmutableThing, base:DefinitionThing, object_diagram:Object []
-
-	// Data inputs/outputs are named:
-	aspect InputOrOutput [
-		restricts scalar property hasName to exactly 1
-	]
-	
-	scalar property hasName [
-		domain InputOrOutput
-		range xsd:string
-		functional
-	]
-
-	relation entity HasInput :> InputOrOutput [
-		from Transformation
-		to Formalism
-		forward hasInput
-		reverse isInputOf
-		asymmetric
-		irreflexive
-	]
-
-	relation entity HasOutput :> InputOrOutput [
-		from Transformation
-		to Formalism
-		forward hasOutput
-		reverse isOutputOf
-		asymmetric
-		irreflexive
-	]
-}

+ 0 - 48
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/object_diagram.oml

@@ -1,48 +0,0 @@
-vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram {
-	
-	extends <http://www.w3.org/2000/01/rdf-schema#> as rdfs
-	extends <http://www.w3.org/2001/XMLSchema#> as xsd
-
-	aspect Object []
-		
-	// Compromise:
-	//  - use attributes only for scalar properties
-	//  - if we want to have a reference to an object as an attribute, use a link instead
-	
-	// Supertype of all scalar properties that we consider to be a 'field' of an object
-	// An object can have any number of fields, hence this property is not functional
-	scalar property hasField [
-		domain Object
-		range rdfs:Literal // e.g., string, float, boolean, ...
-	]
-
-	// A link is also an object, meaning:
-	//   - it can have attributes
-	//   - it can be the source/target of another link
-	relation entity Link :> Object [
-		from Object
-		to Object
-	]
-	
-	concept Model [
-		restricts scalar property hasName to exactly 1
-	]
-	
-	// Every model has a name, that we use to identify it.
-	// E.g., when we query for a list of all the process models, we can get their names.
-	scalar property hasName [
-		domain Model
-		range xsd:string
-		functional
-	]
-	
-	relation entity HasObject [
-		from Model
-		to Object
-		forward hasObject
-		reverse inModel
-		inverse functional // every Object can be part of at most one model
-		asymmetric
-		irreflexive
-	]
-}

+ 0 - 120
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/pm.oml

@@ -1,120 +0,0 @@
-vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/pm#> as pm {
-	
-	extends <http://www.w3.org/2001/XMLSchema#> as xsd
-	extends <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-	extends <http://ua.be/sdo2l/vocabulary/formalisms/ftg#> as ftg
-
-	aspect CtrlSource []
-	aspect CtrlSink []
-	aspect DataSource []
-	aspect DataSink []
-	
-	relation entity CtrlFlow :> object_diagram:Link [
-		from CtrlSource
-		to CtrlSink
-		forward ctrlTo
-		reverse ctrlFrom
-		asymmetric
-		irreflexive
-	]
-	relation entity DataFlow :> object_diagram:Link [
-		from DataSource
-		to DataSink
-		forward dataTo
-		reverse dataFrom
-		asymmetric
-		irreflexive
-	]
-	
-	aspect Named [
-		restricts scalar property hasName to exactly 1
-	]
-	scalar property hasName :> object_diagram:hasField [
-		domain Named
-		range xsd:string
-		functional
-	]
-
-	aspect element :> object_diagram:Object []
-	
-	concept Activity :> element, object_diagram:Object, Named [
-		// must have at least one of the following port types:
-		restricts some relation hasPort to CtrlInputPort
-		restricts some relation hasPort to CtrlOutputPort
-	]
-	
-	// An activity may (optionally) point to a ftg:Transformation
-	relation entity IsTransformation [
-		from Activity
-		to ftg:Transformation
-		forward isTransformation
-		reverse occursAsActivity
-		functional
-		asymmetric
-		irreflexive
-	]
-	
-	aspect Port :> element, Named [
-		restricts relation ofActivity to exactly 1
-	]
-	
-	relation entity HasPort :> object_diagram:Link [
-		from Activity
-		to Port
-		forward hasPort
-		reverse ofActivity
-		asymmetric
-		irreflexive
-		inverse functional
-	]
-	
-	// Every port can only have one incoming/outgoing connection
-	concept CtrlOutputPort :> CtrlSource, Port [
-		restricts relation ctrlTo to exactly 1
-	]
-	concept CtrlInputPort :> CtrlSink, Port [
-		restricts relation ctrlFrom to exactly 1
-	]
-	concept DataOutputPort :> DataSource, Port [
-		restricts relation dataTo to exactly 1
-	]
-	concept DataInputPort :> DataSink, Port [
-		restricts relation dataFrom to exactly 1
-	]
-	
-	concept Initial :> element, CtrlSource [
-		restricts relation ctrlTo to exactly 1
-	]
-	concept Final :> element, CtrlSink [
-		restricts relation ctrlFrom to exactly 1
-	]
-	
-	concept Artifact :> element, Named, DataSource, DataSink [
-		// an artifact must come from somewhere :)
-		restricts relation dataFrom to min 1
-	]
-	
-	relation entity HasType [
-		from Artifact
-		to ftg:Formalism
-		forward hasType
-		reverse occursAsArtifact
-		functional
-		asymmetric
-		irreflexive
-	]
-	
-	concept ForkJoin :> element, CtrlSink, CtrlSource [
-		restricts relation ctrlFrom to min 1
-		restricts relation ctrlTo to min 1
-	]
-	
-	concept Merge :> element, CtrlSink, CtrlSource [
-		// Only one outgoing control flow link:
-		restricts relation ctrlTo to exactly 1
-	]
-	
-	concept Model :> object_diagram:Model, element [
-		restricts all relation object_diagram:hasObject to element
-	]
-}

+ 0 - 124
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/processtraces.oml

@@ -1,124 +0,0 @@
-vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/processtraces#> as traces {
-	extends <http://www.w3.org/2000/01/rdf-schema#> as rdfs
-	extends <http://ua.be/sdo2l/vocabulary/base/base#> as base
-	extends <http://ua.be/sdo2l/vocabulary/formalisms/pm#> as pm
-	extends <http://www.w3.org/2001/XMLSchema#> as xsd
-	extends <http://www.w3.org/2002/07/owl#> as owl
-
-	extends <http://ua.be/sdo2l/vocabulary/base/acyclic#> as acyclic
-	extends <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-
-	// TODO Add time to Event (starting time and ending time of PT events)
-//	@rdfs:comment "The class to represent traces of execution of a given workflow."
-//	concept Trace :> base:IdentifiedThing
-
-	// A process trace element
-	aspect element [
-		restricts relation relatesTo to exactly 1 // every PT element must relate to one PM element
-	]
-	
-	// Supertype for all links from PT to PM
-	relation entity RelatesToPM [
-		from element
-		to pm:element
-		forward relatesTo
-		functional
-	]
-
-	@rdfs:comment "The class to represent an event of a trace."
-	aspect Event :> element, object_diagram:Object
-	
-	scalar property hasTimestamp :> object_diagram:hasField [
-		domain Event
-		range xsd:dateTime
-	]
-	
-	@rdfs:comment "An event signaling the start of a new trace."
-	concept StartTraceEvent :> Event [
-		restricts all relation relatesTo to pm:Model
-	]
-	
-	@rdfs:comment "An event signaling the end of a trace."
-	concept EndTraceEvent :> Event [
-		restricts all relation relatesTo to pm:Model
-	]
-
-	@rdfs:comment "The class to represent a starting event of a trace."
-	concept StartActivityEvent :> Event [
-		restricts all relation relatesTo to pm:CtrlInputPort
-	]
-
-	@rdfs:comment "The class to represent an ending event of a trace."
-	concept EndActivityEvent :> Event [
-		restricts all relation relatesTo to pm:CtrlOutputPort
-	]
-	
-	relation entity Follows :> acyclic:Acyclic, object_diagram:Link [
-		from Event
-		to Event
-		forward isFollowedBy
-		reverse isPrecededBy
-		asymmetric
-		irreflexive
-		functional
-		inverse functional
-	]
-
-	relation entity Produces :> element, object_diagram:Link [
-		from EndActivityEvent
-		to Artifact
-		forward produces
-		reverse isProducedBy
-		asymmetric
-		irreflexive
-		inverse functional // every (version of an) artifact can only be produced by one (ended) activity
-		
-		restricts all relation relatesTo to pm:DataOutputPort
-	]
-	
-	relation entity Consumes :> element, object_diagram:Link [
-		from StartActivityEvent
-		to Artifact
-		forward consumes
-		reverse isConsumedBy
-		asymmetric
-		irreflexive
-		
-		restricts all relation relatesTo to pm:DataInputPort
-	]
-	
-	@rdfs:comment "The class of artifacts generated during the system design process. Here we are referring to the concrete artifacts that are created/used during the enactment of a workflow."
-	concept Artifact :> element, base:Versionable [
-		restricts all relation relatesTo to pm:Artifact
-	]
-	
-	scalar property hasLocation :> object_diagram:hasField [
-		domain Artifact
-		range xsd:string
-	]
-
-	scalar property addedAt :> object_diagram:hasField [
-		domain Artifact
-		range xsd:dateTime
-	]
-			
-	// An artifact may be a "model":
-	relation entity IsModel [
-		from Artifact
-		to object_diagram:Model
-		forward isModel
-		reverse isArtifact
-		asymmetric
-		irreflexive
-		functional
-	]
-
-// Joeri: For fine-grained traceability, we use trace models (e.g., my_xopp_to_drawio.oml and my_corr.oml), which are also just models/artifacts.
-//	@rdfs:comment "This relation is used for fine-grained traceability. It can link two concepts in the PT. This should be a many to many relation."
-//	relation entity Represents [
-//		from owl:Thing
-//		to owl:Thing
-//		forward represents
-//		reverse isRepresentedBy
-//	]
-}

+ 0 - 30
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/requirement.oml

@@ -1,30 +0,0 @@
-vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/requirement#> as requirement {
-	extends <http://ua.be/sdo2l/vocabulary/base/base#> as base
-	extends <http://ua.be/sdo2l/vocabulary/formalisms/system#> as system
-
-	extends <http://ua.be/sdo2l/vocabulary/formalisms/processtraces#> as traces
-	
-	concept Requirement :> base:IdentifiedThing
-	
-	relation entity Describes [
-		from Requirement 
-		to system:System
-		forward describes
-		reverse isDescribedBy
-		asymmetric
-		irreflexive
-	]
-	
-	concept RequirementList :> base:IdentifiedThing, traces:Artifact
-	
-	relation entity Groups [
-		from RequirementList
-		to Requirement
-		forward groups
-		reverse isGroupedBy
-		asymmetric
-		irreflexive
-		inverse functional
-	] 
-		
-}

+ 0 - 51
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/richtext.oml

@@ -1,51 +0,0 @@
-vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/richtext#> as richtext {
-    extends <http://www.w3.org/2001/XMLSchema#> as xsd
-
-    extends <http://ua.be/sdo2l/vocabulary/formalisms/text#> as text
-
-
-    concept RichTextData :> text:TextData
-    concept RichTextModifer
-    concept TextPosition
-
-    scalar property onLine [
-        domain TextPosition
-        range xsd:int
-    ]
-
-    scalar property atPosition [
-        domain TextPosition
-        range xsd:int
-    ]
-
-    enumerated scalar RichTextModifierOption [
-        "italic",
-        "bold"
-    ]
-
-    scalar property hasRichTextModifierOption [
-        domain RichTextModifer
-        range RichTextModifierOption
-        functional
-    ]
-
-    relation entity StartsAt [
-        from RichTextModifer
-        to TextPosition
-        forward modifierStartsAt
-    ]
-
-    relation entity StopsAt [
-        from RichTextModifer
-        to TextPosition
-        forward modifierStopsAt
-    ]
-
-    concept ItalicRichTextModifier :> RichTextModifer [
-        restricts scalar property hasRichTextModifierOption to "italic"
-    ]
-
-    concept BoldRichTextModifier :> RichTextModifer [
-        restricts scalar property hasRichTextModifierOption to "bold"
-    ]
-}

+ 0 - 31
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/script.oml

@@ -1,31 +0,0 @@
-vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/script#> as script {
-    extends <http://www.w3.org/2001/XMLSchema#> as xsd
-    extends <http://ua.be/sdo2l/vocabulary/formalisms/code#> as code
-    extends <http://ua.be/sdo2l/vocabulary/formalisms/file#> as file
-
-    concept ScriptData :> code:CodeData
-    concept ScriptParameter :> file:Data
-
-    scalar property hasParameterName [
-        domain ScriptParameter
-        range xsd:string
-        functional
-    ]
-
-    scalar property hasParameterValue [
-        domain ScriptParameter
-        // NOTE: Probably need to change this to some bottom value concept
-        range xsd:string
-    ]
-
-    relation entity UsesScriptParameter [
-        from ScriptData
-        to ScriptParameter
-        forward usesScriptParameter
-    ]
-
-    concept CScript      :> ScriptData, code:CCode
-    concept CppScript    :> ScriptData, code:CppCode
-    concept PythonScript :> ScriptData, code:PythonCode
-    concept MATLABScript :> ScriptData, code:MATLABCode
-}

+ 0 - 17
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/shaclproperty.oml

@@ -1,17 +0,0 @@
-vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/shaclproperty#> as shaclproperty {
-	extends <http://www.w3.org/2001/XMLSchema#> as xsd
-	extends <http://www.w3.org/2000/01/rdf-schema#> as rdfs
-	extends <http://ua.be/sdo2l/vocabulary/base/base#> as base
-
-	extends <http://ua.be/sdo2l/vocabulary/formalisms/processtraces#> as traces
-
-	concept SHACL-Property :> base:IdentifiedThing, traces:Artifact
-	
-	@rdfs:comment "The has filename property"
-	scalar property hasFilePathname [
-		domain SHACL-Property
-		range xsd:string
-	]
-	
-	
-}

+ 0 - 8
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/system.oml

@@ -1,8 +0,0 @@
-vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/system#> as system {
-	extends <http://www.w3.org/2000/01/rdf-schema#> as rdfs
-	extends <http://ua.be/sdo2l/vocabulary/base/base#> as base
-	
-	@rdfs:comment "A system is the element to be designed."
-	concept System :> base:IdentifiedThing 
-	
-}

+ 0 - 111
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/tabular.oml

@@ -1,111 +0,0 @@
-vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/tabular#> as tabular {
-    extends <http://www.w3.org/2001/XMLSchema#> as xsd
-    extends <http://ua.be/sdo2l/vocabulary/formalisms/file#> as file
-    extends <http://ua.be/sdo2l/vocabulary/base/base#> as base
-    extends <http://www.w3.org/2000/01/rdf-schema#> as rdfs
-    extends <http://bipm.org/jcgm/vim4#> as vim4
-
-
-    aspect Collection 
-    
-    concept TabularData :> file:Data, file:File
-    concept Cell        :> file:Data
-    concept Row         :> Collection
-    concept Column      :> Collection 
-    
-        
-    relation entity HasUnit [
-        from Collection
-        to vim4:MeasurementUnit
-        forward hasUnit
-        reverse isUnitOf
-        asymmetric
-        functional
-    ] 
-    
-    scalar property hasBasicType [
-    	domain Column
-    	range base:BasicType
-    	functional
-    ]
-    
-    // TODO This is not a valid rule and will be ignored by the reasoner
-    @rdfs:comment "Infers that when the type of the column is numeric it may have a unit"
-	rule NumericTypeInfersUnit [
-		hasBasicType(c, t) ^ base:BasicType(t) -> hasUnit(c, u)  
-	] 
-    
-
-    scalar property holdsContent [
-        domain Cell
-        range xsd:string
-        functional
-    ]
-
-    scalar property hasRowPosition [
-        domain Cell
-        // Maybe limit to positive integers here already, no need for shacl that way
-        range xsd:int
-    ]
-
-    scalar property hasColumnPosition [
-        domain Cell
-        // Maybe limit to positive integers here already, no need for shacl that way
-        range xsd:int
-    ]
-
-    scalar property hasRowId [
-        domain Row
-        // Maybe limit to positive integers here already, no need for shacl that way
-        range xsd:int
-    ]
-
-    scalar property hasColumnId [
-        domain Column
-        // Maybe limit to positive integers here already, no need for shacl that way
-        range xsd:int
-    ]
-
-    enumerated scalar HeadingModifier [
-        "yes",
-        "no"
-    ]
-
-    scalar property hasHeadingModifier [
-        domain Row
-        range HeadingModifier
-        functional
-    ]
-
-    concept HeaderRow :> Row [
-        restricts scalar property hasHeadingModifier to "yes"
-    ]
-
-    relation entity HasCell [
-        from Collection
-        to Cell
-        forward hasCell
-        reverse isInCollection
-    ]
-
-    relation entity HasCells [
-        from TabularData
-        to Cell
-        forward hasCells
-        reverse isCellOfTabularData
-    ]
-
-    relation entity HasRows [
-        from TabularData
-        to Row
-        forward hasRows
-        reverse isRowOfTabularData
-    ]
-
-    relation entity HasColumns [
-        from TabularData
-        to Column
-        forward hasColumns
-        reverse isColumnOfTabularData
-    ]
-}

+ 0 - 27
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/text.oml

@@ -1,27 +0,0 @@
-vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/text#> as text {
-    extends <http://www.w3.org/2001/XMLSchema#> as xsd
-
-    extends <http://ua.be/sdo2l/vocabulary/formalisms/file#> as file
-
-
-    concept TextData :> file:Data, file:File
-    concept TextLine :> file:Data
-
-    scalar property isOnLine [
-        domain TextLine
-        range xsd:int
-        functional
-    ]
-
-    scalar property holdsTextData [
-        domain TextLine
-        range xsd:string
-    ]
-
-    relation entity HasTextLine [
-        from TextData
-        to TextLine
-        forward hasTextLine
-        reverse isInTextFile
-    ]
-}

+ 0 - 17
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/traceability_model.oml

@@ -1,17 +0,0 @@
-vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/traceability_model#> as traceability_model {
-	extends <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-		
-	// A traceability link is just a link :)
-	relation entity TraceabilityLink :> object_diagram:Link [
-		from object_diagram:Object
-		to object_diagram:Object
-		forward traceLinkTo
-		reverse traceLinkFrom
-		asymmetric
-		irreflexive
-	]
-	
-	concept TraceabilityModel :> object_diagram:Model [
-		restricts all relation object_diagram:hasObject to TraceabilityLink
-	]
-}

+ 0 - 16
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/violation.oml

@@ -1,16 +0,0 @@
-vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/violation#> as violation {
-	extends <http://www.w3.org/2001/XMLSchema#> as xsd
-	extends <http://www.w3.org/2000/01/rdf-schema#> as rdfs
-	extends <http://ua.be/sdo2l/vocabulary/base/base#> as base
-	extends <http://ua.be/sdo2l/vocabulary/formalisms/processtraces#> as traces
-
-	concept ViolationReport :> base:IdentifiedThing, traces:Artifact
-	
-	@rdfs:comment "The has filename property"
-	scalar property hasFilePathname [
-		domain ViolationReport
-		range xsd:string
-	]
-	
-	
-}

+ 0 - 137
backend/ontology/src/oml/ua.be/sdo2l/vocabulary/formalisms/xopp.oml

@@ -1,137 +0,0 @@
-// Vocabulary for the Xournal++ file format
-vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/xopp#> as xopp {
-
-	extends <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-	extends <http://ua.be/sdo2l/vocabulary/formalisms/dict#> as dict
-	extends <http://www.w3.org/2001/XMLSchema#> as xsd
-
-	aspect element :> object_diagram:Object []
-	
-	aspect LayerElement :> element [
-		restricts relation inLayer to exactly 1
-		restricts scalar property hasText to exactly 1
-	]
-	scalar property hasText :> object_diagram:hasField [
-		domain LayerElement
-		range xsd:string
-		functional
-	]
-
-	relation entity HasXMLAttribute :> object_diagram:Link [
-		from LayerElement
-		to XMLAttribute
-		forward hasAttribute
-		reverse ofLayerElement
-		inverse functional
-	]
-	
-	concept XMLAttribute :> element, dict:DictEntry [
-		restricts relation ofLayerElement to exactly 1
-	]
-	
-	concept Text :> LayerElement []
-	concept Stroke :> LayerElement []
-	
-	concept Layer :> element [
-		restricts relation inPage to exactly 1
-	]
-	
-	relation entity HasLayerElement :> object_diagram:Link [
-		from Layer
-		to LayerElement
-		forward hasElement
-		reverse inLayer
-		inverse functional
-		asymmetric
-		irreflexive
-	]
-	
-	concept Page :> element [
-		restricts relation inFile to exactly 1
-		restricts scalar property hasWidth to exactly 1
-		restricts scalar property hasHeight to exactly 1
-		restricts scalar property hasBackgroundType to exactly 1
-		restricts scalar property hasBackgroundColor to exactly 1
-		restricts scalar property hasBackgroundStyle to exactly 1
-	]
-
-	scalar property hasWidth :> object_diagram:hasField [
-		domain Page
-		range xsd:decimal
-		functional
-	]
-	scalar property hasHeight :> object_diagram:hasField [
-		domain Page
-		range xsd:decimal
-		functional
-	]
-	scalar property hasBackgroundType :> object_diagram:hasField [
-		domain Page
-		range xsd:string
-		functional
-	]
-	scalar property hasBackgroundColor :> object_diagram:hasField [
-		domain Page
-		range xsd:string
-		functional
-	]
-	scalar property hasBackgroundStyle :> object_diagram:hasField [
-		domain Page
-		range xsd:string
-		functional
-	]
-	relation entity HasLayer :> object_diagram:Link [
-		from Page
-		to Layer
-		forward hasLayer
-		reverse inPage
-		inverse functional
-		asymmetric
-		irreflexive
-	]
-	
-	concept File :> element [
-		restricts relation hasPage to min 1
-		
-		restricts scalar property hasCreator to exactly 1
-		restricts scalar property hasFileVersion to exactly 1
-		restricts scalar property hasTitle to exactly 1
-	]
-	
-	scalar property hasCreator :> object_diagram:hasField [
-		domain File
-		range xsd:string
-		functional
-	]
-	scalar property hasFileVersion :> object_diagram:hasField [
-		domain File
-		range xsd:integer
-		functional
-	]
-	scalar property hasTitle :> object_diagram:hasField [
-		domain File
-		range xsd:string
-		functional
-	]
-	scalar property hasPreview :> object_diagram:hasField [
-		domain File
-//		range xsd:base64Binary // PNG-encoded // Doesn't seem to be working, workaround below
-		range xsd:string // Workaround
-		functional
-	]	
-	
-	relation entity HasPage :> object_diagram:Link [
-		from File
-		to Page
-		forward hasPage
-		reverse inFile
-		asymmetric
-		irreflexive
-		inverse functional
-	]
-	
-	// A Xournal++ file:
-	concept Model :> object_diagram:Model [
-		restricts all relation object_diagram:hasObject to element
-	]
-}

+ 0 - 44
backend/ontology/src/shacl/pt_time_consistency.ttl

@@ -1,44 +0,0 @@
-@prefix sh:   <http://www.w3.org/ns/shacl#> .
-@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix xsd:  <http://www.w3.org/2001/XMLSchema#> .
-@prefix owl:  <http://www.w3.org/2002/07/owl#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix time: <http://www.w3.org/2006/time#> .
-
-@prefix base:          <http://ua.be/sdo2l/vocabulary/base#> .
-@prefix tabular:       <http://ua.be/sdo2l/vocabulary/base/tabular#> .
-@prefix process-trace: <http://ua.be/sdo2l/vocabulary/processtraces#> .
-@prefix ftgpm-shapes:  <http://ua.be/sdo2l/vocabulary/tabular-shapes#> .
-
-ftgpm-shapes:
-  a owl:Ontology ;
-  owl:imports sh: ;
-  sh:declare [ sh:prefix "time" ;    sh:namespace "http://www.w3.org/2006/time#"^^xsd:anyURI ; ] ;
-  sh:declare [ sh:prefix "owl" ;     sh:namespace "http://www.w3.org/2002/07/owl#"^^xsd:anyURI ; ] ;
-  sh:declare [ sh:prefix "rdf" ;     sh:namespace "http://www.w3.org/1999/02/22-rdf-syntax-ns#"^^xsd:anyURI ; ] ;
-  sh:declare [ sh:prefix "xsd" ;     sh:namespace "http://www.w3.org/2001/XMLSchema#"^^xsd:anyURI ; ] ;
-  sh:declare [ sh:prefix "afn" ;     sh:namespace "http://jena.apache.org/ARQ/function#"^^xsd:anyURI ; ] ;
-  sh:declare [ sh:prefix "tabular" ; sh:namespace "http://ua.be/sdo2l/vocabulary/base/tabular#"^^xsd:anyURI ; ] .
-
-# TODO Fix this to get the actual times
-# 1. Need to get the 2 corresponding events (now we assume we have both start and end in the same individual)
-ftgpm-shapes:ot_time_consistency
-  a sh:NodeShape ;
-  sh:targetClass process-trace:Event ;
-  sh:sparql [
-    a sh:SPARQLConstraint ;
-    sh:message "Proces trace Event end date must be greater than or equal to the begin Date.";
-    sh:select
-      """
-	  SELECT $this (?beginTime AS ?intervalStart) (?endTime AS ?intervalEnd)
-      WHERE {
-        $this     process-trace:hasTime        ?time .
-        ?time     process-trace:ReferenceBegin ?beginIRI ;
-                  process-trace:ReferenceEnd   ?endIRI .
-        ?beginIRI time:inXSDDate               ?beginDate .
-        ?endIRI   time:inXSDDate               ?endDate .
-        FILTER  (!(?endDate >= ?beginDate))
-      }
-	  """ ;
-  ] ;
-  sh:closed false .

+ 0 - 8
backend/ontology/src/sparql/GetObjects.sparql

@@ -1,8 +0,0 @@
-# Just get all the "objects"
-
-PREFIX object_diagram: <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#>
-
-SELECT ?object
-WHERE {
-	?object a object_diagram:Object .
-} 

+ 0 - 12
backend/ontology/src/sparql/GetTypesWithoutSubType.sparql

@@ -1,12 +0,0 @@
-prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
-prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
-PREFIX owl:  <http://www.w3.org/2002/07/owl#>
-
-SELECT ?type
-WHERE {
-	?type rdf:type owl:Class
-	NOT EXISTS {
-		?subtype rdfs:subClassOf ?type
-		FILTER(?subtype != ?type)
-	}
-}

+ 0 - 48
backend/ontology/src/sparql/WhatIsCell.sparql

@@ -1,48 +0,0 @@
-# This query shows how we can ask any incoming/outgoing traceability links of a drawio cell, and what those links point to
-
-PREFIX object_diagram: <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#>
-PREFIX drawio: <http://ua.be/sdo2l/vocabulary/formalisms/drawio#>
-PREFIX cs_as: <http://ua.be/sdo2l/vocabulary/formalisms/cs_as#>
-prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
-prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
-PREFIX oml: <http://opencaesar.io/oml#>
-PREFIX purl: <http://purl.org/dc/elements/1.1/>
-PREFIX trac: <http://ua.be/sdo2l/vocabulary/formalisms/traceability_model#>
-PREFIX owl:  <http://www.w3.org/2002/07/owl#>
-
-SELECT DISTINCT ?cell ?rel_type ?as_element ?as_type 
-WHERE {
-	?cell drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-2" .
-	
-	# Get all incoming and outgoing traceability links for "?cell":
-	{
-		?rel a trac:TraceabilityLink .
-		?rel oml:hasSource ?cell .
-		?rel oml:hasTarget ?as_element .
-	} UNION {
-		?rel a trac:TraceabilityLink .
-		?rel oml:hasTarget ?cell .
-		?rel oml:hasSource ?as_element .
-	}
-	
-	?rel a ?rel_type .
-	?rel_type rdfs:subClassOf trac:TraceabilityLink .
-	
-	# Only interested here in the most concrete type of the traceability link:
-	NOT EXISTS {
-		?more_concrete_type rdfs:subClassOf ?rel_type .
-		?rel a ?more_concrete_type .
-		FILTER(?more_concrete_type != ?rel_type) # needed because every type is its own subclass
-	}
-	
-	?as_element a ?as_type .
-	?as_type rdfs:subClassOf object_diagram:Object . # restrict types to objects
-	
-	# Only get concrete types:
-	NOT EXISTS {
-		?another_more_concrete_type rdfs:subClassOf ?as_type .
-		?as_element a ?another_more_concrete_type
-		FILTER(?another_more_concrete_type != ?as_type)
-		#?as_type purl:type oml:Aspect .
-	}
-}

+ 0 - 23
backend/ontology/src/sparql/WhatIsDiagram.sparql

@@ -1,23 +0,0 @@
-# This query shows how we can ask for any drawio cell the different types of AS elements that it represents
-
-PREFIX object_diagram: <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#>
-PREFIX drawio: <http://ua.be/sdo2l/vocabulary/formalisms/drawio#>
-PREFIX cs_as: <http://ua.be/sdo2l/vocabulary/formalisms/cs_as#>
-PREFIX rdf: <http://www.w3.org/2000/01/rdf-schema#>
-PREFIX oml: <http://opencaesar.io/oml#>
-PREFIX purl: <http://purl.org/dc/elements/1.1/>
-
-SELECT DISTINCT ?cell ?as_element ?model ?model_type
-WHERE {
-	?cell drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-6" .
-	?cell cs_as:parsedAs ?as_element .
-	
-	?as_element object_diagram:inModel ?model .
-	?model a ?model_type .
-	?model_type rdf:subClassOf object_diagram:Model . 
-	
-	# only get concrete types:
-	NOT EXISTS {
-		?model_type purl:type oml:Aspect .
-	}
-}

File diff suppressed because it is too large
+ 0 - 10
backend/shape_lib/ftg.xml


File diff suppressed because it is too large
+ 0 - 9
backend/shape_lib/pm.xml


+ 0 - 2
config/backend.env

@@ -1,2 +0,0 @@
-WEE_ENDPOINT=https://wee.rys.app
-FUSEKI_ENDPOINT=https://fuseki.rys.app

File diff suppressed because it is too large
+ 0 - 10
config/drawio.env


+ 0 - 2
config/fuseki.env

@@ -1,2 +0,0 @@
-ADMIN_PASSWORD=ChangeThisFusekiPasswordBeforeDeployment
-JVM_ARGS=-Xmx2g

backend/shape_lib/common.xml → data/backend/shape_lib/common.xml


File diff suppressed because it is too large
+ 1 - 0
data/backend/shape_lib/ftg.xml


File diff suppressed because it is too large
+ 1 - 0
data/backend/shape_lib/pm.xml


backend/shape_lib/pt.xml → data/backend/shape_lib/pt.xml


backend/shape_lib/ss.xml → data/backend/shape_lib/ss.xml


+ 3 - 3
drawio/dtdesign.js

@@ -1,11 +1,11 @@
 Draw.loadPlugin(function(ui) {
 
-const WEE = "https://wee.rys.app";
+const WEE = "http://wee:8081";
 
-const BACKEND = "https://dtb.rys.app";
+const BACKEND = "https://backend:5000";
 const EXPECTED_BACKEND_VERSION = 6; // expected backend version
 
-const SPARQL_SERVER   = "https://fuseki.rys.app"
+const SPARQL_SERVER   = "https://fuseki:3030"
 const SPARQL_ENDPOINT = "/SystemDesignOntology2Layers/"
 
 const dropVocabularyPrefix = str => str.substring(41);

+ 839 - 0
data/drawio/ftgpm.js

@@ -0,0 +1,839 @@
+Draw.loadPlugin(function(ui) {
+
+  const model = ui.editor.graph.model;
+
+  const defaultConfig = {
+    // When making an activity wider, the x-position of ports will be scaled proportionally to the new width, and vice-versa with height and y-position. This may be annoying when simply resizing an activity to add an extra port.
+    movePortsOnResizeActivity: false,
+    // The new algorithm probably gives better results under all circumstances.
+    newPortSnappingAlgorithm: true,
+
+    // Edge styles.
+    edgeStyleCtrlFlow: "edgeStyle=orthogonalEdgeStyle;endArrow=classic;rounded=0;html=1;strokeWidth=2;fontSize=14;strokeColor=#004C99;jumpStyle=gap;",
+    edgeStyleDataFlow: "edgeStyle=orthogonalEdgeStyle;endArrow=open;rounded=0;html=1;strokeWidth=1;fontSize=14;fontColor=#000000;fillColor=#d5e8d4;strokeColor=#6D9656;endFill=0;jumpStyle=gap;",
+    edgeStyleTypedBy: "edgeStyle=0;endArrow=blockThin;html=1;strokeWidth=1;fontSize=14;fontColor=#000000;dashed=1;endFill=1;endSize=6;strokeColor=#999999;",
+    edgeStyleParentVersion: "edgeStyle=orthogonalEdgeStyle;endArrow=classic;rounded=0;html=1;fontSize=11;fontColor=#000000;fillColor=#fff2cc;strokeColor=#d6b656;rounded=0;jumpStyle=gap;",
+    edgeStyleSSLink: "edgeStyle=0;endArrow=blockThin;html=1;fontSize=11;strokeColor=#694B2E;rounded=0;dashed=1;dashPattern=1 4;endFill=1;",
+    edgeStyleComment: "edgeStyle=0;endArrow=none;dashed=1;html=1;",
+
+
+    portLabelOffsetEdgeDirection: 22,
+    portLabelOffsetPerpendicularToEdgeDirection: 24,
+  };
+
+  let currentConfig;
+
+  const existingConfig = window.localStorage.getItem('ftgpmConfig');
+  if (existingConfig === null) { // unlike Object and Map, localStorage returns 'null' when item doesn't exist...
+    currentConfig = {};
+  } else {
+    console.log("Have existing ftgpm config...", existingConfig)
+    currentConfig = JSON.parse(existingConfig);
+  }
+
+  // Configuration dialog window:
+  function createFtgpmConfigWindow() { // only called once - this is only a function in order not to pollute namespace
+
+    // Drawio has no decent abstraction for UI elements or even displaying a dialog window.
+    // The following is based on code from src/main/webapp/js/diagramly/Dialogs.js
+    const wndDiv = document.createElement('div');
+      wndDiv.style.userSelect = 'none';
+      wndDiv.style.overflow = 'hidden';
+      wndDiv.style.padding = '10px';
+      wndDiv.style.height = '100%';
+    const wnd = new mxWindow("FTG+PM Plugin Configuration",
+      wndDiv, 100, 100, 640, 570, true, true);
+      wnd.destroyOnClose = false;
+      wnd.setMaximizable(false);
+      wnd.setResizable(false);
+      wnd.setClosable(true);
+      wnd.addListener('show', mxUtils.bind(this, function() {
+        statusText.innerHTML = "";
+      }));
+
+    function createConfig(labelText, json, readonly) {
+      const columnDiv = document.createElement('div');
+      columnDiv.style.display = 'inline-block';
+
+      const label = document.createElement('label');
+      const textarea = document.createElement('textarea');
+      label.setAttribute('for', textarea);
+      label.innerHTML = labelText;
+      textarea.setAttribute('wrap', 'off');
+      textarea.setAttribute('spellcheck', 'false');
+      textarea.setAttribute('autocorrect', 'off');
+      textarea.setAttribute('autocomplete', 'off');
+      textarea.setAttribute('autocapitalize', 'off');
+      textarea.setAttribute('wrap', 'hard');
+      if (readonly) {
+        textarea.setAttribute('readonly', 'true');
+      }
+      textarea.value = JSON.stringify(json, null, 2);
+      textarea.style.overflow = 'auto';
+      textarea.style.resize = 'none';
+      textarea.style.width = '300px';
+      textarea.style.height = '360px';
+      textarea.style.marginBottom = '16px';
+
+      columnDiv.appendChild(label);
+      mxUtils.br(columnDiv);
+      columnDiv.appendChild(textarea);
+      return [columnDiv, textarea];
+    }
+
+    const [defaultColumn] = createConfig("Default config (hardcoded & read-only):", defaultConfig, true);
+    const [customColumn, customTextArea] = createConfig("Custom config (acts as an 'overlay' on top of default config):", currentConfig, false);
+    wndDiv.appendChild(defaultColumn);
+    wndDiv.appendChild(customColumn);
+
+    mxUtils.br(wndDiv);
+
+    const buttonsDiv = document.createElement('div');
+    buttonsDiv.style.textAlign = 'right';
+    const statusText = document.createElement('div');
+    statusText.style.display = 'inline-block';
+
+    // attempts to save user configuration and displays status text as a side effect
+    // returns true if all went well
+    function saveConfigurationAndDisplayStatus() {
+      let parsed;
+      try {
+        parsed = JSON.parse(customTextArea.value); // may throw
+      } catch (parseErr) {
+        statusText.innerHTML = "Parse error: " + parseErr.toString();
+        statusText.style.color = 'red';
+        return false;
+      }
+      if (typeof parsed !== 'object' || Array.isArray(parsed) || parsed === null) {
+        statusText.innerHTML = "JSON value is not an object";
+        statusText.style.color = 'red';
+        return false;
+      }
+      currentConfig = parsed;
+      window.localStorage.setItem('ftgpmConfig', JSON.stringify(parsed));
+      customTextArea.value = JSON.stringify(parsed, null, 2); // prettify
+      statusText.innerHTML = "Configuration successfully set and saved (in window.localStorage)";
+        statusText.style.color = 'green';
+      return true;
+    }
+
+    const applyButton =  mxUtils.button("Apply", saveConfigurationAndDisplayStatus);
+    applyButton.className = 'geBtn gePrimaryBtn';
+    applyButton.style.float = 'none'; // override geBtn style
+
+    const resetButton = mxUtils.button("Reset", function() {
+      customTextArea.value = JSON.stringify(currentConfig, null, 2);
+    });
+    resetButton.className = 'geBtn';
+    resetButton.style.float = 'none'; // override geBtn style
+
+    buttonsDiv.appendChild(statusText);
+    buttonsDiv.appendChild(applyButton);
+    buttonsDiv.appendChild(resetButton);
+
+    // hacks buttons:
+    const forceEdgeStyleButton = mxUtils.button("Apply style rules to all edges", function() {
+      if (saveConfigurationAndDisplayStatus()) {
+        model.beginUpdate();
+        for (const [cellId, cell] of Object.entries(model.cells)) {
+          applyCellStyleFromConfig(cell);
+        }
+        model.endUpdate();
+      }
+    });
+    const forcePortSnapButton = mxUtils.button("Re-snap ports to their activities and re-position port labels", function() {
+      if (saveConfigurationAndDisplayStatus()) {
+        model.beginUpdate();
+        for (const [cellId, cell] of Object.entries(model.cells)) {
+          if (cell.geometry) {
+            // we'll force a geometry update:
+            const newGeometry = cell.geometry.clone();
+            snapToBorderIfCellIsPortAndParentIsActivity(cell, newGeometry);
+            model.setGeometry(cell, newGeometry);
+          }
+        }
+        model.endUpdate();
+      }
+    })
+    forceEdgeStyleButton.className = 'geBtn';
+    forceEdgeStyleButton.style.float = 'none'; // override geBtn style
+    forcePortSnapButton.className = 'geBtn';
+    forcePortSnapButton.style.float = 'none'; // override geBtn style
+
+    hacksDiv = document.createElement('div');
+    hacksDiv.appendChild(document.createTextNode("Hacks: (use undo if you fuck things up)"));
+    mxUtils.br(hacksDiv);
+    hacksDiv.appendChild(forceEdgeStyleButton);
+    mxUtils.br(hacksDiv);
+    hacksDiv.appendChild(forcePortSnapButton);
+
+    wndDiv.appendChild(buttonsDiv);
+    mxUtils.br(wndDiv);
+    wndDiv.appendChild(hacksDiv);
+
+    return wnd;
+  }
+
+  const ftgpmConfigWindow = createFtgpmConfigWindow();
+
+  function getFromConfig(parameter) {
+    if (currentConfig.hasOwnProperty(parameter)) {
+      return currentConfig[parameter];
+    } else {
+      return defaultConfig[parameter];
+    }
+  }
+
+
+  // // Force style window:
+  // const forceStyleDiv = document.createElement('div');
+
+  // const forceStyleWindow = new mxWindow("FTG+PM: Force Style Rules",
+  //   forceStyleDiv, 200, 200, 400, 90, true, true);
+  // forceStyleWindow.destroyOnClose = false;
+  // forceStyleWindow.setMaximizable(false);
+  // forceStyleWindow.setResizable(false);
+  // forceStyleWindow.setClosable(true);
+
+  // const forceEdgeStyleButton = mxUtils.button("Apply style rules to all edges", function() {
+  //   for (const [cellId, cell] of Object.entries(model.cells)) {
+  //     applyCellStyleFromConfig(cell);
+  //   }
+  // });
+  // const forcePortSnapButton = mxUtils.button("Re-snap ports to their activities and re-position port labels", function() {
+  //   for (const [cellId, cell] of Object.entries(model.cells)) {
+  //     if (cell.geometry) {
+  //       // we'll force a geometry update:
+  //       const newGeometry = cell.geometry.clone();
+  //       snapToBorderIfCellIsPortAndParentIsActivity(cell, newGeometry);
+  //       model.setGeometry(cell, newGeometry);
+  //     }
+  //   }
+  // })
+  // forceEdgeStyleButton.className = 'geBtn';
+  // forcePortSnapButton.className = 'geBtn';
+  // forceStyleDiv.appendChild(forceEdgeStyleButton);
+  // mxUtils.br(forceStyleDiv);
+  // forceStyleDiv.appendChild(forcePortSnapButton);
+
+  window.onkeyup = function(e) {
+    // Shortcut to show FTG+PM config:
+    if (e.ctrlKey && e.key === '.') {
+      ftgpmConfigWindow.show();
+    }
+    // // Shortcut to apply style from config to all edges:
+    // if (e.ctrlKey && e.key === 'Enter') {
+    //   forceStyleWindow.show();
+    // }
+  }
+
+
+  // For auto-updating port orientation
+  // Note: this is only the 'shape', not the full style
+  const encodedPortShapes = {
+    in: {
+      l: `stencil(pZNdD4IgFIZ/DbcNYa3rZvU/yE7JRHBAX/++Y0c3zXC2btzO+4wHfFEm81CqBpjgJZM7JoRc4wPHO42C06hCA0Wk7Ka8VkcDREL0roK7PsXOoG0JXseWyj3jW9Y6OJN54axFiXY2jMiAo0xpi2v5g2Td9s9uWnWna3CHGiJ4yjNKmTgsFmf/iGWOSep1ZH5URXXx7mpP01VJdnYevoAeN6rtdwJ6XLsbJFuba6cXGG0Hgg9Dtun7+UUydshFhsK4ADNXiXmiCWxQG0NfY+rKJh2/U/oD3sEL)`,
+      r: `stencil(pZNdD4IgFIZ/DbcNYa3rZvU/yE7JQnBAVv++o0eXH9ls3bid9xkP8qJMpiFXJTDBcyZ3TAi5xgeOdxoFp1GFErJIWaW8VkcDREL07gp3fYqtQdscvI41lXvGt6x2cCbTzFmLEu1sGJAeR5nSFtfyB8na7Z/ttGrfrsQdCojgKU8oZeKwWJz8I5YpJnPHkelRZdeLdzd7mq6aZWfn4QPocKnqfiegw4Wr4H24cW3f6ukMRtueYShINl0/vzhGErlIkRkX4MtdYj5TBVaojaHPce7OJiU3Kf0CTfAC)`,
+      t: `stencil(nZPRDoIgGIWfhtuGsNZ1s3oP0r9kIjggrbfv1183S23VDds5Z3zAAZhMQ6FqYIIXTB6YEILjgLIlKbckVaghi+Q1ymt1NkBJiN6V0Oo8DgRtC/A6dqk8Mr5nHZIzmWbOWoRoZ8NLMskRprTFufxOML4ZNvAYNKkaV6gggic3IZeJ09/g5BewTNFZO45Mzyorr97dbD6ftZpdnIeFYIxr1fU7C8a4cg1MDrfU2XI7I8BoOwHIxdZ/ISS7t4K/g2TGBfhwleivNIENamPoNa5d2azj3qUf0BtP)`,
+      b: `stencil(nZNRD4IgFIV/Da8NYa3nZvU/EG/JQnBAWv++q1c3m9pWL27nnPHJPQCTeaxUA0zwiskTE0Jw/KDsSMo9SRUb0Im8VgWjCguUxBT8HTpTppFgXAXBpD6VZ8aPrEdyJnPtnUOI8S5+JLMcYco4XMufBOO7cQOvUZNq8A81JAjkZuQycfkbnP0Cljk6W+PIvFD6fgv+4crlqs3s6gOsBFPcqL7fRTDFtW9hNtzHaJNcr2ciWONmhOywXvwvDLn/Yxva+ghfzhL9jSqwQmMtXcetM1uUPLj0BAbjDQ==)`,
+    }
+  };
+  encodedPortShapes.out = {
+    r: encodedPortShapes.in.l,
+    l: encodedPortShapes.in.r,
+    t: encodedPortShapes.in.b,
+    b: encodedPortShapes.in.t,
+  }
+
+  // Styles for our different edge types
+  // Mapping from 'pmRole' attribute to key in config.
+  const edgeStyles = {
+    ctrl_flow: 'edgeStyleCtrlFlow',
+    data_flow: 'edgeStyleDataFlow',
+    typed_by: 'edgeStyleTypedBy',
+    parent_version: 'edgeStyleParentVersion',
+    comment_edge: 'edgeStyleComment',
+  };
+
+  function applyCellStyleFromConfig(cell) {
+    const ftgpmType = cell.getAttribute(TYPE_ATTR);
+    if (ftgpmType) {
+      if (edgeStyles.hasOwnProperty(ftgpmType)) {
+        setEdgeStyle(cell, ftgpmType);
+      }
+      // TODO: do the same on nodes.
+    }
+  }
+
+
+  const TYPE_ATTR = "pmRole"; // cell attribute holding the ftgpm type
+
+  function parseStyle(str) {
+    const pairs = str.split(';').filter(s => s !== '');
+    const map = new Map();
+    pairs.map(pair => {
+      const [key,value] = pair.split('=');
+      map.set(key, value);
+    });
+    return map;
+  }
+
+  function unparseStyle(map) {
+    let str = "";
+    for (const [key, value] of map.entries()) {
+      if (value === undefined) {
+        str += key + ';';
+      } else {
+        str += key + '=' + value + ';';
+      }
+    }
+    return str;
+  }
+
+  // copy selected keys (=array) from fromMap to toMap
+  function mapAssign(toMap, fromMap, keys) {
+    for (const key of keys) {
+      const value = fromMap.get(key);
+      if (value !== undefined) {
+        toMap.set(key, value);
+      }
+    }
+  }
+
+  function reverseEdge(edge, sourceCell, targetCell) {
+    // Reverse source and target
+    ui.editor.graph.model.setTerminals(edge, targetCell, sourceCell);
+
+    // Reverse 'waypoints'
+    if (edge.geometry.points) {
+      const newGeometry = edge.geometry.clone();
+      newGeometry.points.reverse();
+      ui.editor.graph.model.setGeometry(edge, newGeometry);
+    }
+
+    // Reverse entry and exit points
+    const oldStyle = parseStyle(model.getStyle(edge));
+    const newStyle = new Map(oldStyle);
+    // entry becomes exit
+    newStyle.set('entryX', oldStyle.get('exitX'));
+    newStyle.set('entryY', oldStyle.get('exitY'));
+    // exit becomes entry
+    newStyle.set('exitX', oldStyle.get('entryX'));
+    newStyle.set('exitY', oldStyle.get('entryY'));
+    // entryD becomes exitD
+    newStyle.set('entryDx', oldStyle.get('exitDx'));
+    newStyle.set('entryDy', oldStyle.get('exitDy'));
+    // exitD becomes entryD
+    newStyle.set('exitDx', oldStyle.get('entryDx'));
+    newStyle.set('exitDy', oldStyle.get('entryDy'));
+    model.setStyle(edge, unparseStyle(newStyle));
+  }
+
+  // Simply sets the data attribute TYPE_ATTR to ftgpm_type.
+  function setFtgpmType(cell, ftgpm_type) {
+    // Set type attribute
+    let value = model.getValue(cell);
+    if (!value) {
+      // Workaround: 'value' must be an XML element
+      value = mxUtils.createXmlDocument().createElement('object');
+      value.setAttribute('label', '');
+    }
+    value.setAttribute(TYPE_ATTR, ftgpm_type);
+    model.setValue(cell, value);    
+  }
+
+  function setEdgeStyle(edge, style_type) {
+    // Update style
+  
+    // Workaround: don't overwrite connection points
+    const oldstyle = parseStyle(model.getStyle(edge));
+    const newstyle = new Map(parseStyle(getFromConfig(edgeStyles[style_type])));
+    mapAssign(newstyle, oldstyle, [
+      // retain these properties from oldstyle:
+      "entryX", "entryY", "entryDx", "entryDy",
+      "exitX",  "exitY",  "exitDx",  "exitDy"
+    ]);
+    model.setStyle(edge, unparseStyle(newstyle));
+  }
+
+  function isArtifact(type) {
+    return type === "artifact";
+  }
+  function isFormalism(type) {
+    return type === "formalism";
+  }
+  function isTransformation(type) {
+    return type === "auto_transformation" || type === "transformation" || type === "comp_transformation";
+  }
+  function isActivityNode(type) {
+    return type === "autom_activity" || type === "activity" || type === "comp_activity";
+  }
+  function isControlFlowPort(type) {
+    return type === "ctrl_in" || type === "ctrl_out";
+  }
+  function isDataPort(type) {
+    return type === "data_in" || type === "data_out";
+  }
+  function isInport(type) {
+    return type === "data_in" || type === "ctrl_in";
+  }
+  function isOutport(type) {
+    return type === "data_out" || type === "ctrl_out";
+  }
+  function isPort(type) {
+    return ["data_in", "data_out", "ctrl_in", "ctrl_out"].includes(type);
+  }
+  function isControlFlowNode(type) {
+    return isControlFlowPort(type) || type === "initial" || type === "final" || type === "fork_join";
+  }
+  function isDataFlowNode(type) {
+    return isDataPort(type) || isArtifact(type) || isFormalism(type);
+  }
+  function isTraceEvent(type) {
+    return type === "traceevent_begin" || type === "traceevent_end";
+  }
+  function isArtifactVersion(type) {
+    return type === "artifact_version";
+  }
+  function getFlowType(type) {
+    if (isDataFlowNode(type)) {
+      return "data";
+    }
+    if (isControlFlowNode(type)) {
+      return "ctrl";
+    }
+    // throw new Error("unknown flow type");
+    console.log("unknown flow type");
+  }
+
+  // [ condition, flow-type ]
+  const edgeTypeRules = [
+    // PM control flow
+    [ (src, tgt) => isControlFlowNode(src) && isControlFlowNode(tgt), "ctrl_flow" ],
+
+    // PM data flow
+    [ (src, tgt) => isDataFlowNode(src) && isDataFlowNode(tgt), "data_flow" ],
+
+    // FTG data flow
+    [ (src, tgt) => isTransformation(src) && isFormalism(tgt), "data_flow" ],
+    [ (src, tgt) => isFormalism(src) && isTransformation(tgt), "data_flow" ],
+
+    [ (src,tgt) => isActivityNode(src) && isTransformation(tgt), "typed_by" ],
+    [ (src,tgt) => isArtifact(src) && isFormalism(tgt), "typed_by" ],
+
+    [ (src,tgt) => isTraceEvent(src) && isArtifactVersion(tgt), "data_flow"],
+    [ (src,tgt) => isArtifactVersion(src) && isTraceEvent(tgt), "data_flow"],
+    [ (src,tgt) => isTraceEvent(src) && isTraceEvent(tgt), "ctrl_flow"],
+
+    [ (src,tgt) => src === "traceevent_begin" && tgt === "ctrl_in", "typed_by"],
+    [ (src,tgt) => src === "traceevent_end" && tgt === "ctrl_out", "typed_by"],
+    [ (src,tgt) => isArtifactVersion(src) && isArtifact(tgt), "typed_by"],
+
+    [ (src,tgt) => isArtifactVersion(src) && isArtifactVersion(tgt), "parent_version"],
+
+    [ (src,tgt) => isArtifactVersion(src) && tgt === "storage", "ss_link"],
+    [ (src,tgt) => isArtifactVersion(src) && tgt === "real_object", "ss_link"],
+    [ (src,tgt) => src === "traceevent_begin" && tgt === "service", "ss_link"],
+
+    [ (src,tgt) => src === "comment" || tgt === "comment", "comment_edge"],
+  ];
+
+  // Very specific: This function is used to determine the correct direction of an arrow automatically
+  // An activity or artifact at the highest level (= a direct child of a layer) has level 0
+  // Every time something is nested in an activity, the level increases by 1.
+  // Ports are special: they can only be a child of an activity, but they have the same level as the activity.
+  function getNestedLevel(cell) {
+    function getLvlRecursive(cell) {
+      if (!cell.parent) {
+        throw Error("getNestedLevel called with parentless cell (i.e. cell is root, or is deleted)");
+      }
+      if (model.isLayer(cell)) {
+        return 0;
+        // throw Error("getNestedLevel called with layer cell");
+      }
+      if (cell.parent === model.isLayer(cell.parent)) {
+        return 0;
+      }
+      else if (isActivityNode(cell.parent.getAttribute(TYPE_ATTR))) {
+        return getLvlRecursive(cell.parent) + 1;
+      }
+      else {
+        return getLvlRecursive(cell.parent);
+      }
+    }
+    const baseLevel = getLvlRecursive(cell);
+    if (isPort(cell.getAttribute(TYPE_ATTR))) {
+      return baseLevel - 1;
+    } else {
+      return baseLevel;
+    }
+  }
+
+  function isDirectionless(type) {
+    return isArtifact(type) || type === "fork_join";
+  }
+
+  ui.editor.graph.addListener(mxEvent.CELL_CONNECTED, (_, eventObj) => {
+    // Happens whenever an edge is (dis)connected.
+
+    const edge = eventObj.properties.edge;
+    const sourceCell = edge.source;
+    const targetCell = edge.getTerminal();
+
+    // This will change the edge style WITHIN the transaction of the edit operation.
+    // The terminal-change and style-change will be one edit operation from point of view of undo manager.
+
+    const sourceType = sourceCell ? sourceCell.getAttribute(TYPE_ATTR) : null;
+    const targetType = targetCell ? targetCell.getAttribute(TYPE_ATTR) : null;
+
+    // Update style if necessary
+    for (const [cond, linkType] of edgeTypeRules) {
+      if (cond(sourceType, targetType)) {
+        setFtgpmType(edge, linkType);
+        setEdgeStyle(edge, linkType);
+      }
+    }
+
+    if (sourceCell && targetCell) {
+      // Auto-correct edge direction in certain cases.
+      // We call 'reverseEdge' if we have an illegal situation, but reversing the arrow gives a legal situation.
+      const sourceLvl = getNestedLevel(sourceCell);
+      const targetLvl = getNestedLevel(targetCell);
+
+      // We have 2 flow types: ctrl and data. They remain segregated.
+      if (getFlowType(sourceType) === getFlowType(targetType)) {
+        if (sourceLvl === targetLvl) {
+          // Equally nested ...
+          if (isInport(sourceType) && isOutport(targetType)
+           || isInport(sourceType) && isDirectionless(targetType)
+           || isDirectionless(sourceType) && isOutport(targetType)) {
+            reverseEdge(edge, sourceCell, targetCell);
+          }
+        }
+        else if (sourceLvl === targetLvl + 1) {
+          // Source of arrow is nested deeper ...
+          if (isInport(sourceType) && isInport(targetType)
+           || isDirectionless(sourceType) && isInport(targetType)) {
+            // Should flow from shallowly nested input port to deeply nested input port:
+            reverseEdge(edge, sourceCell, targetCell);
+          }
+        }
+        else if (sourceLvl + 1 === targetLvl) {
+          // Target of arrow is nested deeper ...
+          if (isOutport(sourceType) && isOutport(targetType)
+           || isOutport(sourceType) && isDirectionless(targetType)) {
+            // Should flow from deeply nested output port to shallowly nested output port
+            reverseEdge(edge, sourceCell, targetCell);
+          }
+        }
+      }
+    }
+  });
+
+  function outsideOffset(wOrH) {
+    return 0;
+  }
+  function centerOffset(wOrH) {
+    return -wOrH / 2;
+  }
+  function insideOffset(wOrH) {
+    return -wOrH;
+  }
+
+  // Change this to position ports outside, inside or centered at the edge.
+  const borderOffset = centerOffset;
+
+  function rightOrBottomBorder(wOrH, parentWorH) {
+    return parentWorH + borderOffset(wOrH);
+  }
+  function leftOrTopBorder(wOrH) {
+    return -wOrH - borderOffset(wOrH);
+  }
+
+  function cellCenter(cellGeometry) {
+    // Coordinates are relative to topleft corner of parent shape
+    const {x,y, width, height} = cellGeometry;
+    // Center of cell
+    return {
+      x: x + width/2,
+      y: y + height/2,
+    };
+  }
+
+  // Deprecated snapping algorithm
+  function closestBorder(cellGeometry, parentGeometry) {
+    // Cell center is relative to parent: (0,0) is topleft
+    const c = cellCenter(cellGeometry);
+
+    // We draw two imaginary diagonals through the parent shape, to determine whether the child shape is more close to the top, right, bottom or left side.
+    //
+    //           2
+    //          /
+    //    +----+
+    //    |\ t/|
+    //    |l\/ |
+    //    | /\r|
+    //    |/b \|
+    //    +----+
+    //          \
+    //           1
+    const slope = parentGeometry.height / parentGeometry.width;
+    const above1 = c.y < slope * c.x;
+    const above2 = c.y < parentGeometry.height - slope * c.x;
+
+    if (above1)
+      if (above2)
+        return 't';
+      else
+        return 'r';
+    else
+      if (above2)
+        return 'l';
+      else
+        return 'b';
+  }
+
+  // Improved snapping algorithm
+  function closestBorder2(cellGeometry, parentGeometry) {
+    // Cell center is relative to parent: (0,0) is topleft
+    const c = cellCenter(cellGeometry);
+
+    const slope = 1; // fixed slope, 45 degrees
+
+    const above1 = c.y < slope * c.x;
+    const above3 = c.y < (-slope) * c.x + parentGeometry.height ;
+
+    const above4 = c.y < slope * (c.x - parentGeometry.width) + parentGeometry.height;
+    const above2 = c.y < (-slope) * (c.x - parentGeometry.width);
+
+    if (parentGeometry.width >= parentGeometry.height) {
+      // Parent's width > height
+      //
+      //  1          2
+      //   \        /
+      //    +------+      --> x
+      //    |\ t  /|
+      //    |l\__/ |__ 5
+      //    | /  \r|
+      //    |/ b  \|
+      //    +------+
+      //   /        \
+      //  3          4
+      //    |
+      //    V
+      //    y
+
+      const above5 = c.y < parentGeometry.height / 2;
+
+      if (!above1 && above3) {
+        return 'l';
+      }
+      if (!above2 && above4) {
+        return 'r';
+      }
+      if (above1 && above2 && above5) {
+        return 't';
+      }
+      if (!above3 && !above4 && !above5) {
+        return 'b';
+      }
+    }
+
+    else {
+      // Parent's height > width
+      //  1        2
+      //   \      /
+      //    +----+
+      //    |\ t/|
+      //    | \/ |
+      //    |l | |
+      //    |  | |
+      //    | /\r|
+      //    |/b \|
+      //    +----+
+      //   /   |  \
+      //  3    5   4
+
+      const leftOf5 = c.x < parentGeometry.width / 2;
+
+      if (above1 && above2) {
+        return 't';
+      }
+      if (!above3 && !above4) {
+        return 'b';
+      }
+      if (above3 && !above1 && leftOf5) {
+        return 'l';
+      }
+      if (above4 && !above2 && !leftOf5) {
+        return 'r';
+      }
+    }
+  }
+
+  // Update port shape (so it points in the right direction), move port (and port label) to border of activity.
+  function snapPortToBorder(cell, cellGeometry, parentGeometry, border) {
+    const style = parseStyle(model.getStyle(cell));
+    const type = cell.getAttribute(TYPE_ATTR);
+    const inOrOut = isInport(type) ? "in" : "out";
+    style.set('shape', encodedPortShapes[inOrOut][border]);
+
+    switch (border) {
+      case 't':
+        cellGeometry.width = 35;
+        cellGeometry.height = 20;
+        cellGeometry.y = leftOrTopBorder(cellGeometry.height);
+
+        style.set('align', 'right');
+        style.set('verticalAlign', 'bottom');
+
+        cellGeometry.offset = new mxPoint(
+          -getFromConfig('portLabelOffsetPerpendicularToEdgeDirection'),
+          -getFromConfig('portLabelOffsetEdgeDirection'));
+        break;
+      case 'r':
+        cellGeometry.width = 20;
+        cellGeometry.height = 35;
+        cellGeometry.x = rightOrBottomBorder(cellGeometry.width, parentGeometry.width);
+
+        style.set('align', 'left');
+        style.set('verticalAlign', 'bottom');
+
+        cellGeometry.offset = new mxPoint(
+          getFromConfig('portLabelOffsetEdgeDirection'),
+          -getFromConfig('portLabelOffsetPerpendicularToEdgeDirection'));
+        break;
+      case 'l':
+        cellGeometry.width = 20;
+        cellGeometry.height = 35;
+        cellGeometry.x = leftOrTopBorder(cellGeometry.width);
+
+        style.set('align', 'right');
+        style.set('verticalAlign', 'top');
+
+        cellGeometry.offset = new mxPoint(
+          -getFromConfig('portLabelOffsetEdgeDirection'),
+          getFromConfig('portLabelOffsetPerpendicularToEdgeDirection'));
+        break;
+      case 'b':
+        cellGeometry.width = 35;
+        cellGeometry.height = 20;
+        cellGeometry.y = rightOrBottomBorder(cellGeometry.height, parentGeometry.height);
+
+        style.set('align', 'left');
+        style.set('verticalAlign', 'top');
+
+        cellGeometry.offset = new mxPoint(
+          getFromConfig('portLabelOffsetPerpendicularToEdgeDirection'),
+          getFromConfig('portLabelOffsetEdgeDirection'));
+        break;
+    }
+
+    model.setStyle(cell, unparseStyle(style));
+  }
+
+  function snapToBorderIfCellIsPortAndParentIsActivity(cell, geometry) {
+    const type = cell.getAttribute(TYPE_ATTR);
+    if (isPort(type)) {
+      // Port was moved
+      if (cell.parent) {
+        const parentType = cell.parent.getAttribute(TYPE_ATTR);
+        if (isActivityNode(parentType) || isTransformation(parentType)) {
+          // Snap port to activity border
+          const portSnappingAlgorithm = getFromConfig('newPortSnappingAlgorithm') ? closestBorder2 : closestBorder;
+          // border will be one of: 'l', 'r', 't', 'b'
+          const border = portSnappingAlgorithm(geometry, cell.parent.geometry);
+          snapPortToBorder(cell, geometry, cell.parent.geometry, border);
+        }
+      }
+    }    
+  }
+
+  ui.editor.graph.addListener(mxEvent.MOVE_CELLS, (_, eventObj) => {
+    // High-level event: Happens when the user releases dragged shape(s)
+    for (const cell of eventObj.properties.cells) {
+      snapToBorderIfCellIsPortAndParentIsActivity(cell, cell.geometry);
+    }
+  });
+
+  ui.editor.graph.addListener(mxEvent.RESIZE_CELLS, (_, eventObj) => {
+    // High-level event: Happens when the user resized cell(s)
+    for (let i=0; i<eventObj.properties.cells.length; i++) {
+      const cell = eventObj.properties.cells[i];
+      const type = cell.getAttribute(TYPE_ATTR);
+      if (isActivityNode(type) || isTransformation(type)) {
+        // Activity was resized...
+
+        // In drawio, 'arcSize' of a rounded rectangle is relative to size of shape.
+        // Retain apparent arc size of activity:
+        const style = parseStyle(model.getStyle(cell));
+        const newArcSize = 1000 / Math.sqrt(cell.geometry.width * cell.geometry.height);
+        style.set("arcSize", newArcSize);
+        model.setStyle(cell, unparseStyle(style));          
+
+        if (cell.children) {
+          // Need this for moving contained ports:
+          const prevGeometry = eventObj.properties.previous[i];
+          const scaleW = cell.geometry.width / prevGeometry.width;
+          const scaleH = cell.geometry.height / prevGeometry.height;
+
+          for (const child of cell.children) {
+            const childType = child.getAttribute(TYPE_ATTR);
+            // Keep activity icon in place
+            if (childType === "activityIcon") {
+              newIconGeometry = child.geometry.clone();
+              newIconGeometry.x = cell.geometry.width - 28;
+              newIconGeometry.y = 4;
+              model.setGeometry(child, newIconGeometry);
+            }
+            else if (isPort(childType)) {
+              // Move contained ports
+              const border = closestBorder2(child.geometry, prevGeometry); // < what was the border in the old geometry?
+              const newGeometry = child.geometry.clone();
+              snapPortToBorder(child, newGeometry, cell.geometry, border);
+              if (getFromConfig('movePortsOnResizeActivity')) {
+                // Scale position
+                switch (border) {
+                  case 't':
+                    newGeometry.x = child.geometry.x * scaleW;
+                    break;
+                  case 'l':
+                    newGeometry.y = child.geometry.y * scaleH;
+                    break;
+                  case 'b':
+                    newGeometry.x = child.geometry.x * scaleW;
+                    break;
+                  case 'r':
+                    newGeometry.y = child.geometry.y * scaleH;
+                    break;
+                }
+              }
+              model.setGeometry(child, newGeometry);
+            }
+          }            
+        }
+      }
+    }
+  });
+
+  // Hardcoded primitive shape libraries.
+  // To alter, make changes to the library in the drawio webapp, then 'save' (this downloads the library as XML), and overwrite the file(s) in drawiolibs.
+  Promise.all([
+    fetch("myPlugins/shape_libs/common.xml"),
+    fetch("myPlugins/shape_libs/ftg.xml"),
+    fetch("myPlugins/shape_libs/pm.xml"),
+    fetch("myPlugins/shape_libs/pt.xml"),
+    fetch("myPlugins/shape_libs/ss.xml"),
+  ])
+  .then(all => Promise.all(all.map(response => response.text())))
+  .then(([common, ftg, pm, pt, ss]) => {
+     ui.loadLibrary(new LocalLibrary(ui, ss, "FTG+PM - S/S"));
+     ui.loadLibrary(new LocalLibrary(ui, pt, "FTG+PM - PT"));
+     ui.loadLibrary(new LocalLibrary(ui, pm, "FTG+PM - PM"));
+     ui.loadLibrary(new LocalLibrary(ui, ftg, "FTG+PM - FTG"));
+     ui.loadLibrary(new LocalLibrary(ui, common, "FTG+PM - Common"));
+  });
+
+  // For debugging only
+  window.ui = ui;
+});

+ 20 - 0
data/spendpoint/configuration.toml

@@ -0,0 +1,20 @@
+[server]
+host = "0.0.0.0"
+port = 8000
+
+[[services]]
+name = "outliers"
+namespace = "https://ontology.rys.app/dt/function/outlier"
+call = "outlier_service"
+endpoint = "http://outliers:9090/api/csv/outlier"
+timeout = 60 # How many seconds we wait for a result
+
+[[services]]
+name = "example"
+namespace = "https://ontology.rys.app/dt/function/example"
+call = "example_service"
+
+[[services]]
+name = "conversion"
+namespace = "https://ontology.rys.app/dt/function/conversion"
+call = "conversion_service"

+ 4 - 3
wee/application.properties

@@ -1,8 +1,9 @@
 server.port=8081
-base_url=http://localhost:8081/
+base_url=http://wee:8081/
 spring.application.name=wee
-endpoint=https://fuseki.rys.app/SystemDesignOntology2Layers
-storageURL=https://dtb.rys.app
+endpoint=http://fuseki:3030/SystemDesignOntology2Layers
+storageURL=http://backend:5000
 spring.servlet.multipart.max-file-size=500MB
 spring.servlet.multipart.max-request-size=500MB
 server.tomcat.max-http-post-size=629145600000
+#server.contextPath=/wee

+ 0 - 0
docker-compose.yml


Some files were not shown because too many files changed in this diff