Keywords

1 Introduction

Nowadays information system (IS) engineering process is quite challenging as for analysts, designers and as for any IS design process professionals. Enterprise modelling has become one of the most important elements in IS design process. Enterprise models applications are adapted in various ways and diverse types of models are created based on chosen Enterprise model [1, 2].

UML is a highly recognized and understood platform for IS design. It is a standard notation among professionals. UML can be used to model not just object-oriented IS engineering, but application structure, behavior, or/and business processes. UML models can generate code from the design, apply design patterns, perform impact and complexity analysis [1, 6, 8].

To ensure all these UML model applications is possible only then, when data used for UML models design is verified, validated and of enough quality. Enterprise model completely provides all necessary data and UML models generated from it by using transformation algorithms fully match this requirement [3, 5, 7, 9, 10].

Particular Enterprise meta-model and Enterprise model structure used as the background for this research are presented almost two decades ago. All previous researches are dedicated to prove that composition of these EMM and EM is enough for generation of different types of models in IS modelling process [10,11,12].

2 Knowledge-Based Enterprise Meta-model and Enterprise Model

EMM is formally defined EM structure, which consists of a formalized EM in line with the general principles of control theory. EM is the main source of the necessary knowledge of the particular business domain for IS engineering and IS re-engineering processes (Fig. 1) [3, 4].

Fig. 1.
figure 1

Enterprise meta-model class diagram [3, 4, 10]

EM class model has twenty-three classes. Essential classes are Process, Function and Actor. Class Process, Function, Actor and Objective can have an internal hierarchical structure. These relationships are presented as aggregation relationships. Class Process is linked with the class MaterialFlow as aggregation relationship. Class MaterialFlow is linked with the classes MaterialInputFlow and MaterialOutputFlow as generalization relationship. Class Process is linked with Classes Function, Actor and Event as association relationship. Class Function is linked with classes InformationFlow, InformationActivity, Interpretation, InformationProcessing and Realization as aggregation relationship. These relationships define the internal composition of the Class Function. Class InformationFlow is linked with ProcessOutputAtributes, ProcessInputAtributes, IPInputAttributes and IPOutputAttributs as generalization relationship. Class InformationActivity is linked with Interpretation, InformationProcessing and Realization as generalization relationship. Class Function linked with classes Actor, Objective and Business Rule as association relationship. Class Business Rule is linked with Interpretation Rule, Realization Rule, InformationProcessing Rule as generalization relationship. Class Actor is linked with Function Actor and Process Actor as generalization relationship [3,4,5, 11].

Figure 2 presents the transformation algorithm of UML model generation from EM process and is described by the following steps [10, 11].

Fig. 2.
figure 2

The top level transformation algorithm of UML models generation from EM process [10,11,12]

  • Step 1: Particular UML model for generation from the EM process is identified and selected.

  • Step 2: If the particular UML model for generation from EM process is selected then algorithm process is continued, else the particular UML model for generation from EM process must be selected.

  • Step 3: First element from EM is selected for UML model, identified previously, generation process.

  • Step 4: If the selected EM element is an initial UML model element, then initial element is generated, else the other EM element must be selected (the selected element must be initial element).

  • Step 5: The element related to the initial element is selected from the Enterprise model.

  • Step 6: The element related to the initial element is generated as UML model element.

  • Step 7: The element related to the previous element is selected from the Enterprise model.

  • Step 8: The element related to the previous element is generated as UML model element.

  • Step 9: If there are more related elements, then they are selected from EM and generated as UML model elements one by one, else the link element is selected from the Enterprise model.

  • Step 10: The link element is generated as UML model element.

  • Step 11: If there are more links, then they are selected from EM and generated as UML model elements one by one, else the Business Rule element is selected from the Enterprise model.

  • Step 12: The Business Rule element is generated as a UML model element.

  • Step 13: If there are more Business Rules, then they are selected from EM and generated as UML model elements one by one, else the generated UML model is updated with all elements, links and constraints.

  • Step 14: Generation process is finished.

Table 1 presents part of Enterprise model elements and their descriptions in order to describe elements, which are necessary in this particular research.

Table 1. Description of knowledge stored in Enterprise model

3 Development of UML Models for Ticket Buying Process

This section deals with the detailed explanation of the Ticket buying process and how this process can be designed by using knowledge-based Enterprise model, where all knowledge related with the previously described example is stored. There is also explained, what knowledge is used for the generation particular UML models through certain transformation algorithms created for each UML model generation process [10, 12]. There are described UML Use Case, Sequence, State and Activity models generated form the Enterprise Model.

3.1 Ticket Buying Process Example and Its UML Models

The process of Ticket buying may seem very simple, but if this process would be analyzed from different perspectives in information systems design phase; if this process would be projected and designed for the fulfillment of its all possible functions it would take a lot of time and efforts of an analyst, designer and etc.

In IS lifecycle design phase all the details must be estimated. These details, this knowledge is stored in previously described Enterprise model and they are already verified and validated.

3.2 UML Use Case Model of Ticket Buying Process Example

A UML Use Case model is the primary form of system requirements for a new IS underdeveloped. Use cases specify the expected behavior – what?, and not the precise method of making it take place – how?. A key concept of use case modelling is that it assists to design a system from the end user’s perspective. It is an powerful technique for communicating system behavior in the user’s conditions by specifying all externally visible system behavior.

