Abstraktion, semantische und syntaktische Spezifikation bei ADTs

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 4,08 KB

1.- Was ist Abstraktion? Arten der Abstraktion

Abstraktion ist ein mentaler Prozess zur Erfassung von Phänomenen oder Situationen, die viele Details enthalten. Ziel ist es, eine für den jeweiligen Zweck geeignete, vereinfachte Darstellung zu erhalten. Abstraktion besteht im Wesentlichen aus zwei Aspekten:

  • Hervorheben der wichtigsten Details des betrachteten Objekts.
  • Ignorieren irrelevanter Details des Objekts (auf dieser Ebene der Abstraktion).

Abstraktion ist von grundlegender Bedeutung für ein kürzeres, lesbareres, leichter wartbares und zuverlässiges Softwaredesign — kurz: für hochwertige Software.

Programmiersprachen sind die Werkzeuge, die Programmierer nutzen, um abstrakte Modelle zu implementieren. Man kann Abstraktionsmechanismen grob in zwei Typen unterteilen:

  • Operative Abstraktion: Sie basiert auf dem Einsatz von Prozeduren und/oder Funktionen, ohne sich um die konkrete Implementierung zu sorgen. Sie beschreibt was getan wird, nicht wie es umgesetzt ist.
  • Datenabstraktion: Eine Programmiertechnik, die es erlaubt, neue, anwendungsbezogene Datentypen zu definieren und deren Schnittstellen unabhängig von der internen Darstellung zu beschreiben.

21.- Was ist die semantische Spezifikation?

Die semantische Spezifikation ist eine Menge von Richtlinien, die die Bedeutung der einzelnen Operationen eines abstrakten Datentyps (TAD) festlegen. Sie kann in verschiedenen Formen ausgedrückt werden:

  • In natürlicher Sprache (dies kann jedoch zu Mehrdeutigkeiten führen).
  • Durch eine algebraische Sprache, die eine Menge von Axiomen bereitstellt, mit denen die Operationen auf die betreffenden Objekte überprüft werden können.
  • Durch abstrakte Modelle, in denen die Domäne und die Operationen eines Typs formal definiert werden.

In jedem Fall lassen sich zur Beschreibung von Verhalten Vorausbedingungen (Preconditions) und Nachbedingungen (Postconditions) verwenden: Vor der Ausführung muss die Voraussetzung erfüllt sein; nach der Ausführung müssen die Nachbedingungen gelten.

Die semantische Spezifikation legt somit das erwartete Verhalten der einzelnen Methoden fest, wie sie in der syntaktischen Spezifikation beschrieben sind. Insbesondere definiert sie die Werte oder Ergebnisse, die bei Aufrufen auf einer Instanz des abstrakten Datentyps zurückgegeben oder erzielt werden müssen.

22.- Was ist die syntaktische Spezifikation?

Die syntaktische Spezifikation ist eine Reihe von Regeln, die festlegen, wie Operationen zu schreiben sind — also die Reihenfolge und Art der Operanden, den Rückgabetyp und die Signatur der Operationen. Sie definiert formal alle gültigen Prozeduren oder Methoden, die eindeutig auf die Elemente der Datenstruktur eines abstrakten Datentyps zugreifen.

Die Menge der Methoden eines TAD kann typischerweise wie folgt klassifiziert werden:

  • Default-Konstruktor: Initialisiert eine Instanz mit Standard- oder statischen Werten; reserviert erforderlichenfalls Hauptspeicher.
  • Parametrisierter Konstruktor: Initialisiert eine Instanz mit vom Anwender übergebenen Parametern.
  • Zugriffsmethoden (Access Methods): Lesen oder liefern die Werte der einzelnen Datenkomponenten, aus denen der abstrakte Datentyp besteht.
  • Verarbeitungsmethoden: Ermöglichen das Verändern und Modifizieren des aktuellen Inhalts der Komponenten des abstrakten Datentyps.
  • Destruktor-Methode: Gibt von einer Instanz belegten Speicher bzw. Ressourcen wieder frei.
  • Sonstige Operationen: Erzeugungsoperationen, Abfrage-/Berateroperationen, destruktive Operationen und Modifikatoren.

Die syntaktische Spezifikation stellt damit die formale Schnittstelle bereit, während die semantische Spezifikation das korrekte Verhalten dieser Schnittstelle beschreibt.

Verwandte Einträge: