11 Logik Formale Logik III

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "11 Logik. 11.1 Formale Logik III"

Transkript

1 III Neben statischen Strukturen und dynamischen Abläufen zwischen Systemkomponenten gibt es noch logische Abhängigkeiten, die unabhängig von der Statik und der Dynamik immer gelten. Solche logischen Abhängigkeiten können auf verschiedene Art und Weise formuliert werden. Mit Hilfe der Logik ist es auch möglich, Schlüsse zu ziehen, Widersprüche zu erkennen und Vollständigkeiten zu prüfen. Im Bereich der Programmierung können mit Hilfe der Logik Programme verifiziert werden. Die mathematische Logik ermöglicht es, logische Aussagen formal zu spezifizieren und Schlüsse daraus zu ziehen:»formale Logik«, S. 357 In der UML können logische Zusammenhänge einzelnen Modellelementen oder mehreren Modellelementen zugeordnet werden. Alternativ oder ergänzend kann die Sprache OCL zur Spezifikation von logischen Formeln verwendet werden:»constraints und die OCL in der UML«, S. 377 Eine der ältesten Basiskonzepte der Softwaretechnik sind Entscheidungstabellen, die es ermöglichen, den logischen Zusammenhang zwischen kombinierten Bedingungen und Aktionen zu beschreiben:»entscheidungstabellen und Entscheidungsbäume«, S. 386 Noch modularer sind logische Wenn-Dann-Regeln, die von Regelmaschinen ausgewertet werden:»regeln«, S Formale Logik Unter einer formalen Logik versteht man eine Menge von Regeln, mit denen Schlussfolgerungen formalisiert werden können. Spezielle formale Logiken wie die Aussagenlogik oder die Prädikatenlogik bilden die Grundlage für die formale Spezifikation von technischen und softwareintensiven Systemen. Im Wesentlichen umfasst jede formale Logik eine Klasse von mathematischen Modellen, zum Beispiel Mengen, Relationen, Funktionen oder Zustandsautomaten, eine präzise definierte Sprache mit der Aussagen über Modelle formuliert werden können und eine mathematische Relation zwischen Modellen und Aussagen, die angibt, ob ein Modell eine Aussage erfüllt oder nicht. 357

2 III Im Folgenden werden drei spezielle formale Logiken genauer vorgestellt, die für die exakte Spezifikation von Anforderungen und für die Verifikation von Programmen besonders wichtig sind:»aussagenlogik«, S. 358»Prädikatenlogik«, S. 367»Temporale Logik«, S. 370 Die Beispiele beziehen sich vorwiegend auf die Fallstudie»Fensterheber« Aussagenlogik Die Aussagenlogik bildet die einfachste der formalen Logiken. In ihr wird untersucht, welches Wissen sich über Aussagen gewinnen lässt, die aus einfachen Grundaussagen mittels einfacher Verknüpfungen gewonnen werden. Dabei ist hier nur erheblich, ob diese Grundaussagen wahr oder falsch sind. Ihnen wird keine tiefere Bedeutung beigemessen. Praktische Vorteile einer Formalisierung von Anforderungen in der Aussagenlogik liegen in der Präzisierung und Analysierbarkeit. Zum Beispiel können Anforderungen nach ihrer Formalisierung auf Widerspruchsfreiheit und Vollständigkeit geprüft werden. Syntax der Aussagenlogik Eine Formel der Aussagenlogik besteht aus atomaren Aussagen, die durch Junktoren verbunden werden. Ein Junktor beschreibt, wie die von ihm verknüpften Teilaussagen verbunden werden. Beispiel 1a: Die folgende Anforderung für einen Fensterheber soll formalisiert Fensterheber werden (siehe»fallstudie: Fensterheber Die Spezifikation«, S. 117): /F40/ Falls ein Signal anliegt, das das Öffnen einer Scheibe zur Folge hat, wird auf dem entsprechenden Motor die Spannung -12 V angelegt. Liegt die Batteriespannung zum Beginn der Scheibenbewegung unterhalb von 10V, so wird die Scheibenbewegung nicht durchgeführt. Statt dessen wird die CAN-Botschaft B_LOW_WIN = 1 gesendet. Für die Öffnen-Bewegung sind folgende Fälle zu beachten: /F50/ Ist die relevante Schalterstellung gleich Fenster runter man. oder ist die relevante CAN-Botschaft WIN_x_OP = 01, so wird die Scheibe nach unten bewegt. Die Bewegung endet, wenn /F51/ das entsprechende Signal nicht mehr anliegt (bzw. nicht mehr gesendet wird) oder /F52/ sich die Scheibe in der unteren Position befindet (d. h. F_UNTEN bzw. FF_UNTEN) oder /F53/ ein anderer Befehl zum Bewegen dieser Scheibe zu einem späteren Zeitpunkt eingeht (in diesem Fall wird der neue Bewegungsbefehl bearbeitet) oder 358

3 11.1 Formale Logik III /F54/ der Scheibenbewegungssensor (F_BEWEG bzw. FF_BEWEG) keine Signale sendet, obwohl der Scheibenmotor angesteuert wird und sich die Scheibe noch nicht in der unteren Position befindet (in diesem Fall wird die Botschaft ERROR_WIN = 1 gesendet und der Fehlercode 0x35 in den Fehlerspeicher eingetragen) oder /F55/ die Ansteuerung länger als 3 sec. dauert, ohne dass erkannt wird, dass sich die Scheibe in der unteren Position befindet (in diesem Fall wird die Botschaft ERROR_WIN = 1 gesendet und der Fehlercode 0x35 in den Fehlerspeicher eingetragen). Als erstes Beispiel wird der Satz /F40/»Falls ein Signal anliegt, das das Öffnen einer Scheibe zur Folge hat, wird auf dem entsprechenden Motor die Spannung -12 V angelegt.«formalisiert. Der Satz hat die Form»Falls A, wird B«. Somit ist»ein Signal, das das Öffnen einer Scheibe zur Folge hat, liegt an«eine atomare Aussage, und»auf dem entsprechenden Motor wird die Spannung -12 V angelegt.«eine weitere atomare Aussage. Der Junktor in diesem Fall ist»falls«. In der Aussagenlogik werden solche Formeln nicht in natürlicher Sprache dargestellt, sondern als Formel:»Ein Signal, das das Öffnen einer Scheibe zur Folge hat, liegt anauf dem entsprechenden Motor wird die Spannung -12 V angelegt.«es gibt verschiedene Schreibweisen für Junktoren. Die Tab stellt die wichtigsten Junktoren in ihrer gängigsten Schreibweise dar. Symbol Bezeichnung Und (inklusives) Oder Impliziert, wenn dann Äquivalenz, genau dann wenn nicht Junktoren Tab : Schreibweisen für Junktoren. Als atomare Formeln können i. Allg. beliebige Ausdrücke gewählt Atomare werden. Dem Namen einer atomaren Formel in der Aussagenlogik Formeln wird keine tiefere Bedeutung zugemessen. Die einzige Ausnahme bilden die beiden besonderen Formeln wahr und falsch, die als grundsätzlich wahr oder grundsätzlich falsch betrachtet werden. Aussagenlogische Formeln kann man mit Hilfe der folgenden abstrakten Grammatik darstellen: Formel ::= atomare Formel ( Formel ) Formel falsch Syntax wahr Formel Formel Formel Formel Formel Formel Formel Formel 359

4 III Zwar gibt es Vorrangregeln für verschiedene logische Junktoren. Da diese nicht so geläufig sind, ist es üblich, die Struktur logischer Formeln mit Hilfe von Klammern zu verdeutlichen. Beispiel 1b Mit Hilfe der Junktoren kann das»öffnen eines Fensters der Autotür«im Detail beschrieben werden. Zunächst legt man die atomaren Formeln fest: 1 Die relevante Schalterstellung ist gleich»fenster runter man.«, kurz: SchalterRunter. 2 Die relevante CAN-Botschaft WIN_x_OP ist = 01, kurz:canrunter. 3 Die Scheibe befindet sich in der unteren Position, kurz: ScheibeUnten. 4 Der Scheibenbewegungssensor sendet keine Signale, kurz: SensorStumm. 5 Die Botschaft ERROR_WIN = 1 wird gesendet und der Fehlercode 0x35 in den Fehlerspeicher eingetragen, kurz: Fehler. 6 Die Spannung -12 V wird auf dem entsprechenden Motor angelegt, kurz: MotorAn. 7 Die Batteriespannung liegt unterhalb von 10 V, kurz: BatterieSchwach. 8 Die CAN-Botschaft B_LOW_WIN = 1 wird gesendet, kurz: BatterieWarnung. 9 Die Ansteuerung dauert bereits länger als 3 Sekunden, kurz: LangAn. 10 Die Bewegung endet, kurz: Ende. 11 Eine Bewegung der Scheibe wird gerade veranlasst, kurz: ScheibeSollBewegtWerden. Man kann jetzt die Anforderung formalisieren, indem man diese atomaren Formeln entsprechend zusammensetzt. Man beginnt am einfachsten mit den Endbedingungen der Bewegung: (ScheibeUnten (SensorStumm MotorAn ScheibeUnten) (LangAn ScheibeUnten)) Ende Als nächstes formalisiert man, wann die Scheibe bewegt werden kann: (SchalterRunter CANRunter) ScheibeSollBewegtWerden Die Bewegung findet nur statt, wenn sie nicht am Ende angekommen ist und nicht zu wenig Spannung vorhanden ist: (ScheibeSollBewegtWerden Ende BatterieSchwach) MotorAn Wenn zu wenig Spannung vorhanden ist, soll stattdessen eine Warnung ausgegeben werden: (ScheibeSollBewegtWerden BatterieSchwach) BatterieWarnung Schließlich wird in zwei Fällen eine Fehlermeldung erzeugt: ((SensorStumm MotorAn ScheibeUnten) (LangAn ScheibeUnten)) Fehler 360

