Figure 14 - uploaded by Claudia Ermel
Content may be subject to copyright.
21: Overview of Agg system's structure.  

21: Overview of Agg system's structure.  

Citations

... The Attributed Graph Grammar AGG is a rule-based visual language supporting an algebraic approach to graph transformation implemented in Java (Ermel et al., 1999;Runge et al., 2011). AGG allows the definition of attributed type graphs with inheritance. ...
Article
Full-text available
Capturing human knowledge underlying the design and engineering of products has been among the main goals of computational engineering since its very beginning. Over the last decades, various approaches have been proposed to tackle this objective. Among the most promising approaches is the application of graph theory for representing product structures by defining nodes representing entities and edges representing relations among them. The concrete meaning of these structures ranges from geometry representations over hierarchical product breakdowns to functional descriptions and flows of information or resources. On top of these graph structures, graph rewriting techniques provide another powerful layer of technology. By enabling the formal definition of rules for transforming graph structures, they allow on the one hand side to formally capture the engineering development process. On the other hand, the assembly of rewriting rules into graph grammars allows for an exhaustive search of the solution space of the engineering problem at hand. In combination with search strategies, an automated optimization of the design under given constraints and objectives can be realized. The paper provides an overview of the current state-of-the-art in graph rewriting and its applications in engineering design, with a focus on the built environment. It concludes with a discussion of the progress achieved and the missing research gaps.
... Simplicity [33], in particular compared to the common graph transformation-based approaches [1,3,17,18,39], was the guiding principle in the design of the underlying specification formalism which can be regarded as a generalization of Plotkin's structural operational semantics (SOS) [38] for pattern-based transformations of typed graphs: -It clearly separates source and target graphs, and, similar to a typical compiler, leaves the source graph intact during the construction of the target graph. 2 -It is additive in the sense that the target graphs are successively built up. ...
... This is the reason for focusing our presentation of graphical languages. The ideas apply straightforwardly to textual languages also. 2 This separation distinguishes us from typical graph transformationbased solutions which, similar to term rewriting systems, successively transform the source graph (inline) until the target graph is reached [1,3,17,18,39]. may also be used to define a hierarchical layering structure where, e.g., micro and macro steps are distinguished. The resulting Type-based Structural Operational Semantics (TSOS) supports a well-structured and intuitive specification and realization of complex model-to-model transformations adequate for the generation of purpose-specific views or input formats for certain tools, like, e.g., model checkers, or even for the migration of models after the underlying modeling language has evolved [6]. ...
Article
Full-text available
This paper proposes a simplicity-oriented approach and framework for language-to-language transformation of, in particular, graphical languages. Key to simplicity is the decomposition of the transformation specification into sub-rule systems that separately specify purpose-specific aspects. We illustrate this approach by employing a variation of Plotkin’s Structural Operational Semantics (SOS) for pattern-based transformations of typed graphs in order to address the aspect ‘computation’ in a graph rewriting fashion. Key to our approach are two generalizations of Plotkin’s structural rules: the use of graph patterns as the matching concept in the rules, and the introduction of node and edge types. Types do not only allow one to easily distinguish between different kinds of dependencies, like control, data, and priority, but may also be used to define a hierarchical layering structure. The resulting Type-based Structural Operational Semantics (TSOS) supports a well-structured and intuitive specification and realization of semantically involved language-to-language transformations adequate for the generation of purpose-specific views or input formats for certain tools, like, e.g., model checkers. A comparison with the general-purpose transformation frameworks ATL and Groove, illustrates along the educational setting of our graphical WebStory language that TSOS provides quite a flexible format for the definition of a family of purpose-specific transformation languages that are easy to use and come with clear guarantees.
... Obviously, for this definition and analysis of visual languages, graph grammars [28] provide an intuitive but formal method. Just as string grammars are very important to string languages, graph grammars are also an indispensable theoretical tool for visual languages [29] . ...
Article
Model-based software architecture verification and test scenarios generation are becoming more and more important in the software industry. Based on the existing temporal graph grammar, this paper proposes a new formalization method of the context-sensitive graph grammar for aiming at UML activity diagrams, which is called the UML Activity Graph Grammar, or UAGG. In the UAGG, there are new definitions and parsing algorithms. The proposed mechanisms are able to not only check the structural correctness of the UML activity diagram but also automatically generate the test scenario according to user constraints. Finally, a case study is discussed to illustrate how the UAGG and its algorithms work.
... Mariem et al. [25,26] discussed the ontology model for formalising ontology changes which present the inconsistencies that can be occurred due to the ontology changes. Inconsistencies involve data redundancy, isolated nodes, orphaned individuals, and axioms contradiction. ...
... In order to find the similarity among the action sequences, pattern-matching techniques are required not considering the order of the actions. Among well-known techniques for pattern matching are: Principal component analysis [10], Jacquard coefficient [10], Sørensen-Dice index [13], and Tversky's similarity [26]. ...
Article
Full-text available
Ontology‐based knowledge‐driven activity recognition (AR) models play a vital role in realm of Internet of Things (IoTs). However, these models suffer the shortcomings of static nature, inability of self‐evolution, and lack of adaptivity. Also, AR models cannot be made comprehensive enough to cater all the activities and smart home inhabitants may not be restricted to only those activities contained in AR model. So, AR models may not rightly recognise or infer new activities. Here, a framework has been proposed for dynamically capturing the new knowledge from activity patterns to evolve behavioural changes in AR model (i.e. ontology based model). This ontology‐based framework adapts by learning the specialised and extended activities from existing user‐performed activity patterns. Moreover, it can identify new activity patterns previously unknown in AR model, adapt the new properties in existing activity models and enrich ontology model by capturing change representation to enrich ontology model. The proposed framework has been evaluated comprehensively over the metrics of accuracy, statistical heuristics, and Kappa coefficient. A well‐known dataset named DAMSH has been used for having an empirical insight into the effectiveness of proposed framework that shows a significant level of accuracy for AR models.
... Tables 1 and 2 provide a high-level overview of M2M and M2T tools, respectively, based on a classification of their transformation approach. The third column in each table provides a brief, informal description of the tool, and the fourth [44] ATL-style rules combined with logic rules to define transformations Java 2013 2013 ModTransf [45] accepts models in XMI, XML or as a graph of objects Java 2004 2005 Echo [46] supports model repair and transformation based on the Alloy model finder Java 2013 2013 QVTR-XSLT [47] provides support for QVT relations in a graphical notation Java 2009 2012 ModelMorf [48] fully supports the QVTr language Java 2006 2006 mediniQVT [49] uses the QVTr language with a textual concrete syntax Java 2007 2011 PETE [50] a Prolog rule-based tool supporting the transformation of Ecore models Java 2009 2010 TXL [51] a grammar-based tool that can be used for model transformations [72] successor to AToM3 that generates web-based DSM tools Python 2012 2016 AGG [73] an algebraic approach attributed graph grammar transformation Java 1997 2017 BOTL [74] a bi-directional transformation language with a precise formal foundation Java 2003 2008 GRoundTram [75] a graph-based round-trip framework for bidirectional model transformations OCaml 2009 2014 eMoflon [76] supports story-driven modeling and TGGs Java 2006 2017 MoTE [77] provides bi-directionality, model synchronization and consistency Java 2010 2016 GReAT [78] based on pattern specification, graph transf., and control-flow languages VC++ 2004 2014 TGGInterpreter [79] uses TGG rules to specify transformations Java 2006 2011 MOMoT [80] a framework that combines modeling with search-based techniques Java 2014 2016 EMorF [81] based on incremental TGG to support model synchronization Java 2012 2012 DSLTrans [82] a visual language and tool for model transformations Java 2011 2014 MoTMoT [83] graph rewriting based on a UML story diagrams Java 2004 2006 ...
Article
Full-text available
Model transformation lies at the very core of model-driven engineering (MDE), and a large number of model transformation languages and tools have been proposed over the last few years. These tools can be used to develop, transform, merge, exchange, compare and verify models and metamodels. In this paper, we present a comprehensive catalogue of existing metamodel-based transformation tools and compare them using a qualitative framework. We begin by organizing the 60 tools we identified into a general classification based on the transformation approach used. We then compare these tools using a number of particular facets, where each facet belongs to one of six different categories and may contain several attributes. The results of the study are discussed in detail and made publicly available in a companion website with a capability to search for tools using the specified facets as search criteria. Our study provides a thorough picture of the state-of-the-art in model transformation techniques and tools. Our results are potentially beneficial to many stakeholders in the modeling community, including practitioners, researchers, and transformation tool developers.
... The approaches based on graph transformations (i.e. algebraic graph transformation [2], or triple-graph grammars [21]), such as [5,7,9,20], are closest to what we describe here in that they typically use graphical, pattern-based transformation definitions and support verification due to their formal foundations. In general, they define a left-hand side pattern, a right-hand side pattern, and (possibly) a negative application condition. ...
... Moreover, graph transformation approaches typically require the user to manually define traceability and focus on structural transformations not complex data transformations, whereas our approach incorporates automated traceability link creation and a dataflow-/ operator-based representation to handle data transformations. In addition, [20] and [7] support only unidirectional transformations, while [5] and [9] support bidirectional transformations. ...
Conference Paper
Full-text available
Model transformations are an important aspect of Model-Driven Engineering as models throughout the software development process are transformed and refined until, finally, application code is generated. However, model transformations are complex to build, maintain, and verify for correctness. We propose the combination of visual contracts, an implementation independent approach for specifying correctness requirements for verification purposes, with operator-based model transformation execution to integrate both the specification of transformation requirements and the transformations themselves within the same framework. The graphical operator-based notation is used to define both the constraints of a contract and the transformation definition. This allows reuse of operators between the two and maintains implementation independence as the operators can be directly executed or compiled to other model-transformation languages. To illustrate the concept, we report on a prototype integration of visual contracts with our our existing operator-based model transformation framework and applied it in the law-enforcement context to transform relational data sources into Elasticsearch for multisource analytics.
... Despite our entire focus being set onto the graph rewriting platform Porgy, several other graph transformation tools exist. The ones we most commonly mentioned in the past are PRO-GRES (PROgrammed Graph REwriting System) (Schürr et al., 1997), AGG (Algebraic Graph Grammar system) (Ermel et al., 1997), Fujaba (From Uml to JAva and BAck) (Nickel et al., 2000), GROOVE (GRaph for Object Oriented VErification) (Rensink, 2004), GrGen (Geiß et al., 2006) and GP/GP2 (Graph Programming) (Plump, 2009(Plump, , 2011. However, a few others, more focussed toward modelling software systems, are also noticeable. ...
Thesis
In this thesis, we present a collection of network generation and information diffusion models expressed using a specific formalism called strategic located graph rewriting, as well as a novel network layout algorithm to show the result of information diffusion in large social networks. Graphs are extremely versatile mathematical objects which can be used to represent a wide variety of high-level systems. They can be transformed in multiple ways (e.g., creating new elements, merging or altering existing ones), but such modifications must be controlled to avoid unwanted operations. To ensure this point, we use a specific formalism called strategic graph rewriting. In this work, a graph rewriting system operates on a single graph, which can then be transformed according to some transformation rules and a strategy to steer the transformation process. First, we adapt two social network generation algorithms in order to create new networks presenting small-world characteristics. Then, we translate different diffusion models to simulate information diffusion phenomena. By adapting the different models into a common formalism, we make their comparison much easier along with the adjustment of their parameters. Finally, we finish by presenting a novel compact layout method to display overviews of the results of our information diffusion method.
... Strategy constructs are also present in graph transformation tools such as PROGRES [67], AGG [23], Fujaba [58], GROOVE [66], GrGen [27], GP [64] and Porgy [2,24,25]. Graph rewriting strategies are especially useful in Porgy, an environment to facilitate the specification, analysis and simulation of complex systems, using port graphs. ...
Article
This survey aims at providing unified definitions of strategies, strategic rewriting and strategic programs. It gives examples of main constructs and languages used to write strategies. It also explores some properties of strategic rewriting and operational semantics of strategic programs. Current research topics are identified.
... The first task is automated by the Attributed Graph Grammar System (AGG) (Ermel et al., 1999), which provides the analysis of sequential dependencies between productions as a basic analysis capability. Presently, the classification of such dependencies into the three categories needs to be performed manually, but it could easily be automated, too. ...
Article
Full-text available
In model transformations, where source models are automatically translated into target models or code, termination is necessary for the transformation to be well defined. There are a number of specific termination criteria that can be used when specifying model transformations by graph transformation, though termination is undecidable in general. Unfortunately, and particularly for large and heterogeneous specifications, it is often not possible to use a single termination criterion. In this paper, we propose an approach that applies different criteria to suitable subsets of rules so that termination can be shown locally using the most suitable technique for each subset. Global termination then follows if certain causal dependencies between rules in different subsets are acyclic. The theory is developed at the level of typed attributed graphs, and is motivated and illustrated by a case study translating UML activity diagrams to CSP.
... Strategies are present in programming languages such as Clean [25], Curry [18], and Haskell [19] and can be explicitly defined to rewrite terms in languages such as ELAN [7], Stratego [32], Maude [22] or Tom [4]. They are also present in graph transformation tools such as PROGRES [30], AGG [12], Fujaba [23], GROOVE [29], GrGen [15] and GP [28]. PORGY's strategy language draws inspiration from these previous works, but a distinctive feature is that it allows users to define strategies using not only operators to combine graph rewriting rules but also operators to define the location in the target graph where rules should, or should not, apply. ...
Article
Full-text available
We present strategic portgraph rewriting as a basis for the implementation of visual modelling and analysis tools. The goal is to facilitate the specification, analysis and simulation of complex systems, using port graphs. A system is represented by an initial graph and a collection of graph rewriting rules, together with a user-defined strategy to control the application of rules. The strategy language includes constructs to deal with graph traversal and management of rewriting positions in the graph. We give a small-step operational semantics for the language, and describe its implementation in the graph transformation and visualisation tool PORGY.