Keywords

1 Introduction

During last decades we became witnesses of unprecedented advances in various domains of micro-electronics, communications and computer sciences. These advances have great impact on almost every aspect of economic and social structures. Such concepts as Industry 4.0 [6, 57, 65] Logistics 4.0 [6, 43], as well new models of government and public administration services [5, 11, 53] demonstrate new trends in development of organizational theory and business models based on digital technologies. That development assumes the wide-scope conversion process from mainly analog information into the binary machine-understandable languages, accompanied by the notion of digital innovation as “the concerted orchestration of new products, new processes, new services, new platforms, or even new business models in a given context” [28]. A large-scale combination of these digital innovations has a name of digital transformation, emphasizing crucial synergetic effects on an institutional level [28, 30, 32, 33, 35, 53, 65]. Despite intrinsic processes of digital transformation in each application domain, common characteristic features are clearly visible: institutionalized disruptive changes of social and business domains, intensification of networking and cooperation, emergence of complex cyber-physical systems [28, 30, 33, 35, 53, 57].

Radically new conditions of information processing, planning and strategic management of digitalized enterprises call to engineering of various flexible organizational forms on the solid ground of enterprise engineering principles: virtual enterprises [45], agile enterprises [37] and distributed autonomous organizations (DAO) [34].

Recent achievements in enterprise engineering [15, 55, 66] provide a design blue print as well as offer a certain set of methodological implications. During recent years within the enterprise engineering community the notion of Enterprise Architecture (EA) became manifestation of the systemic engineering approach to understanding and redesigning organizations [27, 28, 57]. First of all, EA-based methods of digital transformation should lead to design of cohesive socio-technical systems because, as it is stated in [6], the digital transformation aim is not to replace humans in their works, but to avoid inaccuracies and to have faster processes where the information can be shared effortless and in real time.

Modern researches determine a complicated manner of relations and multiple perspectives on socio-technical systems [6, 57, 65]. According to [65] vertical integration requires the intelligent cross-linking and digitalization of business units in different hierarchal levels within the organization. Such complexity makes practical implementation of digital transformation quite difficult in general and in particular domains as well. Recent analysis of Westerman et al. [68] shows that none of the 50 companies, most of which had a turnover of more than $1 billion, had successfully transformed all elements of EA. At the same time Hafsi et al. conclude that despite the ongoing research in academia, the benefits and the role of EA management in digital context are still a topic of lively discussions, and there is a gap in research on how to leverage EA for digital transformation [27]. It is concluded in [32] that the characteristics of the industry raise barriers for process innovations and effectively constrain application of EA for digital transformation. By a similar manner Oleśków-Szłapka and Stachowiak [43] point out significant problems of digitalization in Logistics 4.0, while Oliva and Kotabe determine significant barriers to knowledge management in startups [44].

Performed analysis shows, that successful implementation of digital transformation strategy vitally depends on further progress in liaison of EA practices and enterprise knowledge management in new contexts of virtual organizations and evolvable cyber-physical systems. Supporting the concept of digital transformation “as the third and ultimate level of digital literacy” [27] we have a strong reason to augment the notion of digital transformation by the concept of knowledge-based digital transformation as a new paradigm of organizational theory. That augmentation revives relevance of the pioneering work on design of inquiring systems by C.W. Churchman [12].

According to [67] during knowledge-based digital transformation enterprise modeling and knowledge management could combine their efforts to develop reference and reusable core enterprise ontologies and behavior representations as required by the smart, sensing and sustainable (S3) digital enterprises of tomorrow. Following the pioneering work of Fox and Gruninger [20] and the Enterprise Ontology of Uschold et al. [63] several ontology-based modeling approaches were proposed, such as: DEMO [14] or MRO [64].

In the enterprise engineering studies of knowledge management within a digital enterprise an important problem arises which is proper extraction of tacit individual, interpersonal or organizational knowledge to explicit machine-readable forms and their conscious application during enterprise reengineering. In that context research multiple researchers show that tacit knowledge greatly influences behavior of enterprise [39, 48].

By our view in most applied engineering methods availability of structured externalized knowledge is usually only a requirement to construct models and necessary for enterprise models [45]. Specific features of tacit knowledge require development of new forms of its machine-based representation, and support mechanisms for knowledge life cycle management. In our studies a following principal research question was specified: which theoretical backgrounds facilitate design or integration of artifacts which comprise a unified solution to knowledge life cycle management fostering knowledge-based digital transformations? Fig. 1 depicts such a research framework.

Fig. 1.
figure 1

The research framework of studies [4].

In order to pursue an answer we hypothesize that:

  1. 1.

    Implementation of the knowledge triad model [40], which facilitates mutual transformations of explicit and tacit knowledge, can be a practically achievable form of knowledge-based digital transformation if enterprise engineering methods are designed in accordance with social constructivism paradigm.

  2. 2.

    Combination of three elements becomes critical for developing these new enterprise engineering methods:

    1. a.

      methodology for extracting tacit knowledge;

    2. b.

      a constructivist view – aligned theory of comprehensive ontology-based knowledge modeling for proper conceptualization of enterprise;

    3. c.

      a theory and methodology for continuous transformation of tacit and explicit knowledge according the model of knowledge triad (using phronesis).

  3. 3.

    Following design artifacts may instantiate the elements a), b) and c):

    • mathematical and psychological principles of repertory grids by G. Kelly [21] can be used for the purpose of reconstruction of a personal world view and developing a solid methodology for extracting tacit knowledge by application of factual approach to knowledge construction;

    • a constructivist-based theory of knowledge modeling which combines advances of designing top-level ontologies and formal ontology of enterprise proposed by J. Dietz;

    • an ontology-grounded theory of domain-specific languages with proper methods of their transformation and evolution, providing an explicit-tacit knowledge combination engine.

