Methods for controlled execution of nondeterministic communicating programs

From MaRDI portal





Kurzfassung: Im Mittelpunkt dieser Arbeit stehen der Nichtdeterminismus in kommunizierenden Programmen und die damit verbundenen Probleme in den Phasen des Testens und der Fehlersuche. Nichtdeterminismus stellt ein essentielles Mittel zur Leistungssteigerung in kommunizierenden, d.h. parallelen und verteilten Programmen dar, da hierdurch der Grad der Nebenläufigkeit erhöht werden kann. Aufgrund der resultierenden Eigenschaften nichtdeterministischer Anwendungen, wie z.B. Nichtreproduzierbarkeit, ist eine spezielle Behandlung in den genannten Phasen der Programmentwicklung notwendig.NEWLINENEWLINENEWLINEAls Ausgangspunkt dient eine detaillierte Untersuchung der Ursachen des Nichtdeterminismus in kommunizierenden Programmen. Die grundlegede Ursache sind unbhängige nicht synchronisierte Zugriffe auf gemeinsame Ressourcen. Eine derartige Situation wird in dieser Arbeit verallgemeinert dargestellt. Zu diesem Zweck werden zur Abstraktion logische Kommunikationsmedien eingeführt.NEWLINENEWLINENEWLINEDurch eine ausführliche Diskussion der bestehenden Methoden zur Behandlung von Nichtdeterminusmus wird die Erkenntnis gewonnen, dass ausschließlich Methoden zur kontrollierten Ausführung hinreichende Ansätze zur Durchführung der gekannten Phasen darstellen. Existiereden Verfahren liegen jedoch entweder verbesserungswürdige Konzepte zugrunde oder sie sind auf spezielle Kommunikationsparadigmen beschränkt. Daher wird in der vorliegenden Arbeit eine Methode entwickelt, die auf einer abstrakten Ebene angewandt wird und eine effiziente Technik zur Beschreibung eines deterministischen Programmablaufs zur Verfügung stellt. Auf diese Weise läßt sich Nichtdeterminismus während des Testens und der Fehlersuche gezielt eliminieren.NEWLINENEWLINENEWLINEDie Ergebnisse einer Diskussion verbreiteter Programmierumgebungen und die erarbeiteten theoretischen Erkenntnisse führen zum Entwurf eines objektorientierten Modells zur abstrakten Darstellung kommunizierender Programme. Dadurch wird die Unanbhängigkeit von individuellen Programmierumgebungen erreicht. Auf dieser Ebene wird nun eine Sprache zur Formulierung von Kommunikationsmustern entwickelt, die der Beschreibung der deterministischen Programmabläufe dient. Damit lassen sich dynamische Vorschriften zur Kontrolle der Zugriffe auf Kommunikationsmedien als Muster formulieren. Auf der Basis dieser Muster wurde der Prototyp eines Werkzeugs für nachrichtenbasierte Kommunikation implementiert, der eine vollständige Elimination des Nichtdeterminismus erlaubt.NEWLINENEWLINENEWLINEDie Bedeutung der erarbeiteten Methode wird in verschiedenen Anwendungsszenarien unterstrichen. Dazu zählen neben dem Testen und der Fehlersuche verschiedene Ausprägungen der logischen Analyse und die Steuerung des Verhaltens langlaufender Programme (Computational Steering).











This page was built for publication: Methods for controlled execution of nondeterministic communicating programs

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q2724186)