Abstract:
Schnittstellen zwischen Anwendungen werden heute in der Praxis meist auf Basis sehr fundamentaler Techniken programmiert. Das führt zu einer großen Menge technischen Codes im Anwendungsprogramm. Wir konstruieren deshalb eine eingebettete Konfigurations-DSL für Schnittstellen (die SStDSL) mit dem Ziel, die Anwendung von dem technischen Schnittstellencode zu entlasten. Die Implementierung mit Hilfe eines Parserkombinators erlaubt uns, ohne weiteres eine angemessene neue Syntax für die Schnittstellenbeschreibung innerhalb des Anwendungsprogramms zu verwenden. Als größte Herausforderung stellt sich die Festlegung des zu verwendenden Referenzmodells für die Schnittstellen heraus. Die volle Bandbreite der heute eingesetzen Schnittstellen-Techniken und Semantiken ist zu heterogen, um sie in einer DSL zusammenzuführen. Wir entscheiden uns für eine Command-Query-Schnittstelle auf Basis asynchroner Nachrichten. Mit der SStDSL werden so die in Projekten häufig neu zu erfindenden Techniken und Semantiken als Best Practices in einer Sprache zusammengeführt. Im Ergebnis ist die Schnittstellentechnik vom Anwendungsprogramm vollständig entkoppelt. Sie ist ohne Rückwirkung auf das Anwendungsprogramm nicht nur austauschbar, sondern auch in wesentlichen semantischen Aspekten erweiterbar. Wir implementieren die SStDSL mit dem Parserkombinator Petit-Parser und demonstrieren an einem Anwendungsbeispiel, dem Au-MicrovaweOven, den praktischen Einsatz. Dessen Statechart binden wir mit Hilfe der SStDSL an den zustandslosen Teil der Anwendung an.