In that article we wish overview key results in developing artifacts for the elements b) and c) for comprehensive understanding of socio-technical systems, and providing a reliable decision support for digitalization. These results include Formal Enterprise Ontology (FEO), Formal Enterprise Ontology Pattern Language (FEOPL) and a specific approach to supporting transformative evolution of ontology-based domain-specific languages.

Section 2 provides readers with necessary foundational information concerning knowledge management, enterprise engineering and domain-specific languages. Section 3 offers description of our research, the practical application of which results are shown in Sect. 4. In the conclusion we overview achieved results and determine directions for further investigation.

2 Foundational Principles of Knowledge-Based Digital Transformation

2.1 Generic Paradigms of Knowledge Management

Hafsi et al. in [27] provide a direct connection between digital transformation and knowledge management as a specific organizational discipline that aims to acquire, transform, store, use and discard knowledge that is important in generating value for the organization. Oliva and Kotabe [44] consider the knowledge management as one of the key enterprise processes that supports the dynamic capabilities of emerging digital organizations. In the context of digital transformation Nonaka et al. [40] argue that the company needs to have organizational forms that achieve a dynamic synthesis of knowledge exploration and exploitation. Weichhart, Stary and Vernadat provide even a more radical viewpoint – the rate of new product introduction is a function of a firm’s ability to manage, maintain and create knowledge [67].

We may distinguish several aspects of knowledge-based digital transformation. Interoperability becomes the first aspect because dynamic synthesis of knowledge exploration and exploitation during digital transformation raises grand challenges. For example, in [45] authors show unprecedented nature of these challenges for the case of mapping the Industry 4.0 elements to the European Enterprise Interoperability Framework. A detailed set of interoperability includes such elements as interoperability of models and processes, explicit knowledge, knowledge management systems. Undoubtedly, as Weichhart, Stary and Vernadat noted in [67] with respect to semantic interoperability, the key element of that set is mutual ontological commitment on the basis of machine-readable shared ontologies. For instance, the Ontology of Enterprise Interoperability (OoEI) proposed by Naudet et al. [38] can give an example of ontology-based support for enterprise modeling.

We see the second aspect of knowledge-based digital transformation in a more precise stratification of knowledge onto different types. From the time of ancient Greece epistemology determines three subsets of knowledge: techne (the practical skill required to be able to create), episteme (context-independent knowledge), and phronesis (practical wisdom) [67, 69]. Simultaneously in the modern knowledge creation theory, two types of knowledge are distinguished: tacit and explicit [40]. Polanyi [49] defines explicit or codified knowledge as the type of knowledge that can be effectively transferred through a formal language, and tacit knowledge as having a personal quality that makes its formalization and communication difficult. At the same time tacit knowledge can be shared, developed, and extended by physical collaboration [39]. In [48] the authors argue that the distinction between tacit and explicit knowledge is the key to understanding organizational knowledge. Nonaka and Nishihara even emphasize the importance of tacit knowledge over explicit knowledge, through an understanding that tacit knowledge is the foundation of all knowledge [39].

Distinction of two knowledge types supposes presence of a dynamic approach to the knowledge management [41, 42]. In order to achieve deep understanding of such knowledge dynamics, which is very important for digital innovations and digital transformations [44, 48] some conceptualization of knowledge synthesis is required. To pursue that goal Nonaka et al. propose to combine traditional and modern taxonomies of knowledge within a unified conceptual framework of knowledge triad [40]. In that framework dynamic synthesis of knowledge is realized through the knowledge dialectics of tacit knowledge, explicit knowledge and phronesis. According that model of “knowledge triad” phronesis drives the conversion of tacit and explicit knowing. Practical evaluation of that framework in modern conditions of digital enterprises has been provided in [36], which confirms existence of four phases of the process of generating and converting knowledge phases: Socialization, Externalization, Combination, Internalization.

In that framework dynamic synthesis of knowledge is realized through the knowledge dialectics of tacit knowledge, explicit knowledge and phronesis. As it is stated in [40] it is the phronesis of the leaders with their practical wisdom that facilitates and propels new business models of dynamic fractal organizations. Taking such a holistic view point leads to the conclusion that modern foundations of knowledge management need “to synthesize the subjective and the objective, the personal and the organizational perspective” [67].

2.2 Foundations for a Proper Conceptualization of Knowledge About Enterprise

Being paired with generic principles of knowledge management Enterprise Engineering aims at developing a holistic systemic view on the construction and the operation of enterprises [16]. However, there is no agreement about the best shared conceptualization of enterprises even in terms of a foundational organizational paradigm.

We strongly believe that it is the social constructivism paradigm which reflects the key characteristics of digital transformation and is becoming a prevailing approach in construction and evolution of organizational knowledge. According to the constructivist view, individuals actively participate in a construction of their own knowledge through interactions within complex social systems [26]. As a clear example of well-founded conceptualization and a constructivist view on enterprise knowledge evolution and management the enterprise ontology [14] can be distinguished. That approach includes the ontology-based concise, comprehensive, coherent, and consistent enterprise modeling language, and the corresponding modeling methodology (DEMO - Design & Engineering Methodology for Organizations). Providing a consistent set of micro-theories grounded in Language-Action Perspective (PSI – Performance in Social Interaction theory), the enterprise ontology represents a coordination viewpoint underlying other ontological theories of enterprises.

