-
Diagram Control and Model Order for Sugiyama Layouts
Authors:
Sören Domrös,
Reinhard von Hanxleden
Abstract:
Graphical WYSIWYG editors programming languages are popular since they allow to control the diagram layout to express intention via secondary notation such as proximity and topology. However, such editors typically require users to do manual layout. Conversely, automatic layout of diagrams typically fails to capture intention because graphs are usually considered to not contain any order. Model or…
▽ More
Graphical WYSIWYG editors programming languages are popular since they allow to control the diagram layout to express intention via secondary notation such as proximity and topology. However, such editors typically require users to do manual layout. Conversely, automatic layout of diagrams typically fails to capture intention because graphs are usually considered to not contain any order. Model order can combine the desire for control of secondary notation with automatic layout, without additional overhead, since the textual model already employs secondary notation. We illustrate how model order can exert control on the example of programming languages SCCharts and Lingua Franca. We also propose a first guidebook how such model order configurations can be extracted for other programming languages with a graphical notation.
△ Less
Submitted 17 June, 2024;
originally announced June 2024.
-
From STPA to Safe Behavior Models
Authors:
Jette Petzold,
Reinhard von Hanxleden
Abstract:
Model checking is a proven approach for checking whether the behavior model of a safety-critical system fulfills safety properties that are stated as LTL formulas.We propose rules for generating such LTL formulas automatically based on the result of the risk analysis technique System-Theoretic Process Analysis (STPA). Additionally, we propose a synthesis of a Safe Behavior Model from these generat…
▽ More
Model checking is a proven approach for checking whether the behavior model of a safety-critical system fulfills safety properties that are stated as LTL formulas.We propose rules for generating such LTL formulas automatically based on the result of the risk analysis technique System-Theoretic Process Analysis (STPA). Additionally, we propose a synthesis of a Safe Behavior Model from these generated LTL formulas. To also cover liveness properties in the model, we extend STPA with Desired Control Actions. We demonstrate our approach on an example system using SCCharts for the behavior model. The resulting model is not necessarily complete but provides a good foundation that already covers safety and liveness properties.
△ Less
Submitted 5 April, 2024;
originally announced April 2024.
-
SPViz: A DSL-Driven Approach for Software Project Visualization Tooling
Authors:
Niklas Rentz,
Reinhard von Hanxleden
Abstract:
For most service architectures, such as OSGi and Spring, architecture-specific tools allow software developers and architects to visualize otherwise obscure configurations hidden in the project files. Such visualization tools are often used for documentation purposes and help to better understand programs than with source code alone. However, such tools often do not address project-specific peculi…
▽ More
For most service architectures, such as OSGi and Spring, architecture-specific tools allow software developers and architects to visualize otherwise obscure configurations hidden in the project files. Such visualization tools are often used for documentation purposes and help to better understand programs than with source code alone. However, such tools often do not address project-specific peculiarities or do not exist at all for less common architectures, requiring developers to use different visualization and analysis tools within the same architecture. Furthermore, many generic modeling tools and architecture visualization tools require their users to create and maintain models manually.
We here propose a DSL-driven approach that allows software architects to define and adapt their own project visualization tool. The approach, which we refer to as Software Project Visualization (SPViz), uses two DSLs, one to describe architectural elements and their relationships, and one to describe how these should be visualized. We demonstrate how SPViz can then automatically synthesize a customized, project-specific visualization tool that can adapt to changes in the underlying project automatically.
We implemented our approach in an open-source library, also termed SPViz and discuss and analyze four different tools that follow this concept, including open-source projects and projects from an industrial partner in the railway domain.
△ Less
Submitted 30 January, 2024;
originally announced January 2024.
-
Behavior Trees with Dataflow: Coordinating Reactive Tasks in Lingua Franca
Authors:
Alexander Schulz-Rosengarten,
Akash Ahmad,
Malte Clement,
Reinhard von Hanxleden,
Benjamin Asch,
Marten Lohstroh,
Edward A. Lee,
Gustavo Quiros Araya,
Ankit Shukla
Abstract:
Behavior Trees (BTs) provide a lean set of control flow elements that are easily composable in a modular tree structure. They are well established for modeling the high-level behavior of non-player characters in computer games and recently gained popularity in other areas such as industrial automation. While BTs nicely express control, data handling aspects so far must be provided separately, e. g…
▽ More
Behavior Trees (BTs) provide a lean set of control flow elements that are easily composable in a modular tree structure. They are well established for modeling the high-level behavior of non-player characters in computer games and recently gained popularity in other areas such as industrial automation. While BTs nicely express control, data handling aspects so far must be provided separately, e. g. in the form of blackboards. This may hamper reusability and can be a source of nondeterminism. We here present a dataflow extension to BTs that explicitly models data relations and communication. We provide a combined textual/graphical approach in line with modern, productivity-enhancing pragmatics-aware modeling techniques. We realized and validated that approach in the recently introduced polyglot coordination language Lingua Franca (LF).
△ Less
Submitted 17 January, 2024;
originally announced January 2024.
-
Top-Down Drawings of Compound Graphs
Authors:
Maximilian Kasperowski,
Reinhard von Hanxleden
Abstract:
Bottom-up layout algorithms for compound graphs are suitable for presenting the microscale view of models and are often used in model-driven engineering. However, they have difficulties at the macroscale where maintaining the overview of large models becomes challenging. We propose top-down layout, which utilizes scale to hide low-level details at high zoom levels. The entire high-level view can f…
▽ More
Bottom-up layout algorithms for compound graphs are suitable for presenting the microscale view of models and are often used in model-driven engineering. However, they have difficulties at the macroscale where maintaining the overview of large models becomes challenging. We propose top-down layout, which utilizes scale to hide low-level details at high zoom levels. The entire high-level view can fit into the viewport and remain readable, while the ability to zoom in to see the details is still maintained. Top-down layout is an abstract high-level layout process that can be used in conjunction with classic layout algorithms to produce visually compelling and readable diagrams of large compound graphs.
△ Less
Submitted 12 December, 2023;
originally announced December 2023.
-
The Eclipse Layout Kernel
Authors:
Sören Domrös,
Reinhard von Hanxleden,
Miro Spönemann,
Ulf Rüegg,
Christoph Daniel Schulze
Abstract:
The Eclipse Layout Kernel (ELK) is a collection of graph drawing algorithms that supports compound graph layout and ports as explicit anchor points of edges. It is available as open-source library under an EPL license. Since its beginning, ELK has served both as a research vehicle for graph drawing algorithms, and as a practical tool for solving real-world problems. ELK and its transpiled JavaScri…
▽ More
The Eclipse Layout Kernel (ELK) is a collection of graph drawing algorithms that supports compound graph layout and ports as explicit anchor points of edges. It is available as open-source library under an EPL license. Since its beginning, ELK has served both as a research vehicle for graph drawing algorithms, and as a practical tool for solving real-world problems. ELK and its transpiled JavaScript cousin elkjs are now included in numerous academic and commercial projects.
Most of the algorithms realized in ELK are described in a series of publications. In this paper, the technical description concentrates on the key features of the flag-ship algorithm ELK Layered, the algorithm architecture, and usage. However, the main purpose of this paper is to give the broader view that is typically left unpublished. Specifically, we review its history, give a brief overview of technical papers, discuss lessons learned over the past fifteen years, and present example usages. Finally, we reflect on potential threats to open-source graph drawing libraries.
△ Less
Submitted 1 November, 2023;
originally announced November 2023.
-
Modal Reactors
Authors:
Alexander Schulz-Rosengarten,
Reinhard von Hanxleden,
Marten Lohstroh,
Soroush Bateni,
Edward A. Lee
Abstract:
Complex software systems often feature distinct modes of operation, each designed to handle a particular scenario that may require the system to respond in a certain way. Breaking down system behavior into mutually exclusive modes and discrete transitions between modes is a commonly used strategy to reduce implementation complexity and promote code readability. However, such capabilities often com…
▽ More
Complex software systems often feature distinct modes of operation, each designed to handle a particular scenario that may require the system to respond in a certain way. Breaking down system behavior into mutually exclusive modes and discrete transitions between modes is a commonly used strategy to reduce implementation complexity and promote code readability. However, such capabilities often come in the form of self-contained domain specific languages or language-specific frameworks. The work in this paper aims to bring the advantages of modal models to mainstream programming languages, by following the polyglot coordination approach of Lingua Franca (LF), in which verbatim target code (e.g., C, C++, Python, Typescript, or Rust) is encapsulated in composable reactive components called reactors. Reactors can form a dataflow network, are triggered by timed as well as sporadic events, execute concurrently, and can be distributed across nodes on a network.
With modal models in LF, we introduce a lean extension to the concept of reactors that enables the coordination of reactive tasks based on modes of operation. The implementation of modal reactors outlined in this paper generalizes to any LF-supported language with only modest modifications to the generic runtime system.
△ Less
Submitted 23 January, 2023;
originally announced January 2023.
-
Proceedings of the 30th International Symposium on Graph Drawing and Network Visualization (GD 2022)
Authors:
Patrizio Angelini,
Reinhard von Hanxleden
Abstract:
This is the arXiv index for the electronic proceedings of GD 2022, which is held at the Tokyo Institute of Technology, Tokyo, Japan, on September 13 - 16, 2022. It contains the peer-reviewed and revised accepted papers with an optional appendix. Proceedings (without appendices) are also to be published by Springer in the Lecture Notes in Computer Science series.
This is the arXiv index for the electronic proceedings of GD 2022, which is held at the Tokyo Institute of Technology, Tokyo, Japan, on September 13 - 16, 2022. It contains the peer-reviewed and revised accepted papers with an optional appendix. Proceedings (without appendices) are also to be published by Springer in the Lecture Notes in Computer Science series.
△ Less
Submitted 9 September, 2022;
originally announced September 2022.
-
Runtime enforcement of reactive systems using synchronous enforcers
Authors:
Srinivas Pinisetty,
Partha S Roop,
Steven Smyth,
Stavros Tripakis,
Reinhard von Hanxleden
Abstract:
Synchronous programming is a paradigm of choice for the design of safety-critical reactive systems. Runtime enforcement is a technique to ensure that the output of a black-box system satisfies some desired properties. This paper deals with the problem of runtime enforcement in the context of synchronous programs. We propose a framework where an enforcer monitors both the inputs and the outputs of…
▽ More
Synchronous programming is a paradigm of choice for the design of safety-critical reactive systems. Runtime enforcement is a technique to ensure that the output of a black-box system satisfies some desired properties. This paper deals with the problem of runtime enforcement in the context of synchronous programs. We propose a framework where an enforcer monitors both the inputs and the outputs of a synchronous program and (minimally) edits erroneous inputs/outputs in order to guarantee that a given property holds. We define enforceability conditions, develop an online enforcement algorithm, and prove its correctness. We also report on an implementation of the algorithm on top of the KIELER framework for the SCCharts synchronous language. Experimental results show that enforcement has minimal execution time overhead, which decreases proportionally with larger benchmarks.
△ Less
Submitted 15 December, 2016;
originally announced December 2016.
-
Compact Layered Drawings of General Directed Graphs
Authors:
Adalat Jabrayilov,
Sven Mallach,
Petra Mutzel,
Ulf Rüegg,
Reinhard von Hanxleden
Abstract:
We consider the problem of layering general directed graphs under height and possibly also width constraints. Given a directed graph G = (V,A) and a maximal height, we propose a layering approach that minimizes a weighted sum of the number of reversed arcs, the arc lengths, and the width of the drawing. We call this the Compact Generalized Layering Problem (CGLP). Here, the width of a drawing is d…
▽ More
We consider the problem of layering general directed graphs under height and possibly also width constraints. Given a directed graph G = (V,A) and a maximal height, we propose a layering approach that minimizes a weighted sum of the number of reversed arcs, the arc lengths, and the width of the drawing. We call this the Compact Generalized Layering Problem (CGLP). Here, the width of a drawing is defined as the maximum sum of the number of vertices placed on a layer and the number of dummy vertices caused by arcs traversing the layer. The CGLP is NP-hard. We present two MIP models for this problem. The first one (EXT) is our extension of a natural formulation for directed acyclic graphs as suggested by Healy and Nikolov. The second one (CGL) is a new formulation based on partial orderings. Our computational experiments on two benchmark sets show that the CGL formulation can be solved much faster than EXT using standard commercial MIP solvers. Moreover, we suggest a variant of CGL, called MML, that can be seen as a heuristic approach. In our experiments, MML clearly improves on CGL in terms of running time while it does not considerably increase the average arc lengths and widths of the layouts although it solves a slightly different problem where the dummy vertices are not taken into account.
△ Less
Submitted 29 August, 2016;
originally announced September 2016.
-
A Generalization of the Directed Graph Layering Problem
Authors:
Ulf Rüegg,
Thorsten Ehlers,
Miro Spönemann,
Reinhard von Hanxleden
Abstract:
The Directed Layering Problem (DLP) solves a step of the widely used layer-based approach to automatically draw directed acyclic graphs. To cater for cyclic graphs, usually a preprocessing step is used that solves the Feedback Arc Set Problem (FASP) to make the graph acyclic before a layering is determined. Here we present the Generalized Layering Problem (GLP), which solves the combination of DLP…
▽ More
The Directed Layering Problem (DLP) solves a step of the widely used layer-based approach to automatically draw directed acyclic graphs. To cater for cyclic graphs, usually a preprocessing step is used that solves the Feedback Arc Set Problem (FASP) to make the graph acyclic before a layering is determined. Here we present the Generalized Layering Problem (GLP), which solves the combination of DLP and FASP simultaneously, allowing general graphs as input. We present an integer programming model and a heuristic to solve the NP-complete GLP and perform thorough evaluations on different sets of graphs and with different implementations for the steps of the layer-based approach. We observe that GLP reduces the number of dummy nodes significantly, can produce more compact drawings, and improves on graphs where DLP yields poor aspect ratios.
△ Less
Submitted 28 August, 2016;
originally announced August 2016.