Software systems are getting more and more complex. Model-driven engineering (MDE) offers ways to handle such increased complexity by lifting development to a higher level of abstraction. A key part in MDE are transformations that transform any given model into another. These transformations are used to generate all kinds of software artifacts from models. However, there is little consensus about the transformation tools. Thus, the Transformation Tool Contest (TTC) 2013 aims to compare different transformation engines. This is achieved through three different cases that have to be tackled. One of these cases is the Flowgraphs case. A solution has to transform a Java code model into a simplified version and has to derive control and data flow. This paper presents the solution for this case using NMF Transformations as transformation engine.
{"title":"An NMF solution for the Flowgraphs case at the TTC 2013","authors":"Georg Hinkel, Thomas Goldschmidt, Lucia Happe","doi":"10.4204/EPTCS.135.5","DOIUrl":"https://doi.org/10.4204/EPTCS.135.5","url":null,"abstract":"Software systems are getting more and more complex. Model-driven engineering (MDE) offers ways to handle such increased complexity by lifting development to a higher level of abstraction. A key part in MDE are transformations that transform any given model into another. These transformations are used to generate all kinds of software artifacts from models. However, there is little consensus about the transformation tools. Thus, the Transformation Tool Contest (TTC) 2013 aims to compare different transformation engines. This is achieved through three different cases that have to be tackled. One of these cases is the Flowgraphs case. A solution has to transform a Java code model into a simplified version and has to derive control and data flow. This paper presents the solution for this case using NMF Transformations as transformation engine.","PeriodicalId":266655,"journal":{"name":"Transformation Tool Contest","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126451532","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This paper describes the GROOVE solution to the "Class Diagram Restructuring" case study of the Tool Transformation Contest 2013. We show that the visual rule formalism enables the required restructuring to be formulated in a very concise manner. Moreover, the GROOVE functionality for state space exploration allows checking confluence. Performance-wise, however, the solution does not scale well.
{"title":"Class Diagram Restructuring with GROOVE","authors":"Wietse Smid, A. Rensink","doi":"10.4204/EPTCS.135.10","DOIUrl":"https://doi.org/10.4204/EPTCS.135.10","url":null,"abstract":"This paper describes the GROOVE solution to the \"Class Diagram Restructuring\" case study of the Tool Transformation Contest 2013. We show that the visual rule formalism enables the required restructuring to be formulated in a very concise manner. Moreover, the GROOVE functionality for state space exploration allows checking confluence. Performance-wise, however, the solution does not scale well.","PeriodicalId":266655,"journal":{"name":"Transformation Tool Contest","volume":"85 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134472847","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
K. Lano, Shekoufeh Kolahdouz Rahimi, Krikor Maroukian
This paper provides a solution to the Petri-Nets to statecharts case using UML-RSDS. We show how a highly declarative solution which is confluent and invertible can be given using this approach.
{"title":"Solving the Petri-Nets to Statecharts Transformation Case with UML-RSDS","authors":"K. Lano, Shekoufeh Kolahdouz Rahimi, Krikor Maroukian","doi":"10.4204/EPTCS.135.13","DOIUrl":"https://doi.org/10.4204/EPTCS.135.13","url":null,"abstract":"This paper provides a solution to the Petri-Nets to statecharts case using UML-RSDS. We show how a highly declarative solution which is confluent and invertible can be given using this approach.","PeriodicalId":266655,"journal":{"name":"Transformation Tool Contest","volume":"51 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115760198","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This paper describes a case study for the sixth Transformation Tool Contest. The case is based on a mapping from Petri-Nets to statecharts (i.e., from flat process models to hierarchical ones). The case description separates a simple mapping phase from a phase that involves the step by step destruction Petri-Net elements and the corresponding construction of a hierarchy of statechart elements. Although the focus of this case study is on the comparison of the runtime performance of solutions, we also include correctness tests as well as bonus criteria for evaluating transformation language and tool features.
{"title":"The Petri-Nets to Statecharts Transformation Case","authors":"P. V. Gorp, Louis M. Rose","doi":"10.4204/EPTCS.135.3","DOIUrl":"https://doi.org/10.4204/EPTCS.135.3","url":null,"abstract":"This paper describes a case study for the sixth Transformation Tool Contest. The case is based on a mapping from Petri-Nets to statecharts (i.e., from flat process models to hierarchical ones). The case description separates a simple mapping phase from a phase that involves the step by step destruction Petri-Net elements and the corresponding construction of a hierarchy of statechart elements. Although the focus of this case study is on the comparison of the runtime performance of solutions, we also include correctness tests as well as bonus criteria for evaluating transformation language and tool features.","PeriodicalId":266655,"journal":{"name":"Transformation Tool Contest","volume":"76 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122183525","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This case for the Transformation Tool Contest 2013 is about evaluating the scope and usability of transformation languages and tools for a set of four tasks requiring very different capabilities. One task deals with typical model-to-model transformation problem, there's a model-to-text problem, there are two in-place transformation problems, and finally there's a task dealing with validation of models resulting from the transformations. The tasks build upon each other, but the transformation case project also provides all intermediate models, thus making it possible to skip tasks that are not suited for a particular tool, or for parallelizing the work among members of participating teams.
{"title":"The TTC 2013 Flowgraphs Case","authors":"Tassilo Horn","doi":"10.4204/EPTCS.135.1","DOIUrl":"https://doi.org/10.4204/EPTCS.135.1","url":null,"abstract":"This case for the Transformation Tool Contest 2013 is about evaluating the scope and usability of transformation languages and tools for a set of four tasks requiring very different capabilities. One task deals with typical model-to-model transformation problem, there's a model-to-text problem, there are two in-place transformation problems, and finally there's a task dealing with validation of models resulting from the transformations. \u0000The tasks build upon each other, but the transformation case project also provides all intermediate models, thus making it possible to skip tasks that are not suited for a particular tool, or for parallelizing the work among members of participating teams.","PeriodicalId":266655,"journal":{"name":"Transformation Tool Contest","volume":"77 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114731267","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
After 20 years of Triple Graph Grammars (TGGs) and numerous actively maintained implementations, there is now a need for challenging examples and success stories to show that TGGs can be used for real-world bidirectional model transformations. Our primary goal in recent years has been to increase the expressiveness of TGGs by providing a set of pragmatic features that allow a controlled fallback to programmed graph transformations and Java. Based on the Flowgraphs case study [7] of the Transformation Tool Contest (TTC 2013), we present (i) attribute constraints used to express complex bidirectional attribute manipulation, (ii) binding expressions for specifying arbitrary context relationships, and (iii) post-processing methods as a black box extension for TGG rules. In each case, we discuss the enabled trade-off between guaranteed formal properties and expressiveness. Our solution, implemented with eMoflon (www.emoflon.org) our metamodelling and model transformation tool, is available as a virtual machine hosted on Share [15].
{"title":"A Solution to the Flowgraphs Case Study using Triple Graph Grammars and eMoflon","authors":"Anthony Anjorin, M. Lauder","doi":"10.4204/EPTCS.135.8","DOIUrl":"https://doi.org/10.4204/EPTCS.135.8","url":null,"abstract":"After 20 years of Triple Graph Grammars (TGGs) and numerous actively maintained implementations, there is now a need for challenging examples and success stories to show that TGGs can be used for real-world bidirectional model transformations. Our primary goal in recent years has been to increase the expressiveness of TGGs by providing a set of pragmatic features that allow a controlled fallback to programmed graph transformations and Java. Based on the Flowgraphs case study [7] of the Transformation Tool Contest (TTC 2013), we present (i) attribute constraints used to express complex bidirectional attribute manipulation, (ii) binding expressions for specifying arbitrary context relationships, and (iii) post-processing methods as a black box extension for TGG rules. In each case, we discuss the enabled trade-off between guaranteed formal properties and expressiveness. Our solution, implemented with eMoflon (www.emoflon.org) our metamodelling and model transformation tool, is available as a virtual machine hosted on Share [15].","PeriodicalId":266655,"journal":{"name":"Transformation Tool Contest","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121935908","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
FunnyQT is a model querying and model transformation library for the functional Lisp-dialect Clojure providing a rich and efficient querying and transformation API. This paper describes the FunnyQT solution to the TTC 2013 Flowgraphs Transformation Case. It solves all four tasks, and it has won the best efficiency award for this case.
{"title":"Solving the TTC 2013 Flowgraphs Case with FunnyQT","authors":"Tassilo Horn","doi":"10.4204/EPTCS.135.7","DOIUrl":"https://doi.org/10.4204/EPTCS.135.7","url":null,"abstract":"FunnyQT is a model querying and model transformation library for the functional Lisp-dialect Clojure providing a rich and efficient querying and transformation API. \u0000This paper describes the FunnyQT solution to the TTC 2013 Flowgraphs Transformation Case. It solves all four tasks, and it has won the best efficiency award for this case.","PeriodicalId":266655,"journal":{"name":"Transformation Tool Contest","volume":" 17","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132010598","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This paper presents a solution for the Flow Graphs case of the Transformation Tool Contest 2013, using the Eclectic model transformation tool. The solution makes use of several languages of Eclectic, showing how it is possible to combine them to address a non-trivial transformation problem in a concise and modulary way.
{"title":"Solving the Flowgraphs Case with Eclectic","authors":"J. Cuadrado","doi":"10.4204/EPTCS.135.6","DOIUrl":"https://doi.org/10.4204/EPTCS.135.6","url":null,"abstract":"This paper presents a solution for the Flow Graphs case of the Transformation Tool Contest 2013, using the Eclectic model transformation tool. The solution makes use of several languages of Eclectic, showing how it is possible to combine them to address a non-trivial transformation problem in a concise and modulary way.","PeriodicalId":266655,"journal":{"name":"Transformation Tool Contest","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127619008","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
FunnyQT is a model querying and model transformation library for the functional Lisp-dialect Clojure providing a rich and efficient querying and transformation API. This paper describes the FunnyQT solution to the TTC 2013 Petri-Nets to Statcharts Transformation Case. This solution has won the best overall solution award and the best efficiency award for this case.
{"title":"Solving the Petri-Nets to Statecharts Transformation Case with FunnyQT","authors":"Tassilo Horn","doi":"10.4204/EPTCS.135.11","DOIUrl":"https://doi.org/10.4204/EPTCS.135.11","url":null,"abstract":"FunnyQT is a model querying and model transformation library for the functional Lisp-dialect Clojure providing a rich and efficient querying and transformation API. \u0000This paper describes the FunnyQT solution to the TTC 2013 Petri-Nets to Statcharts Transformation Case. This solution has won the best overall solution award and the best efficiency award for this case.","PeriodicalId":266655,"journal":{"name":"Transformation Tool Contest","volume":"53 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131616719","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Benedek Izsó, Ábel Hegedüs, Gábor Bergmann, Á. Horváth, I. Ráth
The paper presents a solution for the Petri-Net to Statecharts case study of the Transformation Tool Contest 2013, using EMF-IncQuery and Xtend for implementing the model transformation.
{"title":"PN2SC Case Study: An EMF-IncQuery solution","authors":"Benedek Izsó, Ábel Hegedüs, Gábor Bergmann, Á. Horváth, I. Ráth","doi":"10.4204/EPTCS.135.14","DOIUrl":"https://doi.org/10.4204/EPTCS.135.14","url":null,"abstract":"The paper presents a solution for the Petri-Net to Statecharts case study of the Transformation Tool Contest 2013, using EMF-IncQuery and Xtend for implementing the model transformation.","PeriodicalId":266655,"journal":{"name":"Transformation Tool Contest","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121719700","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}