vishia

ZBNF
Semantic Backus Naur Format
Conversion textfiles to XML

XML

Java and Embedded Systems

Softwaretechnology

vishia-Java

Download Page

Wenn man Software debugged, dann kann man aus dem aktuellem Focus jede einzelne Datenzelle anschauen und untersuchen. Bei der Compilierung werden gleichzeitig Symbol-Informationen mit zugehörigen Speicheradressen und Adress-Offsets erzeugt, in der Software werden Debuginformationen niederlegt. Wenn Software auf einer Anlage oder im Testbetrieb läuft, dann ist normalerweise kein Debugging möglich. Die Software muss laufen, Datenzellen lassen sich nur an einem Haltepunkt anschauen.

Im Testbetrieb oder auch im Kundenbetrieb bei Servicemaßnahmen kann es aber wichtig und interessant sein, einzelne innere Werte anzuschauen. Der Zugriff Hexa auf Speicheradressen ist zwar irgendwie meist möglich, jedoch nicht sehr vorwärtsbringed. Besser ist ein symbolischer Zugriff auf die Daten.

Enthält die Software intern symbolische Informationen, dann kann man ohne weitere Hilfsmittel auch bei unbekannter Softwareversion auf die inneren Daten zugreifen. Damit dass ein Anwender nicht tun kann (Sicherheitsaspekte), kann man diese Symbolinformationen chiffrieren.

Header2Reflection ist ein Java-Programm, dass Headerfiles parst und daraus C- und H-Files generiert, die Symbolinformationen, Typen und Offsets aller Daten, die in struct und class in den Headerfiles definiert werden. Damit ist die Basis für den symbolischen Zugriff geschaffen.

header2Reflection.jar befindet sich im ZBNF-Download unter http://sourceforge.net/projects/zbnf in den Beispielen. Dort ist folgende Beschreibung enthalten: http://www.vishia.org/ZBNF/sf/ZBNF/readme_ZBNF.html.

Ein System für den Zugriff auf Daten, genannt Inspector, ist von mir ebenfalls entwickelt worden, jedoch derzeit nicht als Open-Source freigegeben. Dabei läuft auf einem Anwendersystem (embedded) ein Server auf Socket-Basis, der auf Telegramme reagiert, Strukturinformationen und Daten zurücksendet (stateless), dabei die Reflections für den Datenzugriff benutzt. Die Gegenseite ist ein Java-Programm mit GUI, auf einem PC lauffähig. Benötigt wird ein UDP-Port. Über UDP kann beliebig in einer Anlage auch von außen zugegriffen werden, wenn dieses Port zeitlich begrenzt speziell freigeschaltet wird. Fremdzugriffe werden verhindert mittels Passwort bzw. Code-Test. Das auf UDP aufsetzende Protokoll ist speziell.

Letzte Änderungen: 2010-02-07