<div class="csl-bib-body">
<div class="csl-entry">Kuehn, E. M. (2021). A Practical Tool-Chain for the Development of Coordination Scenarios. In F. Damian & O. Dardha (Eds.), <i>Coordination Models and Languages, COORDINATION 2021</i> (pp. 239–254). Springer. https://doi.org/10.1007/978-3-030-78142-2_15</div>
</div>
-
dc.identifier.isbn
9783030781422
-
dc.identifier.isbn
9783030781415
-
dc.identifier.uri
http://hdl.handle.net/20.500.12708/55691
-
dc.description.abstract
Koordinierungsszenarien stellen hohe Anforderungen an Gleichzeitigkeit und Interaktion. Dies sind jedoch typische Quellen für Fehler im Entwurf und in der Implementierung. Ein Modellierungsansatz ermöglicht es, über verteilte Algorithmen nachzudenken und Unzulänglichkeiten von Anfang an zu erkennen. Das Peer-Modell wurde als Modellierungswerkzeug für Verteilung, Nebenläufigkeit und Blackboard-basierte Zusammenarbeit und Koordination eingeführt und stützt sich auf bekannte Grundlagen wie Tupelräume, Petri-Netze und das Akteursmodell. Es gibt zwar ein Laufzeitsystem, das Java-Entwicklern für das Prototyping dient, aber wie bei den meisten akademischen Systemen fehlte bisher eine praktikable Tool-Chain.
In diesem Beitrag wird eine praktische neue Tool-Chain für das Peer-Modell vorgestellt, die aus einem grafischen Modellierungswerkzeug besteht, das auf einem Zeichenprogramm aufbaut, das XML exportiert. Ein Übersetzer parst das XML und übersetzt es in eine neu entwickelte domänenspezifische Sprache, die die Grundlage für die Codegenerierung bildet. Ein Ziel ist eine neue, auf formalen Automaten basierende Laufzeitumgebung, die in der Programmiersprache Go geschrieben ist und systematische Simulationsläufe von Benutzermodellen ermöglicht. Die Demo zeigt ein Peer-Competition-Szenario, bei dem mehrere Spieler ein Spiel spielen, ein globaler Zustand die Spielstände der Spieler hält und zusätzlich jeder Peer einen dezentralen Zustand unterhält. Bevor ein Peer einen Spielzug unternimmt, prüft er, ob sein aktueller lokaler Zustand mit dem globalen identisch ist. Wenn dies der Fall ist, führt er seine Aktion aus und verteilt die Informationen darüber an alle anderen Spieler zur weiteren Überprüfung. Das Szenario spiegelt die wichtigsten Koordinationsmechanismen in Blockchain-Systemen wider.
de
dc.description.abstract
Coordination scenarios have high demands on concurrency and interaction. However, these are typical sources for flaws in both design and implementation. A modeling approach enables reasoning about distributed algorithms and finding deficiencies right from the beginning. The Peer Model has been introduced as a modeling tool for distribution, concurrency and blackboard-based collaboration and coordination, relying on known foundations like tuple spaces, Petri Nets and Actor Model. A runtime system exists that serves Java developers for prototyping, but still a feasible tool-chain was missing, like for most academic systems.
This paper presents a practical new tool-chain for the Peer Model consisting of a graphical modelling tool, building on a drawing program that exports XML. A translator parses the XML and translates it into a newly developed domain specific language that is the basis for code generation. One target is a new, formal automaton-based runtime written in the Go programming language.It allows systematic simulation runs of user models. The demo shows a peer competition scenario, where several players play a game, a global state holds the players' scores, and in addition each peer maintains a decentralized state. Before taking a move in the game, a peer asserts its current local state to be the same like the global one. If this is the case, it carries out its action and distributes the information about it to all other players for further verification. The scenario captures core coordination mechanisms found in blockchain systems.
en
dc.publisher
Springer
-
dc.relation.ispartofseries
Lecture Notes in Computer Science
-
dc.subject
Peer Model
-
dc.subject
tool-chain
-
dc.subject
coordination modelling
-
dc.subject
coordination simulation
-
dc.title
A Practical Tool-Chain for the Development of Coordination Scenarios
-
dc.title.alternative
Graphical Modeler, DSL, Code Generators and Automaton-Based Simulator
-
dc.type
Konferenzbeitrag
de
dc.type
Inproceedings
en
dc.relation.publication
Coordination Models and Languages, COORDINATION 2021
-
dc.relation.isbn
978-3-030-78141-5
-
dc.relation.doi
10.1007/978-3-030-78142-2
-
dc.relation.issn
0302-9743
-
dc.description.startpage
239
-
dc.description.endpage
254
-
dc.type.category
Full-Paper Contribution
-
dc.relation.eissn
1611-3349
-
dc.publisher.place
Lecture Notes in Computer Science 12717
-
tuw.booktitle
Coordination Models and Languages, COORDINATION 2021
-
tuw.container.volume
12717
-
tuw.peerreviewed
true
-
tuw.relation.publisher
Springer Cham
-
tuw.book.chapter
15
-
tuw.researchTopic.id
I4a
-
tuw.researchTopic.name
Information Systems Engineering
-
tuw.researchTopic.value
100
-
tuw.publication.orgunit
E194-05 - Forschungsbereich Compilers and Languages
-
tuw.publisher.doi
10.1007/978-3-030-78142-2_15
-
dc.description.numberOfPages
16
-
tuw.event.name
Coordination Models and Languages - 23rd {IFIP} {WG} 6.1 International Conference, {COORDINATION} 2021, Held as Part of the 16th International Federated Conference on Distributed Computing Techniques, DisCoTec
-
tuw.event.startdate
14-06-2021
-
tuw.event.enddate
18-06-2021
-
tuw.event.online
Online
-
tuw.event.type
Event for scientific audience
-
tuw.event.place
Valletta, Malta
-
tuw.event.country
MT
-
tuw.presentation.online
Online
-
wb.sciencebranch
Informatik
-
wb.sciencebranch.oefos
1020
-
wb.facultyfocus
Information Systems Engineering (ISE)
de
wb.facultyfocus
Information Systems Engineering (ISE)
en
wb.facultyfocus.faculty
E180
-
wb.presentation.type
science to science/art to art
-
item.grantfulltext
none
-
item.cerifentitytype
Publications
-
item.openairetype
conference paper
-
item.openairecristype
http://purl.org/coar/resource_type/c_5794
-
item.fulltext
no Fulltext
-
crisitem.author.dept
E194-05 - Forschungsbereich Compilers and Languages
-
crisitem.author.parentorg
E194 - Institut für Information Systems Engineering