EOQ-ESSENTIAL OBJECT QUERY

2018 | EOQ ESSENTIAL OBJECT QUERY

Eine transaktionale Datenbank für domänenspezifische Modelle mit atomaren Kommandos und Events.

Zeitraum

seit 01.03.2018

Produkt

Essential Object Query (EOQ) ist eine Sprache zur verteilten und effizienten Interaktion mit objektorientierten Daten, d.h. domänenspezifischen Modellen. Sie unterstützt explizit die Suche nach Mustern, wie sie in Modelltransformationssprachen verwendet wird. EOQ beinhaltet eine leicht zu parsende und sich deterministisch verhaltende Abfragesprache, die aber eine größtmögliche Effizienz und Flexibilität bei der Arbeit mit domänenspezifischen Modellen bietet. Die Fähigkeiten und die Semantik von EOQ ähneln der der Object-Constraint-Language (OCL), aber EOQ unterstützt zusätzlich atomare Modelländerungen, Events und Fehlerbehandlung.

Die grundlegende Funktion von EOQ zeigt folgendes Beispiel:

GET !Task/name

ruft alle Werte des Attributs "name" aller in der Domäne vorhandenen Objekte des Typs "Task" ab. Der Rückgabewert ist eine Liste von Zeichenketten, z.B.

['Flight Control','Stick Input','Security Monitor',...]

Die gleichzeitige Interaktion mehrerer Clients mit mehreren Modellen wird unterstützt. EOQ ist unabhängig von einem bestimmten Metamodell.

Die Referenzimplementierung basiert auf Modellen des ECORE-Formats des Eclipse Modeling Framework (EMF). EOQ-Implementationen sind für Python und Javascript verfügbar.

EOQ ist als Open-Source unter der MIT-Lizenz verfügbar.

EOQ-Homepage: https://gitlab.com/eoq/essentialobjectquery

Projektmitarbeiter und -mitarbeiterinnen

Zum Seitenanfang