2.3 Definition and Classification of Ontologies

Ontology is a representational artifact, comprising a taxonomy as a proper part, whose representations are intended to designate some combination of universals, defined classes, and certain relations between them [3].

According to this definition, the following considerations can be deduced: (1) the ontology is a representational artifact = def. the scheme of a certain area; (2) the ontology contains concepts of a certain area, its properties and relations between them; (3) a proper part of relations are taxonomy-type relations.

Based on these considerations, the ontology can be represented as a triple \( \left( {O, R, F} \right) \), where \( O = U\,{\text{U}}\,C \) is a set of objects, where \( U = \left\{ {u_{1} , u_{2} , \ldots , u_{N} } \right\}, N \in {\mathbb{N}} \) (where \( u_{i} , i = 1,N \) is a concept (universal) of a certain area an can be represented as a set of its attributes \( u_{i} = \left\{ {attr_{1} , attr_{2} , \ldots , attr_{M} } \right\}, M \in {\mathbb{N}},,\text{ }i = 1,N \)), \( C\left( {\text{class}} \right) {\text{is a set of }}c_{i} , i = 1,K, K \in {\mathbb{N}}, \) where \( c_{\text{i}} \) is an exemplar of some \( u_{j} , R \) is a set of relations between elements of \( O \), and \( F \) is an interpretation function assigning values to the non-logical constants of the language [23].

From this point of view, the ontology can be naturally perceived as a graph \( \left( {O,R} \right) \), with a set of functions of constraints \( F \).

On the other hand, the ontology is some kind of representation, created by the designer [24]. From this point of view, development of the ontology has always some certain goal, which affects the whole design process and its final result, the ontology itself. As a result, the following classification of ontology kinds based on their level of dependence on a particular task (or a viewpoint) can be identified [3, 23]: top-level ontologies, which describe very general concepts, independent of a particular problem or domain; domain (task) ontologies, which describe, respectively, the vocabulary related to a generic domain (task) and application ontologies, which describe concepts that depend both on a particular domain and a task, and often combine specializations of both the corresponding domain and task ontologies.

In the current research, we pay attention mostly to the enterprise ontologies, which refer to the Application ones. But as the Domain ontology contains only the necessary concepts of a subject area, Application ontology operates with a subset of these concepts necessary to achieve a certain goal. That allows us to consider the Application ontology as the reduced Domain ontology and can be used as a basis for development of DSM which in turn is used in the development of domain-specific languages.

2.4 Domain Specific Languages

Static conceptual structures of the enterprise ontology alone are not capable of maintaining mutual transformations of explicit and tacit knowledge during knowledge life cycle management. For that purpose, ontology should be fused with a specific mechanism for dynamic generating and converting knowledge. Evolvable domain-specific languages may be considered for that role.

A number of research results demonstrate suitability of using Domain-Specific Languages (DSL) for defining the context for different knowledge modeling and management tasks of modern companies [17, 18, 23, 24, 47, 52, 54, 58]. For example, Sprinkle [58] describes the implementation of DSL for modelling logistic interactions within the organization. Pereira et al. [47] prove the effectiveness of DSL usage for the definition of the context of the resource allocation problem.

In the context of our studies frontiers of DSL application for extraction and transformation of tacit knowledge attract special interest, because as Colins states – language plays a role of a repository for tacit knowledge [13]. Indeed, domain-specific languages can be considered as a practical implementation of interactional expertise, which may be viewed also as an attempt to introduce the tacit dimension of linguistic knowledge [56]. In [70] ontologies and domain-specific languages were considered as among the primary tools for extraction and representation of explicit and tacit knowledge in the safety domain. Gross demonstrates application of visual domain-specific languages for grasping tacit knowledge in a complex domain of artistic lighting [22].

Formally a domain-specific language is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language, which is broadly applicable across domains, and lacks specialized features for a particular domain [19]. In [46] two parts of the DSL are identified: (1) a syntactic part, which defines the constructions of DSL; (2) a semantic part, which manifests itself in the semantic model. The syntactic part allows us defining the context for working with the second one, which defines meaning of DSL commands in terms of the target domain. The syntactic part itself contains the domain concepts and rules (abstract syntax), as well as the notation used to represent these concepts – let it be textual or graphical (concrete syntax).

A syntactic part of DSL can also be separated into two levels: the level of objects and the level of functions. The object-level is equivalent to the set of objects of the meta-model. The functional level contains operations, which specify the operational context for the objects. That two-level division of the DSL syntactic part provides the maximum correspondence between the ontological model of the target domain and the DSL model, and the most convenient way of organizing conversions between them.

A semantic part of DSL is derived from the conceptual model of the target domain. According to Parr [46] we will call such a model as Domain-Semantic Model (DSM). DSM can be constituted by either just small pieces of domain knowledge (e.g. small taxonomies equipped with few rules) or rich and complex ontologies (obtained, for example, by translating existing ontologies). That gives respectively weak or rich and detailed representation of a domain [7]. In our research DSM becomes the bridge between the enterprise ontologies and DSL.

Static features of DSL are well studied and a lot of automated tools exists to design and exploit DSL in the enterprise practice. However, as a dynamic complex structure, any domain demonstrates the tendency to the evolution over time: new concepts may arise, while others unite into more general ones or become obsolete. In accordance with these changes, DSL should also support the possibility of evolution.

