Skip to main content

2023 | Buch

Logische und Methodische Grundlagen der Entwicklung verteilter Systeme

Unter Mitarbeit von Alexander Malkis

insite
SUCHEN

Über dieses Buch

Softwareentwicklung erfordert – ausgehend von informellen Problemstellungen – Spezifikationen unter Festlegung der Daten- und Rechenstrukturen, Implementierungen und die Verifikation der Korrektheit. Zur Bewältigung dieser Aufgaben hat die Informatik eine Reihe grundlegender Ansätze und Methoden entwickelt, die in zwei Bänden in einem einheitlichen Rahmen zusammengefasst und an Beispielen erläutert werden. Der erste Band widmet sich der Spezifikationen von Daten- und Rechenstrukturen, der Spezifikation und Implementierung sowie dem Nachweis der Korrektheit funktionaler, prozeduraler und objektorientierter Programme. Der zweite Band dieses umfassenden und zugleich grundlagenorientierten Werkes behandelt softwareintensive Systeme und ihre Darstellung durch Zustandsmaschinen, nebenläufige Programme mit gemeinsamen Variablen, Datenflussprogramme, Schnittstellspezifikation, Zeitfluss, Architektur verteilter Systeme, Prozessmodellierung, Verfeinerung und spezifische Formalismen wie CSP, TLA und prädikative Spezifikation.Dies schließt unter anderem auch Themen wie Korrektheitsbeweise in Hinblick auf Sicherheit und Lebendigkeit sowie schrittweise Verfeinerung ein. Insbesondere werden im Buch die Grundlagen für eine wissenschaftlich abgesicherte Entwicklung von Programmen gelegt.

Inhaltsverzeichnis

Frontmatter
Kapitel 1. Einführung: Verteilte, nebenläufige und interaktive Systeme
Zusammenfassung
In diesem Buch beschäftigen wir uns mit verteilten, interaktiven, vernetzten, informationsverarbeitenden Systemen, insbesondere mit ihrem Verhalten, ihrer zeitlichen und räumlichen Verteilung sowie Fragen der Nebenläufigkeit, der Kommunikation und Kooperation. Dabei schließen wir in unsere Betrachtungsweise sowohl reale, physikalische oder technische Systeme („Hardware“, mechatronische Systeme, betriebswirtschaftliche Systeme und Systeme aus Computern und informationsverarbeitender Software) als auch reine Softwaresysteme („virtuelle Systeme“) ein. Komplexe, physische, technische oder organisatorische Systeme, die wir betrachten, bestehen aus Hardware (Rechner und Kommunikationseinrichtungen), Software, menschlichen Bearbeitern und/oder mechanischen Geräten einschließlich Peripherie wie Bedienschnittstellen, Sensoren und Aktuatoren.
Manfred Broy

Zustandsbasierte Systemmodelle

Frontmatter
Kapitel 2. Zustandssicht: Systeme als Zustandsmaschinen
Zusammenfassung
Ein weit verbreitetes, eingängiges Modell für Berechnungen, für die Darstellung von Algorithmen und auch für die Beschreibung von interaktiven Systemen bilden Zustandsübergangssysteme, die auch als Zustandsmaschinen (engl. State transition machine, STM) bezeichnet werden.
Manfred Broy
Kapitel 3. Attributierte Zustandsräume und parallele Programme
Zusammenfassung
Im Zentrum dieses Kapitels stehen schwerpunktmäßig anweisungsorientierte Programme und Nebenläufigkeit. Diese Programme arbeiten über attributierten Zustandsräumen und definieren Zustandsübergänge. Wir haben bereits Beispiele für attributierte Zustandsräume behandelt.
Manfred Broy

Asynchrone Interaktion, Verteilung und Zeit

