MAL-Homepage Inhaltsverzeichnis



MAL Dokumentation: Programmentwicklung




Inhalt:

1. DATENAUFTEILUNG
2. TEST- UND ARBEITSBEREICH
3. DATENEXPORT UND -IMPORT
4. PRIVATE- UND PUBLIC-FOLDER
5. SOURCECODE-VERWALTUNG


1. DATENAUFTEILUNG

MAL ist so konzipiert, daß an einem System simultan von mehreren Entwicklern eines Teams programmiert werden kann. Es existiert ein gemeinsamer Datenbereich (der Public-Pool) und für jeden Entwickler ein privater Datenbereich (der Private-Pool) und ein Arbeitsbereich (Work-Pool). Der Arbeitsbereich ist für Experimentierzwecke eingerichtet und kann mit einem einzigen Befehl (
clear_work im Folder admin) gelöscht und neu eingerichtet werden, während der Public-Pool und der Private-Pool für die längerfristige Archivierung von Daten und Prozeduren dient.

Dieses Bild zeigt die ursprünglich konzipierte Datenstruktur. In der Praxis hat sich diese Struktur immer mehr dahingehend verändert, dass auch für jeden Entwickler (bzw. jede MAL-Installation) ein eigener Public-Pool existiert. Damit müssen auch unmittelbar zusammenarbeitende Entwickler nicht unbedingt in einem gemeinsamen Netz arbeiten. Das Aktualisieren des Public-Pools kann auf einfache Weise mit Export und Import erfolgen (siehe Logbook-Verwaltung).



Für den Zugriff auf die im System gespeicherten Worte (=Datensätze) existierten zwei grundsätzlich unterschiedliche Adressierungsmethoden.
  1. via Folder (=Zugriff für den Menschen)
  2. via Directories (=Zugriff für Programme)
Jedes im System gespeicherte Wort kann auf beide Weisen adressiert werden. Der Zugriff via Directories ist rasch und einfach zu programmieren, während für den Zugriff via Folder eine Bedienoberfläche existiert und außerdem zu jedem Datensatz noch Zusatzsinformationen für den Benutzer abgespeichert sind.

Folder

Die Prozeduren und Datensätze (=Worte) werden zusammen mit Kurzbeschreibungen (Help-Text) und einer Aufrufumgebung (Environment) in Foldern abgespeichert.

MAL-Homepage Inhaltsverzeichnis


2. TEST- UND ARBEITSBEREICH

Der Test- und Arbeitsbereich für den Programmentwickler ist der Work-Folder. Er wird mit dem Wort
arbeit aufgerufen.

Die praktische Arbeit mit dem Work-Folder wird am Besten an einem kleinen Beispiel demonstriert: Ein Wort "sinusbild" zur Darstellung verschiedener Sinuskurven soll programmiert werden.

Syntax:

frequenz ->

Die Doppelpunktdefinition würde folgendermaßen aussehen:

: sinusbild >> frequenz
100 ramp 100 / 6.28 * frequenz * sin draw screen ;
1) Neuen Eintrag im Work-Folder einrichten:

Aufruf des Work-Folders durch Eingabe von arbeit, Taste ´i´ (insert) und 'f' (Function) drücken und den Helptext etwa folgendermaßen gestalten.
Ausgabe einer Sinuskurve am Bildschirm


frequenz ->

´frequenz´ ... Realzahl mit Anzahl der darzustellenden Perioden.

Es wird eine Kurve mit 100 Stuetzpunkten und Amplitude 1 ausgegeben.
Nach dem Verlassen des Helptext-Editors erscheint folgende Maske:

Hier muss nur 'name' und 'topic' (=Themenzugehörigkeit) eingetragen werden. Alle anderen Werte sind vorbesezt.

2) Den Code editieren:

Mit dem Cursor auf den neuen Eintrag sinusbild gehen und Taste ´c´ (code) drücken. Der Code ist wie bei einer Doppelpunktdefinition zu editieren, der einleitende Doppelpunkt und der Name des Wortes aber wegzulassen, also:
>> frequenz
100 ramp 100 / 6.28 * frequenz * sin draw screen ;
3) Environment editieren:

