[Prev] [Next]


A. User-Manual zum EROS7-System

A.1. Aufbau von EROS7

Das wissensbasierte Reaktionsvorhersagesystem EROS7 ist aus mehreren Teilen aufgebaut: der im Kern liegenden Repräsentation chemischer Strukturen, der Berechnung physikochemischer Parameter sowie der Reaktionsgenerierung, des Aufbaus des Reaktionsnetzwerks und der Wissensbasis, den Regeln. In den Regeln wird festgelegt, wie, wann und wo Reaktionen an den Ausgangsmaterialien bzw. den Reaktionsprodukten durchgeführt werden.

Abbildung 212: Aufbauschema von EROS7.

Das gesamte Reaktionsnetzwerk gliedert sich dabei in mehrere Bereiche, die Reaktoren. Für einen Reaktor werden zunächst alle Reaktionen erzeugt, sowie die kinetischen Daten berechnet. Das Ergebnis eines Reaktors kann dann als Ausgangsmaterial (inklusive der Konzentrationen und Stoffströme) für einen weiteren Reaktor verwendet werden. So ist es möglich, die Reaktionen in einem Rührkessel mit zwei Phasen, zum Beispiel Octanol und Wasser, zu simulieren und die anschließende Aufarbeitung der Produkte der Octanolphase in einem zweiten Reaktor vorherzusagen. Ergebnis der gesamten Vorhersage sind dann die aufgearbeiteten Produkte und deren Konzentrationen / Stoffströme.

Wie schon im gerade beschriebenen Beispiel erwähnt, gliedert sich ein Reaktor wiederum in eine oder mehrere Phasen. Die Reaktionen eines Reaktors werden ebenenweise durchgeführt, wobei für jede Reaktionsebene eines Reaktors je eine Ebene aller Phasen des Reaktors vorgenommen wird. Bei diesen Reaktionen kann es sich sowohl um Reaktionen innerhalb einer Phase, wie auch um Phasenübergänge und Phasentransferreaktionen handeln. Für die Konzentrationsberechnung der einzelnen Substanzen können verschiedene kinetische Modelle verwendet werden. Dieses Modell bezieht sich auf alle Reaktionen und Phasen eines Reaktors.

Für die einzelnen Reaktionen selbst wird zunächst die Anwendbarkeit überprüft und nach der Reaktion abhängig von physikochemischen Parametern der Edukte und/oder der Produkte sowie Umgebungseinflüssen und der Entstehungsgeschichte der Produkte ein Reaktivitätswert berechnet. Diese Reaktivität wird dann in der kinetischen Evaluation verwendet.

A.2. Benutzerschnittstelle

Zur Benutzerschnittstelle zählen die Regeln (Wissensbasis) und die Aufrufparameter des Programms EROS7. Die meisten Einstellungen für EROS7 werden in den Regeln vorgenommen (siehe Anhang B). Dazu gehören die Reaktionstypen, die Phasen und Reaktoren sowie die Definition der Kinetik.

A.2.1. Die Regeln

Der größte Teil von EROS7 ist in C++ programmiert. Auch die Regeln können in C++ geschrieben werden. Dabei ist der Aufbau der Regeln nicht, wie es für C++ üblich wäre, objektorientiert, sondern wie in der algorithmischen Programmiersprache C gegliedert. Dies hat den Vorteil, daß zum Abfassen einer Regel nur geringe C++-Kenntnisse benötigt werden und, was viel wichtiger ist, daß es möglich ist, für die Regelschnittstelle ein Interface zu einer anderen, auch nicht objektorientierten, Sprache zu schreiben. So besitzt EROS7 ein Tcl-Interface, was weitere Vorteile bietet. So besteht die Möglichkeit, die Regeln in der Entwicklungsphase über den dazugebundenen Tcl-Interpreter ausführen zu lassen. Man kann die Regeln schnell, ohne sie neu übersetzen und EROS7 neu linken zu müssen, abändern und sofort testen. Da es auch Tcl-Compiler gibt, die die Tcl-Regeln in C übersetzen, kann man die ausgereiften Regeln übersetzen und in EROS7 einbinden. Dies sollte einen Geschwindigkeitsvorteil bringen und kann praktisch sein, wenn man das Programm an Dritte weitergibt. Diese Lösung ist dennoch flexibel, da der Tcl-Interpreter auch dann Teil von EROS7 ist und jederzeit über eine Kommandozeilenoption auf die externen Tcl-Regeln umgeschaltet werden kann. So hat man ein System, das die Vorteile der einzelnen Methoden der Anbindung der Wissensbasis in sich vereinigt.