5 11.1 Formale Logik III Die Formalisierung von Anforderungen kann beim Finden von Fehlern hilfreich sein. Im Weiteren werden u. a. die Konzepte der disjunktiven und konjunktiven Normalform eingeführt, die als Hilfsmittel diesen Sachverhalt veranschaulichen. Um zu zeigen, wie durch die Formalisierung Fehler gefunden werden können, wird zusätzlich angenommen, statt der Anforderung /F54/ stände die folgende fehlerhafte Anforderung /F54f/ (für»f54 falsch«) in der Anforderungsspezifikation: /F54f/ [... oder] der Scheibenbewegungssensor (F_BEWEG bzw. FF_BEWEG) keine Signale sendet, obwohl der Scheibenmotor angesteuert wird (in diesem Fall wird die Botschaft ERROR_WIN = 1 gesendet und der Fehlercode 0x35 in den Fehlerspeicher eingetragen Mit anderen Worten: Es wird»oder der Scheibenbewegungssensor (F_BEWEG bzw. FF_ BEWEG) keine Signale sendet, obwohl der Scheibenmotor angesteuert wird und sich die Scheibe noch nicht in der unteren Position befindet«in /F54/ ersetzt durch»oder der Scheibenbewegungssensor (F_ BEWEG bzw. FF_BEWEG) keine Signale sendet, obwohl der Scheibenmotor angesteuert wird«(d. h. der kursive Satzteil fehlt in /F54f/). Aus dieser fehlerhaften Anforderung und /F55/ erhält man statt dessen als letzte Formel: ((SensorStumm MotorAn) (LangAn ScheibeUnten)) Fehler Vergleichen Sie diese Formel mit der letzten Formel aus Beispiel 1b. Beispiel 1c Semantik der Aussagenlogik Da die atomaren Formeln in der Aussagenlogik per se keinen Wahrheitswert besitzen (Ausnahme: wahr und falsch), kann man allein auf Grund des Namens einer atomaren Formel nicht sagen, ob sie wahr oder falsch ist. Daher kann man den meisten aussagenlogischen Formeln auch nicht ohne weiteres einen Wahrheitswert zuordnen. Um dennoch Aussagen über den Wahrheitswert einer Formel gewinnen zu können, muss man festlegen, welche atomaren Formeln wahr und welche falsch sind. Zu diesem Zweck bedient man sich einer Belegung, die jeder (relevanten) atomaren Formel einen Wahrheitswert von 0 (falsch) oder 1 (wahr) zuweist. Dabei gilt für jede Belegung, dass sie wahr den Wert 1 und falsch den Wert 0 zuordnet. Der Wahrheitswert einer aussagenlogischen Formel kann dann rekursiv mit Hilfe der folgenden Tabellen berechnet werden, wobei B eine Belegung und p, p 1 und p 2 aussagenlogische Formeln sind. In der Praxis ist es oft interessant, zu wissen, für welche Belegungen eine bestimmte Formel wahr und für welche sie falsch ist. Eine systematische Darstellung dafür ist die sogenannte Wahrheitstabelle. Für eine aussagenlogische Formel p mit atomaren Formeln a 1 Belegung Wahrheitstabelle 361

6 III Tab : Wahrheitstabelle für binäre Junktoren. B(p 1 ) B(p 2 ) B(p 1 p 2 ) B(p 1 p 2 ) B(p 1 p 2 ) B(p 1 p 2 ) Tab : Wahrheitstabelle für unäre Junktoren. B(p) B( p) bis a k hat diese Tabelle k+1 Spalten, eine für jede atomare Formel und eine für die Gesamtformel. Die Zeilen der Tabelle entsprechen den verschiedenen möglichen Belegungen der atomaren Formeln (es gibt insgesamt 2 k verschiedene). In den Einträgen für die atomaren Formeln steht jeweils die Belegung der zugehörigen atomaren Formel und in der Spalte für die Gesamtformel der sich daraus ergebende Wahrheitswert der Gesamtformel. Zur Bestimmung einer Wahrheitstabelle ist es oft nützlich, zusätzliche Spalten für Teilformeln der Gesamtformel einzufügen. Auch kann man mehrere Wahrheitstabellen durch Einführung entsprechender Spalten zu einer zusammenzufassen. Beispiel 1d Für die Formel, die beschreibt, wann die Scheibe bewegt werden soll, erhält man eine Wahrheitstabelle (Tab ). B(ScheibeSoll BewegtWerden) B(SchalterRunter) B(CANRunter) B(SchalterRunter CANRunter) B((SchalterRunter CANRunter) ScheibeSoll BewegtWerden) Tab : Scheibenbewegung. Oft interessiert man sich dafür, ob bestimmte aussagenlogische Formeln überhaupt eine Belegung haben, die wahr ist (also 1 ergibt), und wenn ja, ob das sogar für alle Belegungen gilt. Daraus ergibt sich die folgende Klassifikation: Eine Formel, bei der alle Belegungen falsch ergeben, nennt man unerfüllbar. Die Wahrheitstabelle einer solchen Formel hat eine Spalte voller Nullen als letzte Spalte. 362

7 11.1 Formale Logik III Eine Formel, bei der alle Belegungen wahr ergeben, nennt man allgemeingültig. Die Wahrheitstabelle einer solchen Formel hat eine Spalte voller Einsen als letzte Spalte. Eine Formel, bei der mindestens eine Belegung wahr ergibt, nennt man erfüllbar. Die Wahrheitstabelle einer solchen Formel hat in der letzten Spalte mindestens eine Eins. Offenbar sind allgemeingültige Formeln immer erfüllbar. Die Formeln aus Beispiel 1 sind allesamt erfüllbar, aber nicht allgemeingültig. Die Formel p p ist ein Beispiel für eine unerfüllbare Formel, und p p ist eine Beispiel für eine allgemeingültige. Beispiele Wenn zwei Formeln die gleichen Wahrheitstabellen haben, spricht man von äquivalenten Formeln. Beispielsweise kann man leicht nachrechnen, dass (p q) und p q äquivalent sind (De Morgan sche Regel). Normalformen Häufig ist es interessant, zu wissen, welche Struktur die Belegungen einer aussagenlogischen Formel haben, die diese Formel erfüllen. Ebenso interessant ist die Frage, ob zwei gegebene Formeln äquivalent sind. Auch ist es oft nützlich, zu einer gegebenen Formel eine einfachere äquivalente Formel zu finden. Eine wichtige Rolle für die Lösung solcher Probleme spielen die sogenannten Normalformen von aussagenlogischen Formeln. Eine Normalform beschreibt dabei eine gewisse Art, Formeln aufzuschreiben. Formeln in Normalform stehen einer algorithmischen Weiterverarbeitung zur Verfügung und sind oft einfacher zu verstehen als beliebige Formeln. Außerdem gilt für einige Normalformen, dass äquivalente Formeln alle die gleiche Normalform haben. Die praktischen Anwendungen von Normalformen sind dementsprechend vielfältig: Erkennung unerwünschter erfüllender oder nicht erfüllender Belegungen, wie sie zum Beispiel bei fehlerhaften Anforderungen auftauchen, Vereinfachung der Formeln für eine einfachere Implementierung, Entdeckung unnötiger Formelbestandteile (und damit Anforderungsbestandteile) und so weiter. DNF und KNF Die zwei bekanntesten Normalformen sind die konjunktive Normalform und die disjunktive Normalform. Diese beiden Normalformen sind sich vom Prinzip her sehr ähnlich, und das zugrunde liegende Konstruktionsverfahren funktioniert für beide auf sehr ähnliche Weise. Als ersten Begriff zur Erklärung beider Formen benötigt man das Literal. DNF, KNF 363

8 III Literal Klausel, KNF Beispiel 1e Monom, DNF Beispiel 1f Ein Literal ist entweder eine atomare Formel oder die Negation einer atomaren Formel. Mit anderen Worten: Wenn p eine atomare Formel ist, so sind p und p Literale. Eine Formel in konjunktiver Normalform (kurz KNF) hatdie Form (L 1,1... L 1,n(1) )... (L m,1... L m,n(m) ), wobei die L i,j Literale sind. Einen Ausdruck der Form L 1... L n nennt man auch Klausel. Somit kann die konjunktive Normalform auch als Formel der Form K 1... K m beschrieben werden, wobei die K i Klauseln sind. Die Formel (ScheibeUnten (SensorStumm MotorAn ScheibeUnten) (LangAn ScheibeUnten)) Ende ist äquivalent zur Formel (siehe auch die Tab ) ( ScheibeUnten Ende) ( SensorStumm MotorAn ScheibeUnten Ende) ( LangeAn ScheibeUnten Ende) Diese Formel besteht aus drei Klauseln: 1 ( ScheibeUnten Ende) mit den Literalen ScheibeUnten sowie Ende, 2 ( SensorStumm MotorAn ScheibeUnten Ende) mit den Literalen SensorStumm, MotorAn, ScheibeUnten sowie Ende und 3 ( LangeAn ScheibeUnten Ende) mit den Literalen LangeAn, ScheibeUnten sowie Ende, Zu einer Formel kann es mehr als eine äquivalente konjunktive Normalform geben. Ganz analog ist eine Formel in disjunktiver Normalform (kurz DNF), wenn sie die Form (L 1,1... L 1,n(1) )... (L m,1... L m,n(m) ), wobei die L i,j Literale sind. Einen Ausdruck der Form L 1... L n nennt man auch Monom. Somit kann die disjunktive Normalform auch beschrieben als Formel der Form M 1... M m,wobeidiem i Monome sind. Die Formel aus Beispiel 1e hat unter anderem die folgende DNF: ( ScheibeUnten SensorStumm LangeAn) ( ScheibeUnten MotorAn LangeAn) Ende. Sie hat drei Terme: 1 ( ScheibeUnten SensorStumm LangeAn) 2 ( ScheibeUnten MotorAn LangeAn) 3 Ende Für jede Formel kann man eine zu ihr äquivalente Formel in konjunktiver Normalform und eine in disjunktiver Normalform finden. Dazu gibt es zwei Verfahren: Durch Ermittlung der Wahrheitstabelle oder durch Umformung. Das zweite Verfahren wird am folgenden Beispiel für eine disjunktive Normalform demonstriert. Dazu benutzt man die Umformungsregeln aus der Tab , die für die Umformung von Formeln verwendet werden. 364

9 11.1 Formale Logik III Formel Äquivalente Formel (p q) r (p r) (q r) (p q) r (p r) (q r) p q p q q p q p (p q) r p (q r) (p q) r p (q r) (p q) p q (p q) p q p p p falsch p wahr p p p falsch p wahr p p p p p q p p wahr p falsch p wahr falsch p q p q (p q) (q p) p Um zu zeigen, wie die DNF zum Finden fehlerhafter Anforderungen benutzt werden kann, soll nun eine unvollständige Variante der Anforderung betrachtet werden. Dazu wird die Anforderung von oben leicht modifiziert, indem man /F54/ durch /F54f/ ersetzt. Es wird eine DNF von der Formalisierung der fehlerhaften Anforderung f =(SensorStumm MotorAn) (LangAn ScheibeUnten)) Fehler bestimmt. Durch Anwendung der oben angegebenen Regeln bestimmt man folgendermaßen eine DNF: 1 (SensorStumm MotorAn) (LangAn ScheibeUnten)) Fehler 2 ((SensorStumm MotorAn) (LangAn ScheibeUnten))) Fehler 3 ( (SensorStumm MotorAn) (LangAn ScheibeUnten))) Fehler 4 (( SensorStumm MotorAn) ( LangAn ScheibeUnten))) Fehler 5 (( SensorStumm MotorAn) ( LangAn ScheibeUnten))) Fehler 6 (( SensorStumm ( LangAn ScheibeUnten)) ( MotorAn ( LangAn ScheibeUnten)) )) Fehler 7 ((( SensorStumm LangAn) ( SensorStumm ScheibeUnten)) ( ( MotorAn LangAn) ( MotorAn ScheibeUnten)) )) Fehler 8 ( SensorStumm LangAn) ( SensorStumm ScheibeUnten) ( MotorAn LangAn) ( MotorAn ScheibeUnten) Fehler p Tab : Umformungen. Beispiel 1g 365

