![]() Nachtigall, Nico ![]() Doctoral thesis (2016) The intrinsic question of most activities in information science, in practice or science, is “Does a given system satisfy the requirements regarding its application?” Commonly, requirements are expressed ... [more ▼] The intrinsic question of most activities in information science, in practice or science, is “Does a given system satisfy the requirements regarding its application?” Commonly, requirements are expressed and accessible by means of models, mostly in a diagrammatic representation by visual models. The requirements may change over time and are often defined from different perspectives and within different domains. This implies that models may be transformed either within the same domain-specific visual modelling language or into models in another language. Furthermore, model updates may be synchronised between different models. Most types of visual models can be represented by graphs where model transformations and synchronisations are performed by graph transformations. The theory of graph transformations emerged from its origins in the late 1960s and early 1970s as a generalisation of term and tree rewriting systems to an important field in (theoretical) computer science with applications particularly in visual modelling techniques, model transformations, synchronisations and behavioural specifications of models. Its formal foundations but likewise visual notation enable both precise definitions and proofs of important properties of model transformations and synchronisations from a theoretical point of view and an intuitive approach for specifying transformations and model updates from an engineer’s point of view. The recent results were presented in the EATCS monographs “Fundamentals of Algebraic Graph Transformation” (FAGT) in 2006 and its sequel “Graph and Model Transformation: General Framework and Applications” (GraMoT) in 2015. This thesis concentrates on one important property of model transformations and synchronisations, i.e., syntactical completeness. Syntactical completeness of model transformations means that given a specification for transforming models from a source modelling language into models in a target language, then all source models can be completely transformed into corresponding target models. In the same given context, syntactical completeness of model synchronisations means that all source model updates can be completely synchronised, resulting in corresponding target model updates. This work is essentially based on the GraMoT book and mainly extends its results for model transformations and synchronisations based on triple graph grammars by a new more general notion of syntactical completeness, namely domain completeness, together with corresponding verification techniques. Furthermore, the results are instantiated to the verification of the syntactical completeness of software transformations and synchronisations. The well-known transformation of UML class diagrams into relational database models and the transformation of programs of a small object-oriented programming language into class diagrams serve as running examples. The existing AGG tool is used to support the verification of the given examples in practice. [less ▲] Detailed reference viewed: 170 (16 UL)![]() Gottmann, Susann ![]() ![]() in Proceedings of the 5th International Workshop on Bidirectional Transformations (2016), 1571 Models are the keystones in model-driven systems development. They describe systems at different layers of abstraction and with a focus to different domains. For each domain, dedicated domain specific ... [more ▼] Models are the keystones in model-driven systems development. They describe systems at different layers of abstraction and with a focus to different domains. For each domain, dedicated domain specific visual modelling languages are used for model definitions with the idea to separate concerns to different domain experts. This enables precise problem and requirement definitions and should decrease efforts in developing and validating systems. We focus on multi-view models that are in relationship with source models by triple graph grammars. A multi-view model provides different views of the source model at different layers of abstraction but within the same DSL which is typically different from the DSL of the source model. In practice, elements in different views may overlap. We present an informal methodology for consistently propagating updates from one view to the other views and also to the source domain. We motivate our approach by multi-view models in a hospital scenario. [less ▲] Detailed reference viewed: 153 (19 UL)![]() Hermann, Frank ![]() ![]() ![]() Report (2014) Software translation is a challenging task. Several requirements are important - including automation of the execution, maintainability of the translation patterns, and, most importantly, reliability ... [more ▼] Software translation is a challenging task. Several requirements are important - including automation of the execution, maintainability of the translation patterns, and, most importantly, reliability concerning the correctness of the translation. Triple graph grammars (TGGs) have shown to be an intuitive, wellde ned technique for model translation. In this paper, we leverage TGGs for industry scale software translations. The approach is implemented using the Eclipse-based graph transformation tool Henshin and has been successfully applied in a large industrial project with the satellite operator SES on the translation of satellite control procedures. We evaluate the approach regarding requirements from the project and performance on a complete set of procedures of one satellite. [less ▲] Detailed reference viewed: 303 (49 UL)![]() Hermann, Frank ![]() ![]() ![]() in Theory and Practice of Model Transformations (2014, July) Software translation is a challenging task. Several requirements are important – including automation of the execution, maintainability of the translation patterns, and, most importantly, reliability ... [more ▼] Software translation is a challenging task. Several requirements are important – including automation of the execution, maintainability of the translation patterns, and, most importantly, reliability concerning the correctness of the translation. Triple graph grammars (TGGs) have shown to be an intuitive, well-defined technique for model translation. In this paper, we leverage TGGs for industry scale software translations. The approach is implemented using the Eclipse-based graph transformation tool Henshin and has been successfully applied in a large industrial project with the satellite operator SES on the translation of satellite control procedures. We evaluate the approach regarding requirements from the project and performance on a complete set of procedures of one satellite. [less ▲] Detailed reference viewed: 358 (39 UL)![]() Hermann, Frank ![]() ![]() ![]() in Rose, Louis M.; Krause, Christian; Horn, Tassilo (Eds.) Proceedings of the 7th Transformation Tool Contest - part of the Software Technologies: Applications and Foundations (STAF 2014) federation of conferences (2014) Triple graph grammars (TGGs) provide a formal framework for bidirectional model transformations. As in practice, TGGs are primarily used in pure model-to-model transformation scenarios, tools for text-to ... [more ▼] Triple graph grammars (TGGs) provide a formal framework for bidirectional model transformations. As in practice, TGGs are primarily used in pure model-to-model transformation scenarios, tools for text-to-model and model-to-text transformations make them also applicable in text-to-text transformation contexts. This paper presents a solution for the text-to-text transformation case study of the Transformation Tool Contest 2014 on translating FIXML (an XML notation for financial transactions) to source code written in Java, C# or C++. The solution uses the HenshinTGG tool for specifying and executing model-to-model transformations based on the formal concept of TGGs as well as the Xtext tool for parsing XML content to yield its abstract syntax tree (text-to-model transformation) and serialising abstract syntax trees to source code (model-to-text transformation). The approach is evaluated concerning a given set of criteria. [less ▲] Detailed reference viewed: 173 (16 UL)![]() Nachtigall, Nico ![]() ![]() ![]() in Amrani, Moussa; Syriani, Eugene; Wimmer, Manuel (Eds.) Proceedings of the Third International Workshop on Verification of Model Transformations - co-located with Software Technologies: Applications and Foundations (STAF 2014) (2014) The analysis of model transformations is a challenging research area within model driven engineering. Triple graph grammars (TGGs) have been applied in various transformation scenarios and their formal ... [more ▼] The analysis of model transformations is a challenging research area within model driven engineering. Triple graph grammars (TGGs) have been applied in various transformation scenarios and their formal foundation has been a vital ground for general results concerning notions of correctness and completeness. This paper addresses existing gaps between practical scenarios and the formal results of TGGs concerning the notion of completeness. Since the source domain language of a model transformation is usually specified independently from the TGG, we use the notion of domain completeness, which requires that the model transformation has to provide a corresponding target model for each model of the source domain language. As main result, we provide a general method for showing that the source domain language is included in the language that is generated by the source rules of the TGG. This provides the first of two components for verifying domain completeness. The running example is the well studied object-relational mapping. [less ▲] Detailed reference viewed: 110 (12 UL)![]() Hermann, Frank ![]() ![]() ![]() in Duddy, Keith; Kappel, Gerti (Eds.) Theory and Practice of Model Transformations (2013) Model transformation based on triple graph grammars (TGGs) is a general, intuitive and formally well defined technique for the translation of models [5,6,2]. While previous concepts and case studies were ... [more ▼] Model transformation based on triple graph grammars (TGGs) is a general, intuitive and formally well defined technique for the translation of models [5,6,2]. While previous concepts and case studies were focused mainly on visual models of software and systems, this article describes an industrial application of model transformations based on TGGs as a powerful technique for software translation using the tool Henshin [1]. The general problem in this scenario is to translate source code that is currently in use into corresponding source code that shall run on a new system. Up to now, this problem was addressed based on manually written converters, parser generators, compiler-compilers or meta-programming environments using term rewriting or similar techniques (see e. g. [4]). [less ▲] Detailed reference viewed: 207 (22 UL)![]() Nachtigall, Nico ![]() ![]() ![]() in Boulanger, Frédéric; Famelis, Michalis; Ratiu, Daniel (Eds.) MoDeVVa@MoDELS (2013) Symbolic execution is a well-studied technique for analysing the behaviour of software components with applications to test case generation. We propose a framework for symbolically executing satellite ... [more ▼] Symbolic execution is a well-studied technique for analysing the behaviour of software components with applications to test case generation. We propose a framework for symbolically executing satellite control procedures and generating test cases based on graph transformation techniques. A graph-based operational symbolic execution semantics is defined and the executed procedure models are used for generating test cases by performing model transformations. The approach is discussed based on a prototype implementation using the Eclipse Modelling Framework (EMF), Henshin and ECLiPSe-CLP tool ecosystem. [less ▲] Detailed reference viewed: 107 (8 UL)![]() Gottmann, Susann ![]() ![]() ![]() in Baudry, Benoit; Dingel, Juergen; Lucio, Levi (Eds.) et al Proc. Int. Workshop on Analysis of Model Transformations 2013 (AMT'13) (2013) Detailed reference viewed: 136 (19 UL)![]() ; ; Hermann, Frank ![]() in Recent Trends in Algebraic Development Techniques (2013) In several application areas, Graph Transformation Systems (GTSs) are equipped with Negative Application Conditions (NACs) that specify “forbidden contexts”, in which the rules shall not be applied. The ... [more ▼] In several application areas, Graph Transformation Systems (GTSs) are equipped with Negative Application Conditions (NACs) that specify “forbidden contexts”, in which the rules shall not be applied. The extension to NACs, however, introduces inhibiting effects among transformation steps that are not local in general, causing a severe problem for a concurrent semantics. In fact, the relation of sequential independence among derivation steps is not invariant under switching, as we illustrate with an example. We first show that this problem disappears if the NACs are restricted to beincremental. Next we present an algorithm that transforms a GTS with arbitrary NACs into one with incremental NACs only, able to simulate the original GTS. We also show that the two systems are actually equivalent, under certain assumptions on NACs. [less ▲] Detailed reference viewed: 142 (18 UL)![]() ; ; Hermann, Frank ![]() Report (2012) Graph Transformation Systems (GTSs) are an integrated formal speci cation framework for modelling and analysing structural and behavioural aspects of systems. The evolution of a system is modelled by the ... [more ▼] Graph Transformation Systems (GTSs) are an integrated formal speci cation framework for modelling and analysing structural and behavioural aspects of systems. The evolution of a system is modelled by the application of rules to the graphs representing its states and, since typically such rules have local e ects, GTSs are particularly suitable for modelling concurrent and distributed systems where several rules can be applied in parallel. Thus, it is no surprise that a large body of literature is dedicated to the study of the concurrent semantics of graph transformation systems. [less ▲] Detailed reference viewed: 104 (16 UL)![]() Gottmann, Susann ![]() ![]() in Electronic Communications of the EASST (2012) Ubiquitous computing systems (UCSs) are designed to participate almost imperceptibly in everyday life. To ensure a solid operation, a UCS heavily depends on a reliable and efficient communication between ... [more ▼] Ubiquitous computing systems (UCSs) are designed to participate almost imperceptibly in everyday life. To ensure a solid operation, a UCS heavily depends on a reliable and efficient communication between its distributed computing components. Moreover components can join and leave the system at any time. In order to guarantee high quality systems, the use of models is inevitable especially at an early stage of the development process where models are the only possibility to address a system which does not yet exist in reality. Petri nets and graph transformation systems are established, theoretically well-founded concepts for modelling and analysing complex systems. This paper presents a formal approach for modelling core aspects of the communication in UCSs by using Algebraic Higher Order Nets with Individual Tokens and graph transformation. The approach is suitable to cover the different aspects of communication and enables the analysis of specific properties. The approach and its suitability are illustrated based on a running example. The easibility of embedding the approach in a broader context of modelling is demonstrated in applying it to a real world system: the Living Place Hamburg. [less ▲] Detailed reference viewed: 94 (8 UL) |
||