Articles

Optional<Titel>

Dr. Frank Raiser. Java Aktuell, Ausgabe 4/2016

Abstract: Eine der bedeutendsten Änderungen von Java 8 für den Entwickleralltag stellt die Klasse „java.util. Optional“ dar. Damit lassen sich zahlreiche Fehlerquellen systematisch vermeiden, wobei gleichzeitig der Quellcode kürzer und verständlicher wird. Dieser Artikel zeigt die Historie der Klasse in anderen Sprachen, ihre Anwendungsmöglichkeiten sowie die Vor- und Nachteile auf. An einem durchgängigen Beispiel werden die verschiedenen Methoden von „Optional“ und die daraus resultierende Umstellung auf eine Datenflussorientierte Entwicklung erläutert.

Das Auge codet mit
Die Designmuster der „Gang of Four“ in Zeiten von Java 8
Dr. Frank Raiser und Dr. Jan Scheible. Java Magazin, Ausgabe 5, 2016

Abstract: Das Standardwerk zu Design Mustern von Gamma et.al. blickt auf eine 20-jährige Erfolgsgeschichte zurück. Aufgrund technischer Weiterentwicklungen gibt es heute viele interessante Konzepte, welche diese Muster teilweise oder vollständig ersetzen. In diesem Artikel präsentieren wir einige dieser Alternativen. Die Spanne reicht dabei von funktionalen Ansätzen mit Java 8 Bordmitteln über den Einsatz spezieller Laufzeitumgebungen und Bibliotheken bis hin zu anderen JVM-basierten Sprachen.

Analysing graph transformation systems through constraint handling rules

Frank Raiser and Thom Frühwirth. Analysing graph transformation systems through constraint handling rules. 2010, Theory and Practice of Logic Programming, Available on CJO 20 Jul 2010

Abstract:Graph transformation systems (GTS) and constraint handling rules (CHR) are non-deterministic rule-based state transition systems. CHR is well known for its powerful confluence and program equivalence analyses, for which we provide the basis in this work to apply them to GTS. We give a sound and complete embedding of GTS in CHR, investigate confluence of an embedded GTS and provide a program equivalence analysis for GTS via the embedding. The results confirm the suitability of CHR-based program analyses for other formalisms embedded in CHR.

A complete and terminating execution model for Constraint Handling Rules

Hariolf Betz, Frank Raiser, and Thom W. Frühwirth. A complete and terminating execution model for Constraint Handling Rules. 2010, Theory and Practice of Logic Programming, 10(4-6):597-610

Abstract:We observe that the various formulations of the operational semantics of Constraint Handling Rules proposed over the years fall into a spectrum ranging from the analytical to the pragmatic. While existing analytical formulations facilitate program analysis and formal proofs of program properties, they cannot be implemented as is. We propose a novel operational semantics ω!, which has a strong analytical foundation, while featuring a terminating execution model. We prove its soundness and completeness with respect to existing analytical formulations and we provide an implementation in the form of a source-to-source transformation to CHR with rule priorities.

Strong joinability analysis for graph transformation systems in CHR

Frank Raiser and Thom Frühwirth. Strong joinability analysis for graph transformation systems in CHR. 2009, Electronic Notes in Theoretical Computer Science – Proceedings of the Fifth International Workshop on Computing with Terms and Graphs (TERMGRAPH 2009), 253(4):91-111

Abstract:The notion of confluence is prevalent in graph transformation systems (GTS) as well as constraint handling rules (CHR). This work presents a generalized embedding of GTS in CHR that allows to consider strong derivations in confluence analyses. Confluence of a terminating CHR program is decidable, but confluence of a terminating GTS is undecidable. We show that observable confluence in CHR is a sufficient criterion for confluence of the embedded GTS. For this purpose the automatic confluence check for CHR can be reused.