Standardization also promotes specialization of
tools in specific domains, leading the development
of tools with more concrete and sophisticated
features according to different application contexts.
Results of the exploratory study shows that 50%
of the subjects are totally agree about the MDD tool
must support the standard UML, and the other 50%
answers are neutral about this question. For Q2, 50%
of subjects are not agree regarding if it is necessary
that MDD tools support the MDA architecture in
terms of CIM, PIM, and PSM; and the other 50% of
the subjects are agree with this question.
Regarding the interoperability, the exploratory
study shows that 75% of subjects are totally agree
with the affirmation of the MDD tool must provide
extension mechanisms for modeling languages
customization. Regarding Q4, 75% of the subjects
state that MDD tool must provide extension
mechanisms that allow the communication or
interoperability with different tools.
4.2 Visualization and Management
of Models
Due to the main input artifact in a MDD approach is
a model, which specifies all the views that allow the
complete representation of a system, it is essential
that an MDD tool provides a suitable set of
management and visualization features for models
definition.
The minimum feature to be considered is the
possibility of visualizing the models at design time.
In particular, it is necessary to provide a graphical
interface that facilitates the management of multiple
views that are normally used for a system model
specification. The exploratory study shows that 75%
of the subjects state that it is absolutely necessary to
have a graphical visualization of the model.
However, to appreciate graphically the model is
not the only concern related to visualization that
should taking into account when an MDD tool is
built. Nowadays, more than ever, it is necessary to
provide user interfaces that take into account quality
characteristics such as usability (ISO/IEC, 2001);
and new characteristics of hardware devices, such as
touch panels in desktop and laptop computers
(Garber, 2012). In the exploratory study we found
that 50% of subjects agree to have an easy human
interaction to work with models, and the other 50%
answer that it is not necessary.
Regarding versioning of the models, the
exploratory study shows that 50% of the subjects
state that it is absolutely necessary to manage the
versioning of the models. This is the only way to
work in collaborative industrial projects, where
different members of a development team can work
over the same models. However, the remaining 50%
of subjects response that it is not mandatory to have
a version manager, but it is a desirable feature.
4.3 Verification
In MDD, the modeling language assumes the role of
an implementation language due to it achieves a
complete and automatic code generation; i.e., the
model becomes the new programming code. In this
context, the generated code becomes into a black
box, rarely reviewed, as is rarely reviewed the
machine code generated by a programming language
compiler, because this generation is performed using
widely accepted standards in the industry.
Thus, the verification of the model should be a
mandatory feature of an industrial MDD tool. 100%
of subjects response in the exploratory study that the
MDD tools must provide verification mechanisms.
This means using the MDD tool to find the presence
of desirable characteristics and the absence of
undesirable characteristics.
Regarding to the absence of undesirable
characteristics, different researchers have applied
reading techniques or heuristics to identify defects in
UML models, such as (Travassos et al., 1999),
(Conradi et al., 2003), (Lange and Chaudron, 2004),
(Egyed, 2006). Reading the question if it is
necessary that the MDD tool provides automatic
defect detection of the models, the exploratory study
reveals that it is desirable, but with a desactivation
possibility because some defects depends on the
methodology selected in the project; i.e. it should be
good to plug custom defect detection mechanisms to
supporting architects’ needs.
4.4 Testing
Even though there exist several defect detection
techniques proposed by the academia, the most
important and most frequently used quality
assurance technique applied in industry is testing.
Usually, testing of software systems take up to more
than 50% of development cost and time (Vos et al.,
2010). For this reason, it is very important to
perform the testing as early as possible in order to
diminish this high cost. Despite there are several
tools and methods for testing planning and control,
and test case execution and monitoring, there still
are a limited amount of approaches for test case
design, selection of test data, and test evaluation.
To perform testing of models, there are several
MODELSWARD2014-InternationalConferenceonModel-DrivenEngineeringandSoftwareDevelopment
544