Semantic BPM. Ontological modeling of high-level processes. VAD
![](https://habrastorage.org/getpro/habr/upload_files/3fe/24a/08c/3fe24a08c6a656d2f257a8c97a1a2f1b.png)
Introduction
Representation of business process models based on ontologies (ontology modeling) is equivalent to Semantic BPM. For an introduction to semantic BPM (Business Process Management), see “Semantic BPM. Semantics and Syntax of Business Processes” [semBPM24]. In short, we can draw an analogy: if a classic BPM system (BPMS: ARIS, business studio, fox-manager, etc.) is a technological analogue of mediawiki (wikipedia), then Semantic BPM is a technological analogue semantic mediaWiki (Wikidata), i.e.
IF MediaWiki –> Semantic MediaWiki then BPM (ARIS, BPMS, EA) –> Semantic BPM
The main idea (goal) of semantic representation of processes (BPM, EA) not by classical BPM systems, but by semantic ones (Linked Data) is the same as semantic wiki
One of the key additions to wiki hyperlinks (html) is the indication not just that “ObjectA is related to ObjectB” (i.e. simply “related”) and the corresponding clickable transition (wiki links, markdown syntax), but the indication that “ObjectA is related to ObjectB” by such and such a type of relationship (as well as specifying other properties of an object through relationships).
Initially, all BPMS (originally called CASE tools) are semantic, because their essence is the relationships between objects, only in them the semantics is deeply hidden “under the hood” of the BPMS and is non-standard (own, proprietary). Semantic BPM “raises” the semantic component to the surface (the ability to work with the semantic layer) and uses standard Linked Data semantic technologies.
RDF (Resource Description Framework) – triplets “subject – relation – object” is based on ERD: Entity Relationship (ER) diagram. RDF\ERD is a way of formalizing knowledge based on the atom of knowledge – triplet. In general, ER, subject, predicate, types of reasoning and other basic elements for working with knowledge in the USSR were contained in school textbooks [Логика54].
The task is set: get an RDF representation (set of triplets) – as an unambiguous interpretation of the graphical representation (model) of the process in VAD notation. This is a “diagram to script / triple” type task: the input is a diagram + ontology, the output is a regular rdf and its “regular” graph.
The inverse problem “script to diagram” is shown in [SmartDesign24] (generation of a process diagram using a dot script). In relation to Semantic BPM, you need to make a dot from a table not immediately, but first an rdf, and from it a dot (graphviz) through a table of correspondence between process diagram objects and dot primitives.
Let's consider the technology of formalizing the company's high-level processes using the VAD notation: Value Added Chain (diagram) – a chain of added value, or rather a simplified version – without specifying the systems (tools) and process executors, inputs and outputs (documentary), but with different types of processes (subprocesses, function): external (borrowed), preceding \ subsequent.
Task: Based on the existing process diagram in VAD notation, construct a set of triplets (triplets – an atomic unit of “knowledge”) according to the RDF specification (turtle). The process diagram is built from a template (by dragging reference objects – Master), the template itself (a set of graphic primitives, a stencil) is usually described in the Agreement on Process Modeling and published as a “corporate stencil” on the company's corporate portal, for example, in the case of visio – a vis vss\vssx file.
1 Basic elements of the used ontology and legend (notation) VAD
A full description of the process ontology – as an element of enterprise architecture, EA – requires a separate narrative. Here, only objects of the “Process” type will be shown, but in conjunction with the “VAD wrapper” (graphical syntax, BPM notation), which visualizes semantic concepts in graphic form. Fig. 1 shows the basic elements of the VAD legend and the semantic constructions visualized by them.
![Fig. 1 Basic VAD stencil – diagrams and corresponding semantic constructions Fig. 1 Basic VAD stencil – diagrams and corresponding semantic constructions](https://habrastorage.org/getpro/habr/upload_files/993/0ea/6fe/9930ea6fe48d91b2baac8376b7a68670.png)
The process under consideration, whose name is specified by the variable MainProcess, includes objects (subprocesses) with links (predicate) hasParent and isExt. Such links define the boundaries of the process.
The principle is similar to GOST 2.711-82 ESKD Scheme of division of a product into its components (scheme of division of a product\process), where hasParent is own processes (products in 2.711), and isExt (Ext = external) is external (borrowed) processes (products). This allows to build a coherent hierarchy of process identifiers and to build a single tree of processes based on their identifiers. Inverse relationships are shown in brackets, i.e. hasChild (has a child) and hasEx (contains an external process).
The objects “.Master” = Process and “.Master” = Process_External (borrowed) are the constituent elements of MainProcess, unlike the Preliminary and Subsequent processes. The ProcessDia object (process diagram, i.e. one process can be described by different diagrams) includes, in addition to the objects in MainProcess (its constituent elements): Preliminary, Subsequent processes, Process_header and other objects reflected in the diagram but not included in the boundaries (in the composition) of the MainProcess process.
Process_header – a header with the name of the process being detailed – can technically be presented in different ways, for example, as a standard sheet (diagram) header, i.e. a special object (title, etc.) in dot, drawio, visio, etc. specifications. Here we use a universal option: Process header is a regular object from a template (VAD stencil).
![Fig. 2. Schematic (VAD) of the process of making a paper clip (visio sheet) Fig. 2. Schematic (VAD) of the process of making a paper clip (visio sheet)](https://habrastorage.org/getpro/habr/upload_files/779/493/722/779493722430bb96726eb43e16119ac9.png)
The ontology model (including taxonomy) is stored in an ontology editor, such as Protege, and allows for deep analysis of the relationships between model objects. Only a linear transformation (translation) of the process diagram in VAD notation to RDF format is shown here.
For an introduction to the Resource Description Framework (RDF), see
RDF is a resource description syntax that uses the elementary constructs of the Subject-Predicate-Object triplet, Subject-Object relationships, and operates with URI references instead of words to denote entities.
Ontological modeling is also possible at a higher level, for example, the Global Ontology of Industry 4.0, where abstractions #Process etc. are also used. [i4go].
2 Getting an RDF process model from a Visio diagram
The processing is done in VBA Visio. The templates from Fig. 1 are stored in the stencil (left window), the process diagrams and the handler (macro), the result window (Immediate) – all this in one visio file (visioOntoVAD.vsdm).
Visio – file visioOntoVAD.vsdm posted on https://github.com/bpmbpm/vadtordf
The pdf file shows the sheets and the result in the Immediate window (for those who don't have visio).
Appendix 1 shows a brief algorithm for processing a visio sheet (macro algorithm), and Appendix 2 shows the result of unloading into RDF (simplified for understanding, including not using the qname “a”).
Steps to obtain a process model in RDF (turtle) format:
– in visio open the file visioOntoVAD.vsdm,
– open the “vad” or “vadE” (English) sheet with the process diagram in VAD notation (built using templates from a stencil),
– run the macro – and the RDF representation of the VAD process will be displayed in the Immediate window (VBA Immediate Window).
On the process diagram (sheets “vad” and “vadE” or newly created ones) the Main macro is called (Alt F8), which will output part of the RDF in the MsgBox window (in Visio 2016 and earlier, 255 characters are cut off), and the full one in the debugger window.
Next, open the Visual Basic Editor (Alt F11, Ctrl G) and the Immediate window (Debug.Print). When copying Russian-language text from the Immediate window, you need to enable the Russian keyboard layout.
To visualize as a graph, copy the RDF triplets from the Immediate window (Ctrl A, Ctrl C) and paste them, for example, into RDF online editor, for example, RDF grapher https://www.ldf.fi/service/rdf-grapher and we get graph.
The resulting representation is more difficult to perceive, but reflects the “anatomical” (through ontology) properties of the formalized (modeled) process.
For decades, Microsoft has been too lazy to implement normal support for the Russian language in MS Office (especially the Visio VBA editor), so when copying text with RDF triplets in Russian from the Immediate window, you need to enable the Russian keyboard layout. That is why a “fail-safe” English-language example is provided (vadE sheet). If you need to save the RDF unloading to a file, you can borrow the code from exDOT SmartDesign cm. [SmartDesign24]and it has been recoded to support Russian.
Appendix 2 shows the result of unloading into RDF (a copy of the Immediate VBA editor window) the “meaning” of the process, “wrapped” in VAD syntax. The resulting semantic representation of the process in RDF (turtle) provides an unambiguous (within the framework of the ontology used) understanding of the process and can serve as a universal format for representing knowledge about processes.
3 Process ARIS-ontology
As has already been said: leading BPMS systems, such as ARIS, are based on semantics, but non-standard ones. The process ARIS ontology is set out on 5,000 pages [ARISMR17].
Let's illustrate this with an example of ARIS Method Reference Version 10.0 – Service Release 3. December 2017 [ARISMR17]:
P.3.2.128 Value-added chain diagram (p. 2091) introduces the triplet:
Source object type = Function
Relationship type (active) = is predecessor of (is predecessor of)
Relationship type (passive) = follows (i.e. feedback)
Target object type = Function
Thus, the Arisov triplet is:
Function1 is a predecessor of Function2
equivalent to the one shown earlier:
Function1 “has a following element” Function2
or in RDF format
:Function1 :hasNext :Function2 .
Similarly, it is possible to construct a triplet (knowledge atom) through inverse (in ARIS this is “passive”) predicates: follows (ARIS) and hasPrev (previous).
It was mentioned above about adding additional elements to the VAD diagram, including inputs and outputs to the process (the Function element). For this, in paragraph 3.2.128 [ARISMR17] relations are specified is input for \ has as output. Five thousand pages [ARISMR17] – this is a description of the “hidden” semantic part of ARIS.
4 VAD – element and its representation in Visio
For RDF process description, a simplified approach to the VAD element was given. A more complete approach includes an indication of the process performers (roles in the process or departments / positions). In ARIS, Organizational unit objects are linked to Function by various types of relationships [ARISMR17]: carries out (is carried out by), accepts (is accepted by), contributes to (is worked on by collaboration of), which is apparently an overkill when applied to VAD.
![Fig. 3 VAD – element with performers specified as figure data Fig. 3 VAD – element with performers specified as figure data](https://habrastorage.org/getpro/habr/upload_files/01d/d5f/643/01dd5f643f849104deba300d0de89b75.png)
Fig. 3 shows the technical implementation of adding (binding) an executor (role) and a comment via “Figure Data”: the org (Organizational unit) and com (Comment) fields.
Through the standard visio-excel link, you can maintain a repository of process objects in excel: excel – repo, visualized through visio. An example of using the standard link in a BPM project is shown in Fig. Data linking tool visio + excel [easyEA23].
Other elements are also added to the VAD diagram, such as inputs and outputs (materials, documents), as shown in Fig. 1.1c “VAD Diagram” [SmartDesign24].
Conclusion
The “direct” transformation “schema -> RDF” is considered, the inverse transformation “RDF -> schema” can be built using the SmartDesign BPM technology, considered in [SmartDesign24] on examples excel + dot (exDOT SmartDesign) and js + dot (jsDOT SmartDesign).
Semantic + Repository = Semantic Repository
However, in the case of a classic BPMS, the question remains: how and in what format to store the data (logic) of the models? Data on all company models and connections between models, attributes of the models themselves and attributes of model objects. Process models, structures and hierarchies of processes, organizational units, data, documents, etc. And so that these formats are open and “transparent”.
It is clear that we are not talking about the Graphviz DOT format (Mermaid, PlantUML, etc.), since this is only an intermediate representation: syntactic tools for “wrapping meaning” through notations in “color pictures” (graphic visualization of entities, their properties, their connections, meanings). Using a relational (linked tables) representation of model data, as is done in all CASE\BPMS systems, is a variant of constant exports\imports (ARIS XML) into closed proprietary formats of each system (ARIS Document format, ADF).
The RDF format becomes a logical solution. At the same time, the implementation of the “Semantic SmartDesign” approach (a combination of ideas [semBPM24] And [SmartDesign24]) assumes the formation from the table, in addition to the text DOT, also a semantic description in RDF \ OWL.
A similar measurement of the semantic formalization of the process, but in the EPC notation, see https://habr.com/ru/articles/708026/comments/#comment_25053928
An illogical example is planned to be repeated on drawio, if you are interested – join in. In general, through unloading in RDF, it is possible to collect a single Semantic Repository of processes from schemes made in any editors (visio, drawio) and in different notations (VAD, EPC).
Question: The path from BPM to Semantic BPM is the integration of Linked Data technologies into classic BPM (BPMS, i.e. ARIS, etc.). However, the path from Semantic to Semantic BPM is possible: for this, it is necessary to find Linked Data tools that, in addition to the classic “knowledge graph”, could specify the necessary BPM notations (VAD, EPC, etc.) for visualizing knowledge through them.
Are there such Linked Data tools? There are attempts like data explorer for neo4j (yworks), but it is problematic to build a VAD diagram (another BPM notation) on it (only a rectangle, ellipse, picture, no direction setting, etc.), in addition, there is a binding to neo4j and no loading of rdf files.
Appendix 1. Analysis of process diagram objects in VAD notation. Algorithm for processing a visio diagram sheet
@prefix entry
First pass: all objects of the scheme. All passes (enumeration of objects of the scheme) are carried out via For Each DC In ActivePage.Shapes
Search for key elements that will then be used to assign values. In this case, it is the root element – the parent process (Parent for the rest) .Master = Process_header. Find and assign the value to the variable: MainProcess = .Text of the object “header in the VAD type scheme”. If we do not find such, then:
MsgBox “Process Header (MainProcess) is not specified on the diagram. Please transfer the (Master) Process Header template from the stencil”
Writing triplets to MainProcess.
Second pass: all objects in the diagram.
If this is a connector (1D) and its type is Dynamic_connector_VAD (ShpHasNext), then we find the beginning and end using the Function Connect_in and Function Connect_out functions.
To obtain an identifier from an object name, we replace the space with an underscore.
:Subject .Text = The name of the process, but spaces in the process name are converted to “_”.
Next we insert the predicate :hasNext (next element)
:Object .Text – end convert to “_”
We form a triplet string:
Ss = ss & Chr(13) :Subject :hasNext :Object “_.”
Third pass: all objects in the diagram.
Search for VAD objects. Depending on the type of VAD object, we form a string of a composite triplet, for example:
:Cutting_wire
rdfs:label “Wire cutting” ;
rdf:type:Process;
:hasParent :Making_a_paper_clip .
rdfs:label sends the name of the process (subprocess), rdf:type – the type of the object (all VAD ships are processes, Function), the predicate :hasParent defines the parent element.
Appendix 2. RDF (turtle) of the process “Making a paper clip”, built according to the VAD scheme
@prefix :
@prefix rdfs:
@prefix rdf:
:Making_a_paper_clip
rdf:type:Process;
rdfs:label “Making a paperclip” ;
:hasDia :VADscheme_Making_a_paperclip .
:VADscheme_Making_a_paperclip rdf:type :Diagram .
:Purchase_of_materials :hasNext :Cutting_wire .
:Cutting_wire :hasNext :Bending_wire .
:Wire_bending :hasNext :Product_packaging .
:Packaging_of_products :hasNext :Warehouse_storage .
:Purchase_of_materials
rdfs:label “Purchase of materials” ;
rdf:type:Process;
:isBegin :VADscheme_Making_a_paperclip .
:Cutting_wire
rdfs:label “Wire cutting” ;
rdf:type:Process;
:hasParent :Making_a_paper_clip .
:Packaging_of_products
rdfs:label “Product packaging” ;
rdf:type:Process;
:hasParent :Making_a_paper_clip .
:Wire_bending
rdfs:label “Wire bending” ;
rdf:type:Process;
:isExt :Making_a_paper_clip .
Some links:
[semBPM24] Semantic BPM. Semantics and syntax of business processes
[SmartDesign24] VRM. Smart tools “Table -> Scheme” for formalizing business processes. Restyling ARIS SmartDesign
[ARISMR17] ARIS Method Reference Version 10.0 – Service Release 3 December 2017
[easyEA23] Simple Enterprise Architecture. Architecture of a gardening company
[i4go] I40GO: Industry 4.0 Global Ontology. File: variant-domain/manufacturingprocess/1.0/manufacture.owl
https://innoweb.mondragon.edu/ontologies/i4go
Resource Description Framework (RDF): Concepts and Abstract Syntax
How to represent bibliographic data in RDF
[Логика54] S.N. Vinogradov A.F. Kuzmin 1954 Logic Audiobook.