Keywords

1 Introduction

Nowadays information systems description with textual information and basic schemes is not enough, because of complexity of them. Modern information systems engage a variety of data, information, and knowledge-based problems. At that time, most information systems were data-oriented only. Their initial purpose was to store, retrieve and control data [14].

Information system engineering extends through the whole life cycle of systems. Information system engineering is based on the traditional knowledge and empirical experience of the analyst combined with supplementary abilities achieved from previous practice. Information systems engineering process is a logical sequence of actions and solutions that converts operational demands into a description of system performance configuration [5, 6].

The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard for model-driven engineering. Its purpose is to provide a type system for entities and a set of interfaces through which those types can be created and manipulated. MOF only provides a means to define the structure, or abstract syntax of a language or of data [7].

Enterprise modeling has become an inextricable part of information system development process. Recently, the organization’s business modeling has become an important phase of modeling design processes. MOF architecture supplemented with enterprise meta-model assures appropriate information system development process.

2 MOF Architecture

Computerized IS engineering is developing based on new knowledge-based methods, in order to avoid empirical influence. A knowledge–based IS engineering offers system modeling and decision–making methods and tools, which helps to develop more precise and detailed subject area corresponding to the project.

The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard is designed as a four-layered architecture. It provides a meta-meta model at the top layer, called the M3 layer. This M3-model is the language used by MOF to build meta-models, called M2-models. The most prominent example of a Layer 2 MOF model is the UML meta-model, the model that describes the UML itself. These M2-models describe elements of the M1-layer, and thus M1-models, for example, models written in UML. The last layer is the M0-layer or data layer. It is used to describe real-world objects. MOF is a closed meta-modeling architecture; it defines an M3-model, which conforms to it-self [7] (Fig. 1).

Fig. 1.
figure 1

MOF architecture with additional EM layer

As it is described above M3 is meta-meta model, the base for a Metamodeling Architecture, which defines the language to describe meta-models. And M2 meta-model is an instance of a meta-meta model, which defines the language to describe models. Among M3 and M2 layers one more layer is needed to assure more accurate usage of MOF architecture [7]. This additional layer consists of enterprise meta-model (EMM). Enterprise meta-model is a formal structure which ensures more qualified information system development process and knowledge base data collection. Enterprise model and enterprise meta–model makes information system needed UML project models generation process more efficient and eligible and assure reduced number of mistakes in the final information system development phase [1].

3 Enterprise Model

Enterprise meta-model is formally defined enterprise model structure, which consists of a formalized enterprise model in line with the general principles of control theory. Enterprise model is the main source of the necessary knowledge of the particular problem domain for IS engineering and IS re–engineering processes [8].

Enterprise meta–model manages Enterprise model composition and stores knowledge that is necessary for information system development process only. It can be used during all phases of information system development life cycle [9, 10] (Fig. 2).

Fig. 2.
figure 2

Relationship between KB based CASE tool components and UML

Enterprise model and Enterprise meta-model are the main components of knowledge-based subsystem of CASE Tool. It is suitable to collect necessary knowledge to the knowledge-based subsystem of the particular CASE Tool. This subsystem is the main source of knowledge necessary for design phase models, for example UML models through transformation algorithms, and source code generation process [10, 11].

There is given formalized Enterprise meta-model description, which is needed to define UML Sequence model generation process algorithm. Enterprise model can be described as Malcev algebra based algebra system [12]:

$$ {\text{M1}} = < {\text{K}},{\text{ R}} > ; $$
(1)

For each set of K element Kn composition is defined as:

\( \begin{aligned} & {\text{Kn}} = < \left\{ {{\text{an1}},{\text{ an2}}, \ldots ,{\text{ank}}} \right\}, \, \left\{ {{\text{mn1}},{\text{ mn2}}, \ldots ,{\text{mnl}}} \right\} > ,{\text{ where}} \\ & \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \left\{ {{\text{an1}},{\text{ an2}}, \ldots ,{\text{ank}}} \right\} \, {-}{\text{ attributes of Kn element}}, \, \\ & \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \left\{ {{\text{mn1}},{\text{ mn2}}, \ldots ,{\text{mnl}}} \right\}{-}{\text{ methods of Kn element}}. \\ \end{aligned} \)

Enterprise model M1 composition is as follows:

$$ {\text{M1 = < }}\left\{ {{\text{K1,}}\,{\text{k2,}} \ldots ,\,{\text{K21}}} \right\} ,\;\left\{ {{\text{r1,}}\,{\text{r2,}}\,{\text{r3}}} \right\}{ > ;} $$
(2)