The simplest option in this case is to rebuild DSL whenever the domain model changes. But this process has several disadvantages. First of all, the process of DSL development is really time-consuming, since DSL contains internal and external parts, connected with the domain model and DSL syntax correspondingly. Secondly, DSL development, since DSL is a language, is often associated with the use of grammar tools that require special skills from developers. Finally, while a new version of DSL is being created, the domain can be changed again. Thus, the DSL changes may not be synchronized with the domain changes, making DSL not fully compliant with the needs of the end users.

3 Developing Own Unified Solution

In that section we perform a synthesis of aforementioned foundations and describe own contributions to the theory and practice of knowledge life cycle management and knowledge-based digital transformations. At first, an ontology-based conceptualization of enterprise is described, which facilitates ontology-based description of cornerstone enterprise concepts. Secondly, an ontology-based methodology for continuous transformations and verification of DSL is given, which can play a role of the mechanism for continuous transformation of tacit and explicit knowledge.

3.1 Building an Ontology-Based Conceptualization of Knowledge About Enterprise

In order to play a role of an ontological basis for knowledge-based digital transformation enterprise ontology should be fused with a corresponding foundational ontology because the core enterprise theory provided by DEMO is not fully axiomatized yet. Rephrasing the definitions made by Guizzardi in [23] with regard to enterprise modeling, the domain appropriateness and the comprehensibility appropriateness of an enterprise conceptual modeling language is guaranteed by the meta-model of this language representing a full axiomatization of enterprise ontology. Despite the plurality of existing foundational ontologies, in our work we exploit the Unified Foundational Ontology (UFO) and its compliant conceptual modeling language OntoUML [23] in order to build and to represent an ontological theory of enterprise interactions with the basis on a solid theoretical framework.

Practical implementation of such fusion requires performing two intellectual tasks. At first hand, a consistent ontology-based conceptual modeling language with a strong referential semantics should be designed. Secondly, a set of design-oriented practices should be developed which impose relevant constraints on the modeling language application during solution of recurrent modeling problems of enterprises.

For the solution of the task of developing a conceptual modeling language, the OntoUML conceptual modeling language [23] was taken as a basis. Restating the DEMO enterprise ontology in terms of OntoUML allowed us to combine modeling elements of enterprise ontology and reference ontology (UFO), as well as to reveal some gaps and inconsistencies on the analysis of the DEMO foundations. Moreover, we added some additional ontological categories based on their relevance for the theory of enterprise ontology.

This work resulted in a fully axiomatized Formal Enterprise Ontology (FEO) [50]. This is the domain- and standard-independent ontological theory that provides a referential semantics for metadata. The UFO-C part (a foundational ontology of social entities) [25] guarantees a well-defined ontological foundation of FEO and expressiveness of the essence of an organization in the ontological categories of foundational ontology.

The OntoUML-based FEO language provides modeling primitives that reflect the conceptual categories and axioms defined by the whole ontological theory. For example, FEO includes the axioms in first order logic that supplement the forgoing definitions by relevant constraints and formally specify the notion of an ontological transaction.

The second task aimed at solving recurring conceptual modeling problems of enterprises by adapting a generic notion of ontological patterns to FEO. Ontology patterns [18] were considered as a promising approach to capture standard domain-specific solutions to recurrent problems of conceptual modeling [17]. In general, each pattern has to be dedicated to a particular type of modeling issues, provide a solution, be accompanied with the instructions about its applicability in a right situation, and be associated with the set of related patterns. A set of interrelated patterns comprises a certain pattern language which can be applied systematically depending on requirements of the modeled situation and the goals of the modeler.

Following the method proposed by Guizzardi in [23], we created a set of modeling constructs (ontology patterns) represented in OntoUML, and called it the Formal Enterprise Ontology Pattern Language (FEOPL) [51]. All patterns of that language inherit axiomatization of the FEO ontology, thus making the meta-model of the language isomorphic to this ontology. FEOPL patterns include the following:

  • a Transaction pattern, intended (1) to specify the notion of transaction and (2) to tackle problems related to modeling of properties and an evolution of basic units of business processes;

  • the pattern of Coordination actions and their resulting commitments, which puts together Actor Role, C-act, C-act Intention, C-act Proposition, Transaction, C-commitment and their interrelations;

  • the pattern of Production Actions, which states that propositional contents of production actions are abstract representations of allowable/desired states of the production world of an enterprise;

  • the pattern of Production Facts, which explicitly defines semantics of the notion of a production fact.

A more detailed description and analysis of the presented templates is contained in [51]. As patterns description shows, FEOPL facilitates formalization of rules and conditions for social coordination actions based on the information derived from domain ontologies. Moreover, the language meta-model correlated with both the upper level ontology and the FEO preserves real-world semantics in a broad sense. That is reducing the number of semantic conflicts in representation of enterprise domain.

Grounding FEOPL in the DEMO modelling language leverages application of formal methods for knowledge management because the FEOPL patterns define precise semantics for interrelation between lifecycles of social objects (including transactions, commitments and claims) and lifecycles of enterprise products.

The modelling power of FEOPL was investigated in application to modelling problems of test-bed case studies. The results of modelling confirmed relevance and efficiency of FEOPL application for modelling knowledge-based digital transformations.

3.2 Evolution of Domain-Specific Languages for Managing Knowledge