Für die Tcl-Regeln gibt es darüber hinaus noch zwei weitere Möglichkeiten. So können in einem Tcl-File mehrere Regelfunktionen verschiedenen Namens enthalten sein, wobei eine selektiert werden kann. Möchte man später auf eine andere Sprache für die Regeln - aus welchen Gründen auch immer - umsteigen, muß nur ein neues Interface zur C++-Regelschnittstelle geschrieben werden.

A.2.2. Die Aufrufparameter

Aber auch durch die Aufrufparameter können die Berechnungen von EROS7 beeinflußt werden. Alle Optionen von EROS7 haben die Form -Option=Wert. Besteht die Option nur aus einem einzigen Buchstaben, kann das =-Zeichen entfallen, wobei der Wert direkt an die Option angehängt wird. EROS7 kennt keine zwingende Option, meist werden jedoch die Optionen für die Selektion der Datei mit den Ausgangsverbindungen (-i), die zu verwendenden Regeln (-r), die Zahl der durchzuführenden Reaktionsebenen (-levels) sowie die Ausgabedateien für die Reaktionen (-o) und Strukturen (-s) angegeben. Die Option -i entfällt nur in dem seltenen Fall, daß EROS7 als Schnittstelle zur Datenstruktur RICOS für andere Programme verwendet wird. (Teile der Aufrufparameter in [ ] sind optional.)

A.2.2.1. Eingabedatei

Die Moleküle, mit denen EROS7 seine Reaktionen durchführt, werden aus einer Datei gelesen. Diese wird mit der Option -i angegeben. Soll zusätzlich das Format, in dem EROS7 die Eingabedatei erwartet, vom Standardwert (ctx-Datei, siehe unten) auf MO-orientierte Kodierung umgestellt werden, kann dies mit -fr=mo geschehen.

 Option	Default-Wert	Werte
 -iinput_file	keiner	Dateiname (in)
 -fr=format	ctx	ctx bzw. mo

A.2.2.2. Regeln

Eine der wichtigsten Angaben ist die, welche Regeln verwendet werden sollen. Wird die Option -r nicht angegeben, werden die dazugebundenen, compilierten C++-Regeln aufgerufen. Ist der Tcl-Interpreter zu EROS7 gebunden worden, können auch die compilierten Tcl-Regeln (compiled_tcl) und Tcl-Regeln, die in einer Datei stehen und dann interpretiert werden, selektiert werden. Um die Regeln aus einer Tcl-Regeldatei zu laden, wird für die Regeln der entsprechende Dateiname angegeben. Optional kann bei den Tcl-Regeln nach dem Namen der Regeldatei bzw. compiled_tcl auch noch durch eine Doppelpunkt abgetrennt der Name der Regelprozedur angegeben werden (z.B. f, siehe unten). Standardmäßig heißt sie Tcl_rule.

 Option	Default-Wert	Werte
 -r[debug:]rules[:f]	compiled_c++	Regeldatei
Durch die Angabe -rshow gibt EROS7 die Namen aller zusätzlich eingebauten Regeln aus und beendet den Programmlauf ohne Reaktionen zu generieren. Wird bei Tcl-Regeln debug: vor den Namen der Regeln gestellt, wartet der Tcl-Interpreter nach jedem der unzähligen Aufrufe der Regelfunktion auf eine Benutzereingabe. Diese Möglichkeit ist zur Fehlersuche gedacht.

A.2.2.3. Steuerung der Reaktionsgenerierung

Die meist gebrauchte Option aus dem Bereich der Steuerung der Reaktionsgenerierung ist die Festlegung der maximal erzeugten Reaktionsebenen mit -levels.

 Option	Default-Wert	Werte
 -levels=1	1	1, 2, 3, ...
 -e2	32767	1, 2, 3, 
 -Vpi:3.14,num#7	keiner	siehe Text
Die beiden anderen hier aufgeführten Aufrufparameter sind für den versierten Benutzer, der zugleich sehr gute Kenntnisse über die verwendeten Regeln besitzt. Die Phasen der Regeln sind von 1 bis n durchnumeriert. Mit der Option -e kann die Nummer der Phase angegeben werden, die als letzte Reaktionen generiert. Angenommen in den Regeln seien fünf Phasen definiert, die alle Reaktionen erzeugen, könnten durch die Option -e3 die Phasen vier und fünf von der Reaktionsgenerierung ausgenommen werden.

