Graph and model transformation. General framework and applications (Q2634496)

From MaRDI portal
scientific article
Language Label Description Also known as
English
Graph and model transformation. General framework and applications
scientific article

    Statements

    Graph and model transformation. General framework and applications (English)
    0 references
    0 references
    0 references
    0 references
    0 references
    9 February 2016
    0 references
    This textbook is essentially the follow-up to [\textit{H. Ehrig} et al., Fundamentals of algebraic graph transformation. Berlin: Springer (2006; Zbl 1095.68047)] and carefully introduces graph grammars and transformations computed by them. Transformations of graphs are an essential tool in several areas of computer science and the textbook provides a very detailed introduction to the theoretical foundations and the practical applications of graph grammars. Compared to its predecessor, the fundamental properties are now presented in the context of \(M\)-adhesive categories and triple graph grammars. In addition, the book is updated to present the current state of the art, which includes application conditions and new developments. The applications presented include various case studies, and several tools developed for the presented approach are demonstrated. The book contains four parts in total. Part I, consisting of Chapters 1--3, generally provides an overview of the graph transformation approach and introduces the main notions. Chapter 1 serves as as introduction and presents an informal overview, establishes the general goals of the book, recalls the historical development, and sets the current book apart from its predecessor. It also quickly summarizes the chapters to follow and outlines possible sequences of reading the chapters, depending on the main interest of the reader. In Chapter 2 the main notions like graphs, graph grammars and their main properties are formally introduced, but the proofs are delayed to Part II. All properties are motivated and carefully explained on examples. In particular, the concept of application conditions, which restrict the applicability of rules, is formally introduced. It is also demonstrated how the application conditions can be moved from either side of the rules to the other side. The final chapter in this part serves as an introduction to the applications and shows the properties of the systems that one is interested in from a practical perspective. In this chapter, triple graph grammars are introduced and their utility is showcased. Part II is the main theoretical part of the book and formally introduces all major notions in a category-theoretic setting. The appendix contains some basic notions from category theory used in this part. Chapter 4 first formally introduces the concepts of adhesive and \(M\)-adhesive categories. Examples are generously used and each individual restriction is carefully explained and motivated. Some basic properties of such categories are provided together with an overview on how the introduced categories relate. The next chapter uses the established setup to formally introduce the main transformation systems, using a very general notion of application conditions, and proves the essential properties already mentioned in Part I. Chapter 6 refines this theory to multi-amalgamated transformations, in which a rule essentially consists of a fixed kernel that defines the match and potentially several extensions of the kernel called multi-rules. These multi-rules can always be combined into a single rule and the results of the previous chapter universally apply also in this setup. The third part then moves to model transformations based on triple graph grammars. Chapter 7 introduces the formal concept of a triple graph grammar, and it is demonstrated that these also form an \(M\)-adhesive category, so that the developed theory applies to them as well. It is also demonstrated how to use forward rules in the case that only a source graph is given. The additional constraints for the successful application of such forward rules are discussed and the obtained model is later simplified into forward translation rules, which are expressively equivalent, but easier to execute and analyze. In Chapter 8 the principal analysis of model transformations is discussed. The classical properties of correctness and completeness are investigated in addition to the functionality requirement. The last chapter in this part discusses model synchronization, in which updates from one side of the model (source or target) are propagated to the other side. This propagation is nondeterministic in general, but certain static conditions ensure that the updates are deterministic, and in this setup it can be shown that the synchronization framework is sound and complete. The final part of the book is dedicated to applications. Chapter 10 starts this part with a static analysis of self-adaptive systems. It is demonstrated how they can be modeled as graph grammars and how it can be ensured that adaptations preserve certain key properties. A solid running example illustrates the approach and the tool AGG 2.0 supports it. In Chapter 11 the focus shifts to enterprise modelling with the help of model transformation and integration as theoretically presented earlier. The final regular chapter introduces some tools that have been developed to support the applications. The description is high-level and feature-centric so that potential users might afterwards make an informed decision whether a certain tool might solve their given problem. Overall, the text is very coherent and uses a unified notation throughout. The language is easily understandable and examples and illustrations are generously used in all parts of the book. Any graduate of computer science should, in principle, be able to appreciate the contents of the book, but some background in category theory helps tremendously in the theoretical part.
    0 references
    graph transformation
    0 references
    graph grammar
    0 references
    model transformation
    0 references
    attributed graph
    0 references
    typed graph
    0 references
    graph morphism
    0 references
    model inclusion
    0 references

    Identifiers

    0 references
    0 references
    0 references
    0 references
    0 references
    0 references
    0 references
    0 references
    0 references
    0 references