Zurück nach oben
Clustered Navigation
Die Idee von Clustered Navigation ist denkbar
einfach: Ausgehend von konkreten Daten (Startkontext) wechselt der
Anwender in die zugehörige Formatbeschreibung um dort zu
navigieren. Jeder dort ausgeführte Navigationsschritt wird vom
FIBEXplorer unmittelbar auf dem Startkontext (Ausgangsdaten)
nachvollzogen. Die Möglichkeit Abfragen in einer
Metabegrifflichkeit (wie Tabellen- und Spalten- oder auch Tag-Namen)
zu formulieren, um sie hernach auf konkrete Daten anzuwenden ist ein
gängiges Muster (Siehe SQL oder XPath). Wirklich neu an Clustered
Navigation ist indes die Umsetzung innerhalb eines einzigen
Navigationsbaumes, welcher sowohl die konkrete Datenausprägung
als auch die zugehörige Formatbeschreibung repräsentiert.
Nach dem Laden der Daten erhält der Anwender
zunächst einen klassischen Navigationsbaum (Datenausprägung),
der aus miteinander verlinkten Datenelementen gebildet wird. Auf jedem der dargestellten Baumknoten hat der Anwender die Möglichkeit in die Formatbeschreibung wechseln:
- Ein Wechsel in die Formatbeschreibung legt
den ausgewählten Baumknoten als Startkontext fest. Darunter
wird im Navigationsbaum die Formatbeschreibung über einen
typspezifischen Strukturbaum dargestellt, welcher lediglich aus
Elementtypen gebildet wird.
- Der Strukturbaum spiegelt die Einbettung des aktuellen
Datentyps in die Formatbeschreibung wieder (inklusive dort
definierter Verweise und Verlinkungen). Durch Öffnen der verfügbaren Strukturknoten bringt der Anwender den von ihm gewünschten
Navigationspfad durch den Vernetzungskontext zum Ausdruck.
- Am gewünschten Elementtyp angekommen,
kann er durch Zurückwechseln in die Datenebene das
Ergebnis seiner Abfrage ausgeben lassen.
Der in der
Formatbeschreibung zurück gelegte (abstrakte) Navigationspfad
wird dabei über den tatsächlichen Daten konkretisiert. Aus
dem Navigationspfad wird eine konkrete Datenabfrage abgeleitet,
welche angewendet auf die Ausgangsdaten (Startkontext) das
gewünschte Datenergebnis liefert. Der Smart-Navigator arbeitet also auf zwei
übereinanderliegenden Ebenen:
Hierin spiegelt sich die Beziehung von Daten
(Inhalt der FIBEX-Datei) und zugehöriger Formatbeschreibung
(FIBEX-Schema) wieder. Während Datenelemente konkrete Positionen
im FIBEX-Input repräsentieren, stehen Strukturknoten für
Positionen im zugehörigen FIBEX-Schema. Dieses Zusammenspiel von
Datenbeschreibung und Datenausprägung wird häufig mit
den Begriffen Instanz und Typ beschreiben. Der FIBEXplorer
unterscheidet lediglich zwischen Element und Struktur.
Zurück nach oben
Navigationsbaum
Der Smart-Navigator variiert flexibel zwischen
Element und Strukturansicht.
Je nach Konfiguration kennt er die
nachfolgenden Extremausprägungen:
- Datenbaum: zeigt Datenelemente aus dem
XML-Input.
- Strukturbaum: zeigt (abstrakte) Elementtypen aus der
Schema-Beschreibung.
Datenbaum |
|
Strukturbaum |
 |
|
 |
