11 Logik Formale Logik III

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

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

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

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

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

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

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

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

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

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

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

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

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

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

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

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

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

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

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

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

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

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

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

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

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

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

EINFACHES HAUSHALT- KASSABUCH

EINFACHES HAUSHALT- KASSABUCH EINFACHES HAUSHALT- KASSABUCH Arbeiten mit Excel Wir erstellen ein einfaches Kassabuch zur Führung einer Haushalts- oder Portokasse Roland Liebing, im November 2012 Eine einfache Haushalt-Buchhaltung (Kassabuch)

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

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

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

1. Einführung. 2. Die Abschlagsdefinition

1. Einführung. 2. Die Abschlagsdefinition 1. Einführung orgamax bietet die Möglichkeit, Abschlagszahlungen (oder auch Akontozahlungen) zu erstellen. Die Erstellung der Abschlagsrechnung beginnt dabei immer im Auftrag, in dem Höhe und Anzahl der

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

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

Zahlen auf einen Blick

Zahlen auf einen Blick Zahlen auf einen Blick Nicht ohne Grund heißt es: Ein Bild sagt mehr als 1000 Worte. Die meisten Menschen nehmen Informationen schneller auf und behalten diese eher, wenn sie als Schaubild dargeboten werden.

Mehr

Hinweise zum Übungsblatt Formatierung von Text:

Hinweise zum Übungsblatt Formatierung von Text: Hinweise zum Übungsblatt Formatierung von Text: Zu den Aufgaben 1 und 2: Als erstes markieren wir den Text den wir verändern wollen. Dazu benutzen wir die linke Maustaste. Wir positionieren den Mauszeiger

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

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

Hilfe zur Urlaubsplanung und Zeiterfassung

Hilfe zur Urlaubsplanung und Zeiterfassung Hilfe zur Urlaubsplanung und Zeiterfassung Urlaubs- und Arbeitsplanung: Mit der Urlaubs- und Arbeitsplanung kann jeder Mitarbeiter in Coffee seine Zeiten eintragen. Die Eintragung kann mit dem Status anfragen,

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

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

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

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

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten bedingten Wahrscheinlichkeit. Mathematik- Unterrichts- Einheiten- Datei e. V. Klasse 9 12 04/2015 Diabetes-Test Infos: www.mued.de Blutspenden werden auf Diabetes untersucht, das mit 8 % in der Bevölkerung verbreitet ist. Dabei werden

Mehr

Excel Pivot-Tabellen 2010 effektiv

Excel Pivot-Tabellen 2010 effektiv 7.2 Berechnete Felder Falls in der Datenquelle die Zahlen nicht in der Form vorliegen wie Sie diese benötigen, können Sie die gewünschten Ergebnisse mit Formeln berechnen. Dazu erzeugen Sie ein berechnetes

Mehr

Funktion Erläuterung Beispiel

Funktion Erläuterung Beispiel WESTFÄLISCHE WILHELMS-UNIVERSITÄT WIRTSCHAFTSWISSENSCHAFTLICHE FAKULTÄT BETRIEBLICHE DATENVERARBEITUNG Folgende Befehle werden typischerweise im Excel-Testat benötigt. Die Beispiele in diesem Dokument

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

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

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

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

Theoretische Informatik SS 04 Übung 1

Theoretische Informatik SS 04 Übung 1 Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Übung 4. Musterlösungen

Übung 4. Musterlösungen Informatik für Ökonomen II HS 2010 Übung 4 Ausgabe: 18.11.2010 Abgabe: 25.11.2010 Musterlösungen Schreiben Sie Ihre Namen und Ihre Matrikelnummern in die vorgesehenen Felder auf dem Deckblatt. Formen Sie

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

183.580, WS2012 Übungsgruppen: Mo., 22.10.

183.580, WS2012 Übungsgruppen: Mo., 22.10. VU Grundlagen digitaler Systeme Übung 2: Numerik, Boolesche Algebra 183.580, WS2012 Übungsgruppen: Mo., 22.10. Aufgabe 1: Binäre Gleitpunkt-Arithmetik Addition & Subtraktion Gegeben sind die Zahlen: A

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

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

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme Novell Client Anleitung zur Verfügung gestellt durch: ZID Dezentrale Systeme Februar 2015 Seite 2 von 8 Mit der Einführung von Windows 7 hat sich die Novell-Anmeldung sehr stark verändert. Der Novell Client