Table 2 presents UML Use Case model elements generated from the Enterprise model of Ticket buying example. In Enterprise Model all information related with actors, their functions and relationships between these functions is stored. There are three actors: Client, Manager and Ticket System. Ticket System as an actor is associated with all seven functions – use cases: Enquire ticket availability, Fill form, which includes use case of ticket booking or ticket cancelling, ticket booking includes ticket price payment and form printing, this includes ticket cancelling and this includes payment refunding. Client as an actor is associated with all functions except payment refunding, because it is Ticket system’s function. Manager as an actor is associated only with two functions – uses cases: form printing and ticket canceling.

Table 2. UML Use Case model elements generated from the Enterprise model of Ticket buying example [5, 7, 9]

Figure 3 presents UML Use Case model of Ticket buying example generated step by step from the Enterprise Model through UML Use Case transformation algorithm.

Fig. 3.
figure 3

UML use case model of ticket buying example

3.3 UML Sequence Model of Ticket Buying Process Example

UML Sequence model is an interaction model that detail how operations are implemented. This model captures the interaction between objects in the context of a collaboration. UML Sequence model is time focus and it shows the order of the interaction visually by using the vertical axis of the diagram to deliver time what messages are sent and when.

Table 3 presents UML Sequence model elements generated from the Enterprise model of Ticket buying example. In Enterprise Model all information related with actors and their collaboration is stored. There are three actors – process participants, which are called Lifelines in UML Sequence model: person – Client, subject – Ticket system, object – Ticket. Ticket has one execution specification, receives one message with details and sends one message of created ticket; Ticket system has three execution specifications, one is assigned for validation, after Client logs in, it returns result; second is assigned for form creation and third for ticket creation; all these are related with messages from Client. Client logs in, requests form, submits details, prints ticket – client sends four messages and receives two: validate login and acknowledgement of all requests of this particular process.

Table 3. UML Sequence model elements generated from the Enterprise model of Ticket buying example [5, 7, 9]

Figure 4 presents UML Sequence model of Ticket buying example generated step by step from the Enterprise Model through UML Sequence transformation algorithm [10].

Fig. 4.
figure 4

UML sequence model of Ticket buying example

3.4 UML State Model of Ticket Buying Process Example

UML State Model shows the different states of an entity. State model can also demonstrate how an entity responds to various events by changing from one state to another.

Table 4 presents UML State model elements generated from the Enterprise model of Ticket buying example. In Enterprise Model all information related with processes, functions and their state is stored. This model is from Client’s perspective. There are four information flows – composite states of a Client entity: validation, availability check, ticket booking and printing. All these composite states are conducted by particular behavioral state machine: Enter login details, Enter bus details, Enter self details, Booking successful, Logout.

Table 4. UML State model elements generated from the Enterprise model of Ticket buying example [5, 7, 9]

Figure 5 presents UML State model of Ticket buying example generated step by step from the Enterprise Model through UML State transformation algorithm [10].

Fig. 5.
figure 5

UML state model of Ticket buying example

3.5 UML Activity Model of Ticket Buying Process Example

UML Activity model describes how activities are coordinated to provide a service which can be at different levels of abstraction. Typically, an event needs to be gained by some operations, particularly where the operation is intended to gain a number of different things that require coordination, or how the events in a single use case relate to one another, especially, use cases where activities may overlap and require coordination.

Table 5 presents UML Activity model elements generated from the Enterprise model of Ticket buying example. In Enterprise Model all information related with actors, their activities and relationships between these functions is stored. There is one business rule – control node, related with the process beginning, initial node. In this case, there is only one actor – one partition – Client. There are two Client activities before decision node: bus searching and checking tickets availability. In case, there is no available tickets, process finishes unsuccessful with one of final activity nodes. In other case, if there are available tickets, Client books tickets, fills details, submits details, makes payment and prints ticket. This process finishes as successful with second final activity node.

Table 5. UML Activity model elements generated from the Enterprise model of Ticket buying example [5, 7, 9]

Figure 6 presents UML Activity model of Ticket buying example generated step by step from the Enterprise Model through UML Activity transformation algorithm [10].

Fig. 6.
figure 6

UML activity model of Ticket buying example

All four UML dynamic models: Use case, Sequence, State and Activity of one Tickets buying process example are generated form Enterprise model, where sufficient, verified and validated data was stored. These four UML models define same example, but in diverse perspectives by showing different actors activities, states and use cases. Knowledge-based Enterprise model is sufficient storage of data, which is necessary for UML models generation by certain transformation algorithms of each UML model.

4 Conclusions

The first part of the paper deals with the presentation of the knowledge-based Enterprise model, UML models generation form Enterprise model top level transformation algorithm, which is described step by step and also represents the idea of each UML model transformation algorithm. This part either presents some part of Enterprise model elements and describes their possible content necessary for further research.

The second part presents particular example, which data is stored in knowledge-based Enterprise model and it is used in generation process. There are presented four types of UML dynamic models for this particular example. Each mentioned UML model is generated through certain transformation algorithms.

Each subsection presents different UML dynamic model. All these UML models are generated from the Enterprise model. All information necessary for this generation process is stored in knowledge-based Enterprise model and all UML models elements of the analyzed example also described by their dependency to a certain elements stored in Enterprise model.

The presented example demonstrates that all knowledge stored in Enterprise model is enough for generation process; that Enterprise model elements are sufficient to convey all UML models element in different UML models perspectives. Every element of UML dynamic models can be generated from the Enterprise model and this can implement entire knowledge-based IS development cycle design phase.