10 III Die DNF bietet die Möglichkeit sehr einfach erfüllende Belegungen abzulesen. Dazu überlegt man sich Folgendes: Wenn eines der Monome erfüllt ist, so ist auch die ganze Formel erfüllt. Ein Monom ist genau dann unerfüllbar, wenn eine atomare Formel p darin sowohl negiert als auch unnegiert vorkommt, also wenn das Monom die Form»... p... p...«hat. Für alle anderen Monome kann man sehr leicht eine erfüllende Belegung konstruieren: Wenn p im Monom unnegiert vorkommt (also als p ohne davor), so belegt man p mit 1. Kommt p negiert vor (also als p), so belegt man p mit 0, und wenn es gar nicht vorkommt, ist jede Belegung möglich. Beispiel 1h An der DNF der fehlerhaften Anforderung liest man die folgenden erfüllenden Belegungen ab: 1 SensorStumm und LangAn werden mit 0 belegt, alle anderen mit beliebigen Werten. 2 SensorStumm wird mit 0 belegt, ScheibeUnten mit 1, alle anderen mit beliebigen Werten. 3 MotorAn und LangAn werden mit 0 belegt, alle anderen mit beliebigen Werten. 4 MotorAn wird mit 0 belegt, ScheibeUnten mit 1, alle anderen mit beliebigen Werten. 5 Fehler wird mit 1 belegt, alle anderen mit beliebigen Werten. In diesem Fall findet man eine Unvollständigkeit: Wenn Fehler mit 0 belegt werden soll, dann muss entweder SensorStumm oder MotorAn mit 0 belegt werden. Wenn aber der Motor an ist, ist es denkbar, dass die Scheibe schon unten angekommen ist (das liegt nahe, weil es eine atomare Formel ScheibeUnten gibt), und in diesem Fall ist der Scheibenbewegungssensor stumm, obwohl das kein Fehler ist. Für die KNF gibt es wieder ein ähnliches Verfahren, um nicht erfüllende Belegungen abzulesen. Hornformeln Eine andere Normalform für bestimmte aussagenlogische Formeln sind die so genannten Hornformeln. Eine Hornformel hat dabei immer die Form»(p 1... p n ) k«. Viele Aussagen der Form»Wenn..., dann...«können mit Hilfe von Hornformeln ausgedrückt werden. Allerdings gibt es aussagenlogische Formeln (z. B. p q), die nicht mit Hilfe von Hornformeln ausgedrückt werden können. Der Folgerungsbegriff Folgerung Eine weitere wichtige Frage in der Logik ist die Folgende: Wenn man eine Menge aussagenlogischer Formeln gegeben hat, kann man aus diesen Formeln auf weitere, neue Aussagen schließen? 366

11 11.1 Formale Logik III Eine mögliche Definition des Folgerungsbegriffs ist die Folgende: Eine aussagenlogische Formel G folgt aus den Formeln F 1 bis F n, wenn unter jeder Belegung, die die Formeln F 1 bis F n erfüllen, auch G erfüllt wird. Diese Aussage kann man äquivalent so ausdrücken: (F 1... F 1 ) G ist allgemeingültig. Es werden einige der Formeln betrachtet, die die Anforderung an die Autofenstersteuerung beschreiben: F 1 =(SchalterRunter CANRunter) ScheibeSollBewegtWerden F 2 =(ScheibeSollBewegtWerden Ende BatterieSchwach) MotorAn F 3 =(ScheibeSollBewegtWerden BatterieSchwach) BatterieWarnung Man kann zeigen (z. B. durch Betrachtung der Belegungen), dass aus diesen drei Formeln folgende Formel folgt: SchalterRunter Ende BatterieWarnung MotorAn Man kann diese Folgerung benutzen, um die Anforderungen zu validieren: Durch die formale Überprüfung dieser Formel ist sichergestellt, dass auf das Ereignis SchalterRunter immer die Scheibe bewegt wird, ausser, sie ist bereits ganz unten oder die Batterie ist leer. Auf diese Art und Weise kann man sich vergewissern, dass ein Druck auf den Schalter unter gegebenen Rahmenbedingungen immer zu einer Scheibenbewegung führt, was ja auch den Erwartungen an das System entspricht. Beispiel 1i Weiterführende Themen Aufbauend auf der oben vorgestellten Aussagenlogik lassen sich viele weitere Begriffe, Konzepte und Verfahren beschreiben. Als Beispiel seien hier die Minimierung aussagenlogischer Formeln, Äquivalenzregeln und Algorithmen zur Bestimmung von erfüllenden Belegungen genannt. Besonders wichtig ist auch die weitergehende Behandlung des Folgerungsbegriffs sowie der Begriff der Herleitung. Da die Behandlung dieser Fragen hier jedoch zu weit ginge, sei auf die Fachliteratur zur mathematischen Logik verwiesen, zum Beispiel auf [Schö00] oder [Erk02] Prädikatenlogik Im Gegensatz zur Aussagenlogik wird in der Prädikatenlogik nicht nur die Verknüpfung elementarer Aussagen betrachtet, sondern es werden komplexere Ausdrücke verwendet, die das Verhältnis von Objekten zueinander beschreiben können. Ein wesentlicher Unterschied zur Aussagenlogik liegt in der Möglichkeit in Formeln über Wertebereiche quantifizieren zu können. So ist es zum Beispiel mög- 367

12 III lich, eine Aussage der Form»Für jede natürliche Zahl n gibt es eine natürliche Zahl m, die größer ist als n«in der Prädikatenlogik zu formalisieren. Prädikatenlogische Formeln werden prinzipiell ähnlich wie aussagenlogische Formeln aufgebaut. Es gibt allerdings zwei Änderungen: Zum einen werden statt atomarer Formeln sogenannte Prädikate verwendet, und zum anderen gibt es neben Junktoren auch Quantoren. Beispiel 1a: Fensterheber Die Sätze /F40/»Falls ein Signal anliegt, das das Öffnen der Scheibe zur Folge hat, wird auf dem entsprechenden Motor -12 Volt angelegt. Liegt die Batteriespannung zu Beginn der Scheibenbewegung unterhalb von 10 Volt, so wird die Scheibenbewegung nicht durchgeführt.«könnte prädikatenlogisch folgendermaßen formalisiert werden: signal: (ScheibeÖffnen(signal) Batteriespannung 10 V) Motorspannung = -12 V Diese Zeile kann gelesen werden als»für alle Signale gilt: Wenn das Signal besagt, dass die Scheibe geöffnet werden soll, und die Batteriespannung ist größer als 10 V, dann wird an den Motor -12 V angelegt.«anhand dieses Beispiels sollen nun die Bestandteile einer prädikatenlogischen Formel im Detail beschrieben werden. Die Formel hat folgende Bestandteile: Eine Quantifizierung, nämlich» signal:«. Drei Prädikate, nämlich»scheibeöffnen(signal)«,»batteriespannung 10 V«und»Motorspannung = -12 V«. Zwei bereits aus der Aussagenlogik bekannte Junktoren: und. Um zu beschreiben, wie prädikatenlogische Formeln gebildet werden, benötigt man zuerst den Begriff des Terms. Ein Term ist in der Prädikatenlogik entweder eine Variable, eine Konstante oder eine Funktionsanwendung. Eine Funktionsanwendung hat im Allgemeinen die Form»f(Term1,..., TermN)«, wobei f ein Funktionssymbol ist und Term1 bis TermN weitere Terme. Beispiel 1b: Terme Im Fensterheber-Beispiel tauchen insgesamt fünf Terme auf, nämlich die drei Variablen»signal«,»Batteriespannung«und»Motorspannung«sowie die beiden Konstanten»10 V«und»-12 V«. Im Beispiel taucht kein Funktionsterm auf. Die Funktion eines Terms ist es, bei der Auswertung einer prädikatenlogischen Formel einen Wert aus einer vorgegebenen Menge, dem sogenannten Universum anzunehmen. Aufbauend auf Termen können Prädikate definiert werden: Ein Prädikat setzt sich zusammen aus einem Prädikatsymbol sowie einer Anzahl von Termen. 368

13 11.1 Formale Logik III Die Prädikate aus dem Beispiel haben folgende Struktur: Beispiel 1b: Terme 1»ScheibeÖffnen(signal)«besteht aus dem Prädikatsymbol»ScheibeÖffnen«und dem Term»signal«. 2»Batteriespannung 10 V«hat das Prädikatsymbol und die Terme»Batteriespannung«und»10 V«. 3»Motorspannung = -12 V«hat das Prädikatsymbol = und die Terme»Motorspannung«und»-12 V«. Ein Prädikat hat die Aufgabe, abhängig von seinen Termen und seinem Prädikatsymbol einen Wahrheitswert anzunehmen. Schließlich kann man Prädikate zu prädikatenlogischen Formeln zusammensetzen. Eine prädikatenlogische Formel besteht dabei entweder aus einem einzelnen Prädikat, oder wird aus einfacheren Formeln zusammengesetzt. Das kann entweder mit Hilfe von Junktoren wie in der Aussagenlogik geschehen, oder aber durch Quantifizierung. Eine Quantifizierung hat dabei die Struktur»Quantor Variable Formel«. Es gibt zwei Quantoren, (für alle Werte aus dem Universum gilt...) sowie (es gibt mindestens einen Wert im Universum, sodass...). Um einer prädikatenlogischen Formel eine Bedeutung zuzuordnen, benutzt man sogenannte Interpretationen. Aufgabe einer Interpretation ist es, jedem Term einen Wert aus einer vorgegebenen Menge, dem sogenannten Universum, zuzuweisen, und darauf aufbauend zu ermitteln, ob die betrachtete prädikatenlogische Formel wahr oder falsch ist. Eine Interpretation besteht aus drei Teilen: Dem Universum, der Interpretation der Konstanten und der Belegung der Variablen. Die Interpretation der Konstanten legt fest, was die einzelnen Konstanten-, Funktions- und Prädikatsymbole konkret bedeuten. Für die Formel zur Beschreibung des Fensterhebers wäre eine mögliche Interpretation: 1 Das Universum umfasst alle denkbaren Signale. 2 Das =-Zeichen hat seine übliche Bedeutung, also: a=b ist genau dann wahr, wenn a und b das gleiche Signal beschreiben. 3 Das -Zeichen beschreibt, dass ein Signal eine Mindestspannung aufweisen muss. Mit anderen Worten: Wenn a b gilt, dann muss das Signal a immer mindestens die Spannung des Signals b haben. 4 Die Konstanten 10 V und -12 V werden als Signale mit konstanter Spannung verstanden. 5 Das Prädikatsymbol ScheibeÖffnen wird nur dann war, wenn sein Argument eine CAN-Bus-Nachricht ist, in der das entsprechende Bit gesetzt ist, oder ein Signal vom Benutzer-Bedienfeld, das das Fensteröffnen zur Folge hat. 6 Für»Batteriespannung«und»Motorspannung«können beliebige Werte gewählt werden. Im Folgenden sollen die Wirkungen einiger Werte betrachtet werden. Beispiel 1d 369

