Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

grafische_programmierung_mit_der_uml [2014/01/02 15:05]
esche [Erster UML Versuch mit SiSy]
grafische_programmierung_mit_der_uml [2014/01/02 15:10] (aktuell)
esche [Templates]
Zeile 197: Zeile 197:
  
 ===== Templates ===== ===== Templates =====
-Templates (engl. ​SchabloneVorlage) sind aus der Programmierung,​ zum Beispiel von generischen Klassen, bekannt (Klassen, die Klassen generieren). Es geht also um Vorlagen, die zum Übersetzungszeitpunkt etwas Konkretes erstellen. SiSy kennt solche generischen Strukturen als //​Templates//​. Die Generierung der konkreten Klassen übernimmt dabei der Codegenerator. Es muss also nicht auf generische Klassen auf Compilerebene zurückgegriffen werden. Die Templates dienen als Struktur- und Verhaltensmuster. Es wird keine Vererbung zu diesen Vorlagen erzeugt, sondern die in den Templates vorgefertigten Struktur- und Verhaltensmerkmale werden in die Zielklasse generiert. Der Effekt dieser zunächst kompliziert erscheinenden Technologie ist der, dass der Quellcode für ein System faktisch aus fertigen Bausteinen zusammengesetzt werden kann. Der Anwendungsentwickler arbeitet konstruktiv auf Modellebene. Der Codegenerator erstellt den benötigten Quelltext. Wir kommen damit einer wirklich grafischen Programmierung sehr nahe.+Templates (engl. ​SchablonenVorlagen) sind aus der Programmierung,​ zum Beispiel von generischen Klassen, bekannt (Klassen, die Klassen generieren). Es geht also um Vorlagen, die zum Übersetzungszeitpunkt etwas Konkretes erstellen. SiSy kennt solche generischen Strukturen als //​Templates//​. Die Generierung der konkreten Klassen übernimmt dabei der Codegenerator. Es muss also nicht auf generische Klassen auf Compilerebene zurückgegriffen werden. Die Templates dienen als Struktur- und Verhaltensmuster. Es wird keine Vererbung zu diesen Vorlagen erzeugt, sondern die in den Templates vorgefertigten Struktur- und Verhaltensmerkmale werden in die Zielklasse generiert. Der Effekt dieser zunächst kompliziert erscheinenden Technologie ist der, dass der Quellcode für ein System faktisch aus fertigen Bausteinen zusammengesetzt werden kann. Der Anwendungsentwickler arbeitet konstruktiv auf Modellebene. Der Codegenerator erstellt den benötigten Quelltext. Wir kommen damit einer wirklich grafischen Programmierung sehr nahe.
  
 Als Voraussetzung sind zum Projektstart die Bibliotheken für das ARM Framework in das Modell importiert worden. Die angesprochenen Templates befinden sich im Paket **Tempos** und deren Unterordnern. //Tempos// kann mit konventionellen Klassen durchaus gemischt eingesetzt werden. Wir konzentrieren uns am Anfang aber darauf, nur mit //Tempos// zu arbeiten. Die gewünschten Tempos-Pakete finden Sie über dem Navigator (rechte Maustaste/​UML-Pakete). Navigieren Sie sich zu den Paketen //​temposArm_BasicIO//​. Ziehen Sie das Template //Led// aus dem Navigator in das Diagramm. Verbinden Sie dieses mit der soeben angelegten Klasse LED in Form einer Realisierung (das passiert automatisch beim Verbinden). Danach legen wir auf die gleiche Art und Weise fest, an welchem Pin die LED angeschlossen ist. Wir wählen aus dem Ordner //​temposARM_PinList//​ das Template //PinD13// und verbinden dies ebenso mit der Led. Als Voraussetzung sind zum Projektstart die Bibliotheken für das ARM Framework in das Modell importiert worden. Die angesprochenen Templates befinden sich im Paket **Tempos** und deren Unterordnern. //Tempos// kann mit konventionellen Klassen durchaus gemischt eingesetzt werden. Wir konzentrieren uns am Anfang aber darauf, nur mit //Tempos// zu arbeiten. Die gewünschten Tempos-Pakete finden Sie über dem Navigator (rechte Maustaste/​UML-Pakete). Navigieren Sie sich zu den Paketen //​temposArm_BasicIO//​. Ziehen Sie das Template //Led// aus dem Navigator in das Diagramm. Verbinden Sie dieses mit der soeben angelegten Klasse LED in Form einer Realisierung (das passiert automatisch beim Verbinden). Danach legen wir auf die gleiche Art und Weise fest, an welchem Pin die LED angeschlossen ist. Wir wählen aus dem Ordner //​temposARM_PinList//​ das Template //PinD13// und verbinden dies ebenso mit der Led.
grafische_programmierung_mit_der_uml.txt · Zuletzt geändert: 2014/01/02 15:10 von esche