Ivan Kurtev
University of Twente
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Ivan Kurtev.
model driven engineering languages and systems | 2005
Frédéric Jouault; Ivan Kurtev
This paper presents ATL (ATLAS Transformation Language): a hybrid model transformation language that allows both declarative and imperative constructs to be used in transformation definitions. The paper describes the language syntax and semantics by using examples. ATL is supported by a set of development tools such as an editor, a compiler, a virtual machine, and a debugger. A case study shows the applicability of the language constructs. Alternative ways for implementing the case study are outlined. In addition to the current features, the planned future ATL features are briefly discussed.
Science of Computer Programming | 2008
Frédéric Jouault; Freddy Allilaire; Jean Bézivin; Ivan Kurtev
In the context of Model Driven Engineering, models are the main development artifacts and model transformations are among the most important operations applied to models. A number of specialized languages have been proposed, aimed at specifying model transformations. Apart from the software engineering properties of transformation languages, the availability of high quality tool support is also of key importance for the industrial adoption and ultimate success of MDE. In this paper we present ATL: a model transformation language and its execution environment based on the Eclipse framework. ATL tools provide support for the major tasks involved in using a language: editing, compiling, executing, and debugging.
conference on object-oriented programming systems, languages, and applications | 2006
Frédéric Jouault; Freddy Allilaire; Jean Bézivin; Ivan Kurtev; Patrick Valduriez
In the context of Model Driven Engineering (MDE), models are the main development artifacts and model transformations are among the most important operations applied to models. A number of specialized languages have been proposed in order to specify model transformations. The OMG has, for instance, adopted the QVT specification. Apart from the software engineering properties of transformation languages, the availability of high quality tool support is also of major importance for the industrial adoption and ultimate success of MDE. In this paper, we present ATL: a QVT-like model transformation language and its execution environment based on the Eclipse framework.
acm symposium on applied computing | 2006
Frédéric Jouault; Ivan Kurtev
Transforming models is a critical activity in Model Driven Engineering (MDE). With the expected adoption of the OMG QVT standard for model transformation language it is anticipated that the experience in applying model transformations in various cases will increase. However, the QVT standard is just one possible approach to solving model transformation problems. In parallel with the QVT activity many research groups and companies have been working on their own model transformation approaches and languages. It is important for software developers to be able to compare and select the most suitable languages and tools for a particular problem. This paper compares the proposed QVT language and the ATLAS Transformation Language (ATL) as a step in the direction of gathering knowledge about the existing model transformation approaches. The focus is on the major language components (sublanguages and their features, execution tools, etc.) and how they are related. Both languages expose a layered architecture for organizing their components. The paper analyzes the layers and compares them according to various categories. Furthermore, motivations for interoperability between the languages and the related tools are given. Possible solutions for interoperability are identified and discussed.
conference on object-oriented programming systems, languages, and applications | 2006
Ivan Kurtev; Jean Bézivin; Frédéric Jouault; Patrick Valduriez
More than five years ago, the OMG proposed the Model Driven Architecture (MDA™) approach to deal with the separation of platform dependent and independent aspects in information systems. Since then, the initial idea of MDA evolved and Model Driven Engineering (MDE) is being increasingly promoted to handle separation and combination of various kinds of concerns in software or data engineering. MDE is more general than the set of standards and practices recommended by the OMGs MDA proposal. In MDE the concept of model designates not only OMG models but a lot of other artifacts like XML documents, Java programs, RDBMS data, etc. Today we observe another evolutionary step. A convergence between MDE and DSL (Domain Specific Language) engineering is rapidly appearing. In the same way as MDE is a generalization of MDA, the DSL engineering may be viewed as a generalization of MDE. One of the goals of this paper is to explore the potential of this important evolution of engineering practices. In order to anchor the discussion on practical grounds, we present a set of typical problems that could be solved by classical (object-oriented and others), MDE, or DSL-based techniques. Solutions to these problems will be based on current platforms (EMF, AMMA, GME, etc.). This paper illustrates how powerful model-based frameworks, allowing to use and build a variety of DSLs, may help to solve complex problems in a more efficient way.
model driven engineering languages and systems | 2006
Jean Bézivin; Fabian Büttner; Martin Gogolla; Frédéric Jouault; Ivan Kurtev; Arne Lindow
Much of the current work on model transformations seems essentially operational and executable in nature. Executable descriptions are necessary from the point of view of implementation. But from a conceptual point of view, transformations can also be viewed as descriptive models by stating only the properties a transformation has to fulfill and by omitting execution details. This contribution discusses the view that model transformations can be abstracted as being transformation models. As a simple example for a transformation model, the well-known transformation from the Entity-Relationship model to the Relational model is shown. A transformation model in this contribution is nothing more than an ordinary, simple model, i.e., a UML/MOF class diagram together with OCL constraints. A transformation model may transport syntax and semantics of the described domain. The contribution thus covers two views on transformations: An operational model transformation view and a descriptive transformation model view.
european conference on model driven architecture foundations and applications | 2006
Jean Bézivin; Salim Bouzitouna; Marcos Didonet Del Fabro; Marie-Pierre Gervais; Frédéric Jouault; Dimitrios S. Kolovos; Ivan Kurtev; Richard F. Paige
There is little agreement on terminology in model composition, and even less on key characteristics of a model composition solution. We present three composition frameworks: the Atlas Model Weaver, the Epsilon Merging Language, and the Glue Generator Tool, and from them derive a core set of common definitions. We use this to outline the key requirements of a model composition solution, in terms of language and tool support.
Lecture Notes in Computer Science | 2008
Ivan Kurtev
Query/Views/Transformation (QVT) is the OMG standard language for specifying model transformations in the context of MDA. It is regarded as one of the most important standards since model transformations are proposed as major operations for manipulating models. In the first part of the paper we briefly summarize the typical transformation scenarios that developers encounter in software development and formulate key requirements for each scenario. This allows a comparison between the desirable and the formulated requirements for QVT. Such a comparison helps us to initially evaluate the adequacy of the QVT language.The second part of the paper focuses on the current state of the standard: the language architecture, specification, paradigm, and open issues. The three QVT sublanguages Operational Mappings, Relations, and Core are briefly described. Special attention is given to the currently available and expected tool support.
Software and Systems Modeling | 2011
Arda Goknil; Ivan Kurtev; Klaas van den Berg; Jan-Willem Veldhuis
Requirements traceability is the ability to relate requirements back to stakeholders and forward to corresponding design artifacts, code, and test cases. Although considerable research has been devoted to relating requirements in both forward and backward directions, less attention has been paid to relating requirements with other requirements. Relations between requirements influence a number of activities during software development such as consistency checking and change management. In most approaches and tools, there is a lack of precise definition of requirements relations. In this respect, deficient results may be produced. In this paper, we aim at formal definitions of the relation types in order to enable reasoning about requirements relations. We give a requirements metamodel with commonly used relation types. The semantics of the relations is provided with a formalization in first-order logic. We use the formalization for consistency checking of relations and for inferring new relations. A tool has been built to support both reasoning activities. We illustrate our approach in an example which shows that the formal semantics of relation types enables new relations to be inferred and contradicting relations in requirements documents to be determined. The application of requirements reasoning based on formal semantics resolves many of the deficiencies observed in other approaches. Our tool supports better understanding of dependencies between requirements.
international conference on model transformation | 2011
Mf Marcel van Amstel; Steven Bosems; Ivan Kurtev; Luis Ferreira Pires
Model transformations are increasingly being incorporated in software development processes. However, as systems being developed with transformations grow in size and complexity, the performance of the transformations tends to degrade. In this paper we investigate the factors that have an impact on the execution performance of model transformations. We analyze the performance of three model transformation language engines, namely ATL, QVT Operational Mappings and QVT Relations. We implemented solutions to two transformation problems in these languages and compared the performance of these transformations. We extracted metric values from the transformations to systematically analyze how their characteristics influence transformation execution performance. We also implemented a solution to a transformation problem in ATL in three functionally equivalent ways, but with different language constructs to evaluate the effect of language constructs on transformation performance. The results of this paper enable a transformation designer to estimate beforehand the performance of a transformation, and to choose among implementation alternatives to achieve the best performance. In addition, transformation engine developers may find some of our results useful in order to tune their tools for better performance.