Inhaltsverzeichnis
3. Programmierung der Algorithmen

3.1. Entwurf der Schnittstelle

Die prozedurale Schnittstelle zur Bibliothek sollte folgende Eigenschaften aufweisen:

Als allgemeine Datentypen für die Parameter der Funktionen werden dafür benötigt:

Funktionen zu Typencodes

Folgende zwei Funktionen genügen für die Ver- und Entschlüsselung nach den Algorithmen aus [1]:

Funktionen zum Katalog-Zugriff

Da insgesamt nur zehn Kataloge existieren, wird darauf verzichtet, einen besonderen Datentyp für Kataloge einzuführen. Der Speicherplatz für die Kataloge wird statt dessen implizit durch die Bibliothek selbst zur Verfügung gestellt. Über die Schnittstelle zum Anwendungsprogramm werden die Kataloge über einen TStrukturKlasse-Parameter referenziert.

Zunächst ist eine Abfrage der Anzahl der in einem Katalog enthaltenen Typen erforderlich:

Weiterhin werden Funktionen benötigt, um einen im Katalog enthaltenen Typencode abzufragen sowie um zu testen, ob und bei welcher Katalognummer ein Code enthalten ist:

Außerdem müssen Funktionen zum Verwalten der Dateien, in denen die Typenkataloge enthalten sind, implementiert werden. Die sind an dieser Stelle aber nicht von Interesse.

Funktionen zum Ableiten und Analysieren von Mechanismen

Die Funktion zum Ableiten der MTen:

Die Gliedmatrizen der einzelnen MTen können später durch eine weitere Bibliotheksfunktion aus der Basiskette gewonnen werden. Dazu muss in dieser die Gliedmatrix der Kette festgehalten werden. Dieses Feld dient auch als Eingabe für obige Funktion. Die Funktion, die die Gliedmatrix eines abgeleiteten MTen anhand der Basiskette aufstellt, benötigt als weiteren Parameter die laufende Nummer dieses MTs unter allen möglichen Ableitungen der Kette:

Außerdem ist es bei der AGn-Zerlegung möglich, die Typencodes der gefundenen AGn zu ermitteln. Die gefundenen Codes werden ebenfalls in der TMechInfo-Struktur abgelegt. Diese Bestimmung der Assur-Codes kostet aber zusätzliche Rechenzeit und sollte sich deshalb über einen Schalter deaktivieren lassen:

Für die AGn-Zerlegung unter Ausnutzen der Analyse von gemeinsamen kinematischen Ketten ist als zusätzlicher Parameter die Basiskette erforderlich, denn diese enthält die Analysedaten. Die Übergabe der Gliedmatrix des MTs ist in diesem Falle nicht mehr erforderlich, denn er kann aus der Basiskette anhand seiner Ableitungsnummer gewonnen werden:

Die Funktionsbibliothek sollte natürlich robust gegen Fehler von Seiten des aufrufenden Programms sein. Um solche Fehler anzuzeigen, werden alle Funktionen mit einem logischen Rückgabewert ausgestattet.

3.2. Integration der vorhandenen Daten und Algorithmen