
Databases and Information Systems IX 101 G. Arnicans et al. (Eds.) © 2016 The authors and IOS Press. This article is published online with Open Access by IOS Press and distributed under the terms of the Creative Commons Attribution Non-Commercial License 4.0 (CC BY-NC 4.0). doi:10.3233/978-1-61499-714-6-101 Executable Models of Event Driven Systems Janis BICEVSKISa,1, Zane BICEVSKAb and Girts KARNITISa a University of Latvia, Faculty of Computing, Riga, Latvia b DIVI Grupa Ltd, Riga, Latvia Abstract. The approach proposed in this paper is based on usage of Domain Specific Languages (DSL) and allows create executable information systems' models. It lets us apply principles of the Model Driven Development (MDD) to information systems development and use: bridges the gap between business and IT, take an exact specification of information system, up-to-date documentation etc. The practical experience proves the viability of the proposed approach. Keywords. Business Process Modeling, Model Driven Development, Domain Specific Language. 1. Introduction Model driven development (MDD) is a concept that offers a wide range of advantages for development, maintenance and use of information systems [1], [2]: (1) MDD provides a higher level of abstraction to describe the business process, and it leads to reduced efforts for error-prone description, meaningful validation and exhaustive testing, (2) MDD bridges the gap between business and IT, (3) MDD captures domain knowledge, (4) MDD results in software being less sensitive to changes in business requirements, (5) MDD provides up-to-date documentation. To reach the benefits of MDD, there should be used modelling languages and tools allowing accurately describe the system’s operation. It means the objects of high abstraction level should be transformable into source code of an information system. The most popular modelling languages like UML and BPMN are able to carry out the task only partially [3]. The languages use high abstraction concepts without linking them to specific domain objects and views. To achieve a full compliance, the objects of high abstraction level must be linked to the gradual detailing level up to the level of implementation. Many authors propose usage of Domain Specific Languages (DSL) as the solution. For instance, [4] argue that although UML is a useful modelling language, it is not an appropriate language for MDD, because UML is designed for documenting and not for programming. As a response to this the MDD community shifted focus to smaller, more specific languages [3], [5]). These DSLs focus on a specific problem area or even a business domain. That ultimately also defines the scope and applicability of these languages. They are by definition not meant to solve a generic issue and hence don’t attract a large 1 Corresponding author, Professor, University of Latvia, blwrd. Raina 19, LV-1586, Riga, Latvia, Email: [email protected] 102 J. Bicevskis et al. / Executable Models of Event Driven Systems developer community. The usage of DSLs in the MDD context leads to the requirement the models should be executable. And the challenges are still there - how to define business models and how to make them executable? The essential change is that models can now be directly used to drive software development. This paper describes a platform DIMOD for defining of DSLs ensuring executable models. The main focus of the research is devoted to so-called Event Driven Systems (EDS) where the data processing is caused by system’s external or internal events. The model of an EDS consists of widely-used modelling artefacts like data object, activity, data object’s state, event, time constraints etc. The proposed tools let you: to define a new DSL - artefacts and graphical representation of diagrams; to create an editor for editing graphical diagrams in the new DSL; to define semantics of the used concepts and the execution of models. The EDS represent a class of models where each instance is an executable model in a particular DSL. The models are executable either by interpreting the model, or by generating the source code from the model using a code generator. Wide range of data processing systems used in our daily life are examples of EDS – state information systems (population register, vehicle register etc.) as well as commercial solutions (e-shops, CRMs etc.). For example, the population register processes the data of citizens as data objects, and the personal life events (birth, education etc.) serve as events which change the states of data objects. The present work is a continuation of the previous research [6] extending it by implementation issues. The structure of the paper: the second section describes the purpose of the study – to create a DSL based approach for modelling of executable event–driven information systems. The third to fifth section describe the syntax, the semantics and the pragmatics of the proposed approach. The sixth section describes the related research. The conclusion contains summary about EDS and MDD approaches. 2. Models of Event-Driven Systems 2.1. Context In everyday life we use lot of EDS. The main goal of this research is to design a DSL- based modelling platform for describing of EDS to achieve a better appliance of MDD principles in development of information systems. 2.2. Business Process Modelling Environment DIMOD Usually business processes of EDS are described using some graphical DSL. As the EDS represents a wide class of information systems, the used DSLs can also be different. Hence it is advisable to use not only one specific graphical editor supporting one concrete DSL but to create your own editor for each used DSL. Currently there are several such platforms in use; one of them, called GrTP [7], is produced in Latvia. The business process graphical modelling environment DIMOD, used in this research, was derived from GrTP. Accordingly the DIMOD features are widely affected by those of GrTP. The business process modeling environment DIMOD is intended: J. Bicevskis et al. / Executable Models of Event Driven Systems 103 to define the DSL using meta-model that is stored into model’s repository. DSL parameters may be defined and modified using the separate configuration component Configurator [8]. Once the DSL is defined the corresponding modelling editor is created for the DSL automatically; to create and edit business process diagrams in the DSL. This is usually done by some highly qualified modelling experts in collaboration with domain experts (“clever users”); to check the business process models’ internal consistency. Both IT and domain experts are involved in it; to publish the created model/diagrams in WEB. It allows a wide range of users to use the business model diagrams without installation DIMOD. DIMOD also includes a feature to call APIs in predefined points for implementation of DSL specific semantics. It provides accessibility of specific functions or external sources as well as read/write access to model’s repository. 2.3. Characteristic Aspects of EDS Modelling Languages There are three views used to describe programming and/or modelling languages: Syntax of the modelling/ programming language. The syntax of modelling language is determined by the meta-model. A program or a model is considered to be syntactically correct if it meets all the conditions included in the meta-model. The syntactical correctness of the model/ program does not guarantee that the information according the model is processed exactly in that way which has been desired by the author. Therefore it is not sufficient to have only syntactically correct model to create an information system; it is necessary to define the semantics of the language. Semantics of the modelling/ programming language. The semantics of modelling language describes the meaning of concepts used in the language. The semantics can be defined in different ways – by axiomatic mathematical theory or by describing of an abstract machine explaining the language command execution and the meaning of language structures. In this paper the concept of abstract machine is used as it is well-known in the IT industry. Pragmatics of the modelling/ programming language. The pragmatics gives recommendations how the language should be applied and describes the methods. The pragmatics is based on practical considerations like language usage costs, development deadlines, availability of support, complexity of the language etc. The following sections will include analysis of all three aspects of EDS. 2.4. Ontological Model of EDS A modeling language should be defined in two levels: (1) firstly definitions of the ontological notions should be created, and then (2) the graphical representation is aligned to defined notions. The separation between the used concepts and their graphical depiction is the essential difference between the proposed approach and the traditional way used in many modelling languages where basic language elements are defined by graphical symbols representing basic concepts. The ontology of the EDS business process model proposed by the authors is shown in the Figure 1. The meta-model consists of a voluntary number of elements. Every 104 J. Bicevskis et al. / Executable Models of Event Driven Systems element has at least three predefined attributes – type, name, and identifier – and a voluntary number of additional attributes. Besides the five predefined types of elements the model may contain a voluntary number of additional types of elements. The predefined types are as follows: the object represents external donors/receivers of the information as well as sources/targets of data; some examples of such elements are messages, documents, records in data bases, legislative acts, etc. action represents activities with data objects, start/end of processes, execution of process’s steps, conditional execution, parallel activities, control of time restrictions, etc. state describes corteges of attributes’ values available for the data object to be processed. The corteges of values are equivalence classes with objects that are to be processed similarly during the specified process.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages14 Page
-
File Size-