Having reliable tools of conceptualization in terms of formal enterprise ontology, we may consider further advancing of DSL design on that solid ground. Application of the ontology as a model of DSL guarantees that DSL is identical to the corresponding domain, thereby allows the users interacting with it more effectively.

In our approach [60] we apply the formalization of the semantic DSL level in a model-oriented manner as a combination \( \left( {O, R} \right) \) of some objects of the target domain and relations between them, where each object is a set of its attributes and operations \( o_{i} = \left( {Attr_{i} , Opp_{i} } \right) = \left( {\begin{array}{*{20}c} {\left\{ {attr_{{i_{1} }} , attr_{{i_{2} }} , \ldots , attr_{{i_{M} }} } \right\}, } \\ {\left\{ {opp_{{i_{1} }} , opp_{{i_{2} }} , \ldots , opp_{{i_{K} }} } \right\}} \\ \end{array} } \right), M,K \in {\mathbb{N}},\text{ }i = 1,N). \)

In these terms, the syntactic part of DSL can be represented as a subset of the semantic level, needed for representation of a certain problem situation. The very one difference is that the syntactic part may not absolutely reflect the semantic constructions but identify its own definitions (pseudonyms) for the semantic constructions, according to the user’s needs.

As follows, the structure of the syntactic level can be formalized as a triple  \( \left( {O_{syntax} , R_{syntax} ,Alias_{syntax} } \right) \), where \( O_{syntax} \subseteq O \) and \( R_{syntax} \subseteq R \) are the subsets of objects and relations between them of the semantic DSL level respectively, and \( Alias_{syntax} \) is a set of pseudonyms for objects’ components (attributes and operations).

By a similar object-oriented manner Domain-Semantic Model can be derived from the corresponding FEO and can be represented as a seven-tuple:\( DSM = \left( {{\mathcal{H}}_{C} ,{\mathcal{H}}_{R} , O, R, A, M, D} \right) \), where

  • \( {\mathcal{H}}_{\text{C}} \) and \( {\mathcal{H}}_{\text{R}} \) are sets of classes and relations schema. Each schema is constituted by a set of attributes, the type of each attribute is a class. In both \( {\mathcal{H}}_{\text{C}} \) and \( {\mathcal{H}}_{\text{R}} \) are defined partial orders for the representation of concepts and relation taxonomies;

  • \( O \) and \( R \) are sets of class and relation instances also called objects and tuples;

  • \( A \) is a set of axioms represented by special rules expressing constraints about the represented knowledge;

  • \( M \) is a set of reasoning modules that are logic programs constituted by a set of (disjunctive) rules that enables reasoning about the represented and stored knowledge, so new knowledge not explicitly declared can be inferred;

  • \( D \) is a set of descriptors (i.e. production rules in a two-dimensional object-oriented attribute grammar) enabling the recognition of class (concept) instances contained in \( O \), so their annotation, extraction and storing is possible.

In our research, we focus only on the sets \( O \) and \( R \). Consideration of other parts of DSM is beyond the scope of our study, since it determines more meta-characteristics of DSM itself, rather than the objects and connections between them, which are the most interesting for the further development of the DSL semantic model.

Finally, taking into account previously mentioned formalization of the ontology as a triple \( \left( {O, R, F} \right) \) [23], we can argue, that the ontology can be naturally perceived as a set \( \left( {O, R} \right) \), with a set of functions of constraints \( F \). Such definition of the ontology guarantee, that an ontology can be completely transformed into DSM, which ensures complete consistency of all three models (ontology, DSM and DSL model) with each other.

Under these circumstances, we can tell about the complete ontology-based and model-oriented representation of the DSL structure. That representation corresponds to principles of model-driven engineering [8]. From this point of view, we can derive DSL semantics as result of transformation of DSM. Similarly, using transformation rules on entities and relationships between them from the DSM, the meta-model of a DSL can also be defined. Finally, reflecting DSL abstract syntax terms on the concrete visual icons or textual constructions DSL concrete syntax can be defined.

Such a hierarchical model-driven approach allows us not only to describe both levels of DSL in structured and unified manner but optimize the process of DSL development and evolution by introducing several syntactic DSL dialects on one fixed semantic level. Furthermore, the versification of DSL can be provided in a similar way on the semantic level as well as on the syntactic level, without need to re-create the whole DSL structure every time, when the changes are required. All these features open practical opportunities for proper reflection of transition between tacit and explicit knowledge of the users in a corresponding evolution of different DSL dialects with varying syntactic or semantic elements. Also, automation of DSL syntactic and semantic transformation using MDE principles forces traceability between different DSL dialects and allow us to use advanced methods of formal verification, as it will show later.

Combining the object-oriented model of the DSL structure with the formal definition of DSM on the basis of a single meta-meta-model, we can specialize a well-known semantic hierarchy of meta-models for our approach to model-oriented development and evolution of DSL (Fig. 2). In our case this hierarchy is separated into four layers, according to the stages of the DSL development. Each lower level is based on the model artefacts of the upper level A single M3 meta-meta-model determines common grounds for all meta- and models of the lower levels. This meta-level defines also notations in which concrete models will be defined and what rules for their transformations will be used.

Fig. 2.
figure 2

The semantic hierarchy of projection-based DSL development [4].

We propose to create a DSL structure from the Domain-semantic model (DSM) through the so-called semantic projection mechanism. The semantic projection is an operation, which is conducted over DSM. Any semantic projection performs a certain model-to-model transformation (M2M) of DSM to some its fragment. Thus, semantic projection fully determines the semantic model of a particular dialect of DSL.