Mehr

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem

Mehr

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt? Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt? Behandelte Fragestellungen Was besagt eine Fehlerquote? Welche Bezugsgröße ist geeignet? Welche Fehlerquote ist gerade noch zulässig? Wie stellt

Mehr

Funktionsbeschreibung. Lieferantenbewertung. von IT Consulting Kauka GmbH

Funktionsbeschreibung. Lieferantenbewertung. von IT Consulting Kauka GmbH Funktionsbeschreibung Lieferantenbewertung von IT Consulting Kauka GmbH Stand 16.02.2010 odul LBW Das Modul LBW... 3 1. Konfiguration... 4 1.1 ppm... 4 1.2 Zertifikate... 5 1.3 Reklamationsverhalten...

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

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

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter H. Schmitt David Farago, Christoph Scheben, Mattias Ulbrich Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt

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

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

3.2 Spiegelungen an zwei Spiegeln

3.2 Spiegelungen an zwei Spiegeln 3 Die Theorie des Spiegelbuches 45 sehen, wenn die Person uns direkt gegenüber steht. Denn dann hat sie eine Drehung um die senkrechte Achse gemacht und dabei links und rechts vertauscht. 3.2 Spiegelungen

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

Erklärung zum Internet-Bestellschein

Erklärung zum Internet-Bestellschein Erklärung zum Internet-Bestellschein Herzlich Willkommen bei Modellbahnbau Reinhardt. Auf den nächsten Seiten wird Ihnen mit hilfreichen Bildern erklärt, wie Sie den Internet-Bestellschein ausfüllen und

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

N Bit binäre Zahlen (signed)

N Bit binäre Zahlen (signed) N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101

Mehr

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung

Mehr

Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand

Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand Vorüberlegung In einem seriellen Stromkreis addieren sich die Teilspannungen zur Gesamtspannung Bei einer Gesamtspannung U ges, der

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

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

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

FlowFact Alle Versionen

FlowFact Alle Versionen Training FlowFact Alle Versionen Stand: 29.09.2005 Rechnung schreiben Einführung Wie Sie inzwischen wissen, können die unterschiedlichsten Daten über verknüpfte Fenster miteinander verbunden werden. Für

Mehr

Barrierefreie Webseiten erstellen mit TYPO3

Barrierefreie Webseiten erstellen mit TYPO3 Barrierefreie Webseiten erstellen mit TYPO3 Alternativtexte Für jedes Nicht-Text-Element ist ein äquivalenter Text bereitzustellen. Dies gilt insbesondere für Bilder. In der Liste der HTML 4-Attribute

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

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

Kapitalerhöhung - Verbuchung

Kapitalerhöhung - Verbuchung Kapitalerhöhung - Verbuchung Beschreibung Eine Kapitalerhöhung ist eine Erhöhung des Aktienkapitals einer Aktiengesellschaft durch Emission von en Aktien. Es gibt unterschiedliche Formen von Kapitalerhöhung.

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Mag. Christian Gürtler Programmierung Grundlagen der Informatik 2011 Inhaltsverzeichnis I. Allgemeines 3 1. Zahlensysteme 4 1.1. ganze Zahlen...................................... 4 1.1.1. Umrechnungen.................................

Mehr

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term

Mehr

Data Mining: Einige Grundlagen aus der Stochastik

Data Mining: Einige Grundlagen aus der Stochastik Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

How to do? Projekte - Zeiterfassung

How to do? Projekte - Zeiterfassung How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...

Mehr

Datenaustausch mit Datenbanken

Datenaustausch mit Datenbanken Datenaustausch mit Datenbanken Datenbanken Einführung Mit dem optionalen Erweiterungspaket "Datenbank" können Sie einen Datenaustausch mit einer beliebigen Datenbank vornehmen. Der Datenaustausch wird

Mehr

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der

Mehr