The *GReTA* *–* **G***raph* *T***R***ansformation* **T***heory and* **A***pplications* virtual seminar series aims to serve as a platform for the international graph rewriting community, promote recent developments and trends in the field, and permit regular networking and interaction between members of this community. Seminars are held twice a month in the form of Zoom sessions (some of which will be live-streamed to YouTube).

If you wish to contribute a talk to the GReTA seminar, please communicate this by filling out this online form.

Several options are available to receive regular updates on the GReTA seminars:

- Subscribe to the GReTA YouTube channel.
- Subscribe to the GReTA Google Calendar (or alternatively import it in iCal format).
- Subscribe to the GReTA mailing list.
- Follow us on X (formerly Twitter).

Stephen Wolfram is the creator of Mathematica, Wolfram|Alpha and the Wolfram Language; the author of A New Kind of Science; the originator of the Wolfram Physics Project; and the founder and CEO of Wolfram Research. Over the course of more than four decades, he has been a pioneer in the development and application of computational thinking—and has been responsible for many discoveries, inventions and innovations in science, technology and business.

*Source: About Stephen Wolfram*

This tutorial will be based on the book on “Graph Transformation for Software Engineers” co-authored with Reiko Heckel, University of Leicester, appeared at Springer in 2020. It is the first textbook that explains the most commonly used concepts, notations, techniques and applications of graph transformation in general, broadly accessible terms, without focusing on one particular mathematical representation or implementation approach. While the first part of the book introduces into the fundamentals in a precise, yet informal way, aiming to provides a comprehensive and systematic survey of the concepts, notations and techniques of graph transformation, the second part presents and discusses a range of applications to both model-based software engineering and domain-specific language engineering. The variety of these applications demonstrate how broadly graphs and graph transformations can be used to model, analyse and implement complex software systems and languages. The second part of this tutorial gives an overview of all the applications presented in the book and presents one topic, the detecting of inconsistent requirements, in more detail. The book is available from Springer, and a free authors' copy is available here.

This is the 3rd in a series of tutorials based on the book on /Graph Transformation for Software Engineers/ co-authored with Gabi Taentzer at the University of Marburg. The first tutorial in this series introduced the fundamental concepts and notations based on Part 1 of the book. The second tutorial provided an overview of the applications in Part 2 and covered in more detail the detection of inconsistent functional requirements, In this third tutorial we will focus on the use of graph transformation rules as /visual contracts/, to model services from both a provider’s and requester’s point of view, and match required with provided services. We also describe how to reverse engineer visual contracts from service implementations in Java. The book is available to buy from Springer and a free pdf copy can be found at the authors’ site.

Software interoperability is a recurring issue in nearly every bigger software project where two or more (legacy) software systems are involved. One aspect of interoperability, that is considered especially tricky is *semantic interoperability*, i.e., aligning the concepts, entities, data structures from multiple systems with each other. The model-driven software engineering community has investigated this issue under different names: model management, model synchronisation, inter-model consistency. From a theoretical side, there are two noteworthy common approaches: Goguen’s *Colimit-approach* (for general systems' theory) and *Triple Graph Grammars (TGGs)*. The former describes that idea that one may always consider a “global integrated system” as the colimit of a diagram of interacting systems, while the latter is the foundation for a powerful framework of binary model synchronizers derived from a declarative description (grammar). In our investigation, it, however, turned out that both approaches each have significant drawback when considering them in practical applications: The colimit turns out to be a “forgetful” operation and TGGs are limited to a binary setting (it is a well-known fact from logic and databases that there are multi-ary relations that cannot be factored into a system of binary relations). Thus, we invented a novel formalism, called *comprehensive systems*, first introduced in 1, and theoretically flashed out in 2 and 3. Comprehensive systems provide an alternative to the colimit approach, which can be thought of as instead of “merging” a diagram into a singular object, they “flatten” the whole diagram. Moreover, they are designed for a general n-ary ($n \geq 2$) settings and thus can be considered as a generalization of triple graphs. In a series of papers, we have shown that comprehensive systems admit SPO and DPO rewriting in the setting of a weak adhesive HLR category. From a practical perspective, comprehensive systems serve as the theoretical foundation of a prototypical software interoperability tool called CorrLang.

In this talk, I will provide a brief historical overview over interoperability, model management, and model synchronisation, provide the motivation for comprehensive systems, sketch their theoretical properties (with an emphasis on*partial morphisms*), and, if time allows, demonstrate how comprehensive systems are reified in a concrete tool (CorrLang).

In this talk, I will provide a brief historical overview over interoperability, model management, and model synchronisation, provide the motivation for comprehensive systems, sketch their theoretical properties (with an emphasis on

The *GReTA* seminars are hosted via Zoom. For security reasons, participation in a given seminar requires a **registration** (via the link provided in the seminar announcement). Upon completing the registration form (asking for the name, affiliation, and email address), you will be sent a personalized Zoom meeting link. For convenience, sessions will be open *15 minutes before* the beginning of the seminar.

Please make sure that you have the latest Zoom client version installed, in particular if you wish to participate in the after-talk discussions (since these will make use of the *breakout rooms* feature, see here for usage instructions). If possible, please consider joining already during the 15 minutes before a given seminar, ensuring your Zoom setup is functioning correctly.

Alternatively, if you prefer not to participate via Zoom, some seminars will be live-streamed to YouTube, where it will be possible to ask questions via the YouTube commenting functionality.

Each seminar will be hosted by a chairperson who will introduce the speaker, watch incoming questions and who will decide if and when to interrupt the speaker for questions, or which questions should be postponed to after the talk.

After each seminar, the main Zoom session will remain open for additional 30 minutes in order to allow for discussions and networking. Depending on the number of participants, it will be a possibility to gather into small breakout sessions as well.