Kapitel 4. Schnittstellen asynchroner interaktiver Systeme
Zusammenfassung
In der Zustandssicht auf ein System haben wir Systemzustände und Zustandsübergänge sowie Abläufe betrachtet. Das gibt uns gleichsam eine „Innensicht“ auf das System und sein Verhalten, insbesondere auf seine lokalen Zustände. Die Auswirkungen des Systems auf seine Umgebung und seine Interaktionen mit der Umgebung werden dabei nur indirekt betrachtet.
Manfred Broy
Kapitel 5. Asynchrone Systemarchitekturen
Zusammenfassung
In der Programmierung und Systementwicklung sind wir aus naheliegenden Gründen an einer abstrakten Beschreibung von Programmen, Software, Systemen und ihrer Logik interessiert, an deren modularen Strukturierung in Teilsysteme und an dem Zusammenwirken der Teilsysteme über Schnittstellen. Im Rahmen einer Systementwicklung zerlegen wir ein System in einem Entwurf (Design) in geeigneter Weise in eine Reihe von Teilsystemen, die wir auch die Komponenten des Systems nennen.
Manfred Broy
Kapitel 6. Zeit- und Datenfluss
Zusammenfassung
Bisher haben wir nur Systemmodelle betrachtet, bei denen quantitative Zeit, also die zeitliche Dauer von Aktionen, auch die zeitliche Dauer zwischen zwei Aktionen, und auch zwischen Kommunikationsaktionen, wie der zeitliche Abstand zwischen Senden und Empfangen, zwischen Eingabe und Reaktion oder zwischen der Ausführung von Aktionen, keine explizite Rolle spielt. Wesentlich war bisher lediglich die Frage, ob eine Aktion vor oder nach einer anderen Aktion stattfindet. Für viele Anwendungen, insbesondere für eingebettete Systeme, sind jedoch Fragen der quantitativen Zeit von besonderer Bedeutung.
Manfred Broy

Prozesse, synchroner Nachrichtenaustausch und Verfeinerung

Kapitel 7. Prozesse als Abläufe verteilter Systeme
Zusammenfassung
In diesem Kapitel behandeln wir die Ablauf- oder Prozesssicht auf Systeme. Das Verhalten von Systemen wird dabei durch Mengen von Spuren (engl. traces), Abläufen (engl. executions) oder Prozessen beschrieben. Ein Prozess eines Systems besteht aus einer Menge diskreter Ereignisse, die Instanzen von Aktionen (also das Ausführen von Aktionen) darstellen und in einer zeitlichen oder kausaler Beziehung zueinander stehen.
Manfred Broy
Kapitel 8. Nachrichtensynchrone Systeme
Zusammenfassung
Bisher haben wir in Teil II beim Nachrichtenaustausch für interaktive Systeme primär asynchrone (gepufferte) Kommunikation betrachtet. Dies bedeutet, dass vom Sender Nachrichten unabhängig von der Frage, ob der Empfänger empfangsbereit ist, gesendet werden. Dies hat den Vorteil, dass die Systemkomponenten entkoppelt arbeiten können.
Manfred Broy
Kapitel 9. Zustands- und Ablaufsicht
Zusammenfassung
Wir haben bisher eine Reihe unterschiedlicher Systeme, Systemmodelle und Sichten darauf behandelt, aber den Zusammenhang zwischen den Sichten nur punktuell und beispielhaft beschrieben. In diesem Kapitel werden diese Zusammenhänge genauer dargestellt. Wir behandeln die Beziehung zwischen Zustands- zur Ablaufsicht.
Manfred Broy
Kapitel 10. Verfeinerung von Systemen
Zusammenfassung
Im Software-Engineering und im Systems-Engineering entwickeln wir typischerweise Systeme schrittweise. Dabei beschreiben wir in aller Regel Systeme zunächst unvollständig, eher abstrakt, stark vereinfacht oder nur in Ausschnitten und dann immer detaillierter in unterschiedlichen, geeignet gewählten Abstraktionsebenen. Im Idealfall bleiben alle Festlegungen gültig und es kommen weitere hinzu.
Manfred Broy
Backmatter
Metadaten
Titel
Logische und Methodische Grundlagen der Entwicklung verteilter Systeme
verfasst von
Manfred Broy
Copyright-Jahr
2023
Verlag
Springer Berlin Heidelberg
Electronic ISBN
978-3-662-67317-1
Print ISBN
978-3-662-67316-4
DOI
https://doi.org/10.1007/978-3-662-67317-1

Premium Partner