| |
|
|
Elemente werden im Datenbaum dargestellt
mit
ihrem Kurznamen (ho:SHORT-NAME) und
einem element(typ)spezifischen Symbol. |
|
Elementtypen werden im Strukturbaum dargestellt
mit
dem dort vorgesehenen Tag-Namen
und
einem Folder-Icon. |
| |
|
|
Der Navigationsbaum besteht also aus zwei Arten von Baumknoten:
- Datenknoten repräsentieren Datenelemente.
- Strukturknoten repräsentierten Navigationsvorschriften relativ
zu ihren Vaterknoten. Sie halten keine konkreten Datenelemente,
sondern beschreiben lediglich einen Knotentyp, sprich eine Position
in der zugrundeliegenden Schemadefinition. Eine am Strukturknoten hinterlegte
Navigationsvorschrift beschreibt zudem den Übergang vom Typ des
Vaterknotens in den Typ des Strukturknotens (bzgl. zugrunde
liegender Schemadefinition). Die Anwendung der Navigationsvorschrift
auf die Datenelemente des Vaterknotens liefert eine Menge von
Datenknoten (vom Typ des Strukturknotens).
Ein Wechsel zwischen Daten- und die Strukturdarstellung kann auf jedem Baumkonten veranlasst werden, wodurch beliebige Mischformen entstehen. Aus dem Pfad der vom Anwender geöffneten Baumknoten
ermittelt der FIBEXplorer einen Navigationspfad. Anwendung der darin
kodierten Selektionsvorschrift auf das Ausgangselement liefert eine
Liste von Datenelementen, welche der FIBEXplorer wiederum als
Datenknoten am zugehörigen Strukturknoten ausgibt.
Hierbei ist jedem Baumknoten eine konkrete Menge von Datenelementen
zugeordnet. Während diese bei Datenknoten a priori festgelegt ist,
wird sie bei Strukturknoten dynamisch ermittelt (abhängig
von den Datenelementen des aktuellen Vaterknotens).
Abfrageknoten
und neu erzeugte Kindknoten haben den gleichen Datentyp. Während
der Abfrageknoten das gesamte Selektionsergebnis repräsentiert,
stehen die einzelnen Kindknoten für die einzelnen Elemente des
Selektionsergebnisses.
Die dargestellten vier Baumausprägungen geben allesamt die Zuordnung von Signalen zu Steuergeräten wieder. Die Abfolge demonstriert die Zusammenfassung von Unterbäumen im zugehörigen Strukturkonten. Durch diese Option kann der Anwender zielgerichtet zum gewünschten Ergebnis navigieren, ohne sich durch endlos entfaltende Datenstrukturen kämpfen zu müssen.
Bedienung des Navigators
Aus Anwendersicht reduziert sich Clustered
Navigation auf den Shortcut STRG+Blank.
Damit kann auf jedem
Baumknoten bequem zwischen Struktur- und Datenebene gewechselt
werden: Auf einem fixierten Datenelement (Ausgangselement) wechselt
der Anwender (mittels Shortcut) in die Strukturebene. In der darunter
angezeigten FIBEX-Struktur (Metaebene) navigiert er durch Öffnen
entsprechender Strukturknoten vorwärts, rückwärts oder
seitwärts (Properties). Auf jedem dabei geöffneten
Strukturknoten kann er mittels (STRG-Blank) wieder in die Datenebene
wechseln und die sich ergebenden Datenelemente anzeigen lassen. Auf jedem der neu angezeigten Datenelemente lässt
sich der eben beschriebene Vorgang wiederholen.
Vorbelegung
Für neu erzeugte Baumknoten nimmt der
Smart-Navigator den Wechsel zwischen Struktur- und Datenebene
teilweise automatisch vor, um die Baumdarstellung möglichst
intuitiv und übersichtlich zu gestalten. Er folgt dabei
folgender Heuristik:
- Bei Elementen mit sehr vielen Kindern oder
vielen Kinderarten (z.B.
fx:ELEMENT)
wird in die Struktuebene gewechselt - die Kindelemente werden dabei nach ihrem Knotentyp gruppiert.
- Gehören die
darzustellenden Kinder zu einer primären Entität oder sind
durchweg mit Namen (
ho:SHORT-NAME)
versehen wird per Default die Datenebene angezeigt. (z.B. fx:SIGNAL).
- Auch bei Properties erfolgt
per Default ein Wechsel in die Datenebene.
Hierbei handelt es sich
wohlgemerkt nur um Vorbelegungen. Auf jedem Knoten kann der Anwender
(mittels Shortcut: STRG-Blank) bequem in
die für ihn passende Ebene wechseln.
Zurück nach oben
Use-Cases
Durch Kombination von Vorwärts- und Rückwärtsnavigation mit 'Clustered Navigation' können Elementgruppen nach ihrem Vernetzungskontext gefiltert und Elemente nach Eigenschaftswerten gruppiert werden. Fragestellungen wie:
Welche ECUs empfangen FRAMEs mit dem SIGNAL xy?
Welche PDUs werden von am CHANNEL angeschlossenen ECUs erwartet?
werden mit wenigen Mausklicks beantwortet. Weitere Anwendungsszenarien (etwa zur Gruppierung von Elementen nach zugehörigen Eigenschaften) finden sich auf Datenanalyse im FIBEXplorer.