Stefan Sachs
Dr. Ing.
Beratender Ingenieur
   

Codegenerierung

Für die Rentabilität eines Entwurfswerkzeugs ist die Fähigkeit, vollständigen Code zu generieren unabdingbar. Erfahrungsgemäß führen die praktischen Probleme bei der Wartung von Code, der nur teilweise durch das Entwurfswerkzeug generiert wird dazu, daß die Entwürfe von der Weiterentwicklung früher oder später abgekoppelt werden. Damit sind aber die Investitionen für das Erlernen des Umgangs mit dem Werkzeug und der Mehraufwand* bei der werkzeuggestützten Erstellung des Entwurfs weitgehend verloren. Das hier vorgestellte Werkzeug erstellt vollständigen Sourcecode aus allen beteiligten Komponenten; bei der Benutzeroberfläche können sowohl Hardwareschnittstellen als auch die Schnittstellen zu dem verwendeten GUI-Builder eingebunden werden.

Weiter unten auf dieser Seite ist der Code zu sehen, der für das zweite Beispiel aus dem Tutorial, dem Nachbau der Software eines Stimmgeräts generiert wurde. Dieser Code wurde vollständig aus dem Modell erstellt; Änderungen im Modell können so direkt in das Zielsystem übernommen werden. (Die Turnaround-Zeiten werden durch den Compiler bestimmt, die Zeiten für die Generierung des unten gezeigten Codes bewegen sich im einstelligen Sekundenbereich)

Als Beispiel für generierten Code steht  hier der C-Code, der für das  Stimmgerät aus dem Tutorial erzeugt wird. Die beiden ersten Files (korgsim.h und korgsim.c)  sind handcodiert, sie stellen eine textbasierte rudimentäre Benutzeroberfläche für Turbo-C zur Verfügung (im Zielsystem würde dieser Code durch die entsprechenden Hardware-Treiberroutinen ersetzt werden).

 

 

*Man sollte sich in diesem Punkt keine Illusionen machen: Entwerfen mit einem Werkzeug ist im ersten Schritt aufwendiger als Entwerfen mit Bleistift und Papier; ob der Mehraufwand sich lohnt, hängt davon ab, ob das Werkzeug die gesammelten Informationen effizient nutzt; wenn nicht, dann wird das Entwurfsmodell nicht mehr gepflegt und damit wertlos.

 

 

 
English
Version

Home

Impressum

Persönliches

Dienstleistungen

Fachliches

GUI Design

Systemsicherheit

System Design Toolkit

Interaktionsdiagramme

GUI Simulator

Zustandsautomaten

Kollaborationsdiagramme

Codegenerierung

Java Applets

State Diagram Editor for MAC