28.06.2013 Aufrufe

Visuelle Spezifikation, Modellierung und Animation im Systementwurf

Visuelle Spezifikation, Modellierung und Animation im Systementwurf

Visuelle Spezifikation, Modellierung und Animation im Systementwurf

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

3D-<strong>An<strong>im</strong>ation</strong> selbst mit speziellen Werkzeugen <strong>im</strong>mer noch einen <strong>im</strong> Entwurfsprozeß<br />

nicht unerheblichen Aufwand dar.<br />

5 Eine 3D-visuelle Programmiersprache<br />

Unsere jüngsten Ergebnisse zeigen, daß das die Funktionalität eines zu entwerfenden Systems<br />

<strong>und</strong> seine 3D-Illustration nicht unbedingt durch zwei getrennte Mittel beschrieben<br />

<strong>und</strong> somit ständig bei der Implementierung ein Paradigmenwechsel vollzogen werden muß.<br />

Das Ergebnis ist die erste uns bekannte visuelle Programmiersprache, die 3D-Graphik <strong>und</strong><br />

<strong>An<strong>im</strong>ation</strong> als Sprachkonzepte verwendet. Eine 3D-visuelle Programmiersprache verwendet<br />

3D-Graphik <strong>und</strong> <strong>An<strong>im</strong>ation</strong> als Sprachkonstrukte bzw. für die Programmausführung<br />

<strong>und</strong> unterscheidet sich so von Programmiersprachen oder seit langem bekannte (teilweise<br />

visuelle) Notationen zur Erzeugung von 3D-<strong>An<strong>im</strong>ation</strong>en.<br />

5.1 Sprachkonzepte<br />

SAM (Solid Agents in Motion) basiert auf den Gr<strong>und</strong>konzepten des Berechnungsmodels<br />

von Pictorial Janus, das hinsichtlich praktischer Anwendungsbereiche gr<strong>und</strong>legend modifiziert<br />

wurde. Ein SAM-Programm läßt sich als Menge parallel agierender <strong>und</strong> zustandsbehafteter<br />

Objekte (oder Agenten) beschreiben, die durch Nachrichten kommunizieren. Das<br />

Verhalten der SAM-Agenten wird durch einfache Produktionsregeln beschrieben, die lokale<br />

Aktionen ausführen. Eine lokale Aktion ändert die unmittelbare Umgebung des Agenten<br />

<strong>und</strong> hat keinen direkten Einfluß auf andere Agenten (bis auf zwei besondere lokale Aktionen<br />

zum Erzeugen <strong>und</strong> Zerstören von Agenten)<br />

Die Kommunikation in SAM erfolgt (analog zu PJ) über benannte Ports. Jeder Agent besitzt<br />

Ausgangsports, von denen Nachrichten zu anderen Agenten versendet werden <strong>und</strong><br />

Eingangsports, die ankommende Nachrichten speichern. Nachrichten können an einen einzelnen<br />

Agenten, an Agenten mit best<strong>im</strong>mten Ports (groupcast) oder alle Agenten geschickt<br />

werden (broadcast).<br />

Eine SAM-Regel ist eine Produktionsregel <strong>und</strong> besteht aus Vorbedingungen <strong>und</strong> einer Konklusion.<br />

Bedingungen in Regeln bestehen aus Statusabfragen, Typüberprüfungen an Eingangsports<br />

<strong>und</strong> arithmetischen Ausdrücke. Eine Statusbedingung besagt, daß der Agent<br />

sich in einem best<strong>im</strong>mten Zustand befinden muß. Befindet sich der Agent in dem gefordertem<br />

Zustand, so gilt die Bedingung als erfüllt. Wird keine Statusbedingung angegeben, ist<br />

der Zustand des Agenten nicht relevant.<br />

Typ-Bedingungen sind an die jeweils benannten Ports geb<strong>und</strong>en. Sie geben an, welche<br />

Nachrichten sich an diesem Port befinden müssen, damit die Regel ausgeführt werden darf.<br />

Neben vordefinierten Typen (wie String, Int, Koordinate) können auch beliebige Typ verwendet<br />

oder die Typüberprüfung abgeschaltet werden. Sind alle Vorbedingungen einer Regel<br />

erfüllt, werden die Konklusionen ausgewertet. Der Konklusionsteil einer Regel ist eine<br />

Liste von Aktionen, die sequentiell ausgeführt werden. Aktionen können dabei lokale Aktionen<br />

sein oder das Senden von Nachrichten an andere Agenten bzw. an sich selbst. Zur<br />

Zeit sind als lokale Aktionen Statusänderungen, einfache 3D-<strong>An<strong>im</strong>ation</strong>en (Skalierung,<br />

Translation, Farbinterpolation, Translation) <strong>und</strong> das Erzeugen <strong>und</strong> Löschen von Agenten<br />

möglich. SAM wurde jedoch so entwickelt, daß das Hinzufügen neuer Datentypen <strong>und</strong>

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!