14 III Der einfachste Fall wäre, für die Batteriespannung einen Wert von 12 V und für die Motorspannung den Wert -12 V anzunehmen. Da sicherlich 12 V 10 V gilt, wird in diesem Fall die Formel wahr. Nimmt man stattdessen eine Motorspannung von 0 V an, wird die Formel offenbar falsch. Man beachte, dass kein Wert für die Variable»signal«angegeben wird. Das liegt daran, dass diese Variable quantifiziert ist. Um den Wahrheitswert der Formel zu berechnen, muss man also streng genommen alle Werte, die signal annehmen kann, einzeln durchspielen. Aufbauend auf diesen Sprachmitteln lassen sich sehr viele komplexe Aussagen formalisieren. Eine genauere Behandlung würde zu weit führen, weswegen hier auf die entsprechende Fachliteratur (z. B. [Schö00] oder [Ehri01]) verwiesen wird Temporale Logik Syntax Während bei der Aussagenlogik und der Prädikatenlogik einzelne statische Situationen betrachtet werden, hat die temporale Logik die Dynamik eines Systems im Blick. Beispielsweise können Aussagen wie»das Autofenster bewegt sich so lange, bis es sich in der unteren Position befindet«formalisiert werden. Die Syntax (und Semantik) der temporalen Logik baut wesentlich auf der Syntax der Aussagenlogik auf. Es gibt mehrere Formen der temporalen Logik. Hier werden drei Varianten betrachtet, denen gemeinsam ist, dass sie einen Zeitbegriff haben, der nur auf der Kausalitätsreihenfolge beruht und nicht auf physikalischer Zeit. Die drei Varianten sind CTL*, CTL und LTL. Dabei ist CTL* die allgemeinste der drei Logiken, die sowohl CTL als auch LTL umfasst. Im praktischen Einsatz findet man aus Effizienzgründen allerdings meistens CTL und LTL. CTL* In CTL* betrachtet man zwei Sorten von Formeln: Eine Zustandsformel beschreibt dabei eine Bedingung, die zu einem bestimmten Zeitpunkt gelten soll. Eine Pfadformel beschreibt eine Bedingung, die während eines ganzen Zeitabschnitts gelten soll. Die einfachsten Zustandsformeln sind die atomaren Formeln der Aussagenlogik, die dann zu komplexeren aussagenlogischen Formeln zusammengesetzt werden können. Eine weitere Möglichkeit, eine Zustandsformel zu gewinnen, ist es, eine Pfadformel mit einem 370

15 11.1 Formale Logik III Pfadquantor zu versehen. Umgekehrt ist jede Zustandsformel auch eine Pfadformel, und man kann Pfadformeln mit Hilfe von (aussagenlogischen) Junktoren und temporalen Operatoren verbinden. Dieses Beispiel bezieht sich auf die Anforderungen /F50/, /F51/ und Beispiel 1a: /F52/ (siehe»fallstudie: Fensterheber Die Spezifikation«, S. 117): Fensterheber Ist die relevante Schalterstellung gleich»fenster runter man.«oder ist die relevante CAN-Botschaft WIN_x_OP = 01, so wird die Scheibe nach unten bewegt. Die Bewegung endet, wenn 1 das entsprechende Signal nicht mehr anliegt (bzw. nicht mehr gesendet wird) oder 2 sich die Scheibe in der unteren Position befindet (d. h. F_UNTEN bzw. FF_UNTEN). Die Formalisierung sieht folgendermaßen aus: Als atomare Formeln werden gewählt: FRM für»schalterstellung gleich Fenster runter man.«, WINxOP01 für»relevante CAN-Botschaft ist WIN_x_OP = 01«, UNTEN für»f_unten bzw. FF_UNTEN«und SNU für»scheibe nach unten bewegen«. Damit kann man die Anforderungen schreiben als:»snu, so lange FRM oder WINxOP01 und nicht UNTEN«In dieser Form handelt es sich bei der Formalisierung um eine Pfad- Formel. Da die Anforderungen immer gelten sollen, kann man die Formalisierung wie folgt erweitern:»bei jeder Benutzung soll immer gelten: SNU, so lange FRM oder WINxOP01 und nicht UNTEN«. In dieser Formalisierung findet sich ein Pfad-Quantor, nämlich»bei jeder Benutzung soll gelten«, und zwei temporale Operatoren, nämlich»immer«und»so lange, wie«. Es gibt potenziell viele verschiedene temporale Operatoren, aber lediglich zwei Pfadquantoren. Die folgenden Tabellen zeigen die gängigsten. temporale Operatoren F G U Bezeichnung Im nächsten Schritt Irgendwann Immer So lange, bis Tab : Temporale Operatoren. Pfadquantoren A E Bezeichnung Auf jedem Pfad gilt Es gibt einen Pfad, für den gilt Tab : Pfadquantoren. 371

