Metamodell

Das Metamodell auf dem die DSL und Generierung der GenoSens Toolkette basiert sieht wie folgt aus:

Metamodell 1

Das Grundelement ist Application dieses kann mindestens ein Rtos Element besitzen, mit dem das zugehörige Betriebssystem für den jeweiligen Sensor implementiert wird. Das Application Element kann dann beliebig viele Task Elemente besitzen.

Damit sind die beiden vorgestellten Elemente die Hauptbestandteile eines Application Elements:

Metamodell 2

Das angesprochene Task Element ist ein Oberklasse von verschiedenen Task-Typen und besitzt selbst wieder Abhängigkeiten zu anderen Elementen. Für die detailiertere Betrachtung dient die folgenden Abbildung:

Metamodell 3

Task ist die Oberklasse von den spezifischen Task-Elementen InputOutputTask, DataProcessingTask und DispatcherTask. Ein Task-Elementen kann ein SoftwareTrigger besitzen und falls es sich um ein InputOutputTask handelt auch ein HardwareTrigger besitzen. Zudem kann jedes Task-Elemente ein Input- und OutputPort definiert haben.

Jedes Task-Element kann einem Hardware-Element zugeordnet werden. Dazu stehen folgende Element-Typen zur Verfügung:

Metamodell 4

Dabei kann jedes Hardware-Element eine sogenannte HardwareConnection besitzen, um die Kommunikation mit anderen Elementen zu ermöglichen.

Hardware-Elemente können dabei über folgende Elemente verwendet und angesprochen werden:

Metamodell 5

Dazu wird ein HardwareUsage-Element definiert für das wiederrum ein UsageFunction-Element definiert werden kann. Für jede Funktion kann dann ein In- und OutParameter-Element definiert werden. Diese Elemente sind Unterelemente der Oberklasse Parameter.

Ein Parameter-Element kann dabei eine Datenstruktur, die über das DataStructure-Element definiert ist, besitzen. Dieses Element kann ebenfalls von den zuvor vorgestellten OutputPort-Elementen verwendet werden.

Metamodell 6