Mit der Option -V können, jeweils durch ein Komma getrennt, mehrere Variablen erzeugt werden, die an die Regeln übergeben werden. Diese können darauf reagieren, müssen aber nicht. Als erstes wird immer der Name, unter dem diese Variable an die Regeln übergeben werden soll, angegeben, der ein Separator folgt. Dieser trennt nicht nur den Wert vom Namen, sondern gibt auch an, um welchen Datentyp es sich handelt. # steht für int, : für double und $ für const char*.

A.2.2.4. Traceoutput

Normalerweise gibt EROS7 nur Warnungen und Fehlermeldungen aus. Leider halten sich nicht alle eingebundenen Modulpakete daran. Indem man schrittweise das Tracelevel (-trace) erhöht, erhält man zusätzliche Informationen über alle Bereiche von EROS7, inklusive der Regeln. Da so eine große Menge an Daten anfallen kann, ist es möglich diese in eine Datei umzulenken (-tout).

 Option	Default-Wert	Werte
 -trace=1	0	0, 1, 2, ...
 -tout=trace_file	stdout	Dateiname (out)

A.2.2.5. Ausgabedateien

Eine Berechnung mit EROS7 ist wenig sinnvoll, wenn die Ergebnisse nicht ausgegeben werden. Da keine der Ausgabedateien standardmäßig geschrieben wird, ist darauf zu achten, daß eine der drei Optionen angegeben ist: -o, -s oder -ms. Da bei der Verwendung von EROS7 als Schnittstelle keine der Dateien geschrieben werden soll, ein vorgegebener Wert durch die Angabe der Option mit einem Wert zwar geändert, aber nicht gelöscht werden kann, wurde dies so gemacht.

 Option	Default-Wert	Werte
 -oreaction_file	keiner	Dateiname (out)
 -sstructur_file	keiner	Dateiname (out)
 -sort=modus	p	p, c oder n
 -p1	siehe Text	1, 2, 3, ...
 -ms=spectra_file	keiner	Dateiname (out)
 -fw=format	ctx	ctx bzw. mo
Die Option -o gibt den Namen der Datei an, in die die Reaktionen geschrieben werden. Sollen auch die Strukturen einer bestimmten Phase ausgegeben werden, kann dies mit -s aktiviert werden. Standardmäßig ist dies die in den Regeln angegebene output_phase. Möchte man jedoch die Aggregate einer anderen Phase, kann man dies durch -p selektieren. Die Reihenfolge, in der die Strukturen in die Datei geschrieben werden, richtet sich normalerweise nach der Persistenz, wobei mit dem größten Wert begonnen wird. Durch -sort kann dies auf fallende Konzentration (c) oder numerisch aufsteigend (n) geändert werden.

Die Option -ms initiiert, daß aus den Endkonzentrationen, Ladungen und Strukturen der Phase ein Massenspektrum berechnet wird, das zusammen mit den Strukturen der Ausgangsverbindungen in die angegebene Datei geschrieben wird.

Schließlich kann noch das Format, in dem die Strukturen in die verschiedenen Dateien geschrieben werden, mit -fr bestimmt werden.

A.3. Ein Beispielsaufruf von EROS7

Im folgenden Beispiel liest EROS7 die Ausgangsverbindungen aus der Datei mols.ctx, erzeugt maximal fünf Reaktionsebenen mit den Tcl-Regeln in der Datei regeln.tcl und schreibt die Reaktionen in die Datei rxs.ctx. Die Strukturen der in den Regeln angegebenen Ausgabephase werden in die Datei str.ctx ausgegeben. Alle Dateien haben das Format CTX.

eros7 -imols.ctx -rregeln.tcl -levels=5 -orxs.ctx -sstr.ctx

mols.ctx Datei mit den Ausgangsverbindungen

regeln.tcl Tcl-Regeldatei

rxs.ctx Datei, in die die Reaktionen geschrieben werden

str.ctx Datei, in die die Strukturen der Ausgabephase geschrieben werden

Dieses Beispiel stellt den Standardfall für den Aufruf von EROS7 dar.



[Prev] [Next]


robert(at)robert-hoellering.de
Copyright © 1998, Höllering Universität Erlangen-Nürnberg. All rights reserved.