16 III Beispiel 1b Das Beispiel 1a kann wie folgt als temporallogische Formel dargestellt werden: AG (SNU U ((FRM WINxOP01) UNTEN)). Hierbei werden die erwähnten temporalen Operatoren»Bei jeder Benutzung soll gelten«und»immer«durch die Operatoren A bzw. G formalisiert. CTL und LTL Die temporalen Logiken CTL und LTL sind Einschränkungen von CTL*. Sie sind nicht so ausdrucksstark wie CTL*, dafür aber einfacher zu verarbeiten, sodass es hier Werkzeuge für die Arbeit mit diesen Logiken gibt. Bei CTL gilt die Einschränkung, dass vor jedem Ausdruck, der einen temporalen Operator enthält, ein Pfadquantor stehen muss. Konkret bedeutet das: Anstelle von Pfadformeln gibt es in CTL nur quantifizierte Pfadformeln, also A p, AF p, AG p und A(p U q) sowie E p, EF p, EG p und E(p U q), wobei p und q Zustandsformeln sind. Eine Formel wie AFG p ist kein CTL,da G p keine Zustandsformel ist. Beispiel 1c Die Formel AG (SNU U ((FRM WINxOP01) UNTEN)) ist keine CTL-Formel, da (SNU U ((FRM WINxOP01) keine Zustandsformel ist. Bei LTL gibt es keine Pfadquantoren. Man kann implizit davon ausgehen, dass vor der gesamten Formel ein A steht, das allerdings üblicherweise einfach weggelassen wird. Beispiel 1d Die Formel aus dem Beispiel 1b ist eine LTL-Formel. Allerdings ist die Formel E (SNU U ((FRM WINxOP01) UNTEN)) keine LTL- Formel, da es in LTL keinen Pfadquantor E gibt. Semantik Zur Auswertung von CTL*-Formeln verwendet man so genannte Kripke-Strukturen, die Systeme von Zuständen beschreiben. Zu jedem Zustand gehört nicht nur eine Belegung der atomaren Formeln, sondern auch eine Menge von Zuständen, die als nächstes von diesem Zustand aus erreicht werden können. Durch»Aufrollen«dieser Struktur erhält man eine Baumstruktur, den sogenannten Berechnungsbaum. Beispiel 1d Die Abb zeigt zwei mögliche Berechnungsbäume für den Fensterheber, wobei nur Zustandsfolgen der Länge 3 oder kürzer betrachtet werden. 372

17 11.1 Formale Logik III (a) (b) - - FRM,SNU FRM, - - UNTEN - FRM,SNU UNTEN FRM FRM FRM, SNU FRM FRM,SNU FRM, SNU FRM, UNTEN UNTEN Abb : Zwei Berechnungsbäume für den Fensterheber. Der linke Berechnungsbaum gehört zu einer korrekten Implementierung, der rechte zu einer fehlerhaften. Einen Berechnungsbaum kann man folgendermaßen lesen: Es gibt Zustände (dargestellt durch Kreise bzw. Ellipsen) und Übergänge (dargestellt durch Pfeile). In jedem Berechnungsbaum gibt es genau einen Anfangszustand. Dieser wird üblicherweise ganz oben dargestellt und hat nur Übergänge, die von ihm weg zeigen. In jedem Zustand steht jeweils, welche atomaren Formeln in diesem Zustand wahr sind. So bedeutet»frm, UNTEN«beispielsweise, dass die atomaren Formeln»FRM«und»UNTEN«wahr sind, alle anderen (z. B.»SNU«) falsch. Ein Strich zeigt an, dass keine atomare Formel wahr ist. Zu jedem Zeitpunkt befindet sich das durch den Berechnungsbaum beschriebene System in genau einem der Zustände des Baums. Zum Systemstart befindet es sich insbesondere im Anfangszustand. Immer, wenn Zeit vergeht, geht das System von seinem gegenwärtigen Zustand in einen der Zustände über, die mit Hilfe einer Transition von dort aus erreichbar sind. Beispielsweise kann das System, das durch den Baum (a) dargestellt wird, zwei mögliche Verhaltensweisen zeigen. Die eine fängt im Anfangszustand von (a) an; hier ist keine atomare Formel wahr. Nach einem Zeitschritt sind FRM und SNU wahr, und im nächsten Schritt gibt es zwei Möglichkeiten: Entweder ist wieder keine Formel wahr, oder FRM und UNTEN werden wahr. Im letzten Schritt sind dann entweder FRM und SNU wahr (wenn vorher keine Formel wahr war) oder nur UNTEN (im anderen Fall). Der erste Berechnungsbaum beschreibt einen korrekt implementierten Fensterheber. Der zweite beschreibt einen Fensterheber mit einem einfachen Fehler: Es ist möglich, dass zwar der Knopf»Fenster nach unten«gedrückt wird, sich das Fenster aber nicht bewegt. Die beiden Berechnungsbäume wurden durch Ausrollen aus den Automaten der Abb gewonnen. Diese Darstellung kann man folgendermaßen lesen: Es gibt wieder Zustände und Zustandsübergänge. Der Anfangszustand ist diesmal durch Doppelkreise beziehungsweise Doppelellipsen markiert. Ansonsten ist die Semantik die gleiche wie für Berechnungsbäume. 373

18 III Abb : Die Kripke-Strukturen, aus denen die Berechnungsbäume ermittelt wurden. (a) - FRM,SNU FRM,UNTEN UNTEN (b) FRM - FRM,SNU FRM,UNTEN UNTEN Die Darstellung als Berechnungsbaum hat allerdings den Vorteil, dass man Folgen von Zuständen besser darstellen kann. Deswegen werden im Weiteren nur Berechnungsbäume dargestellt. Aussagenlogische Formeln können in diesem System für jeden Zustand ausgewertet werden, indem man einfach die zum Zustand gehörende Belegung auf die Formel anwendet. Beispiel 1e Die Formel FRM SNU gilt auf allen grau markierten Zuständen der beiden Berechnungsbäume (Abb ). Abb : Die Berechnungsbäume von oben, in denen jeweils gezeigt wird, welche Zustände die Formel»FRM UNTEN«erfüllen. (a) (b) - - FRM,SNU FRM FRM, - - UNTEN - FRM,SNU FRM, UNTEN FRM,SNU UNTEN FRM FRM, SNU FRM FRM, SNU UNTEN Wenn der Berechnungsbaum nur ein Pfad ist, also jeder Knoten nur ein Kind hat, kann man Pfadformeln sehr einfach auswerten, und zwar entsprechend der Abb Für die Beschreibung der Semantik allgemeiner temporallogischer Formeln betrachtet man als nächstes die Pfadformeln. Um die Erklärung zu vereinfachen, macht man zunächst die Annahme, dass der Berechnungsbaum nur einen Pfad enthält. Mit anderen Worten: Von jedem Zustand geht höchstens ein Zustandsübergang aus. In diesem Fall kann man die Bedeutung der einzelnen Pfadformeln folgendermaßen erklären: Ist die Pfadformel eine aussagenlogische Formel, so gilt das oben über aussagenlogische Formeln Gesagte. Die Pfadformel»F p«gilt, wenn in mindestens einem zukünftigen Zustand p erfüllt ist. Im Fall»G p«gilt die Pfadformel, wenn alle zukünftigen Zustände p erfüllen. 374

19 11.1 Formale Logik III Wenn die Pfadformel die Form» p«hat, dann gilt die Pfadformel in jedem Zustand, in dessen Nachfolgezustand (also dem Zustand, der mit Hilfe eines einzigen Übergangs erreicht werden kann) p gilt. Schließlich ist die Pfadformel»p U q«wahr, wenn in irgendeinem zukünftigen Zustand q gilt und in allen Zuständen vom aktuellen Zustand bis zum Vorgänger des Zustandes, in dem q gilt, die Formel p wahr ist. Diese Bedingungen sind in der Abb p Fp Gp p puq grafisch dargestellt: Es wird immer ein Pfad der Länge 3 gezeigt, der die Mindestanforderungen erfüllt, damit die darüber stehende Pfadformel wahr wird. Enthält der Berechnungsbaum mehrere Zustand, in dem p gilt. mögliche Pfade, so muss man einen Pfad zur Zustand, in dem q gilt. Betrachtung auswählen. Im Rückgriff auf das Beispiel 1e kann man die Auswertung der Pfadformel SNU U ((FRM WINxOP01) UNTEN) auf zwei verschiedenen Pfaden betrachten. Diese Pfade sind in der Abb dargestellt durch eine graue Markierung. Abb : Semantik der temporalen Operatoren auf einfachen Pfaden. Zu jedem Operator ist ein Berechnungspfad angegeben, der die Mindestanforderungen des Operators erfüllt. Beispiel 1f (a) - FRM,SNU (b) FRM - FRM,SNU Abb : Pfade in den Berechnungsbäumen von oben. FRM, - - UNTEN - FRM, UNTEN FRM,SNU UNTEN FRM FRM, SNU FRM FRM, SNU UNTEN Die Formel ist in beiden Berechnungsbäumen erfüllt: Es gilt ja in beiden Zuständen $neg; FRM, und $neg; SNU, also auch $neg; (FRM SNU) und damit auch $neg; ((FRM SNU) UNTEN). Damit ist die gesamte Bedingung beide Mal im Anfangszustand erfüllt. Betrachtet man andererseits G (SNU U ((FRM WINxOP01) UNTEN)), sieht das anders aus. Hier muss die Behauptung von oben in jedem Zustand gelten. Da das im ersten Zustand zutrifft, muss die Bedingung als nächstes im zweiten Zustand überprüft werden. Für (a) gilt die Behauptung immer noch, während bei (b) die Formel nicht mehr erfüllt ist, denn nun gilt ((FRM WINxOP01) UNTEN), aber nicht SNU. Somit ist diese strengere Formel in der Lage, die Berechnungsbäume (a) und (b) zu unterscheiden. Nun wurde in Beispiel 1d 375

20 III definiert, dass (a) zu einer korrekten Implementierung gehört und (b) zu einer fehlerhaften. Da die Formel auf (a) gilt, kann die Formel den Fehler in (b) erkennen. Schließlich bleibt noch die Erklärung der Pfadquantoren: Wenn eine Pfadformel f mit einem A-Quantor versehen ist, so gilt A fin einem Zustand, wenn f für alle von diesem Zustand ausgehenden Pfade gilt. Ist f mit einem E-Quantor versehen, so gilt E fineinem Zustand, wenn es einen von diesem Zustand ausgehenden Pfad gibt, auf dem f gilt. Einige Beispiele für solche Ausdrücke findet man in der Abb Abb : Semantik der Pfadquantoren. Zu jedem Ausdruck wird ein Berechnungsbaum angegeben, der die Minimalbedingungen erfüllt, um den Ausdruck wahr werden zu lassen. EFp AFp EGp AGp Zustand, in dem p gilt. E (puq) A (puq) Zustand, in dem q gilt. Beispiel 1g Tab : Ergebnisse. Im Folgenden werden einige CTL*-Formeln auf den oben beschriebenen Berechnungsbäumen ausgewertet. (SNU U (FRM WINxOP01) UNTEN) wird dazu mit p abgekürzt. Die Tab gibt die Ergebnisse an. Formel (a) (b) A p wahr wahr E p wahr wahr AG p wahr falsch EG p wahr wahr Diese Ergebnisse erklären sich folgendermaßen: Da (a) eine fehlerfreie Implementierung des Fensterhebers beschreibt, sind alle Formeln wahr. Die erste und zweite Formel sind auf (b) wahr, da p schon im ersten Zustand abgearbeitet ist. Die dritte Formel ist auf (b) falsch, denn es gibt einen Pfad (siehe oben), sodass nicht immer p gilt. Allerdings gibt es auch Pfade (nämlich diejenigen, die Pfaden in (a) entsprechen), sodass p immer erfüllt ist. Deswegen gilt auch für (b): EG p. 376

21 Zusammenfassung 11.2 Constraints und die OCL in der UML III Die formale Logik erlaubt die Beschreibung des Verhältnisses von Aussagen oder Objekten zueinander. Dies geschieht durch Angabe logischer Formeln, die diese Verhältnisse präzise beschreiben. Einer Formel kann durch Festlegung, welchen Wahrheitswert eine Aussage beziehungsweise welchen Wert ein Objekt hat, ein Wahrheitswert (wahr oder falsch) zugeordnet werden. Es gibt verschiedene Bereiche der Logik. Stellvertretend wurden Aussagenlogik, Prädikatenlogik und temporale Logik betrachtet. Die Aussagenlogik ist Basis der beiden anderen Logiken und beschreibt das Verhältnis einzelner Aussagen zueinander. Die Prädikatenlogik beschreibt das Verhältnis komplexerer Objekte und die Temporallogik betrachtet das Verhältnis von Aussagen, deren Wahrheitswert sich mit ablaufender Zeit verändern kann. Zur Klassifikation Formeln der Aussagenlogik, der Prädikatenlogik und der temporalen Logik werden textuell und formal beschrieben. Sie werden in der Regel in der Spezifikations- und Entwurfsphase eingesetzt, in der Implementierungsphase aber auch zur Programmverifikation. Sie werden in technischen und softwareintensiven Anwendungen benutzt Constraints und die OCL in der UML In der UML ist es möglich, UML-Modellelementen Constraints übersetzt logische Einschränkungen, logische Bedingungen zuzuordnen, die die möglichen Inhalte, Zustände oder die Semantik von Modellelementen einschränken und immer erfüllt sein müssen:»a constraint is a condition or restriction expressed in natural language text or in a machine readable language for the purpose of declaring some of the semantics of an element «[UML07, S. 41] Constraints können folgendermaßen geschrieben werden: In natürlicher Sprache, in einer Programmiersprache, in einer mathematischen Notation oder in OCL (ObjectConstraintLanguage). Zunächst werden die ersten drei Möglichkeiten beschrieben:»constraints in der UML«, S. 378 Ergänzend zur UML gibt es die OCL zur formalen Spezifikation von Constraints:»OCL«, S. 380 Notationen 377

22 III Abschließend werden die Ausführungen zusammengefasst:»zusammenfassung«, S Constraints in der UML Mit Hilfe von Constraints können logische Bedingungen, Einschränkungen, Restriktionen und Zusicherungen UML-Modellelementen zugeordnet werden, die immer wahr sein müssen. Constraints werden als Text in geschweiften Klammern angegeben. Sie können beliebigen Notationselementen zugeordnet werden, z. B. Attributen, Operationen, Klassen und allen Arten von Klassenbeziehungen. Sollen Constraints bei der Codegenerierung verwendet werden, dann müssen sie formal spezifiziert werden, sonst dienen sie nur als Hinweise für die Entwerfer und Implementierer. Constraints für Attribute Ein Constraint kann sich nur auf ein Attribut beziehen oder Beziehungen zwischen mehreren Attributen beschreiben, die während der Ausführung des Systems unverändert erhalten bleiben müssen. Beispiele Für das Attribut geburtsdatum gilt die Einschränkung: {geburtsdatum <= aktuelles Datum} Für die Attribute einer Klasse Student gilt: {master > bachelor > immatrikulation > geburtsdatum} Für eine Klasse Artikel mit den Attributen einkaufspreis und verkaufspreis gilt, dass der Verkaufspreis mindestens 150 Prozent des Einkaufspreises betragen soll. Dann muss durch die Implementierung sichergestellt werden, dass beim Ändern des einen Preises auch der andere geändert wird: {verkaufspreis >= 1.5 * einkaufspreis} Das Attribut nummer muss eine vierstellige Zahl sein: {1000 <= nummer <= 9999} Das rechnungsdatum darf nicht vor dem bestelldatum liegen: {rechnungsdatum >= bestelldatum} Constraints werden zusammen mit den Eigenschaftswerten in geschweiften Klammern angegeben und mehrere Werte durch Komma getrennt (Abb ). Abb : Eigenschaftswerte und Constraints für Attribute. Auftrag nummer: Integer {key, 1000 <= nummer <= 9999} bestelldatum: Date {readonly} rechnungsdatum: Date = current {readonly} {rechnungsdatum >= bestelldatum} bearbeiter: String kreditkarte: Kreditkarte 378

23 Constraints für Assoziationen 11.2 Constraints und die OCL in der UML III Auch für Assoziationen können Constraints spezifiziert werden. In der Abb legt {xor} fest, dass ein Artikel entweder in einem Hochregallager oder in einem Lagerraum lagert. Allgemein ausgedrückt: Zu jedem beliebigem Zeitpunkt kann nur eine der Assoziationen, die von»artikel«ausgehen, gelten. Die reflexive Assoziation der Klasse Angestellter enthält ein selbstdefiniertes Constraint. Es besagt, dass für jede Objektbeziehung zwischen einem Chef und einem Mitarbeiter gilt: chef.gehalt > mitarbeiter.gehalt. Hier wird der Rollennamen verwendet, um ein Attribut eindeutig zu kennzeichnen. Wie das Objektdiagramm zeigt, ist das Gehalt des Mitarbeiters a2 geringer als das Gehalt des eigenen Chefs, kann aber durchaus höher sein als das Gehalt des Angestellten a3, der ebenfalls Chef ist. Beispiele Artikel lagert in {xor} lagert in 1 1 Hochregallager Lagerraum Abb : Constraints für Assoziationen. artikel1 lagert in :Hochregallager palette2 lagert in :Lagerraum Angestellter name gehalt position mitarbeiter chef 0..1 {chef.gehalt > mitarbeiter.gehalt} a1: Angestellter chef mitarbeiter a2: Angestellter gehalt = 7000 gehalt = 5000 a3: Angestellter chef mitarbeiter a4: Angestellter gehalt = 4500 gehalt = 3000 Wie die Beispiele zeigen, kann sich ein Constraint auf eine einzige Assoziation oder auf mehrere Assoziationen beziehen. Ein {xor} kann auch mehr als zwei Assoziationen umfassen. 379

24 III Beispiel Wäre in der Abb kein Constraint angegeben, so könnte jeder Student bei allen Professoren auch außerhalb seines Fachbereichs Vorlesungen belegen. Mit Constraint kann der Student s1 beim Professor p1 eine Vorlesung hören, aber nicht beim Professor p3. Fachbereich nummer bezeichnung postadresse 1 Professor name telefon zimmer fachgebiet 1 Student matrikelnr name studiengang hört Vorlesungen {Student kann nur bei Professoren des eigenen Fachbereichs Vorlesungen hören} p1: Professor s1: Student :Fachbereich p2: Professor s1: Student p3: Professor :Fachbereich s1: Student Abb : Constraint einer Assoziation. Besteht eine Restriktion zwischen den Attributwerten zweier Objekte, dann ist damit auch immer eine Restriktion für die Assoziation zwischen diesen Objekten vorhanden. Ein Beispiel zeigt die Abb Abb : Ein Constraint zwischen den Attributen zweier Klassen. Zugfahrzeug anhaengerlast {Zugfahrzeug.anhaengerlast > Anhänger.gewicht} Anhänger gewicht OCL Möglichkeiten»The Object Constraint Language (OCL) [is] a formal language used to describe expressions on UML models. These expressions typically specify invariant conditions that must hold for the system being modeled or queries over objects described in a model«[ocl06, S. 5]. Die OCL ist Bestandteil der UML und erlaubt es, UML-Modellen zusätzliche präzisierte Semantik zuzuordnen, die mit UML-Elementen nicht oder nur umständlich ausgedrückt werden kann. OCL ist eine standardisierte, typisierte, deklarative und seiteneffektfreie Abfrage- und Constraint-Sprache mit einer mathematisch fundierten Semantik. Sie basiert auf der Mengentheorie und hat Ähnlichkeit mit der Programmiersprache Smalltalk und mit der Prädikatenlogik (siehe»prädikatenlogik«, S. 367). Mit Hilfe der OCL ist es möglich, Anfragen zu spezifizieren, Werte zu referenzieren, 380

25 11.2 Constraints und die OCL in der UML III entlang von Assoziationen zu navigieren, Zustände zu definieren. OCL besteht aus einzelnen Ausdrücken. Vor dem Ausdruck wird der Kontext angegeben, auf den sich der Ausdruck bezieht: [ context Modellelement ] OCL-Ausdruck Die Kontext-Angabe entfällt, wenn der OCL-Ausdruck in einem UML-Diagramm durch eine gestrichelte Linie einem UML-Modellelement zugeordnet ist (Formulierung als Notiz (note)). Ein Kommentar wird durch zwei Minuszeichen begonnen und endet mit dem Zeilenumbruch (Zeilenkommentar): -- OCL-Kommentar Syntax Invarianten Häufig werden Invarianten durch einen OCL-Ausdruck spezifiziert. Eine Invariante muss für alle Exemplare des entsprechenden Typs oder eine Assoziation zu jedem Zeitpunkt wahr sein. Die Referenz auf ein Exemplar eines Typs wird durch self angegeben, d. h. self bezieht sich immer auf das Exemplar, für das das Constraint berechnet wird. Sichtbarkeiten von Attributen u.ä. werden durch die OCL ignoriert. In einer Klasse Artikel gibt es das Attribut lagermenge. WenndieLagermenge für einen Artikel immer größer 100 sein soll, dann kann dies, wie folgt, in der OCL spezifiziert werden: context Artikel inv: self.lagermenge > 100 Beispiel 1a Das Schlüsselwort inv gibt an, dass es sich um eine Invariante handelt. Diese Spezifikation ist identisch mit der Angabe lagermenge {lagermenge > 100} in einem Klassendiagramm (siehe»constraints in der UML«, S. 378). Der Invarianten kann zusätzlich auch ein eigener Name gegeben werden (benannte Invariante): context Artikel inv Mindestlagermenge: self.lagermenge > 100 [ context Modellelement ] Syntax inv [Constraint-Name] : self.eigenschaft Vor- und Nachbedingungen Für Operationen oder andere Verhaltenselemente können Vorbedingungen (preconditions) und Nachbedingungen (postconditions) spezifiziert werden, ohne dass dafür ein Algorithmus angegeben wird. Vorbedingungen (Schlüsselwort pre) müssen vor der Ausführung, Nachbedingungen (Schlüsselwort post) nach der Ausführung gültig sein. 381

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie und, oder, nicht, wenn... dann zwischen atomaren und komplexen Sätzen. I. Aussagenlogik 2.1 Syntax Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen. Sätze selbst sind entweder wahr oder falsch. Ansonsten

Mehr

Klausur Formale Systeme Fakultät für Informatik WS 2009/2010

Klausur Formale Systeme Fakultät für Informatik WS 2009/2010 Klausur Formale Systeme Fakultät für Informatik WS 2009/2010 Prof. Dr. Bernhard Beckert 18. Februar 2010 Name: Mustermann Vorname: Peter Matrikel-Nr.: 0000000 Klausur-ID: 0000 A1 (15) A2 (10) A3 (10) A4

Mehr

Was bisher geschah. Aufgaben: Diagnose, Entscheidungsunterstützung Aufbau Komponenten und Funktion

Was bisher geschah. Aufgaben: Diagnose, Entscheidungsunterstützung Aufbau Komponenten und Funktion Was bisher geschah Daten, Information, Wissen explizites und implizites Wissen Wissensrepräsentation und -verarbeitung: Wissensbasis Kontextwissen Problemdarstellung fallspezifisches Wissen repräsentiert

Mehr

Mai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Mai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 3 30.04.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Letztes Mal Aussagenlogik Syntax: welche Formeln? Semantik:

Mehr

Formale Methoden II. Gerhard Jäger. SS 2008 Universität Bielefeld. Teil 8, 11. Juni 2008. Formale Methoden II p.1/30

Formale Methoden II. Gerhard Jäger. SS 2008 Universität Bielefeld. Teil 8, 11. Juni 2008. Formale Methoden II p.1/30 Formale Methoden II SS 2008 Universität Bielefeld Teil 8, 11. Juni 2008 Gerhard Jäger Formale Methoden II p.1/30 Beispiele Anmerkung: wenn der Wahrheitswert einer Formel in einem Modell nicht von der Belegungsfunktion

Mehr

Binäre Suchbäume (binary search trees, kurz: bst)

Binäre Suchbäume (binary search trees, kurz: bst) Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.

Mehr

Prolog basiert auf Prädikatenlogik

Prolog basiert auf Prädikatenlogik Software-Technologie Software-Systeme sind sehr komplex. Im Idealfall erfolgt die Programmierung problemorientiert, während die notwendige Übertragung in ausführbare Programme automatisch erfolgt. Prolog-Philosophie:

Mehr

der einzelnen Aussagen den Wahrheitswert der zusammengesetzten Aussage falsch falsch falsch falsch wahr falsch wahr falsch falsch wahr wahr wahr

der einzelnen Aussagen den Wahrheitswert der zusammengesetzten Aussage falsch falsch falsch falsch wahr falsch wahr falsch falsch wahr wahr wahr Kapitel 2 Grundbegriffe der Logik 2.1 Aussagen und deren Verknüpfungen Eine Aussage wie 4711 ist durch 3 teilbar oder 2 ist eine Primzahl, die nur wahr oder falsch sein kann, heißt logische Aussage. Ein

Mehr

2. Vorlesung. Slide 40

2. Vorlesung. Slide 40 2. Vorlesung Slide 40 Knobelaufgabe Was tut dieses Programm? Informell Formal Wie stellt man dies sicher? knobel(a,b) { Wenn a = 0 dann return b sonst { solange b 0 wenn a > b dann { a := a - b sonst b

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

Beschreibungslogiken. Daniel Schradick 1schradi@informatik.uni-hamburg.de

Beschreibungslogiken. Daniel Schradick 1schradi@informatik.uni-hamburg.de Beschreibungslogiken Daniel Schradick 1schradi@informatik.uni-hamburg.de Was sind Beschreibungslogiken? Definition: Formalisms that represent knowledge of some problem domain (the world ) by first defining

Mehr

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren: 4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 3: Alphabete (und Relationen, Funktionen, Aussagenlogik) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/18 Überblick Alphabete ASCII Unicode

Mehr

4. Alternative Temporallogiken

4. Alternative Temporallogiken 4. Alternative Temporallogiken Benutzung unterschiedlicher Temporallogiken entsprechend den verschiedenen Zeitbegriffen LTL: Linear Time Logic Ähnlich der CTL, aber jetzt einem linearen Zeitbegriff entspechend

Mehr

1. Einführung in Temporallogik CTL

1. Einführung in Temporallogik CTL 1. Einführung in Temporallogik CTL Temporallogik dient dazu, Aussagen über Abläufe über die Zeit auszudrücken und zu beweisen. Zeit wird in den hier zunächst behandelten Logiken als diskret angenommen

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 7: Einführung Aussagenlogik schulz@eprover.org Logisches Schließen 2 gold +1000, 1 per step, Beispiel: Jage den Wumpus Performance measure death 1000 10

Mehr

Prädikatenlogik - Micromodels of Software

Prädikatenlogik - Micromodels of Software Prädikatenlogik - Micromodels of Software Philipp Koch Seminar Logik für Informatiker Universität Paderborn Revision: 30. Mai 2005 1 Inhaltsverzeichnis 1 Motivation 3 2 Modelle 3 2.1 Definition eines Modells.......................

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

Semantik von Formeln und Sequenzen

Semantik von Formeln und Sequenzen Semantik von Formeln und Sequenzen 33 Grundidee der Verwendung von Logik im Software Entwurf Syntax: Menge von Formeln = Axiome Ax K ist beweisbar Formel ϕ beschreiben Korrektkeit Vollständigkeit beschreibt

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.

Mehr

Informatik A ( Frank Hoffmann)

Informatik A ( Frank Hoffmann) Teillösungen zum 1. Aufgabenblatt zur Vorlesung Informatik A ( Frank Hoffmann) 1. Improvisieren Stellen Sie die Zahl 6 dar durch einen Ausdruck, der genau dreimal die Ziffer i enthält und ansonsten neben

Mehr

Aussagenlogik. Aussagen und Aussagenverknüpfungen

Aussagenlogik. Aussagen und Aussagenverknüpfungen Aussagenlogik Aussagen und Aussagenverknüpfungen Aussagen sind Sätze, von denen sich sinnvollerweise sagen läßt, sie seien wahr oder falsch. Jede Aussage besitzt also einen von zwei möglichen Wahrheitswerten,

Mehr

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Frank Heitmann heitmann@informatik.uni-hamburg.de 9. Juni 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/36 Ersetzbarkeitstheorem

Mehr

Verwendet man zur Darstellung nur binäre Elemente ( bis lat.: zweimal) so spricht man von binärer Digitaltechnik.

Verwendet man zur Darstellung nur binäre Elemente ( bis lat.: zweimal) so spricht man von binärer Digitaltechnik. Kursleiter : W. Zimmer 1/24 Digitale Darstellung von Größen Eine Meßgröße ist digital, wenn sie in ihrem Wertebereich nur eine endliche Anzahl von Werten annehmen kann, also "abzählbar" ist. Digital kommt

Mehr

Syntax. 1 Jedes A AS AL ist eine (atomare) Formel. 2 Ist F eine Formel, so ist auch F eine Formel. 3 Sind F und G Formeln, so sind auch

Syntax. 1 Jedes A AS AL ist eine (atomare) Formel. 2 Ist F eine Formel, so ist auch F eine Formel. 3 Sind F und G Formeln, so sind auch Formale der Informatik 1 Kapitel 15 Folgerbarkeit, Äquivalenzen und Normalformen Frank Heitmann heitmann@informatik.uni-hamburg.de 8. Juni 2015 Syntax Definition (Syntax der Aussagenlogik) Mit AS AL sei

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

7. Formale Sprachen und Grammatiken

7. Formale Sprachen und Grammatiken 7. Formale Sprachen und Grammatiken Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr.,...)

Mehr

Grundlagen der Informationverarbeitung

Grundlagen der Informationverarbeitung Grundlagen der Informationverarbeitung Information wird im Computer binär repräsentiert. Die binär dargestellten Daten sollen im Computer verarbeitet werden, d.h. es müssen Rechnerschaltungen existieren,

Mehr

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes) Prädikatenlogik Man kann den natürlichsprachlichen Satz Die Sonne scheint. in der Prädikatenlogik beispielsweise als logisches Atom scheint(sonne) darstellen. In der Sprache der Prädikatenlogik werden

Mehr

Grundlagen der Logik

Grundlagen der Logik Grundlagen der Logik Denken Menschen logisch? Selektionsaufgabe nach Watson (1966): Gegeben sind vier Karten von denen jede auf der einen Seite mit einem Buchstaben, auf der anderen Seite mit einer Zahl

Mehr

Logische Folgerung. Definition 2.11

Logische Folgerung. Definition 2.11 Logische Folgerung Definition 2.11 Sei 2A eine aussagenlogische Formel und F eine endliche Menge aussagenlogischer Formeln aus A. heißt logische Folgerung von F genau dann, wenn I ( ) =1für jedes Modell

Mehr

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur Signatur Formeln Am Beispiel der Aussagenlogik erklären wir schrittweise wichtige Elemente eines logischen Systems. Zunächst benötigt ein logisches System ein Vokabular, d.h. eine Menge von Namen, die

Mehr

Grundlagen der Theoretischen Informatik - Sommersemester 2012. Übungsblatt 1: Lösungsvorschläge

Grundlagen der Theoretischen Informatik - Sommersemester 2012. Übungsblatt 1: Lösungsvorschläge Lehrstuhl für Softwaretechnik und Programmiersprachen Professor Dr. Michael Leuschel Grundlagen der Theoretischen Informatik - Sommersemester 2012 Übungsblatt 1: Lösungsvorschläge Disclaimer: Bei Folgendem

Mehr

Allgemeingültige Aussagen

Allgemeingültige Aussagen Allgemeingültige Aussagen Definition 19 Eine (aussagenlogische) Formel p heißt allgemeingültig (oder auch eine Tautologie), falls p unter jeder Belegung wahr ist. Eine (aussagenlogische) Formel p heißt

Mehr

Theorie der Informatik. Theorie der Informatik. 2.1 Äquivalenzen. 2.2 Vereinfachte Schreibweise. 2.3 Normalformen. 2.

Theorie der Informatik. Theorie der Informatik. 2.1 Äquivalenzen. 2.2 Vereinfachte Schreibweise. 2.3 Normalformen. 2. Theorie der Informatik 24. Februar 2014 2. Aussagenlogik II Theorie der Informatik 2. Aussagenlogik II 2.1 Äquivalenzen Malte Helmert Gabriele Röger 2.2 Vereinfachte Schreibweise Universität Basel 24.

Mehr

syntax.tex Eine Übersicht

syntax.tex Eine Übersicht syntax.tex Eine Übersicht Bernd Worsch 7. Juli 1997 Inhaltsverzeichnis 1 Einleitung 1 2 Bevor es funktioniert... 1 3 Grundelemente von syntax.tex 1 4 Strukturelemente von syntax.tex 3 5 Setzen von Syntaxdiagrammen

Mehr

Logische Programmierung

Logische Programmierung Logische Programmierung B-82 Deklaratives Programmieren in Prädikatenlogik: Problem beschreiben statt Algorithmus implementieren (idealisiert). Grundlagen: Relationen bzw. Prädikate (statt Funktionen);

Mehr

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 6 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Satz 1 Seien F, G Boolesche Ausdrücke

Mehr

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/25

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/25 Aussagenlogik Übersicht: 1 Teil 1: Syntax und Semantik 2 Teil 2: Modellierung und Beweise Aussagenlogik H. Kleine Büning 1/25 Einführendes Beispiel Falls Lisa Peter trifft, dann trifft Lisa auch Gregor.

Mehr

Aufgabe. Gelten die folgenden Äquivalenzen?. 2/??

Aufgabe. Gelten die folgenden Äquivalenzen?. 2/?? Äquivalenz Zwei Formeln F und G heißen (semantisch) äquivalent, falls für alle Belegungen A, die sowohl für F als auch für G passend sind, gilt A(F ) = A(G). Hierfür schreiben wir F G.. 1/?? Aufgabe Gelten

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V

Mehr

Vorlesung Dokumentation und Datenbanken Klausur

Vorlesung Dokumentation und Datenbanken Klausur Dr. Stefan Brass 5. Februar 2002 Institut für Informatik Universität Giessen Vorlesung Dokumentation und Datenbanken Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises

Mehr

Nutzerhandbuch Softwaresystem Inspirata. Benutzerhandbuch Softwaresystem Inspirata

Nutzerhandbuch Softwaresystem Inspirata. Benutzerhandbuch Softwaresystem Inspirata Benutzerhandbuch Softwaresystem Inspirata 1 Inhaltsverzeichnis 1. Login und Logout... 3 2. Kalender/Buchungen auswählen... 5 3. Betreuer... 7 3.1 Buchung anlegen... 7 3.2 Betreuer zuordnen... 8 3.3 Notiz

Mehr

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende

Mehr

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56 5 Beweistechniken Übersicht 5.1 Drei wichtige Beweistechniken................................. 55 5. Erklärungen zu den Beweistechniken............................ 56 Dieses Kapitel ist den drei wichtigsten

Mehr

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich Herbrand-Strukturen und Herbrand-Modelle Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende Struktur A =(U A, I A )eineherbrand-struktur für F, falls folgendes gilt: 1 U A = D(F ), 2 für jedes

Mehr

Brainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen

Brainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen Brainfuck 1 Brainfuck 1.1 Brainfuck Geschichte und Umfeld Brainfuck ist eine sogenannte esoterische Programmiersprache. Sie wurde 1993 vom Schweizer Urban Müller entworfen mit dem Ziel, eine Sprache mit

Mehr

Betragsgleichungen und die Methode der Fallunterscheidungen

Betragsgleichungen und die Methode der Fallunterscheidungen mathe online Skripten http://www.mathe-online.at/skripten/ Betragsgleichungen und die Methode der Fallunterscheidungen Franz Embacher Fakultät für Mathematik der Universität Wien E-mail: franz.embacher@univie.ac.at

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 14 Aussagenlogik Syntax & Semantik. Motivation. Motivation

Motivation. Formale Grundlagen der Informatik 1 Kapitel 14 Aussagenlogik Syntax & Semantik. Motivation. Motivation Formale Grundlagen der Informatik 1 Kapitel 14 Aussagenlogik & Frank Heitmann heitmann@informatik.uni-hamburg.de Mit der Aussagenlogik lassen sich einfache Verknüpfungen zwischen (atomaren) Gebilden ausdrücken

Mehr

Inhaltsverzeichnis... 1. Was sind Funktionen?... 2. Bestandteile einer Funktion... 2. Beispiele für einfache Funktionen... 2

Inhaltsverzeichnis... 1. Was sind Funktionen?... 2. Bestandteile einer Funktion... 2. Beispiele für einfache Funktionen... 2 Inhaltsverzeichnis Inhaltsverzeichnis... 1 Was sind Funktionen?... 2 Bestandteile einer Funktion... 2 Beispiele für einfache Funktionen... 2 Als Tabelle definierten Zellbereich schnell auswerten... 3 Die

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Unterscheidung: Workflowsystem vs. Informationssystem

Unterscheidung: Workflowsystem vs. Informationssystem 1. Vorwort 1.1. Gemeinsamkeiten Unterscheidung: Workflowsystem vs. Die Überschneidungsfläche zwischen Workflowsystem und ist die Domäne, also dass es darum geht, Varianten eines Dokuments schrittweise

Mehr

Textfunktionen. Die Tabellenfunktion LINKS. Zellinhalte extrahieren

Textfunktionen. Die Tabellenfunktion LINKS. Zellinhalte extrahieren Kapitel 5 201 Die sind dann sehr wertvoll, wenn Sie Texte in Tabellen bearbeiten oder anpassen möchten. Oft müssen vor allem Daten, die aus Fremdsystemen kommen, in Excel umgewandelt und in eine besser

Mehr

9. Übung Formale Grundlagen der Informatik

9. Übung Formale Grundlagen der Informatik Institut für Informatik Sommersemester 2001 Universität Zürich 9. Übung Formale Grundlagen der Informatik Norbert E. Fuchs (fuchs@ifi.unizh.ch) Reinhard Riedl (riedl@ifi.unizh.ch) Nadine Korolnik (korolnik@ifi.unizh.ch)

Mehr

25 kann ohne Rest durch 5 geteilt werden! ist wahr

25 kann ohne Rest durch 5 geteilt werden! ist wahr Lehrbrief 2: Lektion 8 - C -Praxis 4-1 - 5.2 Einfache Entscheidungen mit if und die Vergleichsoperatoren Nun tauchen wir immer tiefer in die Geheimnisse von C ein und beschäftigen uns mit einem sehr wichtigen

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Vorlesung "Software-Engineering"

Vorlesung Software-Engineering Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Einführung in PROLOG. Christian Stocker

Einführung in PROLOG. Christian Stocker Einführung in PROLOG Christian Stocker Inhalt Was ist PROLOG? Der PROLOG- Interpreter Welcher Interpreter? SWI-Prolog Syntax Einführung Fakten, Regeln, Anfragen Operatoren Rekursion Listen Cut Funktionsweise

Mehr

Wer Wird Millionär? Ganz wichtig: Denkt daran in regelmäßigen Abständen zu speichern! Los geht s:

Wer Wird Millionär? Ganz wichtig: Denkt daran in regelmäßigen Abständen zu speichern! Los geht s: Wer Wird Millionär? In dieser Aufgabe werdet ihr mit DialogOS eure eigene Version der Quizshow Wer wird Millionär (WWM) entwickeln. Der Computer ist der Quizmaster und der User der Kandidat. Ihr werdet

Mehr

TU9 Aussagenlogik. Daniela Andrade

TU9 Aussagenlogik. Daniela Andrade TU9 Aussagenlogik Daniela Andrade daniela.andrade@tum.de 18.12.2017 1 / 21 Kleine Anmerkung Meine Folien basieren auf den DS Trainer von Carlos Camino, den ihr auf www.carlos-camino.de/ds findet ;) 2 /

Mehr

3. Logik 3.1 Aussagenlogik

3. Logik 3.1 Aussagenlogik 3. Logik 3.1 Aussagenlogik WS 06/07 mod 301 Kalkül zum logischen Schließen. Grundlagen: Aristoteles 384-322 v. Chr. Aussagen: Sätze, die prinzipiell als ahr oder falsch angesehen erden können. z. B.: Es

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

Aussagenlogik. Spezifikation und Verifikation Kapitel 1. LTL und CTL Syntax & Semantik. Aussagenlogik: Syntax. Aussagenlogik: Syntax (Alternative)

Aussagenlogik. Spezifikation und Verifikation Kapitel 1. LTL und CTL Syntax & Semantik. Aussagenlogik: Syntax. Aussagenlogik: Syntax (Alternative) Spezifikation und Verifikation Kapitel 1 Aussagenlogik LTL und CTL & Frank Heitmann heitmann@informatik.uni-hamburg.de Wir haben Eine abzählbare Menge V = {x 1, x 2,...} von aussagenlogischen Variablen

Mehr

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung 6. Datenintegrität Motivation Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung nur sinnvolle Attributwerte (z.b. keine negativen Semester) Abhängigkeiten

Mehr

5. Aussagenlogik und Schaltalgebra

5. Aussagenlogik und Schaltalgebra 5. Aussagenlogik und Schaltalgebra Aussageformen und Aussagenlogik Boolesche Terme und Boolesche Funktionen Boolesche Algebra Schaltalgebra Schaltnetze und Schaltwerke R. Der 1 Aussagen Information oft

Mehr

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002)

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) 3. Entscheidungsbäume Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) (aus Wilhelm 2001) Beispiel: (aus Böhm 2003) Wann sind Entscheidungsbäume

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

