© 2017 Lukman Ab. Rahim, Ziyaulhaq Aliyu and Emy E. Mustapha. This open access article is distributed under a Creative
Commons Attribution (CC-BY) 3.0 license.
Journal of Computer Sciences
Original Research Paper
Evaluating the Usability of Model Transformations Testing
Approach (MTTA)
Lukman Ab. Rahim, Ziyaulhaq Aliyu and Emy E. Mustapha
Department of Computer and Information Sciences, Universiti Teknologi PETRONAS, 31750, Tronoh, Perak, Malaysia
Article history
Received: 30-12-2015
Revised: 01-03-2016
Accepted: 25-01-2017
Corresponding Author:
Lukman Ab. Rahim
Department of Computer and
Information Sciences,
Universiti Teknologi
PETRONAS, 31750, Tronoh,
Perak, Malaysia
Email: lukmanrahim@petronas.com.my
Abstract: Model Transformation (MT) is a key component in Model
Driven Development (MDD). Model transformation is used to transform
source model into a target model, improve the model quality and also
introduce the design pattern and refactoring. Model transformation are not
free from bugs similar to other software development artifacts and it needs
to be verified. Code Generators (CG) are a type of model transformation
that automatically generate code from software models. To verify a CG
using Model Transformation Testing Approach (MTTA) effectively,
MTTA requires the users to manually generate test model and develop
assertions. Since both tasks are performed manually, a usability study is
conducted to gauge the effects of the manual tasks towards the usability of
MTTA from three perspective: Learnability, effectiveness and efficiency.
The aim of this paper is to identify the usability problems of MTTA related
to its learnability, efficiency and effectiveness. Usability test technique is
used in this study and questionnaire was used to collect a quantitative data
from the participants. A pilot test was conducted with two participants and
later eight participants were recruited for the real test. The result shows that
MTTA is learnable and effective but inefficient. We conclude with a
discussion on the reason why MTTA is inefficient.
Keywords: Model-Driven Engineering, Model Transformation Testing,
Verification, Usability
Introduction
It is familiar that the integral complex nature of
software systems increases the challenges of software
development (Lin, 2007). Abstraction and automation
are among the prominent techniques for addressing
software development complexity (Lin, 2007;
Narayanan, 2008). The aim of model Driven
Engineering (MDE) is to increase the level of
abstraction in program specifications by the use of
models at different levels of software development and
improve automation in program development using
executable model transformations. High level models
are transformed into lower level until these models
become executable by the use of either model
interpretation (model-to-model transformation) or code
generation (model-to code transformation) techniques
(Frankel, 2003; Kleppe et al., 2003; Selic, 2003).
Model Transformations (MTs) are used to
synthesize various types of artifacts from models or
refine models to capture more system details. This
shows that model transformations play a key role in
MDE for converting models to other software artifacts.
The main objective of MTs are to provide automation
in MDE, to reduce the human effort that is associated
with modeling and also to reduce the potential errors
complexity (Lin, 2007; Narayanan, 2008).
The description of how source language constructs
may be transformed into target language constructs are
referred to as transformation rules. Various methods may
be used for defining the transformation rules, such as
Query View Transformation (QVT) and Atlas
Transformation Language (Bézivin et al., 2003) (refer
to (Czarnecki and Helsen, 2006) for more detail).
Majority of these languages concentrate on the
transformation implementations but usually not their
verification (Guerra et al., 2013). However, as like
other software artifact, models transformations are not
free from bugs, therefore they need to be verified
(Ab Rahim and Whittle, 2010). The main important
principal of verification is to discover the defects in