We suggest application of a group of model-to-model transformations for practical implementation of semantic projections and producing corresponding DSL artefacts. In this case the semantic model becomes an object-temporal structure, because it should be adopted according changes in DSM over the time, thereby defining a new object filling of the DSM.

After the semantic projection was performed, the syntactic level of DSL can be developed by a M2M transformation of the result of the corresponding projection. What is important, these DSL syntactic models are independent of each other and are determined by end-users in accordance with the adaptation of the semantic projection to their own tasks. Finally, created syntaxes are used by the end-users of DSL, who determine the set of DSL dialects within the single specific syntactic model.

Figure 3 shows differences between traditional approaches and our proposals. Traditional approaches start with the manual definition of the DSL concrete syntax which is followed by the translation of the syntax in terms of grammars. Consequently, every change in the target domain leads to the need to redefine the DSL concrete syntax and re-create the corresponding grammar. A similar process repeats in a case, when changes in DSL are caused by the end-users. As a result, outcomes of traditional approaches contain inconsistent dialects of DSL, which cannot be mapped among themselves due to differences in all levels of the DSL structure.

Fig. 3.
figure 3

The scheme of differences between traditional (top) and projection-based (bottom) DSL development approaches [4].

In order to provide such transformations, it is sufficient to adjust the system of matching rules between the components of the ontological model of the target domain and the components of the DSL model. One of the possible solutions to this problem can be the mechanism of graph transformations between the graph representation of the ontology and the DSL model. If we interpret the entities of our model as vertices of the corresponding graph and relations between them as corresponding edges, we can postulate, that any model can be described using graph-oriented manner. This fact logically results in the opportunity to describe model transformations and the corresponding dynamic operational semantics of DSL using graph transformations rules (Fig. 3). It is important to note, that such advanced methods of graph transformation as Graph Grammars (TGGs) [29] enable specification of direct and inverse transformation rules facilitating bi-directional DSL transformation.

Practical implementation of such transformation can be achieved by using one of specialized graph-transformation languages such as ATL Transformation Language, GReAT (Graph REwriting and Transformation) [1], AGG (Attributed Graph Grammar), QVT. In our current research, we propose to use QVT, because this language allows us to describe the transformation rules from any original model into any target model, conducting a transformation at the level of meta-models. Using that instrument we demonstrated evolution of DSL in the railway allocation domain as an example of knowledge-based digital transformation [59]. In that case our method enabled evolutionary changes of syntax and semantics of DSL in response to changing the knowledge model of the users. Such changes frequently occur during modification of the business model of the railway services.

In the scope of automated transformation between different variants of DSL an important issue of transformation verification arises. If the verification succeeds, then we conclude that the model transformation is correct with respect to each pair \( \left( {p, q} \right) \) of properties (objects, relations) for the specific pairs of source and target models having semantics defined by a set of graph transformation rules. Otherwise, property \( p \) is not preserved by the model transformation and debugging can be initiated based upon the error traces retrieved by the model checker. That debugging phase may fix problems in the model transformation or in the specification of the target language.

In what follows, we offer the unified and highly automated approach, allowing developers to formally verify by model checking that a model transformation (specified by meta-modeling and graph transformation techniques) from an arbitrary well-formed model instance of the source modelling language into its target equivalent preserves (language specific) dynamic consistency properties. In that approach the notion of invariants is specialized for a particular case of DSL verification.

In terms of the most general approach [9], the invariant is a property, held by a class of objects, which remains unchanged when transformations of a certain type are applied to the objects. From this point of view, invariant can be interpreted in two ways: (i) a set of objects, which leave unchanged during the transformation provided, (ii) an operation, which can be applied to several objects at the same time (e.g. operation RENAME, which change the name of the object, regardless of its type). Taking into account these ideas, invariants are separated into two classes: structural and functional (inductive and operational) invariants. In both cases invariants are defined on top of some transformation (transition) of the set of objects.

For example, consider an inductive invariant. Usually it determines that there is a strong correspondence between elements of two sets of objects, which are connected during some relation (transformation). Such definition is very close to the relational approach for model transformation definition, when the relationship between objects (and links) of the source and the target language are declared. That results in the insight, that the inductive invariant can be an effective mechanism for the definition of such model transformations and for the validation of the feasibility of obtaining one model by transforming another. We may conclude that the process of graph transformation resembles the search for various structural invariants in the source and the target with consequent application of corresponding graph transformation rules to them. Consequently, we can reformulate model transformations using the double-pushout approach (DPO) with injective matching for graph transformations and an invariant technique.

According to these principles, we can conclude, that validation of the model transformation correctness can be fully described through invariant mechanisms. Such definition allows us to automate the process of formal validation of the model transformation, reducing it to verifying the presence of invariants of both types among defined model (graph) transformations.

Since we describe the model transformation using the graph-oriented approach in QVT transformation language, the procedure to derive the OCL invariants need be implemented. With application of OCL invariants both problems can be solved using existing OCL verification and validation tools for the analysis of model transformations. With these inputs, verification tools provide means to automatically check the consistency of the transformation model without user intervention. Checking consistency enables the verification of the executability of the transformation and the use of all validation scenarios.

In our resent work [61] details of our approach to invariant-based transformation are provided together with the overview of an actual implementation of the verification algorithm for a case of transformation between different enterprise models.

4 Demonstration in a Practical Case

In that section we demonstrate practical application of our approach for the case of the railway station resource allocation domain. Partially aspects of this evolution were considered in our previous works [59, 60], therefore, here we will pay more attention directly to demonstrating the evolution of the language than to analyzing the process of its development and content.

