17 research outputs found
Synchronisation of Model Visualisation and Code Generation Based on Model Transformation
The development, maintenance and documentation of complex systems is commonly supported by model-driven approaches where system properties are captured by visual models at different layers of abstraction and from different perspectives as proposed by the Object Management Group (OMG) and its model-driven architecture. Generally, a model is a concrete view on the system from a specific perspective in a particular domain. We focus on visual models in the form of diagrams and whose syntax is defined by domain-specific modelling languages (DSLs). Different models may represent different views on a system, i.e., they may be linked to each other by sharing a common set of information. Therefore, models that are expressed in one DSL may be transformed to interlinked models in other DSLs and furthermore, model updates may be synchronised between different domains. Concretely, this thesis presents the transformation and synchronisation of source code (abstract syntax trees, ASTs) written in the Satellite-Procedure & Execution Language (SPELL) to flow charts (code visualisation) and vice versa (code generation) as the result of an industrial case study. The transformation and synchronisation are performed based on existing approaches for model transformations and synchronisations between two domains in the theoretic framework of graph transformation where models are represented by graphs. Furthermore, extensions to existing approaches are presented for treating
non-determinism in concurrent model synchronisations. Finally, the existing results for model transformations and synchronisations between two domains are lifted to the more general case of an arbitrary number of domains or models containing views, i.e., a model in one domain
may be transformed to models in several domains or to all other views, respectively, and model updates in one domain may be synchronised to several other domains or to all other views, respectively
On Modelling Communication in Ubiquitous Computing Systems using Algebraic Higher Order Nets
Ubiquitous computing systems (UCSs) are designed to participate almostimperceptibly 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 especiallyat an early stage of the development process where models are the only possibilityto address a system which does not yet exist in reality. Petri nets and graph transformationsystems are established, theoretically well-founded concepts for modellingand analysing complex systems.This paper presents a formal approach for modelling core aspects of the communicationin UCSs by using Algebraic Higher Order Nets with Individual Tokens andgraph transformation. The approach is suitable to cover the different aspects ofcommunication and enables the analysis of specific properties. The approach and itssuitability are illustrated based on a running example. The feasibility of embeddingthe approach in a broader context of modelling is demonstrated in applying it to areal world system: the Living Place Hamburg
Correctness of Generalisation and Customisation of Concurrent Model Synchronisation Based on Triple Graph Grammars
Triple graph grammars (TGGs) have been successfully applied to specify and analyse bidirectional model transformations. Recently, a formal approach to concurrent model synchronisation has been presented, where a source and a target modification have to be synchronised simultaneously. In this approach, conflicts between the given and propagated source or target model modifications are taken into account. A semi-automatic conflict resolution strategy is proposed, where a formal resolution strategy can be combined with a user-specific strategy. Up to now, our approach requires deterministic propagation operations. In this paper, we want to relax this condition and also consider non-deterministic (conflicting) operations which might require backtracking. For optimisation, we propose to eliminate conflicts between the operational rules of a TGG using the concept of filter NACs. Nevertheless, concurrent synchronisation is non-deterministic from a user perspective: The user may choose between forward synchronisation and backward synchronisation. Moreover, the conflict resolution strategy may result in several solutions from which the user has to select the most adequate one. Hence, we discuss different kinds of customisation of the synchronisation process and explain the impacts of the different strategies
On Modelling Communication in Ubiquitous Computing Systems using Algebraic Higher Order Nets
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
Towards the Propagation of Model Updates along different Views in Multi-View Models
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
Solving the FIXML2Code-case Study with HenshinTGG
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
Towards Bidirectional Engineering of Satellite Control Procedures Using Triple Graph Grammars
The development and maintenance of satellite control software are very complex, mission-critical and cost-intensive tasks that require expertise from different domains. In order to adequately address these challenges, we propose to use visual views of the software to provide concise abstractions of the system from different perspectives. This paper introduces a visual language for process flow models of satellite control procedures that we developed in cooperation with the industrial partner SES for the satellite control language SPELL. Furthermore, we present a general and formal bidirectional engineering approach for automatically translating satellite control procedures into corresponding process flow visualisations. The bidirectional engineering framework is supported by a visual editor based on Eclipse GMF, the transformation tool HenshinTGG, and additional extensions to meet requirements set up by the specific application area of satellite control languages
On the Concurrent Semantics of Transformation Systems with Negative Application Conditions
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