Das Wort sinusbild benötigt beim Aufruf einen Frequenzwert am Stack. Das Environment dient dazu, diese Versorgung in der Testphase (und später als Aufrufbeispiel für andere Benutzer) zur Verfügung zu stellen.

Mit der Taste ´e´ wird das Environment editiert. Als Vorbesetzung ist der Code objekt \ code zu finden, der das Wort sinusbild aufruft. Es genügt also zum Beispiel davor die Zahl 3 als Frequenzwert zu setzen, also:

3 objekt \ code

4) Testen des Wortes

Mit der Taste ´g´ (go) oder einem Doppelklick auf "sinusbild" wird das Wort gestartet. Zur weiteren Entwicklung des Wortes kann jeweils mit ´c´ der Code editiert und mit ´g´ das Wort gestartet werden oder bei Bedarf die Versorgung im Environment mit ´e´ verändert werden.

5) Verlassen des Folders

mit der Esc-Taste.

MAL-Homepage Inhaltsverzeichnis


3. DATENEXPORT UND -IMPORT

Zum Austausch von Daten zwischen verschiedenen Vokabularsfoldern, auch zwischen unterschiedlichen Hardware-Plattformen, dienen die Menüpunkte export und import im Menü submenue der Folder.

Der Menüpunkt export tranferiert Einträge auf eine Metadatei. Voraussetzung ist, dass die gewünschten Einträge zuvor mit + select markiert wurden (bzw. die nicht gewünschten mit - unselect deselektiert). Alle selektierten Einträge haben ein '+' Zeichen in der ganz rechten Spalte. Im Submenu finden sich auch Menüpuntke - unselect all und + select all, die in manchen Fällen sehr hilfreich sind.

Mit import können die Einträge von der Metadatei in einen anderen Folder eingelesen werden. Dabei wird automatisch eine Versionskontrolle duchgeführt. Details über die Versionskontrolle sind bei der
Logbook-Verwaltung zu finden.

MAL-Homepage Inhaltsverzeichnis


4. PRIVATE- UND PUBLIC-FOLDER

Während der Work-Folder speziell für das Entwickeln und Testen neuer MAL-Worte dient, sind der Private- und der Public-Folder zum längerfristigen Archivieren von fertig getesteten Worten gedacht. Selbstverständlich ist diese Unterscheidung nicht restlos zwingend. (Alle drei Folder besitzen die gleichen Möglichkeiten für die Programmentwicklung.)

Sowohl der Private- als auch der Public-Folder sind Folder, die ihrerseits einige Folder beinhalten, sind also einfach geschachtelte Strukturen.

Beim Aufruf der Worte
mein (Private-Folder) oder unser (Public-Folder) wird die Blätterfunktion für einen der sogenannten Folder-Folder aufgerufen. Diese beinhalten alle Folder aus dem Private- bzw. Public-Pool. Der Wechsel in einen bestimmten Folder geschieht, indem der Cursor auf die ensprechende Zeile gestellt wird und der Menüpunkt browse aufgerufen wird.

MAL-Homepage Inhaltsverzeichnis


5. SOURCECODE-VERWALTUNG

Der Source-Code des MAL-Interpreters ist, ebenso wie die MAL-Worte, in einem Folder untergebracht. Dieser kann mit
source oder über den Public-Folder, Eintrag source_folder aufgerufen werden. Dieser Folder hat neben den bereits erläuterten Möglichkeiten der Versionsverwaltung und des Datenex- und Importes, wie sie bei Vokabularsfoldern existieren, noch vier Zusatzpunkte im Submenü:



Praktische Vorgangsweise beim Ändern von Sourcecode:

Normalerweise müssen Änderungen im Sourcecode auch getestet werden, bevor man sie als abgeschlossen betrachten kann. Daher empfiehlt es sich, die entsprechende Datei zuerst aus dem Sourcefolder zu holen, dann zu editieren und zu testen und anschließend die Datei wieder in den Folder zu lesen und den Eintrag in das Logbook vorzunehmen.

MAL-Homepage Inhaltsverzeichnis