4.1 DSM for Railway Allocation Domain

The domain of railways services represents an interesting and significant case of dynamic management of knowledge and enterprise digitalization. In particular the context of the railway allocation problem can change frequently because of arrivals of new trains, or changing the priority of existing services. As a result, we have to have a clear and simple way to adapt new changes in terms of the proposed framework, responsible for finding the optimal resource allocation. In the process of DSL design for the railway allocation process, it’s vital to identify all the types of resources in this domain.

There are three general resources for any railway station, each with specific attributes: railways, trains and service brigades. All of them are represented in the DSM for the corresponding domain, which is more complete in comparison with that considered in our previous work [60], since it contains the specification of the requirements (Skills) both for the Services and for the Brigades providing them.

After the DSM created, we can identify the semantic level of DSL, describing the DSL meta-model. For this purpose, M2M transformation rules can be used, as it was described in [59]. This is reasonable since both DSM and DSL meta-model are described in a model-oriented way. In addition, M2M transformations are independent from the notation of model definition, that allows us to describe DSM and DSL meta-model independently, in the most appropriate way. As a result, we will have the complete DSL meta-model, which can be used during the following DSL syntax definition. This definition includes two parts: definition of objects for DSL syntax, which are the equivalents to the objects, described on the semantic level of DSL, and grammar, describing the operations and correct terms for the future DSL syntax. In our case, we used the Backus-Naur form of grammar definition, because this form allows us to identify rules, based on the previously created objects, and automatically convert the resulting rules into an abstract, language-independent form.

As a result, the created DSL semantic and syntactic levels are wholly coherent and can be evolved using transformations in real time. In addition, such changes are provided separately, since the invariants on both levels are identified.

In order to demonstrate how the evolution of users’ knowledge reflects into the transformation of DSL terms we analyze to states of the DSL: original one, derived from the DSM, and its further development using evolution tools.

4.2 The Original DSL

As a starting point for our DSL development we consider, that DSL supports only basic constructions and operations on objects defined in the DSM (railways, trains and service brigades) and the relationship between them. As a result, the following structure of DSL terms exists (Fig. 4and Fig. 5). As you can see, these constructions are sufficient to perform the basic operations of the domain: creating objects and establishing links between them (Fig. 6).

Fig. 4.
figure 4

DSL objects.

Fig. 5.
figure 5

DSL functions.

Fig. 6.
figure 6

Example of scenario in terms of the original DSL.

On the other hand, these commands do not reflect the time perspective of the domain, distributing only the set of resources available at a given moment in time between arriving trains.

In order to improve the quality of DSL and provide the user with the ability to plan resource allocation over time, it is necessary to make changes to the original DSL. As a result, we need to provide the user with the ability to change the design of the DSL, which creates a more complex version of the subject-oriented interface.

4.3 Subject-Oriented GUI

Developing subject-oriented GUI we should take into account, that it pursues two goals: writing and executing scenarios in the current version of DSL, as well as making changes (evolution) into DSL.

As a result, the interface created contains two parts: the first one, responsible for the DSL scenario definition and processing, and another one, needed for evolution of DSL. The first part, which contains only a visual panel, representing all the DSL components needed for definition of DSL scenarios, was properly described in our previous work [62] and mentioned in previous section. In what follows, the second part of the interface (see Fig. 7 and Fig. 8) responsible for DSL evolution is more interesting for us.

Fig. 7.
figure 7

Evolution of DSL implementation.

Fig. 8.
figure 8

Scenario with added command.

This part of interface allows us to adopt DSL automatically whenever the evolution is provided. Such automation allows us to support DSL evolution by end-users without the need to re-compile the whole framework and to have special programming skills.

In order to design such evolution, the second part of the interface is used (Fig. 7). This part contains three main components: the component to define/change a new/existing command of DSL, the component for definition of constraints, connected with the command and the component for definition of syntactic terms, related to the new command. All these components are identified in accordance with the structure of DSL: objects, which contain attributes and operations and relations between them. As a result, the created interface allows us to define the whole DSL structure and change it in real time without need to re-create the DSL manually.

4.4 Evolution of DSL

The first change we want to provide to the user is to add a time perspective to all objects. In fact, this means that each of the objects will have an additional attribute associated with time. For example, arrival time at the trains, the start and end time of servicing at the servicing brigades, etc.

From a formal point of view, this DSL development scenario is an example horizontal evolution. In more details, this classification of evolution was described in [59, 60].

In this case, using the evolution part of the interface, we add a new attribute arrivalTime to the TrainInfo object. For this purpose, the corresponding interface component can be used (Fig. 7, right). Similarly, we add other time attributes to other objects. After making such changes, we can argue that the structure of DSL objects has changed. However, more importantly, we can reflect these changes at the DSM level, using the model-to-model (M2M) transformations, as it as in details described in our previous work [60].As a result, we can argue that in this case there was a transfer of tacit knowledge of users to explicit knowledge.

It is important to note that the changes made are immediately applied to the language and can be used in further evolution and scenarios.

For example, we can extend syntactic part of DSL by adding new command: process train trainId by brigade brigadeId from timeStart till timeEnd. This command uses existing objects for the DSL semantic level: a train and a brigade, but implements a new syntactic term and new attribute added in the previous case of evolution. In order to implement this command, the second part of GUI is used. First of all, the user should define a needed command, using the block of available fields of DSL objects. As a result, the following construction and constraints, related to this, are defined (Fig. 7). Finally, the created term is compiled and added to the DSL, ready to use.

