Semantik (Logik)
In der Logik beschäftigt sich die Semantik mit der exakten Bedeutung von Termen in Sprachen. In der Informatik soll sie die Semantik eines Computerprogramms syntaktisch ausdrücken und so mathematischen Beweisen zugänglich machen.
In Abgrenzung zur Semantik im allgemeinen Sinn, wie sie vor allem in Philosophie und Linguistik betrieben wird, arbeitet die Semantik in der Logik mit rein formalen, logisch-mathematischen Methoden. Die moderne formale Semantik (in der Linguistik) hat ihren Ursprung in Arbeiten von Alfred Tarski, Richard Montague, Alonzo Church und anderen.
Semantik in der Mathematischen Logik
In der formalen Logik ist die Semantik ein Teilgebiet, das in das Gebiet der Modelltheorie fällt. Das Gegenstück zur formalen Semantik ist in der Logik die formale Syntax, bei der es um mechanische (das heißt: inhaltlich unbestimmte) Operationen mit bedeutungslosen Symbolen im Rahmen von Kalkülen geht. Erst durch eine zur Syntax passende Semantik werden die Symbole und Operationen der syntaktischen Ebene mit Bedeutungen versehen. Damit wird es möglich, im Rahmen der Modelltheorie die Zusammenhänge zwischen Syntax und Semantik eines formalen Systems zu untersuchen und Aussagen über (semantische) Vollständigkeit und Korrektheit zu beweisen. Der Pionier der modernen formalen Semantik in der Logik war Alfred Tarski.
Semantik in der Theoretischen Informatik
Als Semantik bezeichnet man ein Teilgebiet der theoretischen Informatik, das sich damit beschäftigt, Bedeutung von Computerprogrammen und Spezifikationen zu formalisieren. Dies wird zum Beispiel für den Nachweis der Korrektheit von Computerprogrammen benötigt (Verifikation). Anders als die linguistische Semantik, die ein Teil der Linguistik ist, arbeitet die formale Semantik mit vollständig mathematischen Methoden. Sie ist eng verwandt mit der Berechenbarkeitstheorie, die sich damit beschäftigt, welche Probleme mit Computerprogrammen überhaupt gelöst werden können.
Die Semantik hat zum Ziel, die Bedeutung von Computerprogrammen in einer formalen Sprache auszudrücken – sie soll also die Semantik eines Computerprogramms syntaktisch ausdrücken, so dass sich über das Anwenden von Ableitungsregeln (Kalkülen) Aussagen über das Programm beweisen lassen.
Dabei finden folgende Kalküle Verwendung:
- denotationelle Semantik: Konstruktion der Semantik mittels mathematischer Räume aus der Bereichstheorie; die Semantik eines Programms wird durch eine Funktion zugewiesen.
- axiomatische Semantik: Beschreibung der Semantik durch ihre logischen Eigenschaften, wobei im Allgemeinen nur einige Eigenschaften betrachtet werden.
- operationelle Semantik: durch eine Zustandsübergangsfunktion oder Relation werden die möglichen Ausführungsschritte als Paare (Zustand, Nachfolgezustand) beschrieben.
- algebraische Semantik: ist eine Verbindung von Algebra und formalen Sprachen.
Literatur
- Joseph E. Stoy: Denotational Semantics. The Scott-Strachey Approach to Programming Language Semantics (The MIT Press Series in Computer Sciences; Bd. 1). 5. Aufl. MIT Press, Cambridge, Mass. 1989, ISBN 0-87630-751-9 (EA Cambridge 1977).
- Michael Main (Hrsg.): Mathematical Foundations of Programming Language Semantics (Lecture Notes in Computer Science; Bd. 298). Springer, Berlin 1988, ISBN 3-540-19020-1.
© biancahoegel.de
Datum der letzten Änderung: Jena, den: 21.09. 2022