A.o. Univ. Prof. Dr. Dipl.-Ing. eva Kühn
TU Wien

A Prolog-Based Coordination Language CoPro and its Implementation (Dissertation)

Context

-

Task Description

Diese Arbeit befast sich mit der Erweiterung von sequentiellem Prolog um Koordinationseigenschaften wie Nebenläufigkeit, zuverlässige Kommunikation und ein fortschrittliches Transaktionsmodell sowie der effizienten Implementierung der resultierenden Sprache ,,CoPro'' Coordination Prolog} auf verteilten Rechnern. Damit unterscheidet sich der vorliegende Ansatz in seinem Ziel nicht nur von den zahlreichen Versuchen, Prolog um Parallelismus zu erweitern, deren Anliegen es ist, hohe Performance bei der Exekution von sequentiellem Prolog auf parallelen Hardwarearchitekturen zu erreichen, sondern auch von allen bekannten Ansätzen, Prolog um Nebenläufigkeit zu erweitern (auch CL "Concurrent Logic'' Sprachen genannt), die explizite Sprachkonstrukte zur Synchronisation paralleler Prozesse anbieten. Im Gegensatz zu CL Sprachen schränkt CoPro die Semantik von Prolog nicht ein, sondern stellt eine echte Übermenge von Prolog dar und eignet sich für das Erstellen von robusten, verteilten, industriellen Anwendungen. Ausgangspunkt war ein früher Entwurf einer solchen Sprache, genannt VPL (Vienna Parallel Logic), deren Semantik in der vorliegenden Arbeit wesentlich verbessert und im Detail präzise erarbeitet wurde. Insbesonders wird erstmals der Aspekt der Kombination von verschiedenen Arten von Indeterminismus ({\em "don't know''} und {\em "don't care''}) in einem System methodisch einwandfrei erklärt und die Position von CoPro zu der Familie von CL Sprachen und Dialekten genau analysiert. Verschiedene Programmiertechniken werden erkannt und präsentiert, die CoPro's Relevanz für verteilte Anwendungsprogrammierung verdeutlichen. Ein weiterer Aspekt der vorliegenden Arbeit stellt die effiziente Implementierung von CoPro dar. CL Sprachen und paralleles Prolog wurden untersucht und obwohl diese Sprachen von einer anderen Zielsetzung ausgehen, die dort verwendeten Techniken (z.B. den Mechanismus, Variablenbindungen zwischen parallelen {\em Threads} zu verwalten) auf ihre Brauchbarkeit für CoPro untersucht und entsprechend verbessert. Ergebnis war der Entwurf und die Implementierung einer neuen abstrakten Maschine für CoPro, die die klassische WAM ("Warren Abstract Machine'') erweitert und die auf binärem Prolog aufbaut. Der Befehlssatz der neuen abstrakten Maschine unterstützt UND und ODER Parallelismus. Für die Koordinationseigenschaften von CoPro werden Aufrufe der Applikationsschnittstelle eines neuen Middleware Layers, genannt "Coordination Kernel'', generiert. Insgesamt wurde in dieser Arbeit eine erste, effiziente Implementierung der neuen Sprache CoPro realisiert, deren Komplexität und Ausdruckskraft sowohl paralleles Prolog als auch CL Sprachen weit übersteigt. Diese Arbeit wurde im Rahmen eines vom FWF geförderten Projekts ausgeführt (Multidatabase Transaction Processing, contract no. P09020-MAT).

(1996 finished)

Requirements

-

Student

Dipl.-Ing. Dr. Liu Wei (please contact eva Kühn)

Supervisor

A.o. Univ.-Prof. Dr. Dipl.-Ing. eva Kühn (please contact eva Kühn)

Related Projects in the Network

Contact
Sitemap
Home
Fakultät für Informatik
Technische Universität Wien
top | XHtml 1.0 strict | last update: Mar 2009