title: Towards a Visual Design and Development Environment for the Peer Model
Creators: name: Schwayer, Matthias
Publisher: name: TU Wien
Year: 2020
Subjects: subject: Visuelle Prozessmodellierung
subject: Space-based Computing
subject: Koordination
subject: Nebenläufigkeit
subject: Visual Process Modeling
subject: Space-based Computing
subject: Coordination
subject: Concurrency

description: Immer mehr Geräte des täglichen Lebens können automatisiert, ferngesteuert und mit Diensten oder anderen Geräten verbunden werden. Der Informationsaustausch zwischen ihnen muss koordiniert und der Prozess, an dem sie beteiligt sind, muss orchestriert werden. Das Peer Model ist ein Ansatz zur Modellierung der Koordination nebenläufiger Systeme, der auf den Prinzipien des Aktormodells, der Petri-Netze und der Tupelräume basiert und von der Forschungsgruppe für Space Based Computing der TU Wien entwickelt wurde. Um das Peer Model wurde eine Toolchain aufgebaut, die eine domänenspezifische Sprache, mehrere Implementierungen, sowohl für unternehmensweite als auch eingebettete Anwendungen, und eine grafische Notation umfasst. Bisher war die einzige Möglichkeit, grafische Modelle für das Peer Model zu entwerfen, die Verwendung generischer Zeichenwerkzeuge oder Handzeichnungen. Die zentrale Forschungsfrage dieser Arbeit ist, wie die Software-Architektur einer visuellen Entwicklungsumgebung für das Peer Model, das sich in aktiver Entwicklung befindet und sich somit ständig weiterentwickelt, so gestaltet werden kann um mit möglichst geringem Aufwand neue Funktionen zu unterstützen. Diese Arbeit steuert daher den ersten grafischen Modellierer bei, der speziell für das Peer Model entworfen wurde, mit dem Ziel einer besseren Benutzerunterstützung und einer breiteren Akzeptanz des Modells. Um dies zu erreichen, sind die Arbeitsabläufe der Benutzeroberfläche so einfach, intuitiv und benutzerfreundlich wie möglich gestaltet. Der Modellierer ist in C++ implementiert und verwendet die Qt-Bibliothek als Grundlage für die grafische Benutzeroberfläche. Da das Peer Model aktiv entwickelt wird, basiert der Modellierer auf einer erweiterbaren Architektur und einer wartbaren Codebasis. Darüber hinaus speichert der Modellierer nicht nur die Diagramme, sondern pflegt zusätzlich ein zugrunde liegendes semantisches Modell, welches das mit Hilfe des Peer Models entwickelte Modell repräsentiert. Dieses zugrundeliegende Modell ist auch die Grundlage für Funktionen wie Plausibilitätsprüfungen und Codegenerierung, die beide über ein Plugin-System implementiert werden. Die Implementierung des Modellierers basiert auf der Evaluierung mehrerer bestehender grafischer Modellierer für andere Kommunikations- und Koordinationsmodelle. Eine erste Benutzerstudie wurde durchgeführt, um die Benutzerfreundlichkeit der Anwendung zu evaluieren.
description: An ever-growing number of everyday devices come with the ability to be automated, remote-controlled, and connected to services or other devices. The information exchange between them needs to be coordinated and the process they are involved in needs to be orchestrated. The Peer Model, developed by the Space Based Computing Research Group of TU Wien, is an approach of modeling coordination of concurrent systems based on principles of Actor Model, Petri Nets and Tuple Spaces. A toolchain has been built around it, comprising a domain-specific language, several implementations, both for enterprise and embedded applications, and a graphical notation. Until now, the only way to design graphical models for the Peer Model was to use generic drawing tools or hand drawings. The main research question of this thesis is how the software architecture of a visual development environment for the peer model, which is in active development and thus constantly evolving, can be designed to support new features with minimal effort. This thesis therefore contributes the first graphical modeler designed specifically for the Peer Model, with the aim of better user support and wider adoption of the model. To achieve that, the user interface workflows are designed to be as simple, intuitive, and user-friendly as possible. The modeler is implemented in C++ and uses the Qt library as its foundation for the graphical user interface. Since the Peer Model is being actively developed, the modeler is based on an extensible architecture and a maintainable code base. Further, the modeler not only stores the diagrams but additionally maintains an underlying semantical model, which represents the model developed with help of the Peer Model. This underlying model is also the foundation for features like plausibility checks and code generation, both of which are implemented via a plugin system. The modeler implementation is based on an evaluation of several existing graphical modelers for other communication and coordination models. An initial user study was conducted to evaluate the application’s usability.