27 research outputs found
Generating Effective Test Suites for Model Transformations Using Classifying Terms
Generating sample models for testing a model transformation is no easy task. This paper explores the use of classifying terms and stratified sampling for developing richer test cases for model transformations. Classifying terms are used to define the equivalence classes that characterize the relevant subgroups for the test cases. From each equivalence class of object models, several representative models are chosen depending on the required sample size. We compare our
results with test suites developed using random sampling, and conclude that by using an ordered and stratified approach the coverage and effectiveness of the test suite can be significantly improved.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech
Testing M2T/T2M Transformations
Presentado en: 16th International Conference on Model Driven Engineering Languages and Systems (MODELS 2013). Del 29 de septiembre al 4 de octubre. Miami, EEUU.Testing model-to-model (M2M) transformations is becoming a prominent topic in the current Model-driven Engineering landscape. Current approaches for transformation testing, however, assume having explicit model representations for the input domain and for the output domain of the transformation. This excludes other important transformation kinds, such as model-to-text (M2T) and text-to-model (T2M) transformations, from being properly tested since adequate model representations are missing either for the input domain or for the output domain. The contribution of this paper to overcome this gap is extending Tracts, a M2M transformation testing approach, for M2T/T2M transformation testing. The main mechanism we employ for reusing Tracts is to represent text within a generic metamodel. By this, we transform the M2T/T2M transformation specification problems into equivalent M2M transformation specification problems. We demonstrate the applicability of the approach by two examples and present how the approach is implemented for the Eclipse Modeling Framework (EMF). Finally, we apply the approach to evaluate code generation capabilities of several existing UML tools.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech. Proyecto TIN2011-2379
Employing Classifying Terms for Testing Model Transformations
This contribution proposes a new technique for developing test cases for UML and OCL models. The technique is based on an approach that automatically constructs object
models for class models enriched by OCL constraints. By guiding the construction process through so-called classifying terms, the built test cases in form of object models are classified into equivalence classes. A classifying term can be an arbitrary OCL term on the class model that calculates for an object model a characteristic value. From each equivalence class of object models with identical characteristic values one representative is chosen. The constructed test cases behave significantly different with regard to the selected classifying term. By building few diverse object models, properties of the UML and OCL model can be explored effectively. The technique is applied for automatically constructing relevant source model test cases for model transformations between a source and target metamodel.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech
On the Realization of TractsTool
Model transformations play an important role in Model-Driven Engineering (MDE), and
as their size and complexity grow, there is an increasing need to count on tool
support for testing their correctness. In this presentation, we introduce TractsTool,
a tool for specifying and testing several different kinds of model transformations,
e.g., model-to-model, model-to-text, and text-to-model transformations, based on
contracts. We explain the main principles behind the tool, demonstrate some of its
capabilities by a running example, and show how it is internally realized by using MDE
techniques. In particular, we describe the transformation chain that is used to compute
the test results. TractsTool with accompanying information is available at:
http://atenea.lcc.uma.es/index.php/Main_Page/Resources/Tract
Towards the Automation of Metamorphic Testing in Model Transformations
Model transformations are the cornerstone of Model-Driven Engineering,
and provide the essential mechanisms for manipulating and transforming
models. Checking whether the output of a model transformation is correct
is a manual and error-prone task, this is referred to as the oracle problem in the
software testing literature. The correctness of the model transformation program
is crucial for the proper generation of its output, so it should be tested. Metamorphic
testing is a testing technique to alleviate the oracle problem consisting on
exploiting the relations between different inputs and outputs of the program under
test, so-called metamorphic relations. In this paper we give an insight into our
approach to generically define metamorphic relations for model transformations,
which can be automatically instantiated given any specific model transformation.Comisión Interministerial de Ciencia y Tecnología TIN2015-70560-RJunta de Andalucía TIC-5906Junta de Andalucía P12-TIC-186
TractsTool: Testing Model Transformations based on Contracts
Model transformations play an important role in Model-Driven Engineering
(MDE), and as their size and complexity grow, there is an increasing
need to count on tool support for testing their correctness. In this work, we
present TractsTool, a tool for specifying and testing several different kinds of
model transformations, e.g., model-to-model, model-to-text, and text-to-model
transformations, based on contracts.Ministerio de Ciencia e Innovación TIN2011-2379
Introducing Approximate Model Transformations
Model transformations dealing with very large models need to count
on mechanisms and tools to be able to manage them. The usual approach to improve
performance in these cases has focused on the use of concurrency and
parallelization techniques, which aim at producing the correct output model(s).
In this paper we present our initial approach to produce target models that are
accurate enough to provide meaningful and useful results, in an efficient way,
but without having to be fully correct. We introduce the concept of Approximate
Model Transformations.Ministerio de Ciencia e Innovación TIN2011-23795European Commission ICT Policy Support Programme 31785
Towards Approximate Model Transformations
As the size and complexity of models grow, there is a need to count on novel mechanisms and tools for transforming them. This is required, e.g., when model transformations need to provide target models without having access to the complete source models or in really short time—as it happens, e.g., with streaming
models—or with very large models for which the transformation algorithms become too slow to be of practical use if the complete population of a model is investigated.
In this paper we introduce Approximate Model Transformations, which aim at producing target models that are accurate enough to provide meaningful and useful results in an efficient way, but without having to be fully correct. So to speak, this kind of transformations treats accuracy for execution performance. In particular, we redefine the traditional OCL operators used to query models (e.g.,
allInstances, select, collect, etc.) by adopting sampling techniques and analyse
the accuracy of approximate model transformations results.Universidad de Málaga, Campus de Excelencia Internacional Andalucía Tech. European Commission under the ICT Policy Support Programme (grant no. 317859). Research Project TIN2011-23795
Parallel In-place Model Transformations with LinTra
As software systems have grown large and complex in the last few
years, the problems with which Model-Driven Development has to cope have
increased at the same pace. In particular, the need to improve the performance
and scalability of model transformations has become a critical issue. In previous
work we introduced LinTra, a model transformation platform for the parallel execution
of out-place model transformations. Nevertheless, in-place model transformations
are required in several contexts and domains as well. In this paper we
discuss the fundamentals of in-place model transformations in the light of their
parallel execution and provide LinTra with an in-place execution mode.Ministerio de Ciencia e Innovación TIN2011-23795Ministerio de Economía y Competitividad TIN2014-52034-REuropean Commission ICT Policy Support Programme 31785