What is the most important, in this case, we only define new commands, without need to re-create the DSL structure and can use them in sceneries in real time. For example, the result of added command is represented in Fig. 8. As follows, the approach proposed allows us to implement all types of DSL evolution in real time, correctly transforming new commands into DSL syntactic and semantic objects and terms.

Currently existing approaches, allowing also to allocate resources of railway station, are targeted to one concrete type of resources (for example, to brigades by Wang et al. [67], or to trains by Chen et al. [10]). Furthermore, such approaches use static models of resource allocation and cannot be adopted according to new types of resources or solving models in real time. In comparison to existing approaches, the approach proposed is independent from the nature of the resources and can be adopted to any other domain.

The only limitation for our approach is the fact, that it can provide the opportunity to define only unidirectional transformation of DSL, according to changes in the domain model. This limitation can be explained by the fact, that languages of model transformations do not support bidirectional transformations, because symmetric transformation means using the opposite to the original operation (delete instead of add, etc.). However, such limitation can be resolved using the idea of closure operations necessary for organizing the DSL evolution [60].

5 Conclusion

Critical aspects of digital transformations, including the cross-institutional level of changes, dynamic nature of emerging business models and increasing importance of knowledge management strategies in the course of designing digital enterprises as inquiring systems, lead us to the conclusion that successful digital transformation requires application of a systemic engineering approach.

That article aimed at observing a complex phenomenon of digital transformation from the systemic viewpoint of enterprise engineering. Our attention was attracted to further progress in combination of enterprise engineering techniques and different knowledge types in order to facilitate knowledge life cycle management in the context of knowledge-based digital transformations because the practice of continuous defining, acquiring, disseminating, storing, applying, and assessing knowledge in organizations prepares people and potentializes internal changes.

Along that way several contributions were proposed in the ontology engineering. A new ontology modelling language of Formal Enterprise Ontology (FEO) was proposed which restates DEMO in precise terms of UFO. FEO gives a modeling language with precisely defined formal semantics provides an input for inference procedures and engines with a minimal information loss. Represented in OntoUML the FEOPL patterns fully inherit the FEO. In addition to a modeling power inherited from OntoUML, the FEOPL patterns enforce a correlated modeling of changes (the behavioral perspective of an organization) and objects undergoing these changes (the structural perspective of an organization).

We believe that proper combination of FEO and FEOPL with evolvable domain-specific languages facilitate continuous transformation of explicit and tacit knowledge. In our research, we explored an opportunity to provide the method of co-evolution of the ontology, used as a model of the subject area, and DSL. We proposed a formal ontology-based DSL structure together with a method of semantic projections. This method combines graph representation of the ontology and DSL with the set of rules, formulated in terms of an automated graph-transformation language. This mechanism has several advantages: the DSL designer does not need to know the semantic domain(s), nor the relationship between the concepts of his/her DSL and the concepts of the semantic domain, and he/she can still be benefited from its analysis tools. We call semantic bridges to those general mappings between different domains from which DSL-specific semantic mappings can be automatically derived. Models can then cross these bridges to benefit from each world without being aware of how they were constructed.

In comparison to traditional approaches, the proposed projection-based method of DSL development is organized in the strong correspondence of the target domain. Such correspondence is provided by the consequent projections among different models in a semi-automatic way through M2M transformations: from DSM into a DSL semantic model and then into a syntactic model of the specific DSL dialect. In comparison with existing approaches to transformation verification like [2] and [31], which also use the ideas of automated model generation with subsequent correctness property checking, our approach doesn’t depend on the modelling language and property chosen. Such independency follows from deriving invariants as stable logical structures from the model transformation rules. As a result, the verification procedure reduces to a simple check of two sets of OCL constraints between themselves.

Using our approach, we can define several DSL syntactic dialects over one specific DSL semantic model expressed in the form of FEO, which will be consistent and can be transformed between themselves without the redefinition of the DSL semantic models. Applicability of the proposed approach was demonstrated using a real-life example of co-evolution of the ontology and DSL in the railway transportation domain. Evaluation of the software prototypes has demonstrated that our approach to fusion practically enables continuous transformation of domain-specific languages in response to changes of the underlying enterprise ontology or knowledge of the users.

That example demonstrated an attractive feature of our method regarding the ratio of explicitly formulated knowledge. As Fig. 9 shows, evolution of DSL leads to increasing complexity of the user interface in terms of number of available elements and relations between these elements. As far as the user expresses knowledge about the subject area in terms of DSL more and more implicit knowledge can be reformulated explicitly.

Fig. 9.
figure 9

Growth of explicit knowledge alongside using DSL.

Changing the focus to the second pillar of our approach, namely ontology-based methods of dynamical evolution of domain-specific languages, we also can recognize some important directions of further research. In present kind our software prototypes require manual elaboration of user’s insights and transformation of their tacit knowledge to the explicit knowledge via modification of ontology. It will be beneficial to adapt machine learning algorithms for automatic production of recommendations for ontology changes on the basis of intellectual analysis of users’ interactions with a DSL. Another improvement includes design of more efficient model transformation algorithms for cases of complex domains.

In our vision achieved results and prospective plans clearly envisage importance and great potential of designing deep interconnections between such elements of enterprise engineering as enterprise ontologies and domain specific languages. We hope that results of such interconnections will facilitate efficient and effective knowledge-based digital transformations.