Home | Sitemap | Index | Contact | Legals | KIT

Publications of Thomas Goldschmidt

Refereed conference/Workshop papers

[1] Georg Hinkel and Thomas Goldschmidt. Tool Support for Model Transformations: On Solutions using Internal Languages. In Modellierung 2016, Karlsruhe, Germany, March 2-4, 2016. [ bib | slides | .pdf | Abstract ]
Model-driven engineering (MDE) has proven to be a useful approach to cope with todays ever growing complexity in the development of software systems, yet it is not widely applied in industry. As suggested by multiple studies, tool support is a major factor for this lack of adoption. Existing tools for MDE, in particular model transformation approaches, are often developed by small teams and cannot keep up with advanced tool support for mainstream languages such as provided by IntelliJ or Visual Studio. In this paper, we propose an approach to leverage existing tool support for model transformation using internal model transformation languages and investigate design decisions and their consequences for inherited tool support. The findings are used for the design of an internal model transformation language on the .NET platform.
[2] Christian Vogel, Heiko Koziolek, Thomas Goldschmidt, and Erik Burger. Rapid Performance Modeling by Transforming Use Case Maps to Palladio Component Models. In Proceedings of the 4th ACM/SPEC International Conference on Performance Engineering, Prague, Czech Republic, 2013, ICPE '13, pages 101-112. ACM, New York, NY, USA. 2013. [ bib | DOI | http | .pdf ]
[3] Thomas Goldschmidt, Steffen Becker, and Erik Burger. Towards a tool-oriented taxonomy of view-based modelling. In Proceedings of the Modellierung 2012, Elmar J. Sinz and Andy Schürr, editors, Bamberg, 2012, volume P-201 of GI-Edition - Lecture Notes in Informatics (LNI), pages 59-74. Gesellschaft für Informatik e.V. (GI), Bonn, Germany. 2012. [ bib | .pdf ]
[4] Thomas Goldschmidt, Steffen Becker, and Axel Uhl. Incremental Updates for Textual Modeling of Large Scale Models. In Proceedings of the 15th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS 2010) - Poster Paper, 2010. IEEE. 2010. [ bib | Abstract ]
Model-Driven Engineering (MDE) aims at improving the development of complex computer systems. Within this context textual concrete syntaxes for models are beneficial for many reasons. They foster usability and productivity because of their fast editing style, their usage of error markers, autocompletion and quick fixes. Several frameworks and tools from different communities for creating concrete textual syntaxes for models emerged during recent years. However, there are still cases where no solution has been published yet. Open issues are incremental parsing and model updating as well as partial and federated views. On the other hand incremental parsing and the handling of abstract syntaxes as leading entities has been investigated within the compiler construction communities many years ago. In this paper we present an approach for concrete textual syntaxes that makes use of incremental parsing and transformation techniques. Thus, we circumvent problems that occur when dealing with concrete textual syntaxes in a UUID based environment including multiple partial and federated views. We validated our approach using a proof of concept implementation including a case study.
[5] Lucia Kapova, Thomas Goldschmidt, Steffen Becker, and Joerg Henss. Evaluating Maintainability with Code Metrics for Model-to-Model Transformations. In Research into Practice - Reality and Gaps (Proceeding of QoSA 2010), George Heineman, Jan Kofron, and Frantisek Plasil, editors, 2010, volume 6093 of LNCS, pages 151-166. Springer-Verlag Berlin Heidelberg. 2010. [ bib | .pdf | Abstract ]
Using model-to-model transformations to generate analysis models or code from architecture models is sought to promote compliance and reuse of components. The maintainability of transformations is influenced by various characteristics - as with every programming language artifact. Code metrics are often used to estimate code maintainability. However, most of the established metrics do not apply to declarative transformation languages (such as QVT Relations) since they focus on imperative (e.g. object-oriented) coding styles. One way to characterize the maintainability of programs are code metrics. However, the vast majority of these metrics focus on imperative (e.g., object-oriented) coding styles and thus cannot be reused as-is for transformations written in declarative languages. In this paper we propose an initial set of quality metrics to evaluate transformations written in the declarative QVT Relations language.We apply the presented set of metrics to several reference transformations to demonstrate how to judge transformation maintainability based on our metrics.
[6] Lucia Kapova, Thomas Goldschmidt, Jens Happe, and Ralf H. Reussner. Domain-specific templates for refinement transformations. In MDI '10: Proceedings of the First International Workshop on Model-Drive Interoperability, Oslo, Norway, 2010, pages 69-78. ACM, New York, NY, USA. 2010. [ bib | DOI ]
[7] Thomas Goldschmidt, Steffen Becker, and Axel Uhl. FURCAS: Framework for UUID-Retaining Concrete to Abstract Syntax Mappings. In Proceedings of the 5th European Conference on Model Driven Architecture - Foundations and Applications (ECMDA 2009) - Tools and Consultancy Track, 2009. CTIT. 2009. [ bib | Abstract ]
Textual concrete syntaxes for models are beneficial for many reasons. They foster usability and productivity because of their fast editing style, their usage of error markers, autocompletion and quick fixes. Several frameworks and tools from different communities for creating concrete textual syntaxes for models emerged during recent years. However, these approaches failed to provide a solution in general. Open issues are incremental parsing and model updating as well as partial and federated views. Building views on abstract models is one of the key concepts of model-driven engineering. Different views help to present concepts behind a model in a way that they can be understood and edited by different stakeholders or developers in different roles. Within graphical modelling several approaches exist allowing the definition of explicit holistic, partial or combined graphical views for models. On the other hand several frameworks that provide textual editing support for models have been presented over recent years. However, the combination of both principals, meaning textual, editable and decorating views is lacking in all of these approaches. In this presentation, we show FURCAS (Framework for UUID Retaining Concrete to Abstract Syntax Mappings), a textual decorator approach that allows to separately store and manage the textual concrete syntax from the actual abstract model elements. Thereby we allow to define textual views on models that may be partial and/or overlapping concerning other (graphical and/or textual) views.
[8] Thomas Goldschmidt, Steffen Becker, and Axel Uhl. Textual views in model driven engineering. In Proceedings of the 35th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA), 2009. IEEE. 2009. [ bib | Abstract ]
Building views on abstract models is one of the key concepts of model-driven engineering. Different views help to present concepts behind a model in a way that they can be understood and edited by different stakeholders or developers in different roles. Within graphical modelling several approaches exist allowing the definition of explicit holistic, partial or combined graphical views for models. On the other hand several frameworks that provide textual editing support for models have been presented over recent years. However, the combination of both principals, meaning textual, editable and decorating views is lacking in all of these approaches. In this paper, we introduce a textual decorator approach that allows to separately store and manage the textual concrete syntax from the actual abstract model elements. Thereby we allow to define textual views on models that may be partial and/or overlapping concerning other (graphical and/or textual) views.
[9] Jens Kübler and Thomas Goldschmidt. A Pattern Mining Approach Using QVT. In Proceedings of the 5th European Conference on Model Driven Architecture - Foundations and Applications (ECMDA), 2009, Lecture Notes in Computer Science. Springer-Verlag Berlin Heidelberg. 2009. [ bib | .pdf | Abstract ]
Model Driven Software Development (MDSD) has matured over the last few years and is now becoming an established technology. Models are used in various contexts, where the possibility to perform different kinds of analyses based on the modelled applications is one of these potentials. In different use cases during these analyses it is necessary to detect patterns within large models. A general analysis technique that deals with lots of data is pattern mining. Different algorithms for different purposes have been developed over time. However, current approaches were not designed to operate on models.With employing QVT for matching and transforming patterns we present an approach that deals with this problem. Furthermore, we present an idea to use our pattern mining approach to estimate the maintainability of modelled artifacts.
[10] Lucia Kapova and Thomas Goldschmidt. Automated feature model-based generation of refinement transformations. In Proceedings of the 35th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA), 2009. IEEE. 2009. [ bib | .pdf ]
[11] Thomas Goldschmidt. Towards an incremental update approach for concrete textual syntaxes for UUID-based model repositories. In Proceedings of the 1st International Conference on Software Language Engineering (SLE), Dragan Gasevic, Ralf Lämmel, and Eric van Wyk, editors, 2008, volume 5452 of Lecture Notes in Computer Science, pages 168-177. Springer-Verlag Berlin Heidelberg. 2008. [ bib | DOI | Abstract ]
Textual concrete syntaxes for models are beneficial for many reasons. They foster usability and productivity because of their fast editing style, their usage of error markers, autocompletion and quick fixes. Several frameworks and tools from different communities for creating concrete textual syntaxes for models emerged during recent years. However, these approaches failed to provide a solution in general. Open issues are incremental parsing and model updating as well as partial and federated views. On the other hand incremental parsing and the handling of abstract syntaxes as leading entities has been solved within the compiler construction communities many years ago. In this short paper we envision an approach for the mapping of concrete textual syntaxes that makes use of the incremental parsing techniques from the compiler construction world. Thus, we circumvent problems that occur when dealing with concrete textual syntaxes in a UUID based environment.
[12] Thomas Goldschmidt, Steffen Becker, and Axel Uhl. Classification of Concrete Textual Syntax Mapping Approaches. In Proceedings of the 4th European Conference on Model Driven Architecture - Foundations and Applications, 2008, volume 5059 of Lecture Notes in Computer Science, pages 169-184. Springer-Verlag Berlin Heidelberg. 2008. [ bib | DOI | .pdf | Abstract ]
Textual concrete syntaxes for models are beneficial for many reasons. They foster usability and productivity because of their fast editing style, their usage of error markers, autocompletion and quick fixes. Furthermore, they can easily be integrated into existing tools such as diff/merge or information interchange through e-mail, wikis or blogs. Several frameworks and tools from different communities for creating concrete textual syntaxes for models emerged during recent years. However, these approaches failed to provide a solution in general. Open issues are incremental parsing and model updating as well as partial and federated views. To determine the capabilities of existing approaches, we provide a classification schema, apply it to these approaches, and identify their deficiencies.
[13] Thomas Goldschmidt and Jens Kuebler. Towards Evaluating Maintainability Within Model-Driven Environments. In Software Engineering 2008, Workshop Modellgetriebene Softwarearchitektur - Evolution, Integration und Migration, 2008. [ bib | .pdf | Abstract ]
Model Driven Software Development (MDSD) has matured over the last few years and is now becoming an established technology. One advantage that is promoted by the MDSD community is the improved maintainability during the systems evolution over conventional development approaches. Compared to code-based development (meta-)models and transformations need to be handled differently when it comes to maintainability assessments. However, a comprehensive analysis of the impact of the model-driven development approach on the maintainability of a software system is still lacking. This paper presents work towards the finding of appropriate approaches and metrics for measuring the maintainability and evolution capabilities of artefacts within model-driven environments. We present our first steps and further ideas on how to tackle this problem.
[14] Thomas Goldschmidt, Ralf Reussner, and Jochen Winzen. A Case Study Evaluation of Maintainability and Performance of Persistency Techniques. In ICSE '08: Proceedings of the 30th international conference on Software engineering, Leipzig, Germany, 2008, pages 401-410. ACM, New York, NY, USA. 2008. [ bib | .pdf | Abstract ]
Efforts for software evolution supersede any other part of the software life cycle. Technological decisions have a major impact on the maintainability, but are not well reflected by existing code or architecture based metrics. The way the persistency of object structures with relational databases is solved affects the maintainability of the overall system. Besides maintainability other quality attributes of the software are of interest, in particular performance metrics. However, a systematic evaluation of the benefits and drawback of different persistency frameworks is lacking. In this paper we systematically evaluate the maintainability and performance of different technological approaches for this mapping. The paper presents a testbed and an evaluation process with specifically designed metrics to evaluate persistency techniques regarding their maintainability and performance. In the second part we present and discuss the results of the case study.
[15] Thomas Goldschmidt and Axel Uhl. Retainment Rules for Model Transformations. In Proceedings of the 1st International Workshop on Model Co-Evolution and Consistency Management, 2008. [ bib | Abstract ]
The goal of the workshop was to exchange ideas and experiences related to Model (Co-)evolution and Consistency Management (MCCM) in the context of Model-Driven Engineering (MDE). Contemporary MDE practices typically include the manipulation and transformation of a large and heterogeneous set of models. This heterogeneity exhibits itself in different guises ranging from notational differences to semantic content-wise variations. These differences need to be carefully managed in order to arrive at a consistent specification that is adaptable to change. This requires a dedicated activity in the development process and a rigourous adoption of techniques such as model differencing, model comparison, model refactoring, model (in)consistency management, model versioning, and model merging. The workshop invited submissions from both academia and industry on these topics, as well as experience reports on the effective management of models, metamodels, and model transformations. We selected ten high-quality contributions out of which we included two as best-papers in the workshop reader. As a result of the high number of participants and the nice mix of backgrounds we were able to debate lively over a number of pertinent questions that challenge our field.
[16] Thomas Goldschmidt and Guido Wachsmuth. Refinement transformation support for QVT Relational transformations. In Proceedings of the 3rd Workshop on Model Driven Software Engineering (MDSE 2008), 2008. [ bib | Abstract ]
Model transformations are a central concept in Model-driven Engineering. Model transformations are defined in model transformation languages. This paper addresses QVT Relations, a high-level declarative model transformation language standardised by the Object Management Group. QVT Relations lacks support for default copy rules. Thus, transformation developers need to define copy rules explicitly. Particular for refinement transformations which copy large parts of a model, this is a tremendous task. In this paper, we propose generic patterns for copy rules in QVT Relations. Based on these patterns, we provide a higher-roder transformation to generate copy rules for a given metamodel. Finally, we explore several ways to derive a refinement transformation from a generated copy transformation.
[17] Steffen Becker, Thomas Goldschmidt, Boris Gruschko, and Heiko Koziolek. A Process Model and Classification Scheme for Semi-Automatic Meta-Model Evolution. In Proc. 1st Workshop MDD, SOA und IT-Management (MSI'07), 2007, pages 35-46. GiTO-Verlag. 2007. [ bib | .pdf | Abstract ]
Abstract: Model Driven Software Development (MDSD) has matured over the last few years and is now becoming an established technology. As a consequence, dealing with evolving meta-models and the necessary migration activities of instances of this meta-model is becoming increasingly important. Approaches from database schema migration tackle a similar problem, but cannot be adapted easily to MDSD. This paper presents work towards a solution in the model-driven domain. Firstly, we introduce a process model, which defines the necessary steps to migrate model instances upon an evolving meta-model. Secondly, we have created an initial classification of metamodel changes in EMF/Ecore utilised by our process model
[18] T. Goldschmidt, J. Winzen, and R. Reussner. Evaluation of Maintainability of Model-driven Persistency Techniques. In IEEE CSMR 07 - Workshop on Model-Driven Software Evolution (MoDSE2007), 2007, pages 17-24. [ bib | .pdf | Abstract ]
Although the original OMG Model-Driven Architecture Approach is not concerned with software evolution, modeldriven techniques may be good candidates to ease software evolution. However, a systematic evaluation of the benefits and drawback of model-driven approaches compared to other approaches are lacking. Besides maintainability other quality attributes of the software are of interest, in particular performance metrics. One specific area where model driven approaches are established in the area of software evolution are the generation of adapters to persist modern object oriented business models with legacy software and databases. This paper presents a testbed and an evaluation process with specifically designed metrics to evaluate model-driven techniques regarding their maintainability and performancerouven against established persistency frameworks.

Theses

[1] Thomas Goldschmidt. View-based textual modelling. PhD thesis, Karlsruhe, 2011. [ bib | http ]
[2] Thomas Goldschmidt. Grammar Based Code Transformation for the Model-Driven Architecture. Master's thesis, Hochschule Furtwangen University, Germany, 2006. [ bib | Abstract ]
Model-driven code generation has been investigated in traditional and object-oriented design paradigms; significant progress has been made. It offers many advantages including the rapid development of high quality code. Errors are reduced and the consistency between the design and the code is retained, in comparison with a purely manual approach. Here, a model-driven code generation approach based on graph transformations for aspect-oriented development is proposed. The approach has two main transformation activities. The first activity transforms a visual (graphical) model of the design into a formal, text-based notation that can be readily processed. The graphical model is created by the software designer and uses a UML profile for aspect-oriented software (i.e., FDAF) to represent aspects and their components. XML is the target notation for this step; the transformation uses the XML meta-model to ensure that the output complies with the language. The second activity transforms the XML model into AspectJ source code. The transformation uses the AspectJ meta-model to ensure the output complies with the language. The transformations from the extended UML model to XML and from XML to AspectJ code are fully automated. The transformation algorithms are based on graph transformations; tool support has been developed. Key technical issues in the approach are discussed, including performance, the amount of code generated, correctness, and adaptability, in addition to a comparison of the proposal with existing alternative approaches. The approach has been validated on three example systems: a banking system, classroom scheduling system, and an insurance system. The banking system example is presented in the paper.