where: K1– meta-class Process, K2 – meta-class Function, K3 – meta-class Actor, K4 – meta-class Event, K5 – meta-class Goal, K6 – meta-class Material Flows, K7– meta-class Input Material Flow, K8 – meta-class Output Material Flow, K9 – meta-class Information Flow, K10 –meta-class Interpretation, K11 – meta-class Data Processing and Solution Making, K12 – meta-class Realization, K13– meta-class Information Activity, K14 – meta-class Business Rules, K15 – meta-class Interpretation Business Rules, K16– meta-class Data Processing and Solution Making Business Rules, K17 – meta-class Realization Business Rules, K18 – meta-class Process Output, K19– meta-class Information processing Input, K20 – meta-class Information processing Output, K21 – meta-class Process Input, r1 – Aggregation, r2 – Generalization, r3 – Association. Enterprise meta-model graphical schema is presented at Fig. 3:

Fig. 3.
figure 3

Enterprise meta-model graphical schema based on Malcev algebra

4 UML Models Generation Process

UML model is a partial graphical view of a model of a system under design, implementation, or already in presence. UML model contains graphical elements – UML nodes connected with flows – that represent elements in the UML model of the designed system [13].

The kind of the model is described by the primary graphical symbols shown on the model. UML specification does not prevent mixing of different kinds of models, for example to unite structural and behavioral elements to express particular case. Therefore, the boundaries between the various kinds of models are not strictly enforced [14].

UML specification defines two kinds of UML models: structure models and behavior models, where Structure models show the static structure of the system and its parts on different abstraction and implementation levels and how they are related to each other. The elements in a structure model represent the meaningful concepts of a system, and may include abstract, real world and implementation concepts; and Behavior models show the dynamic behavior of the objects in a system, which can be described as a series of changes to the system over time [13, 14].

One of the behavior models is Sequence model. It is most common kind of interaction models which focuses on the message interchange between objects (lifelines). Sequence model shows how the objects interact with others in a particular scenario of a use case [14].

There is given formalized UML Sequence model description. UML Sequence model also can be described as Malcev algebra based algebra system [12]:

$$ {\text{M2}} = < {\text{K}},{\text{ R}} > ; $$
(3)

UML Sequence Model M2 composition is as follows:

$$ {\text{M = < }}\left\{ {{\text{K22,}}\,{\text{K23,}} \ldots ,\,{\text{K27}}} \right\} ,\;\left\{ {\text{r1}} \right\}{ > ;} $$
(4)

where: K22– meta-class Message, K23 – meta-class Execution, K24 – meta-class Lifeline, K25– meta-class State Invariant, K26 – meta-class Combined Fragment, K27 – meta-class Destruction Occurrence, r1 – Aggregation. UML Sequence Model graphical schema is presented at Fig. 4:

Fig. 4.
figure 4

UML sequence model graphical schema based on Malcev algebra

Intersection between Enterprise model and UML Sequence model elements is presented in the Table 1 and in graphical scheme in Fig. 5.

Fig. 5.
figure 5

Graphical scheme of intersection between enterprise model and UML sequence model elements based on Malcev algebra

Transformation algorithm presented in the Fig. 6 is algorithm for enterprise meta–model based UML Sequence model generating process. Main steps for generating process are identifying and selecting UML Sequence model for generating process, identifying starting elements, selecting elements types, selecting relationships between elements types, selecting all related elements, reflecting enterprise model elements to UML model elements and generating selected UML sequence model elements.

Table 1. Intersection between enterprise model and UML sequence model elements
Fig. 6.
figure 6

UML sequence model generation from enterprise model algorithm

5 Conclusions

Qualitatively implemented information system development life cycle phases are very significant for the success of information systems development process and mistakes made in that phases will cause huge problems and cost a lot of time and expenses to solve it.

MOF architecture was established to provide a suit of schemas by which the structure, meaning and behavior of objects could be described. Enterprise meta-model as an additional MOF layer ensures that enterprise model includes business management information process fundamental attributes and provides a knowledge base as a CASE Tool subsystem, which ensures quality and verified knowledge in specific scenarios. Each element of UML models can be generated from the enterprise model using knowledge based enterprise model and transformation algorithms.

MOF architecture with additional layer of enterprise meta-model simplifies UML models generation process from knowledge-based enterprise model, IS development process becomes consistent, more effective and there is lower number of mistakes in the closing information system development phase.