Dokument: A case for data-oriented specifications: simpler implementation of B tools and DSLs

Titel:A case for data-oriented specifications: simpler implementation of B tools and DSLs
URL für Lesezeichen:https://docserv.uni-duesseldorf.de/servlets/DocumentServlet?id=71127
URN (NBN):urn:nbn:de:hbz:061-20251027-124522-8
Kollektion:Publikationen
Sprache:Englisch
Dokumententyp:Wissenschaftliche Texte » Artikel, Aufsatz
Medientyp:Text
Autoren: Körner, Philipp [Autor]
Mager, Florian [Autor]
Roßbach, Jan [Autor]
Dateien:
[Dateien anzeigen]Adobe PDF
[Details]507,1 KB in einer Datei
[ZIP-Datei erzeugen]
Dateien vom 27.10.2025 / geändert 27.10.2025
Stichwörter:B , Meta-programming , ProB , Tool development , Domain-specific languages , Clojure , Language embedding
Beschreibung:Considering programs as data enables powerful meta-programming. One example is Lisp’s macro system, which gives rise to powerful transformations of programs and allows easy implementation of domain-specific languages. Formal specifications, however, usually do not rely on such mechanisms and are mostly written by hand in a textual format (or using specialised domain-specific language (DSL) tools). In this paper, we investigate the opportunities that stem from considering specifications as data. For this, we embedded the B specification language in Clojure, a modern Lisp. We use Clojure as a functional meta-programming language and the ProB Java API to capture the semantics of B, i.e., to find solutions for constraints or animate machines. From our experience, it is especially useful for tool development and generation of constraints and machines from external data sources. It can also be used to implement language extensions and to design DSLs.
Rechtliche Vermerke:Originalveröffentlichung:
Körner, P., Mager, F., & Roßbach, J. (2025). A case for data-oriented specifications: simpler implementation of B tools and DSLs. Innovations in Systems and Software Engineering, 21(3), 939–959. https://doi.org/10.1007/s11334-025-00596-3
Lizenz:Creative Commons Lizenzvertrag
Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung 4.0 International Lizenz
Fachbereich / Einrichtung:Mathematisch- Naturwissenschaftliche Fakultät
Dokument erstellt am:27.10.2025
Dateien geändert am:27.10.2025
english
Benutzer
Status: Gast
Aktionen