Diagrammatic Development of Domain Specific Modelling Languages with WebDPF

Diagrammatic Development of Domain Specific Modelling Languages with WebDPF

Fazle Rabbi (Bergen University College, Bergen, Norway & University of Oslo, Oslo, Norway), Yngve Lamo (Bergen University College, Bergen, Norway), Ingrid Chieh Yu (University of Oslo, Oslo, Norway) and Lars Michael Kristensen (Bergen University College, Bergen, Norway)
Copyright: © 2016 |Pages: 22
DOI: 10.4018/IJISMD.2016070105

Abstract

Domain specific modelling languages reduce the effort required to specify systems by providing higher level abstractions. Although this is a promising approach for reducing the complexity of system specifications, creating a new domain specific modelling language is a complex task. WebDPF is a web-based metamodelling tool that aims to reduce the effort required to develop domain specific modelling languages. The proposed technique is based on model transformations which enhances a modelling language with auto-completion. WebDPF supports multilevel metamodelling, diagrammatic specification of model constraints, and development, simulation and analysis of model transformation systems. The authors study the termination of the underlying model transformation systems and provide sufficient condition for termination. The tool is equipped with a scalable model navigation facility that enables a modeler to deal with large models.
Article Preview

Introduction

Software development is a complex process and many software development projects fail to meet project goals. The complexity of software development may be reduced by applying Model Driven Engineering (MDE) as it can effectively reduce repetitive, error-prone and time consuming tasks through automation (Schmidt, 2006). MDE raises the level of abstraction of a system via the systematic use of domain specific modelling languages (DSML). Domain specific modelling is a MDE methodology for designing and developing systems. In MDE, metamodelling is the act of creating DSMLs. Although MDE was introduced to reduce the complexity of system development, it adds accidental complexity in many cases (Whittle et al., 2013). This problem gets worse as software models become larger. One of the main reason of MDE not being adopted in the software development process, as pointed out by many authors, is inadequate tool support (Tomassetti et al., 2012). With advanced tool support, MDE can be successfully applied to model and develop large-scale software applications as MDE facilitates rapid software development and evolution which are two essential elements in many software projects. There exists several MDE and transformation tools such as DIAGEN (Mazanek et al., 2008), WebGME (Maróti et al., 2014), AToMPM (Syriani et al., 2013), Melanie (Kennel, 2012), AGG (Ehrig et al., 2006), eMoflon (Anjorin et al., 2011) for modelling and development of DSML. These tools include various features which are essential for developing DSMLs. In this paper, the authors present WebDPF which is a web-based tool inspired by the tools listed above yet incorporating a distinguished set of features including support for scalability concerning the size of models, completion of partial models (incomplete models), and the construction of reusable components for structural and behavioral modelling of systems.

Many graphical modelling tools suffer from the problem of scalability as graphical models occupy more space than text. In order to address this issue, WebDPF implements a model navigation feature that allows a designer to search for desired model elements and display a small fragment of a model in the modelling editor. This approach provides better visualization support for the designer to focus on the essential parts of his/her work.

The WebDPF metamodelling environment is based on the Diagram Predicate Framework (DPF) (Rutle, 2010) which supports multilevel metamodelling. Earlier (Lamo et al., 2012), an Eclipse-based diagrammatic workbench (DPF-WB) has been presented. WebDPF is built on the foundation of the DPF yet incorporating a number of new features to ease metamodelling. In WebDPF, one can graphically specify constraints and model transformation rules. Transformation rules have been introduced in WebDPF for two purposes: 1) automatic rewriting of partial models so that they can be made to conform to the underlying metamodel; 2) modelling the behavior of systems. In the process of software development, modelers are often confronted with a variety of inconsistencies and/or incompleteness in the models under construction (Mens et al., 2007). In particular, the modeler will most of the time be working with a partial model not conforming to the metamodel that defines the modelling language being used (Sen et al., 2007), i.e., it is not typed by and/or not satisfying modelling constraints.

One aspect of using model transformation rules in WebDPF is to reduce the modelling effort of the modeler by means of model completion. Model completion is also known as model repair technique (Macedo et al., 2015). Therefore, the model transformation rules that are intended to automatically complete a partial model are referred to as repair rules. The tool exploits the locality of repair rules for termination analysis and provides a foundation that enables automated tool-support to increase modelling productivity. Another aspect of using model transformation rules in WebDPF is to model the behavior of a system. While designing the behavior of a transition system, the modeler can take advantage of reusing rules. Rules that are intended to model the behavior are referred to as state transformation rules. The tool also facilitates the simulation of transition systems. To demonstrate this feature, an example from the healthcare domain is presented in the paper.

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 10: 4 Issues (2019): Forthcoming, Available for Pre-Order
Volume 9: 4 Issues (2018): 3 Released, 1 Forthcoming
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 4 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing