A Model Based Approach To Workflow Management Using Knowledge Graphs
A Model Based Approach To Workflow Management Using Knowledge Graphs
• A model management strategy to store and provide access to knowledge about system engineering workflows
that uses ontology-based knowledge graphs.
• An ontology that defines basic concepts and their relationships to support the management of system engineering
tasks.
• A toolchain that provides capabilities for system engineering design, enact and reason on workflows and their
related artefacts and data.
Model management to support systems engineering workflows
using ontology-based knowledge graphs
1. Introduction
Systems engineering processes are becoming increasingly complex. Managing knowledge about processes is
crucial for companies. A relevant factor is the heterogeneity of current system development processes. A diverse
spectrum of formalisms, languages, and tools are used for different purposes to build better systems. INCOSE’s
Systems Engineering Vision for 2035 details that knowledge should be considered as a critical asset [1]. One of the
mentioned challenges in current systems engineering practices is the huge fragmentation of tools and domain-specific
approaches to enable collaboration and analysis. The shift from document-centric processes to model-based strategies
brings opportunities, but also comes with challenges on dealing with all digital information. Therefore, knowledge
management is crucial to reach their vision.
A simple example that several companies face is to keep knowledge of standard procedures or successful cases.
Facilitating the repeatability and replicability of workflows is critical to achieving companies’ goals. They may lose
valuable information due to circumstances like employees changing roles, turnover, and so on. Thus, having a well-
formed way to keep this knowledge may reduce costs and effort. Moreover, several models and artefacts are generated
during the system development process. Most of the time, several versions of the same documents need to be stored and
made available for future reference. These artefacts are generated or required by activities, which in turn, are part of
a workflow executed by engineers. Nevertheless, they must be consistent, traceable, stored, and available for different
purposes like analysis, testing, simulation, or just as a reference for future activities.
Experiments play an essential role in systems engineering because they may provide evidence that the system
works according to expectations. However, the inherent complexity of executing these procedures brings challenges.
For instance, discovering what activities and in which order they should be executed for a given procedure, what
artefacts are created during their execution, which choice led to which result (and vice versa), what was the latest
("most correct”) version of a model, and how to find a particular artefact required by a given activity, are some of
several possible obstacles that may hinder the development of systems. Therefore, explicitly modelling workflows and
their related artefacts, together with a knowledge management mechanism, may optimise the design process.
ORCID (s):
Product Lifecycle Management (PLM) software records artefact versions and simple relations between them,
possibly linked to the explicit enactment of workflows. However, PLM software usually focuses on CAD artefacts, and
has limited support for other file formats. Further, the possible links between data are usually ad-hoc and hard-coded.
Relations are not captured in a “meta-model”, and exist only implicitly as “whatever the code does”. As a result, it is
difficult to reason about complex relations between objects that span multiple links. The only way to navigate them, is
to write more code, repeating the same patterns. This ultimately makes these systems hard to maintain.
In [2], the authors propose a multi-paradigm modelling framework for model-based systems engineering. Accord-
ing to it, formalisms and transformation between them should be specified in a Formalism Transformation Graph
(FTG). Workflows are specified in terms of Process Models, and the result of executing them is recorded in a Process
Trace, which details events related to workflow activities and artefacts. Although the elements are clearly described,
they are not formalised. There is no implementation of the semantics of these workflows, nor concrete mechanisation
of the approach. Possible query descriptions are listed, but no concrete implementation is proposed.
Recently, the industry has shown an increasing interest in Knowledge Graphs (KGs), which are structures to
represent data and their relationships for a particular domain. This data can be spread to different sources. Usually,
KGs data conform to concepts defined in Ontologies. They provide a means to define properties on elements of a
particular domain.
We take advantage of these concepts to leverage the ideas presented in [2] using an ontology to serve as a formal
definition of systems engineering elements. This ontology also allows the construction of a knowledge graph to relate
systems engineering process data, which in turn enables several capabilities like versioning, querying and reasoning on
this data. Further, the system engineer does not need to worry about the underlying notations and data structure to use
these services because we have implemented several tools to support the design and enactment of workflow models,
and also to access the information from models, enactments, and artefacts. Finally, we have applied our framework in
a real-world context during the development of a drivetrain smart sensor system, where the engineer used our tools to
execute experiments during the system development process. Besides the results while executing these experiments,
our tools and methodology also allow these experiments to be repeated and replicated in the future.
In summary our major contributions are the following:
• An extensible ontology for model management of arbitrary artefacts, their internal structure, links between them,
and versioning information.
• Based on this ontology, an ontology for workflow models, and for traces produced by the enactment thereof.
These traces link to the artefacts produced and consumed by the enactment.
• A model repository, based on our ontology, that allows querying, reasoning, and services to be executed on the
stored data.
• A modelling environment for the creation of workflows in our custom workflow language.
The remainder of the paper is structured as follows. Section 2 presents some background on model management,
ontologies and knowledge graphs. Section 3 describes our framework using a spring-mass-damper system as the
running example. Section 4 explains the architecture and implementation of our framework, and the several tools
developed to support model management for systems engineering workflows. Section 5 shows how we applied our
framework in a real-world case for a drivetrain digital twin system. Finally, Section 6 discusses related work and
Section 7 gives a summary and presents the final remarks of our work.
2. Background
In this section, we present topics that are relevant to our proposed framework. First, we discuss in Section 2.1 the
challenges of model management. Section 2.2 describes what knowledge graphs are, their relationships with ontologies,
and some standards and languages used to define them.
years as structures to support Model Representation and facilitate Model Processing (dimensions presented earlier in
Section 2.1).
When managing our models, we need sound mechanisms to identify and relate the model elements. Hence, an
instrument to classify the possible model elements and their relations is essential. On the other hand, we need a
concrete realisation of these elements and their relationships. Ontologies serve the former purpose as they define types
of existing things for distinguishing domains and properties to describe them, while Knowledge Graphs can be seen as
the materialisation of these elements and relationships. In the following sections, we detail these two topics.
2.2.1. Ontologies
The motivation for the usage of Ontologies came from the necessity of clarifying terms and relationships used
in different areas. It is not unusual to have different teams, sometimes in the same company, that have distinct
understandings of the same term or use different terms for the same entity. This can lead to lots of confusion
and communication overhead. When we think about digitisation for instance, in automating processes, a uniform
understanding is even more important to allow machine-readable structures that can be processed by a computer.
Ontologies support this necessity by determining an explicit knowledge base of concepts and their relationships.
For that, it uses several components like concepts, their relations, attributes, instances and axioms [15]. Concepts are
the types or classes of elements, e.g., "car" and "person". While "is driven by" could be considered a relation between
"car" and "person". A car can have an attribute "mass", which specifies the weight of the car. The instance mechanism
is a concrete entity of a particular concept, for instance, a car with a given model, car plate and all of its features
(attributes) specified. And axioms (also known as facts) provide properties that are assumed valid for concepts and
relations.
Besides the goal of making the information explicit and improving data interoperability, ontologies are also
employed to retrieve additional knowledge from the current base through the use of reasoners. This way, new
information can be deduced using logic inference. For instance, "A car X is driven by a person P" + "A car is driven
by at most one Driver" => "P is a Driver". Finally, it also allows checking the consistency of partial descriptions of a
product from different developers [16, 17].
During the 2000s, research and applications on ontologies considerably increased due to its pivotal role in the
definition of Semantic Web standards. The meaning of the term "Semantic Web" is quite controversial, and it lacks
consensus. Some see it as a field of research [14], while others regard it as a technological stack. According to W3C’s
vision, it is the Web of linked data, i.e., a set of data structures (graphs) connected through the Web according to
their identifiers and using a machine-readable format to allow its processing [13]. Although these graphs may refer to
different domains, they interoperate through the usage of standards. In this context, ontologies are a major enabler for
data integration, sharing, and discovery. Moreover, they have been envisioned to be reusable, i.e., the same ontology
supposedly can be applied in similar environments. Although the Semantic Web proposes this idea of collaboration
between the different networks of data, the technology stack can be used by institutions to internally define how their
data is organised and also how to process these data according to their needs. In addition, institutions can decide what
parts of their data will be publicly made available.
data does not need to be exposed to the end users. Just a conceptual representation of the domain of interest is presented
instead, resulting in a reduced graph. Nevertheless, it brings challenges in integrating the different data sources and
the KG, besides assuring the integrity and completeness of all the data [19].
The way Knowledge Graphs are structured may also vary. For instance, Google does not disclose the representation
of its KG. It provides only an API to access the contents1 . Another alternative is to use off-the-self solutions that
provide mechanisms to build your own knowledge graph [20, 21]. Although good support is provided by these tools,
we are somehow tied to their internal representations and encoded functionalities to manage the knowledge graph.
Finally, there is the Semantic Web approach standardised by W3C, where graphs are represented using RDF (Resource
Description Framework). It is an open and well-defined standard that has been used by a large community. The Linked
Open Data Cloud is an enormous open-access knowledge graph that can serve as a reference for structuring possible
data domains2 , and it follows the Semantic Web standards, including RDF. Also, it can be integrated with other
standardised languages (e.g., SPARQL for querying and OWL to define ontologies) to deliver features to the end
user.
2.2.3. RDF
The Resource Description Framework (RDF) is a W3C standard that specifies a syntax to create directed typed
graphs [22]. These graphs are structured according to what is called RDF triplestores, which are statements that relates
three elements, a subject, a predicate, and an object. Figure 2 illustrates the structure of an RDF triplestore for the
car example previously mentioned. The subject "Car X" is a node of the graph representing some resource, the object
"Person P" is also a node in the graph, and the predicate "is driven by" is an arc from the subject to the object to
express a relationship between them. All the elements in RDF must be uniquely identified by an IRI (Internationalized
Resource Identifier). The main difference between a subject and an object is that the latter can be either a reference to
a resource or a literal value.
Although simple, this structure is flexible and generic, with a high level of expressiveness, which is suitable
for building graph databases. It has several serialisation formats, e.g., based on XML or JSON. However, the
most commonly used one is the Turtle (Terse RDF Triple Language) format. The RDF/Turtle specification in
Listing 1 shows a simplified example of the relationship between "CarX" and "PersonP". Here we use prefixes to
improve readability. The subject "CarX" is of type <http://example. com/car/Car>, while "PersonX" is of type
<http://example.com/people/Person>. "CarX" has a model "ModelX", which is a string, and it is driven by
"PersonX".
2.2.4. SPARQL
While RDF supports the specification of elements and their relationships in terms of a graph-like structure, using
text matching to search through this structure is not convenient. SPARQL is a SQL-like language that supports querying
RDF graphs [23]. Queries are defined according to triplestore patterns with the possibility of using a diverse set of
operators like filtering, unions, optional patterns, among others. SPARQL queries can be executed from an endpoint
that should be made available to execute queries over a graph. One of the main capabilities of SPARQL is that queries
can retrieve information from graphs on different data sources available in different endpoints.
Listing 2 displays a simple illustration of a SPARQL query related to our car example. It returns the car and the
person that drives the car. The elements prefixed with ’?’ indicate variables that should match possible values in the
search. The statement "?c a car:Car" matches a subject ("?c") that is typed by "car:Car" (the object). The term ’a’
between the subject and the object is just a syntactic sugar for the predicate "rdf:type".
2.2.5. OWL
The Web Ontology Language (OWL), or its latest revision OWL 2 [24], provides capabilities to define ontologies,
initially for Web resources, but now it can be applied in a broader context. It describes a domain in terms of classes
(types), properties (relations) and individuals (instances), and it supports the detailed description of features from these
objects. Its core is based on a description logic designed to support deductive reasoning [25].
The official concrete syntax for OWL is RDF/XML, but it is also common to use the RDF/Turtle. Compared to
RDF, OWL is much more expressive, given its larger vocabulary to express classes (types), properties (relations),
individuals (instances), and data values. For instance, we can state class hierarchies, equivalences, or disjoints. It is
also possible to specify properties for a relation, e.g., symmetry, transitivity, reflexivity, and restrict their cardinality.
Another considerable difference is the computability and reasoning capabilities of OWL. For instance, if we say that
Robert is of rdf:type Professor, and Professor is a subClassOf Person, then I can now infer that Robert is also of type
Person. Moreover, we can check that constraints over properties are also satisfied. Thus, we can check the consistency
of our ontology. Finally, it is also possible to make your ontology modular by reusing definitions from other files using
the owl:import clause.
Although OWL expands RDF in some sense, it is still a notation created for machines. Some tools, like Protégé [26],
help in the usage of the language, but it still requires considerable effort to work directly with OWL using RDF/XML
or RDF/Turtle serialization formats.
2.2.6. OML
OML (Ontological Modelling Language) can be seen as a Domain-specific language (DSL) for OWL [27]. It
provides a more user-friendly syntax that is mapped to several patterns of an OWL2 subset. Therefore, it inherits OWL
expressivity, modularity, extensibility, and description logic semantics. It has been developed by the Jet Propulsion
Laboratory of NASA with the aim of helping engineers define systems engineering vocabularies and using them to
describe systems.
OML provides a textual language that allows the creation of vocabularies and descriptions. The former declares
concepts, properties and relations, that is, definitions at the type level. The latter contains individuals that conform to
the vocabularies, that is, elements at the instance level. Figure 3 shows an example of a vocabulary for a simple car
(3a) and a possible instance of this vocabulary (3b). A concept is the basic mechanism to describe an entity. An aspect
is a concept that cannot have a related instance. It is similar to the notion of an abstract class in object orientation. Both
aspects and concepts can have properties when we want to relate them to a literal. On the other hand, relations are
used to specify a relationship between two concepts. The same constraints that are supported in OWL can be used in
the relations. For instance, we declare the relation HasWheel from a Car to a Wheel to be asymmetric and irreflexive
in Figure 3a. In the description scenario illustrated in Figure 3b, we instantiate a car named car1 and its four wheels
with their respective masses and relations.
OML has an Eclipse-based environment to support the development of ontologies called Rosetta [28]. There, users
not only can design their ontologies but check their consistency using embedded OWL reasoners. Rosetta translates
OML to OWL in order to reason over the ontologies and provide some feedback on possible non-conforming elements.
Moreover, it is also possible to load the ontologies and related instances in an RDF-based knowledge graph through
its integration with Apache Jena and Apache Fuseki [29] to execute queries using SPARQL.
A particular difference between OWL and OML is that the former considers the open-world assumption, that
is, statements can be either true, false or unknown. The absence of information is considered unknown information,
so it is not possible to state that something missing is false [30]. This is particularly important in the context of the
Semantic Web because the data must exist but is not available in the ontology yet. However, for some applications (e.g.,
integrity constraints, validation and data structures), closed-world semantics are more suitable. OML allows closed-
world semantics via the usage of its vocabulary bundle, which is an ontology that bundles a set of vocabularies [27].
In order to illustrate the framework, we provide an example consisting of a mass-spring-damper system and all
related components3 as shown in Figure 4. A mass-spring-damper system is a commonly used model in physics and
engineering to describe the behaviour of systems that involve the interaction between a mass, a spring, and a damper.
It is often used to analyse and predict the motion and response of mechanical systems, such as vibrating structures
or suspension systems. Such systems are described in detail in chapters 3 and 4 of Dynamical Systems for Creative
Technology [31].
The system consists of three main components:
• Mass (𝑚): The mass represents the physical object or body in the system. It is typically a point mass, meaning
it is concentrated at a single location. The mass interacts with the other components and experiences forces that
affect its motion. It slides horizontally in our example and is depicted using a purple rectangle on green wheels.
• Spring (𝑘): The spring represents an elastic element in the system. It provides a restoring force proportional to
the displacement of the mass from its equilibrium position. This force is directed opposite to the displacement,
attempting to bring the mass back to its resting position. The stiffness of the spring is quantified by the spring
constant (k), which determines how strong the restoring force is for a given displacement.
• Damper (𝑏): The damper represents a dissipative or damping element in the system. It exerts a resistive force that
opposes the motion of the mass. The damping force is proportional to the velocity of the mass, with the constant
of proportionality being the damping coefficient (𝑏). The damping coefficient determines how quickly the system
dissipates energy and reduces oscillations. We don’t depict a damper explicitly. In our case, the damping force
is provided by friction.
When the system is at rest, the mass is in its equilibrium position, where the net force acting on it is zero. If the mass
is displaced from this position, the spring exerts a force proportional to the displacement, trying to restore the mass to
its equilibrium. Simultaneously, the damper opposes the motion by exerting a force proportional to the velocity.
3 /mass-spring-damper
The behaviour of the system depends on the parameters mass, spring constant, and damping coefficient, as well
as the initial conditions. When subject to an external force or disturbance, the system exhibits various types of
motion, including oscillations, transient responses, or steady-state responses[32]. The dynamics of the system can
be described by a differential equation. For example, the equation of motion for the mass-spring-damper system is
typically represented by Newton’s second law:
𝑑2𝑥 𝑑𝑥
𝐹 (𝑡) = 𝑚 ∗ +𝑏∗ +𝑘∗𝑥
𝑑𝑡2 𝑑𝑡
Here, 𝑥 is the displacement of the mass from its equilibrium position, 𝑡 is time, and 𝐹 (𝑡) represents any applied
2
external forces. The terms involving the derivatives 𝑑𝑥 𝑑𝑡
and 𝑑𝑑𝑡2𝑥 account for the velocity and acceleration of the mass,
respectively.
By solving these equations, engineers and scientists can analyse the response of the system, predict its behaviour
under different conditions, and design appropriate control strategies to achieve desired outcomes, such as minimizing
vibrations or optimizing performance.
For our example, we want to find a spring constant 𝑘 such that an initially excited system is damped enough for the
oscillation to have an amplitude lower than 0.05 between 5 and 7 seconds after the experiments starts. We can model
this system as a Causal Block Diagram model, as seen in Figure 5. Each of the integrator blocks represents part of the
equation 𝑦(𝑛) = 𝑓 − 𝑎1 𝑦𝑛−1 − ... − 𝑎𝑛−1 𝑦′ − 𝑎𝑛 𝑦 [33]. By repeating the simulation of this model with different parameter
values for 𝑘, a solution can be found.
1 OUT1 IN1
⅟ OUT1
0 OUT1
IC
∫
IC OUT1
IN1
∫
OUT1
2 OUT1 IN1
- OUT1
INx
∏ OUT1
A plot of an execution trace is shown in Figure 6. We want to find a spring constant for which the oscillations are
sufficiently damped after 5 seconds. The blue rectangle in the figure illustrates this area of interest.
example of a requirements document for the mass-spring-damper problem is shown in Figure 8), and passes control to
the next activity, CreateModelAndEstimateParameters, which consumes the requirements artefact. When this activity
ends, it produces a Causal Block Diagram (CBD) model with the right parameters (example for mass-spring-damper:
Figure 5), that describes the behaviour of a system that is valid with respect to the requirements. The workflow ends
here.
To make it more interesting, we can refine the last activity further with another (nested) workflow model, shown
on the right of Figure 7. This model consists of three activities:
1. The activity DefineCBDModelAndParams, consumes the requirements, all previous versions of the CBD model
(if there are any, will be explained later), and produces a new version of the CBD model.
2. The activity RunCBDSimulation runs the new version of the CBD model, produced by the previous activity, for
a duration of 7 seconds. As output, it produces a table (e.g., a CSV file) containing a trace of the values of the
simulation’s variables (for mass-spring-damper, these will be 𝑥, 𝑣 and 𝑎) at every timestep.
3. The activity ValidateCBDSimulationResults checks if the simulation trace that was produced by the previous
activity is consistent with the requirements. The two possible outcomes (valid or invalid) are modelled in our
workflow model as two respective control flow output ports. If the model’s behaviour was valid, the workflow
ends. Otherwise, we perform another iteration of creating a new version of the CBD model, simulating it, and
validating it against the requirements. The requirements are left unaltered.
Even this simple workflow comes with artefacts of heterogeneous file formats, and will result in multiple versions
of these artefacts (because of the iteration cycle). Obviously, more complex engineering problems will lead to much
more complex workflows, with multiple domain experts working in parallel, performing real-world experiments and
simulations, involving even more different file formats and artefact versions. Often, these workflows exist only in the
minds of engineers, and they are informally communicated. We instead propose to model them explicitly, like we have
done here.
Workflow models in the FTG+PM language are highly reusable and hierarchically composable. For instance, the
activity CreateModelAndEstimateParams is reusable in any context where a CBD model needs to be created and its
parameters estimated in an iterative fashion according to a set of requirements. The enactment of a workflow model
produces an event trace, consisting of events like “activity started” and “activity ended”. These events can be linked
to the artefact versions consumed/produced respectively.
Legend
cin
Start of
Workflow
cin
reqs reqs
End of
prev_cbd : DefineCBDModelAndParams Workflow
reqs : CreateRequirements
cbd Control Flow
valid
: CreateModel
AndEstimateParameters
cout
3.3.1. Versioning
A lot of engineering work is done in iterative, incremental cycles. When a workflow model contains cycles,
multiple versions of artefacts are produced. For instance, in our running example (Figure 7), each time the activity
DefineCBDModelAndParams ends, a new version of a CBD model is produced. Not only do we want to link the
new CBD model to the “end activity” event, we also want to link it to the previous version of the CBD model. This
versioning information needs to be recorded, and be queryable.
m
k
Requirements
R2: The friction coefficient "b" of the damper must be 0.02 Ns/m.
R3: The spring constant "k" must be such that almost zero oscillation
(equilibrium) occurs in the time frame of [5, 7] after impulse release.
In order to persist all these different kinds of traceability links, between arbitrary artefact elements, we want to treat
all data in our repository in a unified manner, as one large graph.
3.3.3. Typing/Introspection
By knowing the types of artefacts and their elements (called introspection in programming languages), interactive
exploration and query-building of our model repository becomes greatly enhanced. The system can answer questions
like “What is the structure of objects of type X?”, and “What operations can be performed on it?”, and “Give me all
objects of type X that implement requirement Y”.
For instance, given a CBD model, the system knows that it can be simulated, producing a table of signal values
(via the activity RunCBDSimulation). Hence, for a given CBD model, the system can automatically suggest a query
for the user to retrieve all simulation traces produced by that CBD model.
To support introspection, we explicitly store the types of all artefacts and their elements. They are just one kind of
traceability link.
Horizontal traceability Horizontal traceability refers to traversing the FTG+PM++ from left to right, or vice versa.
Each artefact belongs to a type, and all parts of the workflow are typed. For example, we know the requirements artefact
is typed by a Xournal++ file formalism xopp.
Vertical traceability Vertical traceability allows for following the workflow. We can clearly see how the process
progresses when looking at the spring-mass-damper process model in Figure 7. By following the blue control flow
facilities, we relate each of the activities and achieve full vertical traceability within the process model. Here, we know
that the RunCBDSimulation activity is always preceded by the DefineCBDModelAndParams activity and succeeded
by the ValidateCBDSimulationResults activity.
Fine-grained traceability Whenever a relation refers not directly to an artefact, but the inner structure of one, we
consider it a fine-grained relation. Any query using these relations is therefore a fine-grained traceability query. An
example here could be the relation between a column of the simulationTrace TabularData artefact instance and a
specific block in the corresponding modelAndParams CBD artefact instance. This would give us a better understanding
as to which blocks are responsible for generating which data.
Versioning Enactment of a workflow containing a circular dependency will create multiple versions of an artefact
for an activity. These artefacts are related to each other, so earlier versions can be returned in a query. If we enacted
multiple iterations of the workflow, we would end up with multiple simulationTrace artefact instances. Each of these
artefacts would have a direct relation to its precursors from previous workflow iterations.
Services By using special keywords, we can call external services which perform part of the query. These service
calls could include looking for outliers in the simulationTrace or even running, validating, or generating traces of the
CBD.
Exploration Some queries are performed to get the structure of data. This includes knowing which types are available
and what their properties are. We are able to check which formalisms and/or transformations are available to us. For
the spring-mass-damper running example, these would include, but are not limited to, exploring the structure of CBD,
xopp, TabularData and ProcessModel5 artefacts.
Composing categories Simple queries can be composed into (more) complex queries. For instance, we can construct
a query on the spring-mass-damper system to figure out the initial model (first version) whose later versions led to the
correct parameter estimation and its value.
4. Implementation
In this section, we explain our prototype implementation, and explain how it satisfies the requirements described
in Section 3.
5 process models are also just artefacts
4.1.1. Components
Our implementation consists of the following components (Figure 9):
OML Vocabularies are a set of hand-written “meta-models” that all the instance-level data (artefacts and workflow
event traces) must conform to.
Adaptor Service transforms artefacts from different file formats to RDF (by first transforming to OML).
Fuseki is an RDF database and SPARQL query engine. It stores all the RDF data.
Workflow Enactment Engine is a web service that interprets workflow models in our FTG+PM language (Sec-
tion 4.2), and saves execution traces directly in Fuseki.
Draw.io Frontend is a plugin for the diagramming tool draw.io that allows the user to navigate traceability links (of
the model repository) from/to diagrams for which we have parsers.
Federation Services allow large datasets to be queryable via SPARQL without having to transform their data to RDF
in advance (this would not scale).
Graph Explorer is an application for exploring the knowledge graph with the use of SPARQL queries.
conformance
metamodel_object_diagrams.oml dependency
inheritance
Federation Service
metamodel_
drawio.oml
some large dataset
original data
metamodel_ metamodel_ (user-created)
some_DSL.oml xopp.oml
generated data
subquery results
model_abstract_syntax.oml transformation
DSL
parser
(e.g., FTG,
PM, CBD, ...) model_correspondence_links.oml
Figure 9: Architecture.
to be followed when a pm:Activity terminates. While control ports indicate possible flows of execution, data ports
indicate the production or consumption of artefacts by activities. A pm:Artefact indicates a resource utilised during the
workflow, and it is typed by a ftg:Formalism, which represents a class of elements that conform to the same metamodel
in the FTG vocabulary. A pm:ControlNode represent an element used to coordinate the control flow of the diagram.
For instance, pm:Initial indicates the point where the workflow starts while pm:Final determines its termination. A
pm:Fork can create concurrent flows while pm:Join synchronises several input concurrent flows in a single output
control flow.
Elements of process traces can be a pt:Event or a pt:Artefact. A pt:StartTrace event represents the beginning of
executing a trace described by a pm:Model, and pt:EndTrace represents the end of the trace. A pt:StartActivity indicates
the moment an activity starts by a control flow received in its pm:CtrlInputPort, while the pt:EndActivity means the
termination of a particular activity that will continue the flow by its pm:CtrlOutuputPort. Finally, a pt: Artefact is a
concrete version of a resource detailed by pm:Artefact, and that is generated/consumed during a pm:Model enactment.
Given that the workflow can have loops, the same artefact can be generated but with different versions (Versionable).
Although Figure 10 offers an intuition about the entities and relationships we have defined, it does not provide the
complete details and properties specified in our ontology. For example, to determine that a pt:StartTrace event has
not any other event before, we specify the property restricts relation isPrecededBy to max 0 in the context
of a pt:StartTrace. In this case, describing that the relation isPrecededBy does not happen. The opposite happens for
pt:EndTrace where we use the property restricts relation isFollowedBy to max 0. The complete OML ontology that
supports our framework is available in our Git repository6 . There, the vocabularies for the FTG, PM, and PT will be
available, but also the ones for the previously mentioned supported formalisms.
6 /DTDesign/src/main/examples/oml
Figure 10: Part of the OML Vocabularies for the FTG+PM language.
detailed in Section 4.3). This allows executing queries that not only link different CBDs, but also fine-grained queries
that relate a CBD to information from different artefacts, as discussed in Section 3.3.5.
Artefacts that have been uploaded by activities are also made available for other activities that require them.
Figure 13 shows the screen to start the following activity createCBD. As it needs the springDamperRequirements
artefact previously uploaded, we made it available for the user to download here. Although in this case the uploaded
artefact was required by the next activity, it may not always be the case. Artefacts may be available in different phases
of the workflow. However, the user does not need to worry about gathering artefacts to start an activity because WEE
makes them available in the expected task, which is quite convenient.
The process model enactment follows until the user reaches a final node, and the trace terminates. Nevertheless,
it is possible to stop an enactment at any time and resume it later at the point the user paused it. For instance, the
user may close the WEE window during an enactment, and on the next day, after selecting the PM he was enacting,
WEE shows a list of non-concluded enactments. Then, the user can choose the one he wants to continue enacting until
its termination. Once the traces are stored in the knowledge graph, it is possible to query them to search for specific
information, for example, the latest version of an artefact, or discover the activity that generated a particular artefact, but
also reason on the data from the enactment or from artefacts. This can be executed using Graph Explorer (Section 4.8)
or executing queries directly on Fuseki. However, for the latter, it is required knowledge not only of SPARQL but also
of how our ontology is structured. Nevertheless, WEE also provides a REST API to read data from process models
and traces. Via HTTP calls it is possible to obtain all the traces of a particular process model, only finished traces, only
unfinished traces, and also get the nodes of a process model. The returned result can be JSON or XML descriptions of
the elements. Such a mechanism is useful for tool integration. For instance, it is used by the Draw.io plugin to render
visualisations of the process traces generated by WEE. Other tools could also benefit from the same API. More details
about WEE can be seen in its git repository, including tutorials on how to use the tool8 .
4.6. Fuseki
Fuseki is an RDF graph database and SPARQL query engine. In our implementation, Fuseki contains two separate
datasets: (1) the model dataset, which contains the data of all model versions, and traceability links between them, and
(2) the process trace dataset, which contains (possibly ongoing) event traces of enacted workflows, and all traceability
links between this data. The model dataset is generated via (again generated) OML data, whereas the process trace
dataset is inserted directly into Fuseki as OWL/RDF data, by WEE.
Other components of our architecture only read Fuseki’s data, via its SPARQL query engine. We provide example
SPARQL queries to alleviate the traversal of the FTG+PM. Prefixes are left out for the sake of brevity. Figure 15 is a
workflow which can be followed to get a general feel of the knowledge graph in question, and all its queries fall into
the structure exploration queries from Section 3.3.5.
Getting all the types is a good to place to start when encountering an unfamiliar knowledge graph. The types related
to the FTG+PM are of interest here. The query in Listing 3 will return all class types as a is a shortcut for rdf:type.
We proceed to delve deeper into one specific type once we have an overview of all available types in the Knowledge
Graph. Here, in Listing 4, we chose to find all available properties of the Formalism type. For our ontology, this returns
8 values:
1. http://www.w3.org/1999/02/22-rdf-syntax-ns#type
2. http://ua.be/sdo2l/vocabulary/base/base#hasGUID
3. http://ua.be/sdo2l/vocabulary/formalisms/pm#occursAsArtifact
8 /wee/wiki
9 /drawio/src/master/src/main/webapp/myPlugins/dtdesign.js
kg
find_all_classes
: ClassQuery
query_result
all_classes :
ModelSet
all_classes
kg
knowledge_base : get_limitation_properties
KnowledgeGraph : PropertyQuery
query_result
limitation_properties :
ModelSet
kg kg
find_which_use_description get_limitation_description
: HoldPropertyQuery : IndividualQuery
classes individuals
classes : individuals :
ModelSet ModelSet
Figure 15: Workflow model for extracting information from the Knowledge Graph using SPARQL queries.
4. http://ua.be/sdo2l/vocabulary/formalisms/cs_as#renderedAs
5. http://ua.be/sdo2l/vocabulary/formalisms/traceability_model#traceLinkFrom
6. http://www.w3.org/2002/07/owl#sameAs
7. http://ua.be/sdo2l/vocabulary/formalisms/ftg#isInputOf
8. http://ua.be/sdo2l/vocabulary/formalisms/ftg#isOutputOf
Listing 4: SPARQL query returning all properties of Listing 5: SPARQL query returning instance of a type
a certain type. and their name property.
SELECT DISTINCT ? property SELECT DISTINCT ? individual ? name
WHERE { WHERE {
? limitation a ftg : Formalism . ? individual a ftg : Formalism .
? limitation ? property ? value . ? individual ftg : isInputOf ? name .
} }
As we now have a list of all available properties for the ftg:Formalism we can proceed to query the parameters
which values we want.
To come back to the composite query example from Section 3.3.5, we present the query which in our system will
deliver on that promise. Listing 6 returns the artefact location. We do this by first looking for the activity type which
creates requirements. We then follow its link to the formalism it generates and filter for requirement formalisms. From
here on, we move to the process trace by finding the artefact which corresponds to the formalism type we just found.
The process trace we are looking for will contain an instance of this artefact. So we match and filter for the requirement
artefact instances in the process trace. We then return its location property to the end user.
Listing 6: Composite SPARQL query showing multiple categories being used in conjuntion.
SELECT DISTINCT ? prelement ? tag ? location
WHERE {
? individual a ? type .
? type rdfs : subClassOf * ftg : Transformation .
? individual base : hasGUID " C r e a t e M o d e l A n d E s t i m a t e P a r a m e t e r s " .
Contribution
User
Sparql query
1
Custom request
2
Custom response
3
opt [Additional data request]
Sparql sub-query
4
Sparql sub-query
5
Sparql answer
6
User
The middleware intercepts SPARQL queries and performs intermediate operations, like calling a service. This
process is shown in Figure 16. We start with a user who wants to perform a query or service call. The query itself is
structured as in Listing 7. Note the SERVICE and BIND keywords which are used to perform the sub-query. Once the
query arrives at the middleware, it is processed and the relevant parts are extracted. The parameters required for the
subsequent service call are all present within the BIND instruction. Spendpoint then performs a call to the specified
service, passing on all the parameters. Once the service response is received, we proceed to parse it and convert it into
a graph representation, so it can be sent to the user in the form of a SPARQL response. Note that steps 1 and 4 can
also be reversed: the main query can be sent to the Fuseki server, which will forward the relevant part towards the
Spendpoint middleware.
10 /spendpoint
This way, we can create models of the data, which is then populated on-demand by a service call. The middleware
can operate on any type of endpoint and converts the acquired data into SPARQL-compliant resources. We can add
service endpoints to expand the possible list of operations. For the proof of concept we provide 3 services:
1. An outlier service
2. A CSV to PARQUET converter
3. An example service which returns predefined data
5. Case Study
In this section the obtained model management strategy is applied to a study looking for alternative measurement
strategies in a drivetrain setup, in the field of mechanical engineering. Section 5.1 explains the motivation to explore
alternative measurement strategies on existing drivetrains. Section 5.2 indicates the issues and difficulties that were
encountered in the study without the help of an external model management strategy. Section 5.3 explains how the
obtained model management strategy and environment can improve the workflow for exploring different models and
strategies for alternative measurement solutions. Section 5.4 describes how the outlier detection service can be applied
to the drivetrain case and indicates which type of aspects can be given to a data retrieval query. Finally section 5.5
summarizes the conclusions of using this tool in this type of applications.
11 /graph-exploring-tool
current state-of-the-art sensors. One potential method involves using accelerometers placed on the periphery of the
driveshaft, and combining the readings from these sensors with a physical model that describes the accelerometers’
rotation within the gravitational field. This method enables flexible sensor placement on existing drivelines, as the
sensors can be added on the driveshaft without having to dismount it.
During the model exploration phase, various aspects were considered, including sensitivity analyses of different
model parameters, ranging from basic to more complex models. Optimization methods were employed to determine
unknown parameters of both the model and sensors. Furthermore, the study evaluated whether the increased model
complexity and increased challenges in identifying the required parameters are justified by the improved accuracy.
Both simulation and experimental validation were conducted, which presented important challenges in managing both
the models and the obtained experimental data.
C:.
Info.xlsx
kinematic_estimator_base_2D.m
kinematic_estimator_base_2D_CC.m
kinematic_estimator_base_2D_CC_dual_1_sensor.m
kinematic_estimator_deflection_2D_fixed_CC.m
kinematic_estimator_deflection_2D_variable_CC.m
kinematic_estimator_deflection_2D_variable_CC_reduced.m
Torque_estimator_dual_axis.m
Torque_estimator_single_axis_lateral.m
were investigated, new ways of naming were needed. Those were not consistent with the original way of naming,
making it more difficult to keep track of the contents. Within both folders the goal was to investigate whether the
unknown parameters could be obtained through optimization. An important mistake here was that the model file named
’kinematic_estimator_2D_residual’ had different contents in the different main folders, being different parameters,
requiring different inputs, etc. Due to this, a large obstacle encountered during the exploration phase was that a file
with the correct model name was used, but it originated from a wrong folder that explored a certain strategy different
from the one that was envisioned. The reason this was not noticed was the different models having the same file
name in different main folders, making it unclear from which folder this model eventually originated. When selecting
this specific model for further deployment, unexpected results were observed, leading to a time consuming search
for the error in the model, as it was not clear what caused these unexpected results. Had all of the model files had a
file:///D/digitaltwin/paper/figs/core_models.txt[30/06/2023 14:46:28]
clear naming convention, or a consistent versioning strategy tracing each version to its corresponding conclusions and
validation strategy, this could have been avoided.
To deal with this issue at the time, after the error was found, all models were put together in one folder location, and
the path to these folders is added to the scripts that call for these models when evaluating them, preventing accidental
copy-paste errors. An example of this folder is shown in Fig. 20.
time. However, doing this in an ad-hoc manner, while having no consistent naming system or information storage tool
available, it can quickly become complicated and error-prone.
Figure 22: Part of the process model representing the workflow for conducting experiments on the drivetrain.
the experiment, this service allows for querying for a data set that complies with this limitation. This eliminates the
need to manually inspect the available data or to redo an experiment for which the data already exists.
The GET also allows the user to retrieve experimental data that meets specific requirements by querying the
resulting KG. Such a query can for example demand the data to comply with all of the following requirements:
1. Time series data
2. Acceleration data (𝑚∕𝑠2 )
3. Measured with an accelerometer of type X
4. Measured on test setup Y
5. Motor speed of setup Y constant at 1000rpm
6. Sampling frequency of 2kHz
7. Minimum data length of 10s
This allows for efficient retrieval of this data, without having to inspect the data manually.
2. Traceable link between the experimental data and the equipment used to obtain it: In model development for this
kind of applications, the equipment used during experiments, such as the sensors, test rigs, or even simulation
tools, can significantly impact the quality and accuracy of the collected data. Therefore, it is crucial to keep track
of the link between the experimental data and the specific equipment used. This traceability provides insights
into the reliability, calibration, and limitations of the equipment, ensuring that the data is interpreted within the
appropriate context. It also helps in troubleshooting and identifying potential sources of error or bias in the used
experimental setup.
3. Model versioning with a link to a detailed description of the reasoning behind it: As the development of
the physical models evolves over time, it becomes necessary to manage different versions or iterations of the
models. Model versioning with the developed tools allows to track and document changes made to the models,
including modifications, improvements, or updates. By attaching traces to the documentation of the underlying
reasoning, assumptions, or methodologies to each version, the development process becomes more transparent
and understandable. This documentation facilitates collaboration, knowledge sharing, and informed decision-
making by providing a historical context for each of the model versions. It can also help future researchers to
build further upon the reasoning behind the models that were developed by other researchers.
All of above aspects are then part of an overarching KG. By having this KG available, together with a tool that
allows for domain specific querying, a lot of time can be saved during the model development process. As for the
drivetrain study described earlier for example, the mistake of using a file with the correct name from a wrong folder
would not have happened had all models been correctly linked to their reasoning and validation conclusions. Instead of
looking for the error in the model itself, or validating the model with new data, the KG could have been searched based
on the conclusions or reasoning behind this model to find the correct corresponding model. This mistake ultimately led
to a time loss of approximately two weeks, which could have been avoided had the proposed framework been available.
The main limiting factor of this framework is that for each new workflow the FTG and PM will need to be set up
and linked to the correct environment. However, this well outweighs the potential time loss by not having above
mentioned traceability available.
6. Related Work
Given the shift from document-centric to model-based system engineering, the interest in model management
strategies and frameworks has increased in recent years. However, the variety of disciplines performed during system
engineering activities makes use of a plethora of different notations, languages and formalisms. Therefore, it is essential
that model management frameworks provide support for multi-paradigm modelling. In addition to that, the description
of workflows for the large number of processes executed is also essential to context the usage of artefacts from different
formalisms in an organised flow of activities.
Regarding workflow management and enactment, Product Lifecycle Management (PLM) software proposes to
manage a product and its associated data through its development [36]. Predominantly it is used by design and
engineering teams working with CAD data and related artefacts. Its primary purpose is to integrate processes
for each stage of a product’s lifecycle to support supply chain management, but it is also used to improve team
collaboration and provide insights on product performance, customer feedback, and market trends. Usually, these
tools are commercial-off-the-shelf (COTS) developed by companies that also create CAD software, like Siemens,
Dassault and PTC [37, 38, 39]. Very little information is available on the inner workings of these tools, because they are
proprietary. Also, as their focus is on supply management, relations between data from artefacts may exist, but usually,
they are developed in an ad-hoc manner, i.e., based on customer requests, the tool providers can implement specific
data relations to provide the relevant functionality for the end-user. PLM tools usually support simple file versioning
and workflow modelling and enactment, but again this is typically developed in an ad-hoc manner: workflow models
are ‘special’, and their meta-models (and those of workflow traces) are implicit, as opposed to our solution which
has explicit meta-models for all models. As we use an ontology to define the supported formalisms, it is easier to
provide fine-grained traceability based on these relations. Also, having data structured in a knowledge graph gives
more flexibility to provide insights for the customer through querying instead of being software-dependent.
OpenMBEE (Open source Model-Based Engineering Environment) proposes an architecture to support an
integrated environment for engineering driven by connected models [40]. The initial motivation was to shift from
document-centric engineering processes to model-based strategies where documents could be automatically rendered
from a unified model repository controlled by a Model Management System (MMS). Cross-References synthesise
relevant engineering information where model elements are transcluded [41]. Besides document generation, the central
model repository can support other techniques like model checking and simulation. Model Development Kits (MDKs)
allow the integration of different environments (e.g., Jupyter Notebook, MagicDraw), languages (e.g., SysML, MatLab)
and tools with the MMS. Currently, OpenMBEE supports model versioning and typing/introspection. Traceability is
limited, given that engineering workflows are not fully supported. Only SysML-based structure model elements are
linked using natural language processing, for instance, linking references in text requirements to SysML blocks or block
properties. Querying is supported by translating the SysML model elements from MMS to RDF-based knowledge
graphs and exposing a SPARQL endpoint. Workflow enactment is not currently supported.
DesignSpace [42] is another model repository aiming to bring models from different tools together in a unified,
graph-based (EMF-like) data structure, supporting fine-grained traceability, typing and incremental global consistency
checking. DesignSpace has an operation-based versioning system, meaning that it records edit operations on models
as they happen. To make this work with heterogeneous tools, adaptor plugins for these tools have to be written. A side-
effect of DesignSpace’s operation-based versioning is that every adaptor enables real-time/synchronous collaboration
in the tool it is written for, via DesignSpace’s central repository. Services can be added to DesignSpace that respond
to arbitrary changes. One such service is the consistency checker, which informs users of inconsistencies in real-time.
DesignSpace does not have workflow enactment, although it should be possible to write one as a DesignSpace service.
While DesignSpace has been used successfully in several industrial experiments, it is not clear if DesignSpace scales
to large amounts of dense data (e.g., very large tables containing execution traces), for instance by supporting data
federation as described in Section 4.7.
7. Conclusions
Companies face specific challenges, such as retaining knowledge of standard procedures and successful cases, and
managing the generation and storage of multiple versions of documents and artefacts. The role of experiments in system
engineering is significant in providing evidence of system performance, but we also acknowledge the complexity
involved in executing them.
We leveraged ontologies to define system engineering elements formally. This approach enables the construction of
a knowledge graph to manage system engineering data, and allows us to link artefact versions to executed workflows.
Our ontology-based framework consists of seven components, together solving our requirements for explicitly modeled
workflows and their automated enactment, and a model repository with versioning, fine-grained traceability, typing,
consistency checking and a query language.
We showed how our framework is applied to a spring-mass-damper running example and to a larger engineering
use-case involving the creation of smart sensors for a drivetrain.
OML lacks reasoner and query language Another problem of using OML is that it needs to be transformed to
OWL/RDF, before it can be used by a reasoner (to perform a consistency check) or query engine. As a result, any
detected inconsistency results in an (often cryptic) error at the level of OWL/RDF, which the user must manually trace
back to the original OML document(s). Likewise, SPARQL queries work on generated RDF, and return RDF data, not
OML. To make OML more usable, we think a reasoner and query language should be created that works on the level
of OML (possibly built around an OWL/RDF reasoner and query engine).
Types are not instances OML makes a strict distinction between type-level and instance-level elements. A type
cannot be an instance at the same time. If our types evolve, we would want to store versioning links between the types.
It is impossible however to create links at the type level. At the type level, we can only express the possibility of having
links between the instances of types. Another consequence is that a type cannot have a type. However, OML is still a
young language, and it is our hope that this restriction will be relaxed in the future.
Poor man’s versioning does not scale As already explained in Section 4, OML has no builtin solution for
versioning. OML users are advised to use Git for versioning the OML documents (types and instances) themselves.
This makes it impossible to use a query language such as SPARQL to navigate an artefact’s history. A query such as “in
which version was this element added?” cannot be performed. To make versioning information available from within
OML/OWL/RDF, we create a new copy of the artefact for every new version. This solution is sufficient to demonstrate
a proof-of-concept, but ultimately doesn’t scale. Since RDF is graph data, not text, we think a versioning system for
graphs would be most appropriate. To make it possible to access older versions of our graph data via queries, this
versioning system would have to be integrated with the query engine and reasoner. We are not aware of an existing
solution, and this could be an interesting ally for further research.
References
[1] INCOSE, Systems engineering vision 2035, https://www.incose.org/about-systems-engineering/se-vision-2035, accessed:
2023-06-12 (2022).
[2] R. Paredis, J. Exelmans, H. Vangheluwe, Multi-paradigm modelling for model based systems engineering: Extending the ftg + pm, in: 2022
Annual Modeling and Simulation Conference (ANNSIM), 2022, pp. 461–474. doi:10.23919/ANNSIM55834.2022.9859391.
[3] L. M. Applegate, B. R. Konsynski, J. F. Nunamaker, Model management systems: Design for decision support, Decision Support Systems
2 (1) (1986) 81–91. doi:https://doi.org/10.1016/0167-9236(86)90124-7.
URL https://www.sciencedirect.com/science/article/pii/0167923686901247
[4] J. J. Elam, J. C. Henderson, L. W. Miller, Model management systems: an approach to decision support in complex organizations, in:
International Conference on Interaction Sciences, 1980.
[5] A. Baldwin, D. Baldwin, T. Sen, The evolution and problems of model management research, Omega 19 (6) (1991) 511–528. doi:https:
//doi.org/10.1016/0305-0483(91)90002-B.
URL https://www.sciencedirect.com/science/article/pii/030504839190002B
[6] A. Bharadwaj, J. Choobineh, A. Lo, B. Shetty, Model management systems: A survey, Ann. Oper. Res. 38 (1–4) (1992) 17–67. doi:
10.1007/BF02283650.
URL https://doi.org/10.1007/BF02283650
[7] P. P.-S. Chen, The entity-relationship model—toward a unified view of data, ACM Trans. Database Syst. 1 (1) (1976) 9–36. doi:
10.1145/320434.320440.
URL https://doi.org/10.1145/320434.320440
[8] E. F. Codd, A relational model of data for large shared data banks, Commun. ACM 13 (6) (1970) 377–387. doi:10.1145/362384.362685.
URL https://doi.org/10.1145/362384.362685
[9] A. M. Geoffrion, An introduction to structured modeling, Manage. Sci. 33 (5) (1987) 547–588.
[10] C. V. Jones, An Introduction to Graph-Based Modeling Systems, Part I: Overview, ORSA Journal on Computing 2 (2) (1990) 136–151.
doi:10.1287/ijoc.2.2.136.
URL https://ideas.repec.org/a/inm/orijoc/v2y1990i2p136-151.html
[11] C. V. Jones, An introduction to graph-based modeling systems, part ii: Graph-grammars and the implementation, ORSA Journal on Computing
3 (1991) 180–206.
[12] S. O. Kimbrough, A graph representation for management of logic models, Decision Support Systems 2 (1) (1986) 27–37. doi:https:
//doi.org/10.1016/0167-9236(86)90118-1.
URL https://www.sciencedirect.com/science/article/pii/0167923686901181
[13] W. W. W. Consortium, Semantic web, https://www.w3.org/standards/semanticweb/, accessed: 2023-06-12.
[14] P. Hitzler, A review of the semantic web field, Commun. ACM 64 (2) (2021) 76–83. doi:10.1145/3397512.
URL https://doi.org/10.1145/3397512
[15] T. R. Gruber, A translation approach to portable ontology specifications, Knowledge Acquisition 5 (2) (1993) 199–220. doi:https:
//doi.org/10.1006/knac.1993.1008.
URL https://www.sciencedirect.com/science/article/pii/S1042814383710083
[16] S. Mostefai, A. Bouras, M. Batouche, Effective collaboration in product development via a common sharable ontology, International Journal
of Computational Intelligence 2 (01 2006).
[17] C. Bock, X. Zha, H. won Suh, J.-H. Lee, Ontological product modeling for collaborative design, Advanced Engineering Informatics 24 (4)
(2010) 510–524, construction Informatics. doi:https://doi.org/10.1016/j.aei.2010.06.011.
URL https://www.sciencedirect.com/science/article/pii/S1474034610000558
[18] N. Noy, Y. Gao, A. Jain, A. Narayanan, A. Patterson, J. Taylor, Industry-scale knowledge graphs: Lessons and challenges, Commun. ACM
62 (8) (2019) 36–43. doi:10.1145/3331166.
URL https://doi.org/10.1145/3331166
[19] G. Xiao, L. Ding, B. Cogrel, D. Calvanese, Virtual Knowledge Graphs: An Overview of Systems and Use Cases, Data Intelligence 1 (3)
(2019) 201–223. arXiv:https://direct.mit.edu/dint/article-pdf/1/3/201/683759/dint\_a\_00011.pdf, doi:10.1162/
dint_a_00011.
URL https://doi.org/10.1162/dint_a_00011
[20] Neo4j, From graph to knowledge graph: How a graph becomes a knowledge graph, https://neo4j.com/blog/
from-graph-to-knowledge-graph-how-a-graph-becomes-a-knowledge-graph/, accessed: 2023-06-12.
[21] Ontop, Ontop - a virtual knowledge graph system, https://ontop-vkg.org/, accessed: 2023-06-12.
[22] G. Schreiber, Y. Raimond, Rdf 1.1 primer w3c working group note, Online (2014).
URL https://www.w3.org/TR/rdf11-primer/
[23] W3C, SPARQL 1.1 Query Language, Tech. rep., W3C (2013).
URL http://www.w3.org/TR/sparql11-query
[24] P. Hitzler, M. Krötzsch, B. Parsia, P. F. Patel-Schneider, S. Rudolph, Owl 2 web ontology language: Primer (second edition) (2012) W3C
Recommendation.
URL http://www.w3.org/TR/owl2-primer
[25] P. Hitzler, M. Krötzsch, S. Rudolph, Foundations of Semantic Web Technologies, Chapman and Hall/CRC Press, 2010.
[26] M. A. Musen, The protégé project: a look back and a look forward, AI Matters 1 (4) (2015) 4–12. doi:10.1145/2757001.2757003.
URL https://doi.org/10.1145/2757001.2757003
[27] M. Elaasar, N. Rouquette, Ontological modeling language, http://www.opencaesar.io/oml/, accessed: 2023-06-12.
[28] M. Elaasar, An eclipse ide that supports oml natively - rosetta, https://github.com/opencaesar/oml-rosetta, accessed: 2023-06-12.
[29] A. S. Foundation, Apache jena, https://jena.apache.org/, accessed: 2023-06-12 (2021).
[30] D. Allemang, J. Hendler, F. Gandon, Semantic Web for the Working Ontologist: Effective Modeling for Linked Data, RDFS, and OWL, 3rd
Edition, Vol. 33, Association for Computing Machinery, New York, NY, USA, 2020.
[31] J. Amerongen, Dynamical systems for creative technology (01 2010).
[32] R. Monroe, S. Shaw, On the transient response of forced nonlinear oscillators, Nonlinear Dynamics 67 (03 2011). doi:10.1007/
s11071-011-0174-4.
[33] J. Seck Tuoh Mora, M. Gonzalez-Hernandez, N. Hernández Romero, A. Trejo, S. Chapa, Modeling linear dynamical systems by continuous-
valued cellular automata, International Journal of Modern Physics C - IJMPC 18 (2007) 833–848. doi:10.1142/S0129183107010589.
[34] D. Moody, The “physics” of notations: Toward a scientific basis for constructing visual notations in software engineering, IEEE Transactions
on Software Engineering 35 (6) (2009) 756–779. doi:10.1109/TSE.2009.67.
[35] B. Forrier, F. Naets, W. Desmet, Broadband load torque estimation in mechatronic powertrains using nonlinear kalman filtering, IEEE
Transactions on Industrial Electronics 65 (3) (2018) 2378–2387. doi:10.1109/TIE.2017.2739709.
[36] A. Saaksvuori, A. Immonen, Product lifecycle management, Springer Science & Business Media, 2008.
[37] Siemens, Teamcenter plm siemens software, https://plm.sw.siemens.com/en-US/teamcenter/, accessed: 2023-06-12.
[38] Oracle, Product lifecycle management software oracle, https://www.oracle.com/scm/product-lifecycle-management/, accessed:
2023-06-12.
[39] PTC, Arena plm and qml solutions ptc, https://www.ptc.com/en/products/arena, accessed: 2023-06-12.
[40] OpenMBEE, Openmbee - open model-based engineering environment, https://www.openmbee.org/, accessed: 2023-06-12.
[41] T. B. Chammard, B. Regalia, R. Karban, I. Gomes, Assisted authoring of model-based systems engineering documents, in: Proceedings of the
23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings, MODELS ’20,
Association for Computing Machinery, New York, NY, USA, 2020. doi:10.1145/3417990.3421406.
URL https://doi.org/10.1145/3417990.3421406
[42] M. A. Tröls, L. Marchezan, A. Mashkoor, A. Egyed, Instant and global consistency checking during collaborative engineering, Softw. Syst.
Model. 21 (6) (2022) 2489–2515. doi:10.1007/s10270-022-00984-4.
URL https://doi.org/10.1007/s10270-022-00984-4