1 Aussagenlogik und Mengenlehre

1 Aussagenlogik und Mengenlehre 1 Aussagenlogik und engenlehre 1.1 engenlehre Definition (Georg Cantor): nter einer enge verstehen wir jede Zusammenfassung von bestimmten wohl unterschiedenen Objekten (m) unserer Anschauung oder unseres

Mehr

Fragen für die Klausuren

Fragen für die Klausuren Fragen für die Klausuren Vom Quellcode zum ausführbaren Programm Was ist ein Quellcode? Ist der Quellcode von einem Programm auf unterschiedlichen Rechner gleich? Nennen Sie drei Programmiersprachen. Was

Mehr

Aufgabe 6. Gedichtinterpretation worte sind schatten

Aufgabe 6. Gedichtinterpretation worte sind schatten Aufgabe 6 Dennis Blöte, 08.12.2006 Gedichtinterpretation worte sind schatten Das Gedicht worte sind schatten wurde 1969 von Eugen Gomringer geschrieben und befasst sich auf spielerische Art und Weise mit

Mehr

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser

Mehr

b. Lehre des vernünftigen Schlussfolgerns (1. System von Regeln von Aristoteles ( v. Chr.); sprachliche Argumente

b. Lehre des vernünftigen Schlussfolgerns (1. System von Regeln von Aristoteles ( v. Chr.); sprachliche Argumente II. Zur Logik 1. Bemerkungen zur Logik a. Logisches Gebäude der Mathematik: wenige Axiome (sich nicht widersprechende Aussagen) bilden die Grundlage; darauf aufbauend Lehrsätze unter Berücksichtigung der

Mehr

Grammatiken. Einführung

Grammatiken. Einführung Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische

Mehr

A.1 Schaltfunktionen und Schaltnetze

A.1 Schaltfunktionen und Schaltnetze Schaltfunktionen und Schaltnetze A. Schaltfunktionen und Schaltnetze 22 Prof. Dr. Rainer Manthey Informatik II Bedeutung des Binärsystems für den Rechneraufbau Seit Beginn der Entwicklung von Computerhardware

Mehr

Beispiellösungen zu Blatt 111

Beispiellösungen zu Blatt 111 µ κ Mathematisches Institut Georg-August-Universität Göttingen Beispiellösungen zu Blatt 111 Aufgabe 1 Ludwigshafen hat einen Bahnhof in Dreiecksform. Markus, Sabine und Wilhelm beobachten den Zugverkehr

Mehr

Logik I. Symbole, Terme, Formeln

Logik I. Symbole, Terme, Formeln Logik I Symbole, Terme, Formeln Wie jede geschriebene Sprache basiert die Prädikatenlogik erster Stufe auf einem Alphabet, welches aus den folgenden Symbolen besteht: (a) Variabeln wie zum Beispiel v 0,v

Mehr

Semantic Web Technologies I!

Semantic Web Technologies I! www.semantic-web-grundlagen.de Semantic Web Technologies I! Lehrveranstaltung im WS11/12! Dr. Elena Simperl! DP Dr. Sebastian Rudolph! M.Sc. Anees ul Mehdi! www.semantic-web-grundlagen.de Logik Grundlagen!

Mehr

Informatik I WS 07/08 Tutorium 24

Informatik I WS 07/08 Tutorium 24 Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 3.2.07 astian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Organisatorisches / Review is zum 2.2 müssen alle Praxisaufgaben

Mehr

Resolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren:

Resolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren: Resolutionskalkül Ein Kalkül ist eine Kollektion von syntaktischen Umformungsregeln, die unter gegebenen Voraussetzungen aus bereits vorhandenen Formeln neue Formeln erzeugen. Der Resolutionskalkül besteht

Mehr

4 Grundlagen der Datenbankentwicklung

4 Grundlagen der Datenbankentwicklung 4 Grundlagen der Datenbankentwicklung In diesem Kapitel werden wir die Grundlagen der Konzeption von relationalen Datenbanken beschreiben. Dazu werden Sie die einzelnen Entwicklungsschritte von der Problemanalyse

Mehr

Erfüllbarkeit und Allgemeingültigkeit

Erfüllbarkeit und Allgemeingültigkeit Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik Erfüllbarkeit 44 Erfüllbarkeit und Allgemeingültigkeit Def.: eine Formel ϕ heißt erfüllbar, wennesein I gibt, so dass I = ϕ

Mehr

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: 11.04.2005. CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: 11.04.2005. CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de DYNAMISCHE SEITEN Warum Scriptsprachen? Stand: 11.04.2005 CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de I N H A L T 1 Warum dynamische Seiten?... 3 1.1 Einführung... 3 1.2 HTML Seiten...

Mehr

Logische und funktionale Programmierung

Logische und funktionale Programmierung Logische und funktionale Programmierung Vorlesung 2: Prädikatenkalkül erster Stufe Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 14. Oktober 2016 1/38 DIE INTERPRETATION

Mehr

4. Logik und ihre Bedeutung für WBS

4. Logik und ihre Bedeutung für WBS 4. Logik und ihre Bedeutung für WBS WBS verwenden formale Sprache L um Wissen zu repräsentieren Grundidee: Problemlösen = Folgern aus in L dargestelltem Wissen Folgern = implizites Wissen explizit machen

Mehr

Die Erinnerungsfunktion in DokuExpert.net

Die Erinnerungsfunktion in DokuExpert.net in DokuExpert.net buchner documentation GmbH Lise-Meitner-Straße 1-7 D-24223 Schwentinental Tel 04307/81190 Fax 04307/811999 www.buchner.de Inhaltsverzeichnis 1. SINN UND ZWECK...3 2. ERINNERUNGEN ANLEGEN...3

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Webseitennavigation mit dem Content-Management-System Imperia. Zentrum für Informationsverarbeitung Westfälische Wilhelms-Universität Münster

Webseitennavigation mit dem Content-Management-System Imperia. Zentrum für Informationsverarbeitung Westfälische Wilhelms-Universität Münster Webseitennavigation mit dem Content-Management-System Imperia Zentrum für Informationsverarbeitung Westfälische Wilhelms-Universität Münster 10. Januar 2006 Inhaltsverzeichnis 1. Einführung 4 2. Rubrikenstruktur

Mehr

Access Grundlagen. David Singh

Access Grundlagen. David Singh Access Grundlagen David Singh Inhalt Access... 2 Access Datenbank erstellen... 2 Tabellenelemente... 2 Tabellen verbinden... 2 Bericht gestalten... 3 Abfragen... 3 Tabellen aktualisieren... 4 Allgemein...

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen Abfragen lassen sich längst nicht nur dazu benutzen, die gewünschten Felder oder Datensätze einer oder mehrerer Tabellen darzustellen. Sie können Daten auch nach bestimmten Kriterien zu Gruppen zusammenfassen

Mehr

Formale Methoden: Ein Überblick

Formale Methoden: Ein Überblick Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, 2004-09-16, p. 1 Formale Methoden: Ein Überblick Heinrich Rust Lehrstuhl für Software-Systemtechnik BTU Cottbus 2004-09-16

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 10 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV Satz Sei G = (V, Σ, R, S) eine kontextfreie

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Outlook-Abgleich. Änderungen, Irrtümer und Druckfehler vorbehalten. Bearbeitet von Harald Borges. Stand April 2015 www.cobra.de

Outlook-Abgleich. Änderungen, Irrtümer und Druckfehler vorbehalten. Bearbeitet von Harald Borges. Stand April 2015 www.cobra.de Outlook-Abgleich Copyright 2015 cobra computer s brainware GmbH cobra Adress PLUS, cobra CRM PLUS, cobra CRM PRO und cobra CRM BI sind eingetragene Warenzeichen der cobra computer s brainware GmbH. Andere

Mehr

Übung 4: Aussagenlogik II

Übung 4: Aussagenlogik II Übung 4: Aussagenlogik II Diskrete Strukturen im Wintersemester 2013/2014 Markus Kaiser 8. Januar 2014 1/10 Äquivalenzregeln Identität F true F Dominanz F true true Idempotenz F F F Doppelte Negation F

Mehr