Abstract

We investigate quality improvement in QVT operational mappings (QVTo) model transformations, one of the languages defined in the OMG standard on model-to-model transformations. Two research questions are addressed. First, how can we assess quality of QVTo model transformations? Second, how can we develop higher-quality QVTo transformations? To address the first question, we utilize a bottom---up approach, starting with a broad exploratory study including QVTo expert interviews, a review of existing material, and introspection. We then formalize QVTo transformation quality into a QVTo quality model. The quality model is validated through a survey of a broader group of QVTo developers. We find that although many quality properties recognized as important for QVTo do have counterparts in general purpose languages, a number of them are specific to QVTo or model transformation languages. To address the second research question, we leverage the quality model to identify developer support tooling for QVTo. We then implemented and evaluated one of the tools, namely a code test coverage tool. In designing the tool, code coverage criteria for QVTo model transformations are also identified. The primary contributions of this paper are a QVTo quality model relevant to QVTo practitioners and an open-source code coverage tool already usable by QVTo transformation developers. Secondary contributions are a bottom---up approach to building a quality model, a validation approach leveraging developer perceptions to evaluate quality properties, code test coverage criteria for QVTo, and numerous directions for future research and tooling related to QVTo quality.

Highlights

  • Model-driven engineering (MDE) can be used to develop highly reliable software, offering benefits from analysis to code generation (Stahl and Voelter 2006)

  • We investigate quality improvement in QVT operational mappings (QVTo) model transformations, one of the languages defined in the Object Management Group (OMG) standard on model-tomodel transformations

  • Because our approach was not restricted to specific types of QVTo transformations, we assert that our model is relevant to all strata of the model transformation taxonomy proposed by Mens and Van Gorp (2006) that are applicable to QVTo

Read more

Summary

Introduction

Model-driven engineering (MDE) can be used to develop highly reliable software, offering benefits from analysis to code generation (Stahl and Voelter 2006). 2.1), it is even unclear whether quality properties for traditional languages apply to QVTo at all This lack of standardized and codified best practices has already been identified as one of the largest current challenges in assessing model transformation quality (Syriani and Gray 2012). We investigate what code properties, best practices, and in general quality concerns currently exist for QVTo. To maximize the relevance of our research to industry, a focus on practitioners is maintained. We use the data gathered to address our second research question: how can we develop higher-quality model transformations? We formalize the exploratory study results into a quality model for QVTo transformations, presented along with a selection of best practices and difficulties in Sect. Numerous directions for future research and tooling related to QVTo quality are presented

QVT operational mappings
Software quality
Formalizing QVTo quality
Exploratory study
Expert interviews
Existing material review
Limitations
Introspection
Constructing the quality model
Resulting quality model
Evaluation procedure
Model scope
Similarities to other models
QVTr relations are similar to QVTo mappings
Best practices
Difficulties
Validating the quality model
Threats to model validity
Leveraging the model in developer tooling
Tool development approach
Tool design
Tool requirements
Coverage criteria
Tool implementation
Tool evaluation
Qualitative evaluation results
Quantitative evaluation results
Threats to tool validity
Related work
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call