[ < ] [ globale Übersicht ] [ Kapitelübersicht ] [ Stichwortsuche ] [> ]


5.11 Problem Solving Environments

Was sind PSEs?

Aus "Computer as Thinker/Doer Problem-Solving Environments for Computational Science" von Stratis Gallepoulos, Elias N. Houstis und John R. Rice:

"A PSE is a computer system that provides all the computational facilities necessary to solve a target of problems. These features include advanced solutions methods, automatic and semiautomatic selection of solutions methods, and ways to easily incorporate novel solution methods. Moreover, PSEs use the language of the target class of problems, so users can run them without spezialized knowledge of the underlying computer hardware or software. By exploiting modern technologies such as interactive color graphics, powerful processors, and networks of specialized services, PSEs can track extended problem solving tasks and allow users to review them easily. Overall, they create a framework that is all things to all people: they solve simple or complex problems, support rapid prototyping or detailed analysis, and can be used in introductory education or at the frontiers of science."

Dies ist nur eine von viele verschiedene Definitionen von PSEs. Es gibt noch keine allgemein anerkannte Definition. Worin liegt das?
Nun, PSEs bestehen genau genommen aus schon fertiggestellte Programm-Codes. Diese werden dann zu einem Programm zur Lösung eine speziellen Problems zusammengefügt. Anfang der 60iger Jahre beganen Wissenschaftler mit der Entwicklung von PSEs. Sie sollten ihrer Meinung nach, nicht nur mächtig genug sein, um sehr komplexe Probleme zu lösen, sondern sollten auch fähig sein mit Menschen in "Menschensprache" zu interagieren.
Was soll mit PSEs erreicht werden?

Das Problem besteht nicht darin die Daten zu sammeln, sondern sie zu bearbeiten und verwalten. Auch das Verwalten und Analysieren der Ergebnisse ist keine leichte Angelegenheit, vor allem wenn sie in große Mengen vorkommen.

Für kleine Datenmengen ist es günstig ein Programm mit Top-Down-Struktur zu schreiben oder Interaktive Multifunktionale Programmsysteme zu verwenden. Bei größere Datenmengen werden Expertensysteme bevorzugt. Expertensysteme verwenden die Objektorientierung als Grundgerüst und wenden die selbe Arbeitsweise wie menschliche Experten an. Die objektorientierte Struktur ermöglicht einen schichtenartigen Aufbau der PSEs. Ein PSE braucht: ein user-interface + Wissensbasis + Bibliotheken + Software Bus, wobei der Software Bus die Informationen von einer Seite des Systems zur anderer bringt. Das Problem wird in kleinere einfachere Aufgaben zerlegt und organisiert durch assoziieren der Informationen und Proceduren eines Objekts mit andere. Außerdem können bestimmte gewonnene Kenntnisse aufgerufen werden.

Ich halte es für angebracht Ihnen ein Beispiel zu geben, um zu visualisieren, wie Expertensysteme mit der Objektorientierung umgehen.
Bei der Analyse von Daten gibt es viele Informationen, die organisiert, verwaltet und gespeichert werden müssen. Ein Mensch würde wahrscheinlich Ordner verwenden. Folgende Informationen sollten protokolliert werden: die Codes der Analyse, Namen von Ein- und Ausgabedateien, Ein- und Ausgabevariabeln, Ergebnisse, Parametern, etc. Jede Information hätte ein Ordner und wenn etwas gebraucht wird, sucht man das dazugehörige Ordner. Expertensysteme arbeiten genauso wie Menschen nur, daß sie statt Ordner Objekte verwenden. Auf diese Art und Weise ist die Flexibilität und Vielseitigkeit des Systems garantiert.

Wie schon gesagt, sollen PSEs Zeit sparen. Zum Teil wurden sie dafür geschaffen, um routine Aufgaben zu automatisieren. Während der Experte die Aufgaben definiert, führen die PSEs diese aus, as werden also Hintergrundprozesse aktiviert. Auf dem Monitor erscheint ein kleines Fenster welches der Fortschritt der Prozesse anzeigt.
Durch die intensive Nutzung von Objekte, sind PSEs extrem leicht zu erweitern. Während z.B. ein Wissenschaftler mit Daten und Testsergebnisse, usw. arbeitet, tretten sehr oft neue Fragen auf. Neue Tests müssen durchgeführt und neue Daten müssen eingegeben werden. Dafür müssen nur die richtigen Erweiterungen gefunden und eingefügt werden. Die größte Schwierigkeit bereitet die Implementierung der neue Objekte.
Gibt es Methoden, um die Werte der Eingabevariablen zu lesen? Wurden die Ein- und Ausgabevariablen richtig definiert?
Diese und andere Fragen müssen geklärt werden bevor alles richtig funktioniert. Trotz der großen Vorteile von PSEs neigen viele Nutzer dazu ihre eigene Compiler zu schreiben, neue Tools und Sprachen zu entwerfen, um PSEs leichter zu erstellen oder schreiben die PSEs, die sie gerade brauchen neu. Einige mögliche Antworten auf dieses Phänomen sind, daß entweder die Nutzer keine Kenntnisse über mögliche wiederverwertbare PSEs haben oder sie sind mit den vorhandenen Ressourcen nicht zufrieden.

Der Umfang eines PSEs hängt von der gestellte Aufgabe ab. Man lässt sich aber leicht täuschen. Einige Aufgaben scheinen einen sehr geringeren Umfang zu besitzen, dennoch sind sie sehr schwer zu implementieren. Ein Beispiel sind PDEs (partial differential equations). Es ist ein sehr umfangreichen Bereich. Dessen PSEs sind nicht immer in der Lage die Problemstellungen zu lösen und liefern manchmal falsche Ergebnisse, aber sie sind immer mehr in der Lage die Spezifikationen von viele PDE-Modelle zu analysieren.
Die Welt ist so kompliziert und verschieden, daß es praktisch unmöglich ist, ein "universellen" PSE für alle Probleme zu entwickeln. Es wird ständig nach neue Wege gesucht, um die Nutzung der PSEs zu verbessern.
Hier einige Projekte:

Wenn sie sich näher dafür interessieren oder besondere Fragen haben, dann können Sie eine der folgende Personen schreiben:

oder besuchen Sie folgende Seiten:

Verfügbare Problem Solving Environments

Diese sind nur einige Softwareanwendungen...


[ < ] [ globale Übersicht ] [ Kapitelübersicht ] [ Stichwortsuche ] [ > ]