TY - BOOK A1 - Herschel, Melanie A1 - Naumann, Felix T1 - Space and time scalability of duplicate detection in graph data N2 - Duplicate detection consists in determining different representations of real-world objects in a database. Recent research has considered the use of relationships among object representations to improve duplicate detection. In the general case where relationships form a graph, research has mainly focused on duplicate detection quality/effectiveness. Scalability has been neglected so far, even though it is crucial for large real-world duplicate detection tasks. In this paper we scale up duplicate detection in graph data (DDG) to large amounts of data and pairwise comparisons, using the support of a relational database system. To this end, we first generalize the process of DDG. We then present how to scale algorithms for DDG in space (amount of data processed with limited main memory) and in time. Finally, we explore how complex similarity computation can be performed efficiently. Experiments on data an order of magnitude larger than data considered so far in DDG clearly show that our methods scale to large amounts of data not residing in main memory. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 25 Y1 - 2008 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-32851 SN - 978-3-940793-46-1 ER - TY - BOOK A1 - Polyvyanyy, Artem A1 - Smirnov, Sergey A1 - Weske, Mathias T1 - The triconnected abstraction of process models N2 - Contents: Artem Polyvanny, Sergey Smirnow, and Mathias Weske The Triconnected Abstraction of Process Models 1 Introduction 2 Business Process Model Abstraction 3 Preliminaries 4 Triconnected Decomposition 4.1 Basic Approach for Process Component Discovery 4.2 SPQR-Tree Decomposition 4.3 SPQR-Tree Fragments in the Context of Process Models 5 Triconnected Abstraction 5.1 Abstraction Rules 5.2 Abstraction Algorithm 6 Related Work and Conclusions T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 26 KW - Hasso-Plattner-Institut KW - Hasso-Plattner-Institute Y1 - 2008 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-32847 SN - 978-3-940793-65-2 PB - Universitätsverlag Potsdam CY - Potsdam ER - TY - BOOK A1 - Smirnov, Sergey A1 - Weidlich, Matthias A1 - Mendling, Jan A1 - Weske, Mathias T1 - Action patterns in business process models N2 - Business process management experiences a large uptake by the industry, and process models play an important role in the analysis and improvement of processes. While an increasing number of staff becomes involved in actual modeling practice, it is crucial to assure model quality and homogeneity along with providing suitable aids for creating models. In this paper we consider the problem of offering recommendations to the user during the act of modeling. Our key contribution is a concept for defining and identifying so-called action patterns - chunks of actions often appearing together in business processes. In particular, we specify action patterns and demonstrate how they can be identified from existing process model repositories using association rule mining techniques. Action patterns can then be used to suggest additional actions for a process model. Our approach is challenged by applying it to the collection of process models from the SAP Reference Model. N2 - Die zunehmende Bedeutung des Geschäftsprozessmanagements führt dazu, dass eine steigende Anzahl von Mitarbeitern eines Unternehmens mit der Erstellung von Prozessmodellen betraut ist. Um trotz dieser Tendenz die Qualität der Prozessmodelle, sowie ihre Homogenität sicherzustellen, sind entsprechende Modellierungshilfen unabdingbar. In diesem Bericht stellen wir einen Ansatz vor, welcher die Prozessmodellierung durch Empfehlungen unterstützt. Jene basieren auf sogenannten Aktionsmustern, welche typische Arbeitsblöcke darstellen. Neben der Definition dieser Aktionsmuster zeigen wir eine Methode zur Identifikation dieser Muster auf. Mittels Techniken der Assoziationsanalyse können die Muster automatisch aus einer Sammlung von Prozessmodellen extrahiert werden. Die Anwendbarkeit unseres Ansatzes wird durch eine Fallstudie auf Basis des SAP Referenzmodells illustriert. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 30 Y1 - 2009 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-33586 SN - 978-3-86956-009-0 PB - Universitätsverlag Potsdam CY - Potsdam ER - TY - BOOK A1 - Eid-Sabbagh, Rami-Habib A1 - Hewelt, Marcin A1 - Weske, Mathias T1 - Business process architectures with multiplicities : transformation and correctness N2 - Business processes are instrumental to manage work in organisations. To study the interdependencies between business processes, Business Process Architectures have been introduced. These express trigger and message ow relations between business processes. When we investigate real world Business Process Architectures, we find complex interdependencies, involving multiple process instances. These aspects have not been studied in detail so far, especially concerning correctness properties. In this paper, we propose a modular transformation of BPAs to open nets for the analysis of behavior involving multiple business processes with multiplicities. For this purpose we introduce intermediary nets to portray semantics of multiplicity specifications. We evaluate our approach on a use case from the public sector. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 77 Y1 - 2013 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-66780 SN - 978-3-86956-257-5 PB - Universitätsverlag Potsdam CY - Potsdam ER - TY - BOOK A1 - Wassermann, Lars A1 - Felgentreff, Tim A1 - Pape, Tobias A1 - Bolz, Carl Friedrich A1 - Hirschfeld, Robert T1 - Tracing Algorithmic Primitives in RSqueak/VM N2 - When realizing a programming language as VM, implementing behavior as part of the VM, as primitive, usually results in reduced execution times. But supporting and developing primitive functions requires more effort than maintaining and using code in the hosted language since debugging is harder, and the turn-around times for VM parts are higher. Furthermore, source artifacts of primitive functions are seldom reused in new implementations of the same language. And if they are reused, the existing API usually is emulated, reducing the performance gains. Because of recent results in tracing dynamic compilation, the trade-off between performance and ease of implementation, reuse, and changeability might now be decided adversely. In this work, we investigate the trade-offs when creating primitives, and in particular how large a difference remains between primitive and hosted function run times in VMs with tracing just-in-time compiler. To that end, we implemented the algorithmic primitive BitBlt three times for RSqueak/VM. RSqueak/VM is a Smalltalk VM utilizing the PyPy RPython toolchain. We compare primitive implementations in C, RPython, and Smalltalk, showing that due to the tracing just-in-time compiler, the performance gap has lessened by one magnitude to one magnitude. N2 - Wenn man eine Programmiersprache als Virtuelle Maschine (VM) realisiert, dann wird Verhalten, das man als Teil der VM, also primitiv, implementiert normalerweise schneller ausgeführt, als vergleichbare Funktionen die in der implementierten Sprache verfasst wurden. Aber die Entwicklung und Wartung von primitiven Funktionen erfordert mehr Anstrengung als die Wartung und Benutzung von Funktionen der implementierten Sprache, da Fehlerbehebung schwerer ist, und die Entwicklungszyklen für VM-Teile länger sind. Im Gegensatz zu Programmen, die in der implementierten Programmiersprache geschrieben sind, wird Quelltext von Primitiven selten wiederverwendet. Und falls sie wiederverwendet werden, dann wird die Schnittstelle zur VM meist emuliert, was den Geschwindigkeitsvorteil reduziert. Aber aufgrund von neueren Resultaten der ablaufverfolgenden dynamischen Kompilierung, könnte die Abwägung zwischen Geschwindigkeit einerseits und Implementierungsaufwand, Wiederverwendbarkeit und Änderbarkeit andererseits nun zugunsten von letzteren ausfallen. In dieser Arbeit untersuchen wir, welche Abstriche bei der Implementierung von Verhalten als Primitive gemacht werden müssen, insbesondere wie hoch die Laufzeitunterschiede zwischen Primitiven und gehosteten Funktionen noch sind. Um das zu erreichen haben wir die algorithmische Primitive BitBlt drei mal für RSqueak/VM implementiert. RSqueak/VM ist eine Smalltalk VM, die die PyPy RPython-Toolkette verwendet. Wir vergleichen die Primitivenimplementierungen in C, RPython und Smalltalk, und zeigen, dass aufgrund eines ablaufverfolgenden just-in-time-Übersetzers der Geschwindigkeitsunterschied um eine Größenordnung auf eine Größenordnung gefallen ist. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 104 KW - virtual machines KW - collection types KW - memory optimization KW - dynamic typing KW - virtuelle Maschinen KW - Sammlungsdatentypen KW - Speicheroptimierungen KW - dynamische Sprachen Y1 - 2016 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-91277 SN - 978-3-86956-355-8 SN - 1613-5652 SN - 2191-1665 IS - 104 PB - Universitätsverlag Potsdam CY - Potsdam ER - TY - BOOK A1 - Schreiber, Robin A1 - Krahn, Robert A1 - Ingalls, Daniel H. H. A1 - Hirschfeld, Robert T1 - Transmorphic T1 - Transmorphic BT - mapping direct manipulation to source code transformations BT - Abbilden von direkter Manipulation zu Transformationen im Programmtext N2 - Defining Graphical User Interfaces (GUIs) through functional abstractions can reduce the complexity that arises from mutable abstractions. Recent examples, such as Facebook's React GUI framework have shown, how modelling the view as a functional projection from the application state to a visual representation can reduce the number of interacting objects and thus help to improve the reliabiliy of the system. This however comes at the price of a more rigid, functional framework where programmers are forced to express visual entities with functional abstractions, detached from the way one intuitively thinks about the physical world. In contrast to that, the GUI Framework Morphic allows interactions in the graphical domain, such as grabbing, dragging or resizing of elements to evolve an application at runtime, providing liveness and directness in the development workflow. Modelling each visual entity through mutable abstractions however makes it difficult to ensure correctness when GUIs start to grow more complex. Furthermore, by evolving morphs at runtime through direct manipulation we diverge more and more from the symbolic description that corresponds to the morph. Given that both of these approaches have their merits and problems, is there a way to combine them in a meaningful way that preserves their respective benefits? As a solution for this problem, we propose to lift Morphic's concept of direct manipulation from the mutation of state to the transformation of source code. In particular, we will explore the design, implementation and integration of a bidirectional mapping between the graphical representation and a functional and declarative symbolic description of a graphical user interface within a self hosted development environment. We will present Transmorphic, a functional take on the Morphic GUI Framework, where the visual and structural properties of morphs are defined in a purely functional, declarative fashion. In Transmorphic, the developer is able to assemble different morphs at runtime through direct manipulation which is automatically translated into changes in the code of the application. In this way, the comprehensiveness and predictability of direct manipulation can be used in the context of a purely functional GUI, while the effects of the manipulation are reflected in a medium that is always in reach for the programmer and can even be used to incorporate the source transformations into the source files of the application. N2 - Das Definieren von graphischen Benutzeroberflächen mittels funktionaler Abstraktionen, kann die Komplexität der Verwaltung des Zustandes der Anwendung erheblich reduzieren. Aktuelle Beispiele, wie Facebook's Framework *React*, zeigen auf, wie das modellieren der visuellen Schnittstelle als eine funktionale Projektion vom Zustand der Anwendung zur graphischen Repräsentation, die Anzahl der agierenden Objekte erheblich reduzieren und so die Verlässlichkeit des Systems erhöhen kann. Der Preis für die so erreichte Stabilität, ist eine relativ statische graphische Repräsentation, die sich zur Laufzeit nicht dynamisch anpassen lässt und in der jede visuelle Entität nur mittles funktionaler Abstraktionen beschrieben werden kann, was nicht unserem intuitiven Verständnis der Welt entspricht. Im Gegensatz dazu, erlaubt das Rahmenwerk Morphic mittles Interaktionen wie Ziehen, Greifen oder Skalieren von visuellen Elementen, die grahische Darstellung der Anwendung zur Laufzeit in einer unmittelbaren ("live") und direkten Art und Weise weiter zu entwickeln. Um diese Flexibilität zu erreichen, modelliert Morphic allerdings jedes graphische Objekt mittels veränderlichem Zustand, was das Garantieren der Fehlerfreiheit von graphischen Oberfläche, insbesondere bei sehr komplexen Schnittstellen, deutlich erschwehrt. Hinzu kommt, dass die dynamischen Anpassungen zur Laufzeit dazu führen, dass sich die Oberfläche mehr und mehr von ihrer ursprünglichen symbolischen Definition entfernt, da Morphic von selbst die Änderungen in der Laufzeit nicht im Quellcode reflektieren kann. Die Frage ist also ob es eine Kombination beider Ansätze gibt, welche es vermag die Vorteile zu erhalten und Nachteile wenn möglich auszugleichen. Als Lösung für dieses Problem schlagen wir vor das Konzept der direkten Manipulation aus Morphic auf Transformationen im Quellcode zu übertragen. Hierfür werden wir das Design, die Implementierung und Integration einer bidirektionalen Abbildung zwischen graphischer Darstellung und einer funktionalen, deklarativen symbolischen Beschreibung in einer selbsterhaltenden Entwicklungsumgebung erörtern. Wir werden Transmorphic vorstellen, eine funktionale Variante des Morphic Frameworks, in der visuelle und strukturelle Eigenschaften in einer strikt funktionalen und daher deklarativen Art und Weise definiert werden. Innerhalb von Transmorphic hat der Entwickler die Möglichkeit verschieden Morphs zur Laufzeit mittels direkter Manipulation zusammenzusetzen, was direkt zu Änderungen im Quellcode der Anwendung übersetzt wird. Auf diese Weise kann die verständliche und nachvollziehbare direkte Interaktion aus Morphic, im Kontext einer vollständig funktional beschriebenen graphischen Benutzeroberfläche verwendet werden. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 110 KW - functional programming KW - morphic KW - functional lenses KW - direct manipulation KW - synchronization KW - FRP KW - reactive KW - immutable values KW - live programming KW - funktionale Programmierung KW - Morphic KW - Functional Lenses KW - direkte Manipulation KW - Synchronisation KW - FRP KW - reaktive Programmierung KW - Unveränderlichkeit KW - Live-Programmierung Y1 - 2016 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-98300 SN - 978-3-86956-387-9 SN - 1613-5652 SN - 2191-1665 IS - 110 PB - Universitätsverlag Potsdam CY - Potsdam ER - TY - BOOK A1 - Baltzer, Wanda A1 - Hradilak, Theresa A1 - Pfennigschmidt, Lara A1 - Prestin, Luc Maurice A1 - Spranger, Moritz A1 - Stadlinger, Simon A1 - Wendt, Leo A1 - Lincke, Jens A1 - Rein, Patrick A1 - Church, Luke A1 - Hirschfeld, Robert T1 - An individual-centered approach to visualize people’s opinions and demographic information N2 - The noble way to substantiate decisions that affect many people is to ask these people for their opinions. For governments that run whole countries, this means asking all citizens for their views to consider their situations and needs. Organizations such as Africa's Voices Foundation, who want to facilitate communication between decision-makers and citizens of a country, have difficulty mediating between these groups. To enable understanding, statements need to be summarized and visualized. Accomplishing these goals in a way that does justice to the citizens' voices and situations proves challenging. Standard charts do not help this cause as they fail to create empathy for the people behind their graphical abstractions. Furthermore, these charts do not create trust in the data they are representing as there is no way to see or navigate back to the underlying code and the original data. To fulfill these functions, visualizations would highly benefit from interactions to explore the displayed data, which standard charts often only limitedly provide. To help improve the understanding of people's voices, we developed and categorized 80 ideas for new visualizations, new interactions, and better connections between different charts, which we present in this report. From those ideas, we implemented 10 prototypes and two systems that integrate different visualizations. We show that this integration allows consistent appearance and behavior of visualizations. The visualizations all share the same main concept: representing each individual with a single dot. To realize this idea, we discuss technologies that efficiently allow the rendering of a large number of these dots. With these visualizations, direct interactions with representations of individuals are achievable by clicking on them or by dragging a selection around them. This direct interaction is only possible with a bidirectional connection from the visualization to the data it displays. We discuss different strategies for bidirectional mappings and the trade-offs involved. Having unified behavior across visualizations enhances exploration. For our prototypes, that includes grouping, filtering, highlighting, and coloring of dots. Our prototyping work was enabled by the development environment Lively4. We explain which parts of Lively4 facilitated our prototyping process. Finally, we evaluate our approach to domain problems and our developed visualization concepts. Our work provides inspiration and a starting point for visualization development in this domain. Our visualizations can improve communication between citizens and their government and motivate empathetic decisions. Our approach, combining low-level entities to create visualizations, provides value to an explorative and empathetic workflow. We show that the design space for visualizing this kind of data has a lot of potential and that it is possible to combine qualitative and quantitative approaches to data analysis. N2 - Der noble Weg, Entscheidungen, die viele Menschen betreffen, zu begründen, besteht darin, diese Menschen nach ihrer Meinung zu fragen. Für Regierungen, die ganze Länder führen, bedeutet dies, alle Bürger nach ihrer Meinung zu fragen, um ihre Situationen und Bedürfnisse zu berücksichtigen. Organisationen wie die Africa's Voices Foundation, die die Kommunikation zwischen Entscheidungsträgern und Bürgern eines Landes erleichtern wollen, haben Schwierigkeiten, zwischen diesen Gruppen zu vermitteln. Um Verständnis zu ermöglichen, müssen die Aussagen zusammengefasst und visualisiert werden. Diese Ziele auf eine Weise zu erreichen, die den Stimmen und Situationen der Bürgerinnen und Bürger gerecht wird, erweist sich als Herausforderung. Standardgrafiken helfen dabei nicht weiter, da es ihnen nicht gelingt, Empathie für die Menschen hinter ihren grafischen Abstraktionen zu schaffen. Darüber hinaus schaffen diese Diagramme kein Vertrauen in die Daten, die sie darstellen, da es keine Möglichkeit gibt, den verwendeten Code und die Originaldaten zu sehen oder zu ihnen zurück zu navigieren. Um diese Funktionen zu erfüllen, würden Visualisierungen sehr von Interaktionen zur Erkundung der angezeigten Daten profitieren, die Standardgrafiken oft nur begrenzt bieten. Um das Verständnis der Stimmen der Menschen zu verbessern, haben wir 80 Ideen für neue Visualisierungen, neue Interaktionen und bessere Verbindungen zwischen verschiedenen Diagrammen entwickelt und kategorisiert, die wir in diesem Bericht vorstellen. Aus diesen Ideen haben wir 10 Prototypen und zwei Systeme implementiert, die verschiedene Visualisierungen integrieren. Wir zeigen, dass diese Integration ein einheitliches Erscheinungsbild und Verhalten der Visualisierungen ermöglicht. Die Visualisierungen haben alle das gleiche Grundkonzept: Jedes Individuum wird durch einen einzigen Punkt dargestellt. Um diese Idee zu verwirklichen, diskutieren wir Technologien, die die effiziente Darstellung einer großen Anzahl dieser Punkte ermöglichen. Mit diesen Visualisierungen sind direkte Interaktionen mit Darstellungen von Individuen möglich, indem man auf sie klickt oder eine Auswahl um sie herumzieht. Diese direkte Interaktion ist nur mit einer bidirektionalen Verbindung von der Visualisierung zu den angezeigten Daten möglich. Wir diskutieren verschiedene Strategien für bidirektionale Mappings und die damit verbundenen Kompromisse. Ein einheitliches Verhalten über Visualisierungen hinweg verbessert die Exploration. Für unsere Prototypen umfasst dies Gruppierung, Filterung, Hervorhebung und Einfärbung von Punkten. Unsere Arbeit an den Prototypen wurde durch die Entwicklungsumgebung Lively4 ermöglicht. Wir erklären, welche Teile von Lively4 unseren Prototyping-Prozess erleichtert haben. Schließlich bewerten wir unsere Herangehensweise an Domänenprobleme und die von uns entwickelten Visualisierungskonzepte. Unsere Arbeit liefert Inspiration und einen Ausgangspunkt für die Entwicklung von Visualisierungen in diesem Bereich. Unsere Visualisierungen können die Kommunikation zwischen Bürgern und ihrer Regierung verbessern und einfühlsame Entscheidungen motivieren. Unser Ansatz, bei dem wir niedrigstufige Entitäten zur Erstellung von Visualisierungen kombinieren, bietet einen wertvollen Ansatz für einen explorativen und einfühlsamen Arbeitsablauf. Wir zeigen, dass der Designraum für die Visualisierung dieser Art von Daten ein großes Potenzial hat und dass es möglich ist, qualitative und quantitative Ansätze zur Datenanalyse zu kombinieren. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 136 KW - data visualization KW - demographic information KW - visualization concept exploration KW - web-based development environment KW - Datenvisualisierung KW - demografische Informationen KW - Visualisierungskonzept-Exploration KW - web-basierte Entwicklungsumgebung Y1 - 2021 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-491457 SN - 978-3-86956-504-0 SN - 1613-5652 SN - 2191-1665 IS - 136 PB - Universitätsverlag Potsdam CY - Potsdam ER - TY - BOOK A1 - Seitz, Klara A1 - Lincke, Jens A1 - Rein, Patrick A1 - Hirschfeld, Robert T1 - Language and tool support for 3D crochet patterns BT - virtual crochet with a graph structure N2 - Crochet is a popular handcraft all over the world. While other techniques such as knitting or weaving have received technical support over the years through machines, crochet is still a purely manual craft. Not just the act of crochet itself is manual but also the process of creating instructions for new crochet patterns, which is barely supported by domain specific digital solutions. This leads to unstructured and often also ambiguous and erroneous pattern instructions. In this report, we propose a concept to digitally represent crochet patterns. This format incorporates crochet techniques which allows domain specific support for crochet pattern designers during the pattern creation and instruction writing process. As contributions, we present a thorough domain analysis, the concept of a graph structure used as domain specific language to specify crochet patterns and a prototype of a projectional editor using the graph as representation format of patterns and a diagramming system to visualize them in 2D and 3D. By analyzing the domain, we learned about crochet techniques and pain points of designers in their pattern creation workflow. These insights are the basis on which we defined the pattern representation. In order to evaluate our concept, we built a prototype by which the feasibility of the concept is shown and we tested the software with professional crochet designers who approved of the concept. N2 - Häkeln ist eine weltweit verbreitete Handarbeitskunst. Obwohl andere Techniken, wie stricken und weben über die Zeit maschinelle Unterstützung erhalten haben, ist Häkeln noch heute ein komplett manueller Vorgang. Nicht nur das Häkeln an sich, sondern auch der Prozess zur Anleitungserstellung von neuen Häkeldesigns ist kaum unterstützt mit digitalen Lösungen. In dieser Arbeit stellen wir ein Konzept vor, das Häkelanleitungen digital repräsentiert. Das entwickelte Format integriert Häkeltechniken, wodurch wir den Prozess des Anleitungschreibens für Designer spezifisch für die Häkeldomäne unterstützen können. Als Beiträge analysieren wir umfassend die Häkeldomäne, entwickeln ein Konzept zur Repräsentation von Häkelanleitungen basierend auf einer Graphenstruktur als domänenspezifische Sprache und implementieren einen projektionalen Editor, der auf der besagten Graphenstruktur aufbaut und weiterhin die erstellten Anleitungen als schematische Darstellung in 2D und 3D visualisiert. Durch die Analyse der Domäne lernen wir Häkeltechniken und Schwachstellen beim Ablauf des Anleitungserstellens kennen. Basierend auf diesen Erkenntnissen entwickeln wir das digitale Format, um Anleitungen zu repräsentieren. Für die Evaluierung unseres Konzepts, haben wir einen Prototypen implementiert, der die Machbarkeit demonstriert. Zudem haben wir die Software von professionellen Häkeldesignern testen lassen, die unsere Herangehensweise gutheißen. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 137 KW - crochet KW - visual language KW - tools KW - computer-aided design KW - Häkeln KW - visuelle Sprache KW - Werkzeuge KW - rechnerunterstütztes Konstruieren Y1 - 2021 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-492530 SN - 978-3-86956-505-7 SN - 1613-5652 SN - 2191-1665 IS - 137 PB - Universitätsverlag Potsdam CY - Potsdam ER - TY - BOOK A1 - Eichenroth, Friedrich A1 - Rein, Patrick A1 - Hirschfeld, Robert T1 - Fast packrat parsing in a live programming environment BT - improving left-recursion in parsing expression grammars T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam N2 - Language developers who design domain-specific languages or new language features need a way to make fast changes to language definitions. Those fast changes require immediate feedback. Also, it should be possible to parse the developed languages quickly to handle extensive sets of code. Parsing expression grammars provides an easy to understand method for language definitions. Packrat parsing is a method to parse grammars of this kind, but this method is unable to handle left-recursion properly. Existing solutions either partially rewrite left-recursive rules and partly forbid them, or use complex extensions to packrat parsing that are hard to understand and cost-intensive. We investigated methods to make parsing as fast as possible, using easy to follow algorithms while not losing the ability to make fast changes to grammars. We focused our efforts on two approaches. One is to start from an existing technique for limited left-recursion rewriting and enhance it to work for general left-recursive grammars. The second approach is to design a grammar compilation process to find left-recursion before parsing, and in this way, reduce computational costs wherever possible and generate ready to use parser classes. Rewriting parsing expression grammars is a task that, if done in a general way, unveils a large number of cases such that any rewriting algorithm surpasses the complexity of other left-recursive parsing algorithms. Lookahead operators introduce this complexity. However, most languages have only little portions that are left-recursive and in virtually all cases, have no indirect or hidden left-recursion. This means that the distinction of left-recursive parts of grammars from components that are non-left-recursive holds great improvement potential for existing parsers. In this report, we list all the required steps for grammar rewriting to handle left-recursion, including grammar analysis, grammar rewriting itself, and syntax tree restructuring. Also, we describe the implementation of a parsing expression grammar framework in Squeak/Smalltalk and the possible interactions with the already existing parser Ohm/S. We quantitatively benchmarked this framework directing our focus on parsing time and the ability to use it in a live programming context. Compared with Ohm, we achieved massive parsing time improvements while preserving the ability to use our parser it as a live programming tool. The work is essential because, for one, we outlined the difficulties and complexity that come with grammar rewriting. Also, we removed the existing limitations that came with left-recursion by eliminating them before parsing. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 135 KW - packrat parsing KW - parsing expression grammars KW - left recursion Y1 - 2022 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-491242 SN - 978-3-86956-503-3 SN - 1613-5652 SN - 2191-1665 IS - 135 PB - Universitätsverlag Potsdam CY - Potsdam ER - TY - BOOK A1 - Maximova, Maria A1 - Schneider, Sven A1 - Giese, Holger T1 - Compositional analysis of probabilistic timed graph transformation systems N2 - The analysis of behavioral models is of high importance for cyber-physical systems, as the systems often encompass complex behavior based on e.g. concurrent components with mutual exclusion or probabilistic failures on demand. The rule-based formalism of probabilistic timed graph transformation systems is a suitable choice when the models representing states of the system can be understood as graphs and timed and probabilistic behavior is important. However, model checking PTGTSs is limited to systems with rather small state spaces. We present an approach for the analysis of large scale systems modeled as probabilistic timed graph transformation systems by systematically decomposing their state spaces into manageable fragments. To obtain qualitative and quantitative analysis results for a large scale system, we verify that results obtained for its fragments serve as overapproximations for the corresponding results of the large scale system. Hence, our approach allows for the detection of violations of qualitative and quantitative safety properties for the large scale system under analysis. We consider a running example in which we model shuttles driving on tracks of a large scale topology and for which we verify that shuttles never collide and are unlikely to execute emergency brakes. In our evaluation, we apply an implementation of our approach to the running example. N2 - Die Analyse von Verhaltensmodellen ist für cyber-physikalische Systeme von hoher Bedeutung, da die Systeme häufig komplexes Verhalten umfassen, das z.B. parallele Komponenten mit gegenseitigem Ausschluss oder probabilistischen Fehlern bei Bedarf umfasst. Der regelbasierte Formalismus probabilistischer zeitgesteuerter Graphtransformationssysteme ist eine geeignete Wahl, wenn die Modelle, die Zustände des Systems darstellen, als Graphen verstanden werden können und zeitgesteuertes und probabilistisches Verhalten wichtig ist. Modelchecking von PTGTSs ist jedoch auf Systeme mit relativ kleinen Zustandsräumen beschränkt. Wir präsentieren einen Ansatz zur Analyse von Großsystemen, die als probabilistische zeitgesteuerte Graphtransformationssysteme modelliert wurden, indem ihre Zustandsräume systematisch in überschaubare Fragmente zerlegt werden. Um qualitative und quantitative Analyseergebnisse für ein Großsystem zu erhalten, überprüfen wir, ob die für seine Fragmente erhaltenen Ergebnisse als Überannäherungen für die entsprechenden Ergebnisse des Großsystems dienen. Unser Ansatz ermöglicht es daher, Verstöße gegen qualitative und quantitative Sicherheitseigenschaften für das untersuchte Großsystem zu erkennen. Wir betrachten ein Beispiel, in dem wir Shuttles modellieren, die auf Gleisen einer großen Topologie fahren, und für die wir überprüfen, dass Shuttles niemals kollidieren und wahrscheinlich keine Notbremsungen ausführen. In unserer Auswertung wenden wir eine Implementierung unseres Ansatzes auf das Beispiel an. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 133 KW - cyber-physical systems KW - graph transformation systems KW - qualitative analysis KW - quantitative analysis KW - probabilistic timed systems KW - compositional analysis KW - model checking KW - Cyber-physikalische Systeme KW - Graphentransformationssysteme KW - qualitative Analyse KW - quantitative Analyse KW - probabilistische zeitgesteuerte Systeme KW - Modellprüfung KW - kompositionale Analyse Y1 - 2020 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-490131 SN - 978-3-86956-501-9 SN - 1613-5652 SN - 2191-1665 IS - 133 PB - Universitätsverlag Potsdam CY - Potsdam ER - TY - BOOK ED - Bartok, David ED - van der Walt, Estee ED - Lindemann, Jan ED - Eschrig, Johannes ED - Plauth, Max T1 - Proceedings of the Third HPI Cloud Symposium "Operating the Cloud" 2015 N2 - Every year, the Hasso Plattner Institute (HPI) invites guests from industry and academia to a collaborative scientific workshop on the topic “Operating the Cloud”. Our goal is to provide a forum for the exchange of knowledge and experience between industry and academia. Hence, HPI’s Future SOC Lab is the adequate environment to host this event which is also supported by BITKOM. On the occasion of this workshop we called for submissions of research papers and practitioner’s reports. ”Operating the Cloud” aims to be a platform for productive discussions of innovative ideas, visions, and upcoming technologies in the field of cloud operation and administration. In this workshop proceedings the results of the third HPI cloud symposium ”Operating the Cloud” 2015 are published. We thank the authors for exciting presentations and insights into their current work and research. Moreover, we look forward to more interesting submissions for the upcoming symposium in 2016. N2 - Jedes Jahr lädt das Hasso-Plattner-Institut (HPI) Gäste aus Industrie und Wissenschaft zu einer gemeinschaftlichen wissenschaftlichen Tagung, unter dem Titel "Operating the Cloud" ein. Unser Ziel ist es, ein Forum für den Wissens- und Erfahrungsaustausch zwischen Industrie und Wissenschaft bereitzustellen. Um diese, u.a. von der BITKOM unterstützte, Veranstaltung auszurichten, ist das Future SOC Lab am HPI die angemessene Umgebung. Zum Anlass dieser Tagung haben wir aufgerufen, wissenschaftliche Abhandlungen und Erfahrungsberichte einzureichen. "Operating the Cloud" hat zum Ziel, eine Plattform für Debatten sowie innovative Ideen, Visionen und Technologien in den Bereichen Cloud-Betrieb und -Administration zu bieten. Dieser Tagungsbericht veröffentlicht die Ergebnisse des dritten HPI Cloud Symposiums "Operating the Cloud" 2015. Wir bedanken uns bei allen Autoren für die spannenden Vorträge und Einblicke in ihre Arbeit. Zudem freuen wir uns auf weitere interessante Beiträge zur kommenden Tagung 2016. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 105 KW - cloud computing KW - big data services KW - data center management KW - Cloud-Sicherheit KW - Cloud-Speicher KW - zuverlässigen Datenverarbeitung KW - Ressourcenoptimierung KW - Sozialen Medien KW - In-Memory-Datenbank KW - Verteilungsalgorithmus KW - Virtualisierung Y1 - 2016 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-87548 SN - 978-3-86956-360-2 SN - 1613-5652 SN - 2191-1665 IS - 105 PB - Universitätsverlag Potsdam CY - Potsdam ER - TY - BOOK A1 - Reschke, Jakob A1 - Taeumel, Marcel A1 - Pape, Tobias A1 - Niephaus, Fabio A1 - Hirschfeld, Robert T1 - Towards version control in object-based systems T1 - Ein Vorschlag zur Versionsverwaltung in objektbasierten Systemen N2 - Version control is a widely used practice among software developers. It reduces the risk of changing their software and allows them to manage different configurations and to collaborate with others more efficiently. This is amplified by code sharing platforms such as GitHub or Bitbucket. Most version control systems track files (e.g., Git, Mercurial, and Subversion do), but some programming environments do not operate on files, but on objects instead (many Smalltalk implementations do). Users of such environments want to use version control for their objects anyway. Specialized version control systems, such as the ones available for Smalltalk systems (e.g., ENVY/Developer and Monticello), focus on a small subset of objects that can be versioned. Most of these systems concentrate on the tracking of methods, classes, and configurations of these. Other user-defined and user-built objects are either not eligible for version control at all, tracking them involves complicated workarounds, or a fixed, domain-unspecific serialization format is used that does not equally suit all kinds of objects. Moreover, these version control systems that are specific to a programming environment require their own code sharing platforms; popular, well-established platforms for file-based version control systems cannot be used or adapter solutions need to be implemented and maintained. To improve the situation for version control of arbitrary objects, a framework for tracking, converting, and storing of objects is presented in this report. It allows editions of objects to be stored in an exchangeable, existing backend version control system. The platforms of the backend version control system can thus be reused. Users and objects have control over how objects are captured for the purpose of version control. Domain-specific requirements can be implemented. The storage format (i.e. the file format, when file-based backend version control systems are used) can also vary from one object to another. Different editions of objects can be compared and sets of changes can be applied to graphs of objects. A generic way for capturing and restoring that supports most kinds of objects is described. It models each object as a collection of slots. Thus, users can begin to track their objects without first having to implement version control supplements for their own kinds of objects. The proposed architecture is evaluated using a prototype implementation that can be used to track objects in Squeak/Smalltalk with Git. The prototype improves the suboptimal standing of user objects with respect to version control described above and also simplifies some version control tasks for classes and methods as well. It also raises new problems, which are discussed in this report as well. N2 - Versionsverwaltung ist unter Softwareentwicklern weit verbreitet. Sie verringert das Risiko beim Ändern der Software und erlaubt den Entwicklern verschiedene Konfigurationen zu verwalten und effizienter zusammenzuarbeiten. Dies wird durch Plattformen zum Teilen von Code wie GitHub oder Bitbucket zusätzlich unterstützt. Die meisten Versionsverwaltungssysteme verfolgen Dateien (z.B. Git, Mercurial und Subversion), aber manche Programmierumgebungen arbeiten nicht mit Dateien, sondern mit Objekten (viele Smalltalk-Implementierungen tun dies). Nutzer dieser Umgebungen möchten Versionsverwaltung für ihre Objekte dennoch einsetzen können. Spezialisierte Versionsverwaltungssysteme, wie die für Smalltalk verfügbaren (z.B. ENVY/Developer und Monticello), konzentrieren sich auf Methoden, Klassen und Konfigurationen selbiger. Andere von Benutzern definierte und konstruierte Objekte können damit oftmals gar nicht oder nur über komplizierte Umwege erfasst werden oder es wird ein fest vorgegebenes Format zur Serialisierung verwendet, das nicht für alle Arten von Objekten gleichermaßen geeignet ist. Desweiteren können beliebte, bereits existierende Plattformen für dateibasierte Versionsverwaltung von diesen Systemen nicht verwendet werden oder Adapterlösungen müssen implementiert und gepflegt werden. Um die Situation von Versionsverwaltung für beliebige Objekte zu verbessern, stellt diese Arbeit ein Framework zum Nachverfolgen, Konvertieren und Speichern von Objekten vor. Es erlaubt Editionen von Objekten in einem austauschbaren, bestehenden Backend-Versionsverwaltungssystem zu speichern. Plattformen für dieses System können daher weiterbenutzt werden. Nutzer und Objekte können beeinflussen, wie Objekte zur Versionsverwaltung erfasst werden. Domänenspezifische Anforderungen lassen sich umsetzen. Das Speicherformat (d.h. das Dateiformat, wenn ein dateibasiertes Backend benutzt wird) kann auch von Objekt zu Objekt anders sein. Verschiedene Editionen von Objekten können verglichen und Änderungen auf Objektgraphen übertragen werden. Ein allgemeiner Ansatz zum Erfassen und Wiederherstellen von Objekten wird beschrieben, welcher jedes Objekt als eine Ansammlung von Slots betrachtet. Dadurch können Nutzer sofort anfangen ihre Objekte zu versionieren, ohne dass sie ihre Objekte zunächst zur Versionsverwaltung erweitern müssen. Die vorgeschlagene Architektur wird anhand einer Prototyp-Implementierung evaluiert, die es erlaubt Objekte in Squeak/Smalltalk mit Git zu versionieren. Der Prototyp verbessert den oben beschriebenen benachteiligten Status von Benutzerobjekten im Bezug auf Versionsverwaltung und erleichtert auch manche Versionsverwaltungs-Operationen für Klassen und Methoden. Er fördert auch neue Probleme zutage, die ebenfalls in dieser Arbeit diskutiert werden. Insofern ist diese Arbeit als ein erster Schritt in Richtung vollumfänglicher Versionsverwaltung für beliebige Objekte zu betrachten. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 121 KW - version control KW - object-oriented programming KW - exploratory programming KW - serialization KW - Versionsverwaltung KW - objektorientiertes Programmieren KW - exploratives Programmieren KW - Serialisierung Y1 - 2018 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-410812 SN - 978-3-86956-430-2 SN - 1613-5652 SN - 2191-1665 VL - 121 PB - Universitätsverlag Potsdam CY - Potsdam ER - TY - BOOK A1 - van der Walt, Estee A1 - Odun-Ayo, Isaac A1 - Bastian, Matthias A1 - Eldin Elsaid, Mohamed Esam T1 - Proceedings of the Fifth HPI Cloud Symposium "Operating the Cloud“ 2017 N2 - Every year, the Hasso Plattner Institute (HPI) invites guests from industry and academia to a collaborative scientific workshop on the topic Operating the Cloud. Our goal is to provide a forum for the exchange of knowledge and experience between industry and academia. Co-located with the event is the HPI’s Future SOC Lab day, which offers an additional attractive and conducive environment for scientific and industry related discussions. Operating the Cloud aims to be a platform for productive interactions of innovative ideas, visions, and upcoming technologies in the field of cloud operation and administration. In these proceedings, the results of the fifth HPI cloud symposium Operating the Cloud 2017 are published. We thank the authors for exciting presentations and insights into their current work and research. Moreover, we look forward to more interesting submissions for the upcoming symposium in 2018. N2 - Jedes Jahr lädt das Hasso-Plattner-Institut (HPI) Gäste aus der Industrie und der Wissenschaft zu einem kooperativen und wissenschaftlichen Symposium zum Thema Cloud Computing ein. Unser Ziel ist es, ein Forum für den Austausch von Wissen und Erfahrungen zwischen der Industrie und der Wissenschaft zu bieten. Parallel zur Veranstaltung findet der HPI Future SOC Lab Tag statt, der eine zusätzliche attraktive Umgebung für wissenschaftliche und branchenbezogene Diskussionen bietet. Das Symposium zielt darauf ab, eine Plattform für produktive Interaktionen von innovativen Ideen, Visionen und aufkommenden Technologien im Bereich von Cloud Computing zu bitten. Anlässlich dieses Symposiums fordern wir die Einreichung von Forschungsarbeiten und Erfahrungsberichte. Dieser technische Bericht umfasst eine Zusammenstellung der im Rahmen des fünften HPI Cloud Symposiums "Operating the Cloud" 2017 angenommenen Forschungspapiere. Wir danken den Autoren für spannende Vorträge und Einblicke in ihre aktuelle Arbeit und Forschung. Darüber hinaus freuen wir uns auf weitere interessante Einreichungen für das kommende Symposium im Laufe des Jahres. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 122 KW - Sicherheit KW - verteilte Leistungsüberwachung KW - Identitätsmanagement KW - Leistungsmodelle von virtuellen Maschinen KW - Privatsphäre KW - security KW - distributed performance monitoring KW - identity management KW - performance models of virtual machines KW - privacy Y1 - 2018 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-411330 SN - 978-3-86956-432-6 SN - 1613-5652 SN - 2191-1665 IS - 122 PB - Universitätsverlag Potsdam CY - Potsdam ER - TY - BOOK A1 - Giese, Holger A1 - Maximova, Maria A1 - Sakizloglou, Lucas A1 - Schneider, Sven T1 - Metric temporal graph logic over typed attributed graphs N2 - Various kinds of typed attributed graphs are used to represent states of systems from a broad range of domains. For dynamic systems, established formalisms such as graph transformations provide a formal model for defining state sequences. We consider the extended case where time elapses between states and introduce a logic to reason about these sequences. With this logic we express properties on the structure and attributes of states as well as on the temporal occurrence of states that are related by their inner structure, which no formal logic over graphs accomplishes concisely so far. Firstly, we introduce graphs with history by equipping every graph element with the timestamp of its creation and, if applicable, its deletion. Secondly, we define a logic on graphs by integrating the temporal operator until into the well-established logic of nested graph conditions. Thirdly, we prove that our logic is equally expressive to nested graph conditions by providing a suitable reduction. Finally, the implementation of this reduction allows for the tool-based analysis of metric temporal properties for state sequences. N2 - Verschiedene Arten von getypten attributierten Graphen werden benutzt, um Zustände von Systemen in vielen unterschiedlichen Anwendungsbereichen zu beschreiben. Der etablierte Formalismus der Graphtransformationen bietet ein formales Model, um Zustandssequenzen für dynamische Systeme zu definieren. Wir betrachten den erweiterten Fall von solchen Sequenzen, in dem Zeit zwischen zwei verschiedenen Systemzuständen vergeht, und führen eine Logik ein, um solche Sequenzen zu beschreiben. Mit dieser Logik drücken wir zum einen Eigenschaften über die Struktur und die Attribute von Zuständen aus und beschreiben zum anderen temporale Vorkommen von Zuständen, die durch ihre innere Struktur verbunden sind. Solche Eigenschaften können bisher von keiner der existierenden Logiken auf Graphen vergleichbar darstellt werden. Erstens führen wir Graphen mit Änderungshistorie ein, indem wir jedes Graphelement mit einem Zeitstempel seiner Erzeugung und, wenn nötig, seiner Löschung versehen. Zweitens definieren wir eine Logik auf Graphen, indem wir den Temporaloperator Until in die wohl-etablierte Logik der verschachtelten Graphbedingungen integrieren. Drittens beweisen wir, dass unsere Logik gleich ausdrucksmächtig ist, wie die Logik der verschachtelten Graphbedingungen, indem wir eine passende Reduktionsoperation definieren. Zuletzt erlaubt uns die Implementierung dieser Reduktionsoperation die werkzeukbasierte Analyse von metrisch-temporallogischen Eigenschaften für Zustandssequenzen zu führen. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 123 KW - nested graph conditions KW - sequence properties KW - symbolic graphs KW - typed attributed graphs KW - metric temporal logic KW - temporal logic KW - runtime monitoring KW - verschachtelte Anwendungsbedingungen KW - Sequenzeigenschaften KW - symbolische Graphen KW - getypte Attributierte Graphen KW - metrische Temporallogik KW - Temporallogik KW - Runtime-monitoring Y1 - 2018 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-411351 SN - 978-3-86956-433-3 SN - 1613-5652 SN - 2191-1665 IS - 123 PB - Universitätsverlag Potsdam CY - Potsdam ER - TY - BOOK A1 - Niephaus, Fabio A1 - Felgentreff, Tim A1 - Hirschfeld, Robert T1 - Squimera BT - a live, Smalltalk-based IDE for dynamic programming languages N2 - Programmierwerkzeuge, die verschiedene Programmiersprachen unterstützen und sich konsistent bedienen lassen, sind hilfreich für Softwareentwickler, weil diese sich nicht erst mit neuen Werkzeugen vertraut machen müssen, wenn sie in einer neuen Sprache entwickeln wollen. Außerdem ist es nützlich, verschiedene Programmiersprachen in einer Anwendung kombinieren zu können, da Entwickler dann Softwareframeworks und -bibliotheken nicht in der jeweiligen Sprache nachbauen müssen und stattdessen bestehende Software wiederverwenden können. Dennoch haben Entwickler eine sehr große Auswahl, wenn sie nach Werkzeugen suchen, die teilweise zudem speziell nur für eine Sprache ausgelegt sind. Einige integrierte Entwicklungsumgebungen unterstützen verschiedene Programmiersprachen, können aber häufig keine konsistente Bedienung ihrer Werkzeuge gewährleisten, da die jeweiligen Ausführungsumgebungen der Sprachen zu verschieden sind. Darüber hinaus gibt es bereits Mechansimen, die es erlauben, Programme aus anderen Sprachen in einem Programm wiederzuverwenden. Dazu werden häufig das Betriebssystem oder eine Netzwerkverbindung verwendet. Programmierwerkzeuge unterstützen jedoch häufig eine solche Indirektion nicht und sind deshalb nur eingeschränkt nutzbar bei beispielsweise Debugging Szenarien. In dieser Arbeit stellen wir einen neuartigen Ansatz vor, der das Programmiererlebnis in Bezug auf das Arbeiten mit mehreren dynamischen Programmiersprachen verbessern soll. Dazu verwenden wir die Werkzeuge einer Smalltalk Programmierumgebung wieder und entwickeln eine virtuelle Ausführungsumgebung, die verschiedene Sprachen gleichermaßen unterstützt. Der auf unserem Ansatz basierende Prototyp Squimera demonstriert, dass es möglich ist, Programmierwerkzeuge in der Art wiederzuverwenden, sodass sie sich für verschiedene Programmiersprachen gleich verhalten und somit die Arbeit für Entwickler vereinfachen. Außerdem ermöglicht Squimera einfaches Wiederverwenden und darüber hinaus das Verschmischen von in unterschiedlichen Sprachen geschriebenen Softwarebibliotheken und -frameworks und erlaubt dabei zusätzlich Debugging über mehrere Sprachen hinweg. N2 - Software development tools that work and behave consistently across different programming languages are helpful for developers, because they do not have to familiarize themselves with new tooling whenever they decide to use a new language. Also, being able to combine multiple programming languages in a program increases reusability, as developers do not have to recreate software frameworks and libraries in the language they develop in and can reuse existing software instead. However, developers often have a broad choice with regard to tools, some of which are designed for only one specific programming language. Various Integrated Development Environments have support for multiple languages, but are usually unable to provide a consistent programming experience due to different features of language runtimes. Furthermore, common mechanisms that allow reuse of software written in other languages usually use the operating system or a network connection as the abstract layer. Tools, however, often cannot support such indirections well and are therefore less useful in debugging scenarios for example. In this report, we present a novel approach that aims to improve the programming experience with regard to working with multiple high-level programming languages. As part of this approach, we reuse the tools of a Smalltalk programming environment for other languages and build a multi-language virtual execution environment which is able to provide the same runtime capabilities for all languages. The prototype system Squimera is an implementation of our approach and demonstrates that it is possible to reuse development tools, so that they behave in the same way across all supported programming languages. In addition, it provides convenient means to reuse and even mix software libraries and frameworks written in different languages without breaking the debugging experience. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 120 KW - Programmiererlebnis KW - integrierte Entwicklungsumgebungen KW - mehrsprachige Ausführungsumgebungen KW - Interpreter KW - Debugging KW - Smalltalk KW - Python KW - Ruby KW - programming experience KW - integrated development environments KW - polyglot execution environments KW - interpreters KW - debugging KW - small talk KW - Python KW - Ruby Y1 - 2017 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-403387 SN - 978-3-86956-422-7 IS - 120 PB - Universitätsverlag Potsdam CY - Potsdam ER - TY - BOOK A1 - Dyck, Johannes A1 - Giese, Holger T1 - k-Inductive invariant checking for graph transformation systems N2 - While offering significant expressive power, graph transformation systems often come with rather limited capabilities for automated analysis, particularly if systems with many possible initial graphs and large or infinite state spaces are concerned. One approach that tries to overcome these limitations is inductive invariant checking. However, the verification of inductive invariants often requires extensive knowledge about the system in question and faces the approach-inherent challenges of locality and lack of context. To address that, this report discusses k-inductive invariant checking for graph transformation systems as a generalization of inductive invariants. The additional context acquired by taking multiple (k) steps into account is the key difference to inductive invariant checking and is often enough to establish the desired invariants without requiring the iterative development of additional properties. To analyze possibly infinite systems in a finite fashion, we introduce a symbolic encoding for transformation traces using a restricted form of nested application conditions. As its central contribution, this report then presents a formal approach and algorithm to verify graph constraints as k-inductive invariants. We prove the approach's correctness and demonstrate its applicability by means of several examples evaluated with a prototypical implementation of our algorithm. N2 - Während Graphtransformationssysteme einerseits einen ausdrucksstarken Formalismus bereitstellen, existieren andererseits nur eingeschränkte Möglichkeiten für die automatische Analyse. Dies gilt insbesondere für die Analyse von Systemen mit einer Vielzahl an initialen Graphen oder mit großen oder unendlichen Zustandsräumen. Ein möglicher Ansatz, um diese Einschränkungen zu umgehen, sind induktive Invarianten. Allerdings erfordert die Verifkation induktiver Invarianten oft erweitertes Wissen über das zu verifizierende System; weiterhin muss diese Verifikationstechnik mit den spezifischen Problemen der Lokalität und des Mangels an Kontextwissen umgehen. Dieser Bericht betrachtet k-induktive Invarianten - eine Verallgemeinerung induktiver Invarienten - für Graphtransformationssysteme als einen möglichen Ansatz, um diese Probleme anzugehen. Zusätzliches Kontextwissen, das durch die Analyse mehrerer (k) Schritte gewonnen werden kann, macht den entscheidenden Unterschied zu induktiven Invarianten aus und genügt oft, um die gewünschten Invarianten ohne die iterative Entwicklung zusätzlicher Eigenschaften zu verifizieren. Um unendliche Systeme in endlicher Zeit zu analysieren, führen wir eine symbolische Kodierung von Transformationssequenzen ein, die auf verschachtelten Anwendungsbedingungen basiert. Unser zentraler Beitrag ist dann ein formaler Ansatz und Algorithmus zur Verifikation von Graphbedingungen als k-induktive Invarianten. Wir führen einen formalen Beweis, um die Korrektheit unseres Verfahrens nachzuweisen, und demonstrieren die Anwendbarkeit des Verfahrens an mehreren Beispielen, die mit einer prototypischen Implementierung verifiziert wurden. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 119 KW - formal verification KW - static analysis KW - graph transformation KW - typed graph transformation systems KW - graph constraints KW - nested application conditions KW - k-inductive invariants KW - k-induction KW - k-inductive invariant checking KW - transformation sequences KW - s/t-pattern sequences KW - formale Verifikation KW - statische Analyse KW - Graphtransformationen KW - Graphtransformationssysteme KW - Graphbedingungen KW - verschachtelte Anwednungsbedingungen KW - k-induktive Invarianten KW - k-Induktion KW - k-induktives Invariant-Checking KW - Transformationssequenzen KW - Sequenzen von s/t-Pattern Y1 - 2017 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-397044 SN - 978-3-86956-406-7 SN - 1613-5652 SN - 2191-1665 IS - 119 PB - Universitätsverlag Potsdam CY - Potsdam ER - TY - BOOK A1 - Maximova, Maria A1 - Giese, Holger A1 - Krause, Christian T1 - Probabilistic timed graph transformation systems T1 - Probabilistische zeitbehaftete Graphtransformationssysteme N2 - Today, software has become an intrinsic part of complex distributed embedded real-time systems. The next generation of embedded real-time systems will interconnect the today unconnected systems via complex software parts and the service-oriented paradigm. Therefore besides timed behavior and probabilistic behaviour also structure dynamics, where the architecture can be subject to changes at run-time, e.g. when dynamic binding of service end-points is employed or complex collaborations are established dynamically, is required. However, a modeling and analysis approach that combines all these necessary aspects does not exist so far. To fill the identified gap, we propose Probabilistic Timed Graph Transformation Systems (PTGTSs) as a high-level description language that supports all the necessary aspects of structure dynamics, timed behavior, and probabilistic behavior. We introduce the formal model of PTGTSs in this paper and present a mapping of models with finite state spaces to probabilistic timed automata (PTA) that allows to use the PRISM model checker to analyze PTGTS models with respect to PTCTL properties. N2 - Software gehört heutzutage zu einem wesentlichen Bestandteil von komplexen eingebetteten Echtzeitsystemen. Die nächste Generation von eingebetteten Echtzeitsystemen wird in der Zukunft die bisher nicht verbundenen Systeme durch komplexe Softwarelösungen unter der Verwendung des serviceorientierten Paradigmas verbinden. Deswegen wird neben der Beschreibung des zeitbehafteten und probabilistischen Verhaltens auch die Betrachtung der Strukturdynamik benötigt, um die Modellierung der Architekturänderungen während der Laufzeit zu ermöglichen, wie z. B. die dynamische Anbindung von den Endpunkten der Services oder die dynamische Erstellung der komplexen Kollaborationen. Allerdings gibt es noch keinen Ansatz für die Modellierung und Analyse, der all diese drei notwendigen Aspekte kombiniert. Um die identifizierte Lücke zu schließen, führen wir probabilistische zeitbehaftete Graphtransformationssysteme (kurz PTGTS) ein, die als abstrakte Beschreibungssprache dienen und die notwendigen Aspekte der Strukturdynamik, des zeitbehafteten Verhaltens und des probabilistischen Verhaltens unterstützen. Außerdem stellen wir den Formalismus der probabilistischen zeitbehafteten Graphtransformationssysteme vor und definieren eine Abbildung zwischen den Modellen mit endlichen Zustandsräumen und probabilistischen zeitbehafteten Automaten, die die Nutzung des PRISM Modell-Checkers für die Analyse der PTGTS Modelle in Bezug auf PTCTL Eigenschaften ermöglichen. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 118 KW - graph transformations KW - probabilistic timed automata KW - PTCTL KW - PRISM model checker KW - HENSHIN KW - Graphtransformationen KW - probabilistische zeitbehaftete Automaten KW - PTCTL KW - PRISM Modell-Checker KW - HENSHIN Y1 - 2017 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-397055 SN - 978-3-86956-405-0 SN - 1613-5652 SN - 2191-1665 IS - 118 PB - Universitätsverlag Potsdam CY - Potsdam ER - TY - BOOK A1 - Schwarzer, Ingo A1 - Weiß-Saoumi, Said A1 - Kittel, Roland A1 - Friedrich, Tobias A1 - Kaynak, Koraltan A1 - Durak, Cemil A1 - Isbarn, Andreas A1 - Diestel, Jörg A1 - Knittel, Jens A1 - Franz, Marquart A1 - Morra, Carlos A1 - Stahnke, Susanne A1 - Braband, Jens A1 - Dittmann, Johannes A1 - Griebel, Stephan A1 - Krampf, Andreas A1 - Link, Martin A1 - Müller, Matthias A1 - Radestock, Jens A1 - Strub, Leo A1 - Bleeke, Kai A1 - Jehl, Leander A1 - Kapitza, Rüdiger A1 - Messadi, Ines A1 - Schmidt, Stefan A1 - Schwarz-Rüsch, Signe A1 - Pirl, Lukas A1 - Schmid, Robert A1 - Friedenberger, Dirk A1 - Beilharz, Jossekin Jakob A1 - Boockmeyer, Arne A1 - Polze, Andreas A1 - Röhrig, Ralf A1 - Schäbe, Hendrik A1 - Thiermann, Ricky T1 - RailChain BT - Abschlussbericht N2 - The RailChain project designed, implemented, and experimentally evaluated a juridical recorder that is based on a distributed consensus protocol. That juridical blockchain recorder has been realized as distributed ledger on board the advanced TrainLab (ICE-TD 605 017) of Deutsche Bahn. For the project, a consortium consisting of DB Systel, Siemens, Siemens Mobility, the Hasso Plattner Institute for Digital Engineering, Technische Universität Braunschweig, TÜV Rheinland InterTraffic, and Spherity has been formed. These partners not only concentrated competencies in railway operation, computer science, regulation, and approval, but also combined experiences from industry, research from academia, and enthusiasm from startups. Distributed ledger technologies (DLTs) define distributed databases and express a digital protocol for transactions between business partners without the need for a trusted intermediary. The implementation of a blockchain with real-time requirements for the local network of a railway system (e.g., interlocking or train) allows to log data in the distributed system verifiably in real-time. For this, railway-specific assumptions can be leveraged to make modifications to standard blockchains protocols. EULYNX and OCORA (Open CCS On-board Reference Architecture) are parts of a future European reference architecture for control command and signalling (CCS, Reference CCS Architecture – RCA). Both architectural concepts outline heterogeneous IT systems with components from multiple manufacturers. Such systems introduce novel challenges for the approved and safety-relevant CCS of railways which were considered neither for road-side nor for on-board systems so far. Logging implementations, such as the common juridical recorder on vehicles, can no longer be realized as a central component of a single manufacturer. All centralized approaches are in question. The research project RailChain is funded by the mFUND program and gives practical evidence that distributed consensus protocols are a proper means to immutably (for legal purposes) store state information of many system components from multiple manufacturers. The results of RailChain have been published, prototypically implemented, and experimentally evaluated in large-scale field tests on the advanced TrainLab. At the same time, the project showed how RailChain can be integrated into the road-side and on-board architecture given by OCORA and EULYNX. Logged data can now be analysed sooner and also their trustworthiness is being increased. This enables, e.g., auditable predictive maintenance, because it is ensured that data is authentic and unmodified at any point in time. N2 - Das Projekt RailChain hat einen verteilten Juridical Recorder entworfen, implementiert und experimentell evaluiert, der auf einem echtzeitfähigen verteilten Konsensprotokoll basiert. Dieser Juridical Blockchain Recorder wurde als distributed ledger an Bord des advanced TrainLabs der Deutschen Bahn (ICE-TD 605 017) umgesetzt. Für das Projekt hat sich ein Konsortium aus DB Systel, Siemens, Siemens Mobility, dem Hasso-Plattner-Institut für Digital Engineering, der Technischen Universität Braunschweig, sowie TÜV Rheinland InterTraffic und Spherity formiert und dabei Kompetenzen aus den Bereichen Bahnbetrieb, Informatik und Zulassungswesen gebündelt. Die Partner kombinieren Erfahrungen aus der Industrie und die akademische Forschung mit der Aufbruchstimmung aus dem Start-Up-Umfeld. Distributed-Ledger-Technologien (DLTs) definieren verteilte Datenbanken und stellen ein digitales Protokoll für Transaktionen zwischen Geschäftspartnern dar, ohne dass ein Mittelsmann beteiligt sein müsste. Die Implementierung einer Blockchain mit Echtzeitanforderungen für das lokale Netzwerk einer Eisenbahnanlage (z. B. Stellwerk oder Zug) erlaubt es, die im verteilten System entstehenden Daten nachweislich in Echtzeit zu protokollieren. Dabei können eisenbahnspezifische Randbedingungen ausgenutzt werden, um Standard-Blockchain-Protokolle anzupassen. EULYNX und OCORA (Open CCS On-board Reference Architecture) sind Bestandteile einer zukünftigen europäischen Referenzarchitektur für das Leit- und Sicherungssystem (Reference CCS Architecture – RCA, Control Command and Signalling – CCS). Beide Architekturkonzepte skizzieren herstellerübergreifende, komponentenbasierende heterogene IT-Systeme. Solche Systeme bergen neue Herausforderungen, die bislang im Kontext der zugelassenen, sicherheitsrelevanten Leit- und Sicherungstechnik der Bahn weder strecken- noch fahrzeugseitig adressiert werden mussten. Logbuch-Implementierungen, wie der gängige Juridical Recorder auf Fahrzeugen, können nun nicht mehr als zentrale Systemkomponente eines einzelnen Herstellers umgesetzt werden. Alle zentralisierten Lösungsansätze sind in Frage gestellt. Das mFUND-geförderte Forschungsprojekt erbringt den praktischen Nachweis, dass Zustandsinformationen über eine Vielzahl von Systemkomponenten herstellerübergreifend und gerichtsfest mittels verteilten Konsensprotokollen gespeichert werden können. Ergebnisse von RailChain wurden publiziert, prototypisch implementiert und in großen Feldtests auf dem advanced TrainLab experimentell evaluiert. Gleichzeitig wurde aufgezeigt, wie sich RailChain in den mit OCORA und EULYNX vorgegebenen fahrzeug- und streckenseitigen Architekturentwurf integrieren lässt. Daten können dadurch zeitnaher ausgewertet werden und gleichzeitig wird ihre Vertrauenswürdigkeit erhöht. Dies ermöglicht u. a. nachvollziehbare zustandsorientierte Wartung, denn es kann jederzeit sichergestellt werden, dass die Daten authentisch sind und auch nicht verändert wurden. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 152 KW - Distributed-Ledger-Technologie (DLT) KW - juridical recording KW - Konsensprotokolle KW - consensus protocols KW - Digitalisierung KW - digitalization KW - Bahnwesen KW - railways KW - Blockchain KW - asset management KW - selbstbestimmte Identitäten KW - self-sovereign identity KW - dezentrale Identitäten KW - decentral identities KW - überprüfbare Nachweise KW - verifiable credentials KW - Echtzeit KW - real-time KW - Standardisierung KW - standardization KW - Verlässlichkeit KW - dependability KW - Fehlertoleranz KW - fault tolerance Y1 - 2023 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-577409 SN - 978-3-86956-550-7 SN - 1613-5652 SN - 2191-1665 IS - 152 PB - Universitätsverlag Potsdam CY - Potsdam ER - TY - BOOK A1 - Freund, Rieke A1 - Rätsch, Jan Philip A1 - Hradilak, Franziska A1 - Vidic, Benedikt A1 - Heß, Oliver A1 - Lißner, Nils A1 - Wölert, Hendrik A1 - Lincke, Jens A1 - Beckmann, Tom A1 - Hirschfeld, Robert T1 - Implementing a crowd-sourced picture archive for Bad Harzburg N2 - Pictures are a medium that helps make the past tangible and preserve memories. Without context, they are not able to do so. Pictures are brought to life by their associated stories. However, the older pictures become, the fewer contemporary witnesses can tell these stories. Especially for large, analog picture archives, knowledge and memories are spread over many people. This creates several challenges: First, the pictures must be digitized to save them from decaying and make them available to the public. Since a simple listing of all the pictures is confusing, the pictures should be structured accessibly. Second, known information that makes the stories vivid needs to be added to the pictures. Users should get the opportunity to contribute their knowledge and memories. To make this usable for all interested parties, even for older, less technophile generations, the interface should be intuitive and error-tolerant. The resulting requirements are not covered in their entirety by any existing software solution without losing the intuitive interface or the scalability of the system. Therefore, we have developed our digital picture archive within the scope of a bachelor project in cooperation with the Bad Harzburg-Stiftung. For the implementation of this web application, we use the UI framework React in the frontend, which communicates via a GraphQL interface with the Content Management System Strapi in the backend. The use of this system enables our project partner to create an efficient process from scanning analog pictures to presenting them to visitors in an organized and annotated way. To customize the solution for both picture delivery and information contribution for our target group, we designed prototypes and evaluated them with people from Bad Harzburg. This helped us gain valuable insights into our system’s usability and future challenges as well as requirements. Our web application is already being used daily by our project partner. During the project, we still came up with numerous ideas for additional features to further support the exchange of knowledge. N2 - Bilder können dabei helfen, die Vergangenheit greifbar zu machen und Erinnerungen zu bewahren, doch alleinstehende Bilder ohne Kontext erreichen das nur schwer. Der große Wert besteht in den Geschichten, die mit den Bildern verbunden sind. Je älter die Bilder jedoch werden, desto weniger Zeitzeugen können von diesen Geschichten berichten. Besonders für große analoge Bildarchive, bei denen sich das Wissen und die Erinnerungen auf viele Personen verteilen, entstehen dadurch verschiedene Herausforderungen: Zunächst müssen die Bilder digitalisiert werden, um sie vor dem Zerfall zu schützen und um sie der Öffentlichkeit zugänglich machen zu können. Da eine einfache Aufreihung aller Bilder unübersichtlich ist, sollten die Bilder in eine zugängliche Struktur gebracht werden. Des Weiteren müssen zu den Bildern bekannte Informationen, aus denen ihre Geschichten erfahrbar werden, hinzugefügt werden. Nutzende sollen die Möglichkeit haben, eigenes Wissen und Erinnerungen beizutragen. Um dies für alle Interessierten, auch für ältere, evtl. wenig technikaffine Personen, nutzbar zu machen, sollte die Oberfläche eine intuitive und fehlertolerante Nutzung ermöglichen. Die sich daraus ergebenden Anforderungen werden von keiner existierenden Softwarelösung im Gesamten abgedeckt, ohne die intuitive Oberfläche oder die Skalierbarkeit des Systems zu verlieren. Daher haben wir im Rahmen eines Bachelorprojekts in Zusammenarbeit mit der Bad Harzburg-Stiftung ein eigenes digitales Bildarchiv entwickelt. Für die Umsetzung dieser Webapplikation nutzen wir das UI-Framework React im Frontend, welches über eine GraphQL-Schnittstelle mit dem Content Management System Strapi im Backend kommuniziert. Die Nutzung dieses Systems ermöglicht unserem Projektpartner einen effizienten Prozess vom Scannen der analogen Bilder bis zum geordneten und annotierten Darstellen für Besuchende. Um die Lösung sowohl für das Bereitstellen der Bilder als auch für das Beitragen von Informationen auf unsere Zielgruppe zuzuschneiden, haben wir Prototypen entworfen und mit Menschen aus Bad Harzburg getestet, um ihre Eindrücke auszuwerten. Mit diesen konnten wir wertvolle Erkenntnisse über die Nutzbarkeit und noch offene Herausforderungen und Anforderungen gewinnen. Unsere Webanwendung ist bei unserem Projektpartner bereits im täglichen Einsatz. Trotzdem haben wir während des Projekts noch zahlreiche Ideen für zusätzliche Funktionen erarbeitet, um den Wissensaustausch weiter zu fördern. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 149 KW - digital picture archive KW - analog-to-digital conversion KW - user-generated content KW - intuitive interfaces KW - digitales Bildarchiv KW - Analog-zu-Digital-Konvertierung KW - benutzergenerierte Inhalte KW - intuitive Benutzeroberflächen Y1 - 2022 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-560291 SN - 978-3-86956-545-3 SN - 1613-5652 SN - 2191-1665 IS - 149 PB - Universitätsverlag Potsdam CY - Potsdam ER - TY - BOOK A1 - Schneider, Sven A1 - Maximova, Maria A1 - Giese, Holger T1 - Invariant Analysis for Multi-Agent Graph Transformation Systems using k-Induction N2 - The analysis of behavioral models such as Graph Transformation Systems (GTSs) is of central importance in model-driven engineering. However, GTSs often result in intractably large or even infinite state spaces and may be equipped with multiple or even infinitely many start graphs. To mitigate these problems, static analysis techniques based on finite symbolic representations of sets of states or paths thereof have been devised. We focus on the technique of k-induction for establishing invariants specified using graph conditions. To this end, k-induction generates symbolic paths backwards from a symbolic state representing a violation of a candidate invariant to gather information on how that violation could have been reached possibly obtaining contradictions to assumed invariants. However, GTSs where multiple agents regularly perform actions independently from each other cannot be analyzed using this technique as of now as the independence among backward steps may prevent the gathering of relevant knowledge altogether. In this paper, we extend k-induction to GTSs with multiple agents thereby supporting a wide range of additional GTSs. As a running example, we consider an unbounded number of shuttles driving on a large-scale track topology, which adjust their velocity to speed limits to avoid derailing. As central contribution, we develop pruning techniques based on causality and independence among backward steps and verify that k-induction remains sound under this adaptation as well as terminates in cases where it did not terminate before. N2 - Die Analyse von Verhaltensmodellen wie Graphtransformationssystemen (GTSs) ist von zentraler Bedeutung im Model Driven Engineering. GTSs führen jedoch häufig zu unhanhabbar großen oder sogar unendlichen Zustandsräumen und können mit mehreren oder sogar unendlich vielen Startgraphen ausgestattet sein. Um diese Probleme abzumildern, wurden statische Analysetechniken entwickelt, die auf endlichen symbolischen Darstellungen von Mengen von Zuständen oder Pfaden basieren. Wir konzentrieren uns auf die Technik der k-Induktion zur Ermittlung von Invarianten, die unter Verwendung von Graphbedingungen spezifiziert sind. Zum Zweck der Analyse erzeugt die k-Induktion symbolische Rückwärtspfade von einem symbolischen Zustand, der eine Verletzung einer Kandidateninvariante darstellt, um Informationen darüber zu sammeln, wie diese Verletzung erreicht werden konnte, wodurch möglicherweise Widersprüche zu angenommenen Invarianten gefunden werden. GTSs, bei denen mehrere Agenten regelmäßig unabhängig voneinander Aktionen ausführen, können derzeit jedoch nicht mit dieser Technik analysiert werden, da die Unabhängigkeit zwischen Rückwärtsschritten das Sammeln von relevantem Wissen möglicherweise verhindert. In diesem Artikel erweitern wir die k-Induktion auf GTSs mit mehreren Agenten und unterstützen dadurch eine breite Palette zusätzlicher GTSs. Als laufendes Beispiel betrachten wir eine unbegrenzte Anzahl von Shuttles, die auf einer großen Tracktopologie fahren und die ihre Geschwindigkeit an Geschwindigkeitsbegrenzungen anpassen, um ein Entgleisen zu vermeiden. Als zentralen Beitrag entwickeln wir Beschneidungstechniken basierend auf Kausalität und Unabhängigkeit zwischen Rückwärtsschritten und verifizieren, dass die k-Induktion unter dieser Anpassung korrekt bleibt und in Fällen terminiert, in denen sie zuvor nicht terminierte. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 143 KW - k-inductive invariant checking KW - causality KW - parallel and sequential independence KW - symbolic analysis KW - bounded backward model checking KW - k-induktive Invariantenprüfung KW - Kausalität KW - parallele und Sequentielle Unabhängigkeit KW - symbolische Analyse KW - Bounded Backward Model Checking Y1 - 2022 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-545851 SN - 978-3-86956-531-6 SN - 1613-5652 SN - 2191-1665 IS - 143 PB - Universitätsverlag Potsdam CY - Potsdam ER -