Motivation und Einführung

Größe: px
Ab Seite anzeigen:

Download "Motivation und Einführung"

Transkript

1 Motivation und Einführung H. Peter Gumm Philipps-Universität Marburg Sommersemester 2007

2 hat nichts zu tun mit... n... Schiffsmodellen n Modelleisenbahnen n solchen Modellen

3 Beim Model checking geht es um Spezifikation und automatische Verifikation von Hardware Software Pokollen Steuerungen to oi go In dieser Vorlesung behandeln wir W Anwendungen von Viele Beispiele Funktionsweise von Model Checkern Insbesondere SMV Effiziente Implementierungstechniken request ti T oo gi ack Theoretische Hintergründe Transitionssysteme Temporale Logiken

4 Software Qualitätssicherung Testen Unit tests Inspektionen Reviews Es bleiben aber Fehler übrig Sonderfälle, an die niemand gedacht hat Durch Testen kann man die Anwesenheit, nicht die Abwesenheit von Fehlern feststellen

5 Neulich in der Karibik wandelte ein Rechner irgendwo in Südamerika eine 64-Bit Integer in eine 16-Bit Integer um es war keine exception programmiert, um den Fehler zu behandeln. der Rechner stürzt ab.... aber zum Glück gibt es einen backup rechner der Backup Rechner führt den gleichen Code aus der gleiche Fehler tritt auf noch ein Absturz... davon gibt es Bilder:

6 nicht nur ein Rechner stürzt ab ein Feuerwerk für 4 Milliarden DM wegen eines dummen Softwarefehlers...

7 Nichtdeterministische Systeme Verteilte Systeme sind sind nichtdeterministisch. Unklar, in in welcher Reihenfolge Signale Messages Interrupts ankommen. Testen führt nicht zum Ziel. Es bleiben Fehler übrig, man sagt dann: Verkettung unglücklicher Umstände, oder Murphy s Law what can go wrong will go wrong

8 Ein Produzent und zwei Konsumenten lange getestet, ging auch immer gut, doch eines Tages, durch unglückliche Verkettung von Umständen Konto in den Miesen

9 Fehler in Software und Hardware aus J.P.Katooen

10 Software Qualitätssicherung Am besten: Verifikation aber... Programmverifikation geht nicht vollautomatisch Rechnerunterstützung notwendig Verifikation ist mühsam und daher teuer Daher: Allgemeine Programmverifikation nur nur anwendbar bei bei überschaubaren und und gut gut verstandenen Softwaresystemen oder punktuell bei bei kritischen Routinen.

11 Endliche Systeme Viele Systeme der der Praxis haben nur nur endlich viele Zustände Boolesche Schaltungen kombinatorische Schaltungen (mit speichernden Gliedern) Programme mit endlichen Zustandsmengen Pokolle Kann man solche Systeme vollständig testen?

12 Die Bank - modelliert in NuSMV Entspräche in PseudoAssembler: 0 : cmp konto 100 jge 0 1 : add konto 10 jmp 0 0 : cmp konto 10 jb 0 1 : sub konto 10 jmp 0

13 Überprüfung in NuSMV Wir nehmen drei Prozesse an. Wir been, dass das Konto immer < 100 sei NuSMV liefert minimales Gegenbeispiel

14 Eine Ampelsteuerung Nichtdeterminismus Hauptstraße Man weiß nicht, wann und von wo ein Auto kommt Gewünschte Eigenschaften Sicherheit Die Ampeln von Hauptund Nebenstraße dürfen nie gleichzeitig grün sein Lebendigkeit Wenn ein Auto in der Nebenstraße wartet, wird irgendwann seine Ampel grün. Nebenstraße Induktions- Sensor

15 Steuerung durch ein C-Programm typedef typedef enum{,,,rot enum{,,,rot ampel ampel extern extern bool bool sensor sensor extern extern bool bool timeout( timeout( ) ) extern extern void void set_lights( set_lights( ) ) ampel ampel,, main(){ main(){ while(1){ while(1){ /* /* main main loop loop */ */ set_lights(,) set_lights(,) if if (timeout()) (timeout()) { { switch switch () () { { case case : : Rot Rot break break case case Rot Rot : : break break case case : : if if ( ( sensor sensor ) ) { { Rot Rot break break case case : : /*endswitch /*endswitch */ */ /* /* endif endif */ */ /* /* endwhile endwhile */ */ Wie testen wir dieses Programm? Können wir es verifizieren?

16 Modellierung als Automat sensor timeout :: :: sensor timeout :: :: Rot Rot timeout timeout timeout timeout :: Rot Rot :: timeout :: :: timeout Zu bestimmten Zeitpunkten kommt ein timeout-signal. Dann wird überprüft ob und wie die Ampeln geschaltet werden müssen.

17 Übersetzung in ein SMV-Programm Beginn der Datei Ampel_timeout.smv -- : Kommentar bis Zeilenende MODULE Komponente Variablendeklarationen: IVAR : input variables VAR : variables Aufzählungstyp ASSIGN : Beschreibung der Dynamik init(<variable>) : <expr> setzt Anfangswerte Die Die einfache einfache Ampelsteuerung Ampelsteuerung in in NuSMV NuSMV MODULE MODULE main main Die Die Hauptkomponente Hauptkomponente IVAR IVAR Unabhängige Unabhängige Variable Variable Signale Signale sensor sensor : boolean boolean timeout timeout : boolean boolean VAR VAR Zustandsvariable : {,,,Rot : {,,,Rot ASSIGN ASSIGN die die Dynamik Dynamik des des Systems Systems Anfangswerte: Anfangswerte: init() init() : : init() init() : :

18 Fortsetzung der SMV-Modellierung next beschreibt neuen Wert der Variablen Fallunterscheidung: case - esac: TRUE ( 1) : default-fall Fehlt dieser: Wert 1!!! Zustandsübergänge: next() next() : : case case timeout timeout & : Rot Rot timeout timeout & Rot Rot : timeout timeout & & sensor sensor : timeout timeout & : TRUE TRUE : esac esac endcase endcase next() next() : : case case timeout timeout & : timeout timeout & Rot Rot : timeout timeout & & sensor sensor : Rot Rot timeout timeout & : TRUE TRUE : esac esac endcase endcase

19 Temporale Eigenschaften Temporale Eigenschaften drücken wir mit den "Modalitäten" G always (immer) F sometimes (irgendwann) aus. G (( ) ( )) )) G (( sensor F ( )) )) Sicherheit Lebendigkeit Statt G und F verwendet man häufig auch [ ] box und diamond.

20 Rolle eines Model checkers Ampelspezifikation (als (als Datei Datei Ampel.smv) Ampel.smv) G ( ) SMV

21 Spezifikation in NuSMV LTLSPEC: Spezifikation einer zeitlichen Aussage in LTL: Lineare Temporale Logik Zeitliche Operatoren: G : Immer F : Irgendwann Nie Nie beide beide Ampeln Ampeln gleichzeitig gleichzeitig auf auf LTLSPEC LTLSPEC Immer: Immer: Nicht Nicht beide beide Ampeln Ampeln G!(!( & ) )

22 In NuSMV Aufruf aus UltraEdit: Temporale Spezifikation: Ergebnis von NuSMV:

23 Rolle eines Model checkers Ampelspezifikation (als (als Datei Datei Ampel.smv) Ampel.smv) G (( sensor -> -> F ) SMV Gegenbeispiel Signalfolge sensor sensor :: true true true true true true true true true true true true timeout timeout :: true true false false false false false false false false false false......

24 Rolle eines Model checkers Ampelspezifikation (als (als Datei Datei Ampel.smv) Ampel.smv) G (( sensor -> -> F ) SMV Gegenbeispiel Signalfolge bewirkt sensor sensor :: true true true true true true true true true true true true timeout timeout :: true true false false false false false false false false false false :: grün grün ::......

25 In NuSMV Immer: Immer: Wenn Wenn der der Sensor Sensor ein ein Auto Auto meldet, meldet, dann dann wird wird irgendwann irgendwann die die Ampel Ampel grün grün LTLSPEC LTLSPEC G (sensor (sensor -> -> F ) ) G ( sensor sensor -> -> F ) ) is is false false as as demonstrated demonstrated by by the the execution execution sequence: sequence: -> -> State State <- <- sensor sensor 1 timeout timeout 1 Gegenbeispiel sensor loop loop starts starts here here -- sensor :: true true true true true true... Signalfolge timeout timeout :true :true false false false false > -> State State <- <- timeout timeout 0 bewirkt :: grün grün :: Rot Rot Rot Rot Rot Rot -> -> State State <- <-

26 Analyse sensor timeout sensor timeout h: h: h: h: s: s: s: s: Rot Rot timeout timeout timeout G (( sensor sensor F ( ( )) )) timeout h: h: Rot Rot s: s: timeout h: h: s: s: timeout Input : bewirkt Gegenbeispiel sensor sensor :: true true true true true true true true true true true true timeout timeout :: true true false false false false false false false false false false :: grün grün :: Rot Rot Rot Rot Rot Rot Rot Rot Rot Rot......

27 Der nervöse Autofahrer LTLSPEC LTLSPEC Wir Wir setzen setzen voraus, voraus, dass dass immer immer wieder wieder ( ( unendlich unendlich oft oft ) ) ein ein timeout timeout kommt kommt G G F F timeout timeout -> -> G G ( ( sensor sensor -> -> F F ) ) Gegenbeispiel von NuSMV: loop starts here -> State 1.5 <- timeout 0 -> State 1.6 <- sensor 0 timeout 1 -> State 1.7 <- sensor 1 timeout 0 Es handelt sich um einen hypernervösen Autofahrer, der immer vor- und zurückfährt. Beim timeout ist er immer gerade nicht auf dem sensor.

28 Baldrian für den Fahrer Es gibt zwei Möglichkeiten, mit dem hypernervösen Autofahrer umzugehen Wir garantieren nur dem ruhigen Autofahrer, dass er auch irgendwann grün bekommt G F timeout -> G (sensor & Auto wartet -> F grün) Wir modifizieren die Ampelsteuerung, so dass auch hypernervöse Autofahrer mal grün bekommen Wir speichern das Sensorsignal in einer Variablen request und löschen es erst bei grün wieder

29 Temporaler Operator: Until G( G( sensor sensor (( sensor sensoruntil untilsensor & timeout timeout ))) ) Zusätzliche Annahme Definition : p until q : p wahr bis q eintritt Beispiel p :: true true true true false false false false true true false false false false q :: false false false false true true true true true true false false true true p wird von q abgelöst Im Beispiel gilt : p until q, aber : G ( p until q )

30 Versuch einer Verbesserung LTLSPEC LTLSPEC sensor sensor wartet wartet auf auf timeout timeout G( G( sensor sensor -> -> sensor sensor U sensor sensor & timeout) timeout) -> -> G(sensor G(sensor -> -> F ( ( )) )) Ergebnis von NuSMV: specification specification G( G( sensor sensor -> -> sensor sensor U sensor sensor & timeout) timeout) -> -> G(sensor G(sensor -> -> F ()) ()) is is false false as as demonstrated demonstrated by by the the following following execution execution sequence sequence Die Analyse ergibt... sensor müsste nach dem timeout noch einen Takt warten...

31 Analyse G( sensor -> sensor U sensor & timeout) -> G(sensor -> F ( )) Input : bewirkt Gegenbeispiel von von NuSMV sensor sensor :: true true true true true true true true true true false false false false timeout timeout :: true true true true true true true true true true true true true true :: grün grün Ro Ro grün grün grün grün grün grün :: Rot Rot sensor timeout sensor timeout h: h: h: h: s: s: s: s: Rot Rot timeout timeout timeout Einige Autos kommen. wird grün, dann, danach kommt noch ein Auto. Es löst den sensor aus und setzt sofort wieder zurück. timeout h: h: Rot Rot s: s: timeout h: h: s: s: timeout Zunächst wird die Hauptampel grün. Wenn jetzt der sensor zurückgesetzt wird und bleibt, so bleibt das System im Zustand ( h:grün, s: )

32 Temporaler Operator X - next time Definition : X p ist jetzt wahr : p ist zum nächsten Zeitpunkt wahr Beispiel p :: false false true true false false false false true true false false false false Hier ist X p wahr Hier ist X p falsch Zusätzliche Annahme LTLSPEC sensor wartet noch 1 Takt nach timeout G( G( sensor -> -> sensor U (timeout & X sensor )) )) -> -> G(sensor -> -> F ( ))

33 Versuch einer Verbesserung LTLSPEC sensor wartet auf auf timeout G( G( sensor -> -> sensor U timeout & X sensor ) -> -> G(sensor -> -> F ( )) Ergebnis von NuSMV: specification ( G (sensor -> -> ((sensor U timeout) & X sensor)) -> -> G (sensor -> -> F )) is is true true

34 C-Programm für Ampel mit timer typedef typedef enum enum {,,,Rot {,,,Rot ampel ampel extern extern bool bool sensor sensor extern extern void void settimer( settimer( ) ) extern extern void void set_lights( set_lights( ) ) ampel ampel,, main(){ main(){ settimer(10) settimer(10) while(1){ while(1){ /* /* main main loop loop */ */ set_lights(,) set_lights(,) if if (timeout()) (timeout()) { { switch switch () () { { case case : : Rot Rot settimer(1) settimer(1) break break case case Rot Rot : : settimer(10) settimer(10) break break case case : : if if (sensor (sensor ) ) { { Rot Rot settimer(1) settimer(1) break break case case : : settimer(6) settimer(6) /*endswitch /*endswitch */ */ /* /* endif endif */ */ /* /* endwhile endwhile */ */

35 Zusammenfassung: Modell Modell endl. endl. Automat Automat Formel Formel temp. temp. Logik Logik Model Checker Evtl. Evtl. noch noch Simulator Simulator Beweis Beweis oder oder Gegenbeispiel Gegenbeispiel Wichtig: Beweis, bzw. Gegenbeispiel entstehen auf Knopfdruck

36 Hausaufgaben 1. Installieren Sie sich NuSMV und bringen Sie die Beispiele der Vorlesung zum Laufen 2. Modifizieren Sie das Ampel-Beispiel, indem Sie eine Variable request einführen Es soll neben der Sicherheitseigenschaft, u.a. auch gelten (mit served : ) : ( G F timeout ) -> G ( sensor -> F served) 3. Führen Sie einen timer ein, der das timeout generiert. Jede neue Ampelphase stellt den timer, um zu garantieren, dass die Phase eine bestimmte Zeitdauer erhalten bleibt. Die Grünphase mind. 10 ticks, die Rotphase mindestens 6 ticks, und Rot je 1 tick. Der timer wird in jedem Schritt erniedrigt. Definieren Sie timeout als timer0. Es sollen u.a. gelten: Die Sicherheitseigenschaft, G F timeout, G (sensor -> F served). 4. Ersetzen Sie request durch eine numerische Variable. Ziel ist es, einfacher bestimmen zu können, wie lange ein Auto schon wartet. Versuchen Sie folgende oder ähnliche Eigenschaften zu garantieren G ( request < 20) -- Ein Auto wartet nicht länger als 20 ticks G ( request > 15 -> served X served ) -- Wartet es 15 ticks, so bekommt es spätestens zum nächsten tick. G ( request 0 -> ( request0 U sensor) G ( request >0 -> ( request >0 U served)

Formale Verifikation von Software. 10. Juli 2013

Formale Verifikation von Software. 10. Juli 2013 Formale Verifikation von Software 10. Juli 2013 Überblick Wann ist formale Softwareverifikation sinnvoll? Welche Techniken gibt es? Was ist Model Checking und wie kann man es zur Verifikation einsetzen?

Mehr

Formale Verifikation von Software. 8. Juli 2015

Formale Verifikation von Software. 8. Juli 2015 Formale Verifikation von Software 8. Juli 2015 Überblick Wann ist formale Softwareverifikation sinnvoll? Welche Techniken gibt es? Was ist Model Checking und wie kann man es zur Verifikation einsetzen?

Mehr

Software Engineering Praktikum

Software Engineering Praktikum Dipl-Inf Martin Jung Seite 1 Software Engineering Praktikum Formale Verifikation nebenläufiger Systeme mittels s 0 s 1 s 2 s 3 s 4 s 5 Dipl-Inf Martin Jung Seite 2 mit NuSMV Ziel: Frühe Fehlererkennung

Mehr

Model Checking I. Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg

Model Checking I. Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Model Checking I Yi Zhao Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Zhao, Spisländer FAU Erlangen-Nürnberg Model Checking I 1 / 22 1 Inhalt 2 Model

Mehr

Verifikation in der Realität. In der Industrie wird der Begriff Verifikation häufig im Zusammenhang mit nicht formalen Methoden verwendet:

Verifikation in der Realität. In der Industrie wird der Begriff Verifikation häufig im Zusammenhang mit nicht formalen Methoden verwendet: Verifikation in der Realität In der Industrie wird der Begriff Verifikation häufig im Zusammenhang mit nicht formalen Methoden verwendet: Testen, Strategien: 100% Befehlsabdeckung (Statement Coverage)

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Marc Spisländer Josef Adersberger Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg 10. November 2008 Inhalt Nachlese

Mehr

MODEL CHECKING 3 TEMPORALE LOGIKEN

MODEL CHECKING 3 TEMPORALE LOGIKEN MODEL CHECKING 3 TEMPORALE LOGIKEN Sommersemester 2009 Dr. Carsten Sinz, Universität Karlsruhe Kripke-Struktur 2 Definition: Sei A eine Menge von Aussagevariablen. Eine Kripke-Struktur M über A ist ein

Mehr

1. Motivation. Modelchecking. NuSMV. NuSMV und SMV. 2. Modellierung. Erinnerung (Kapitel II)

1. Motivation. Modelchecking. NuSMV. NuSMV und SMV. 2. Modellierung. Erinnerung (Kapitel II) 1. Motivation Modelchecking V. Ein Modelchecker: NuSMV Motivation und Hintergrund Modellierung Eigenschaften Anwendung Wir kennen jetzt die Grundlagen des Modelcheckings, auch wenn uns noch ganz wesentliche

Mehr

1.1 Transitionssysteme Produkte von Transitionssystemen Kripkestrukturen Verifikation und Model-Checking...

1.1 Transitionssysteme Produkte von Transitionssystemen Kripkestrukturen Verifikation und Model-Checking... Transitionssysteme und Verifikation 3. Transitionssysteme.................................. 3. Produkte von Transitionssystemen......................... 9.3 Automaten und reguläre Sprachen.........................

Mehr

Werkzeuggestützte Softwareprüfungen: Model Checking I - CTL. Vortrag von Florian Heyer

Werkzeuggestützte Softwareprüfungen: Model Checking I - CTL. Vortrag von Florian Heyer Werkzeuggestützte Softwareprüfungen: Vortrag von Florian Heyer Gliederung Wiederholung Einführung CTL im Detail Anwendungsbeispiele Abschluss 2 Model Checking (Wiederholung) Überprüfung einer Systembeschreibung

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Abgeschlossenheit (Definition)

Mehr

Sequenzgenerierung aus Klassifikationsbäumen

Sequenzgenerierung aus Klassifikationsbäumen Sequenzgenerierung aus Klassifikationsbäumen Peter M. Kruse, 24.01.2011 PMK, 24.01.2011 Inhalt Einleitung Stand von Wissenschaft und Technik Generierung von Testsequenzen mit der Klassifikationsbaum-Methode

Mehr

Research Collection. Bounded Model Checking was kommt danach? Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2000

Research Collection. Bounded Model Checking was kommt danach? Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2000 Research Collection Other Conference Item Bounded Model Checking was kommt danach? Author(s): Biere, Armin Publication Date: 2000 Permanent Link: https://doi.org/10.3929/ethz-a-004242422 Rights / License:

Mehr

Electronic Design Automation (EDA) Spezifikation

Electronic Design Automation (EDA) Spezifikation Electronic Design Automation (EDA) Spezifikation Inhalte einer Spezifikation Beispielspezifikation Ampelsteuerung Formale Beschreibung Blockdiagramme... für die Ampel Zustandsübergangs-diagramme... für

Mehr

MODEL CHECKING 2 - AUTOMATEN

MODEL CHECKING 2 - AUTOMATEN MODEL CHECKING 2 - AUTOMATEN Sommersemester 2009 Dr. Carsten Sinz, Universität Karlsruhe Model Checking 2 System (Hardware/ Software) Model Checking, Formalisierung, Beweis Übersetzung in Logik Gewünschte

Mehr

Zeitlogik. Hardware Verifikation. Zeitlogik und Verifikation. Helmut Veith,

Zeitlogik. Hardware Verifikation. Zeitlogik und Verifikation. Helmut Veith, Zeitlogik und Verifikation Helmut Veith, veith@dbai.tuwien.ac.at 58801-18431 Abteilung f. Datenbanken und AI Zeitlogik Klassische Logik ist ungeeignet, die Dynamik veränderlicher Systeme zu beschreiben.

Mehr

Model Checking. H. Peter Gumm. Philipps-Universität Marburg Sommersemester 2007

Model Checking. H. Peter Gumm. Philipps-Universität Marburg Sommersemester 2007 H. Peter Gumm Philipps-Universität Marburg Sommersemester 2007 Inhaltsverzeichnis 1. Einführung Motivation Ampel-Beispiel Modellierung in SMV Temporale Eigenschaften 2. Das SMV System SMV Module und Prozesse

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

Abschlusseigenschaften. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Abschlusseigenschaften

Abschlusseigenschaften. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Abschlusseigenschaften Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Abgeschlossenheit (Definition) Gegeben sei eine Menge M und ein n-ärer

Mehr

1 Algorithmische Grundlagen

1 Algorithmische Grundlagen 1 Algorithmische Grundlagen Klocke/17.03.2003 1.1 1.1 Begriffsklärung Fragen Begriffsklärungen Abstraktionsebenen für Algorithmen und Datenstrukturen Algorithmus Qualität von Algorithmen Klocke/17.03.2003

Mehr

Model Checking. H. Peter Gumm. Philipps-Universität Marburg Sommersemester 2008

Model Checking. H. Peter Gumm. Philipps-Universität Marburg Sommersemester 2008 H. Peter Gumm Philipps-Universität Marburg Sommersemester 2008 Inhaltsverzeichnis 1. Einführung Motivation Ampel-Beispiel Modellierung in SMV Temporale Eigenschaften 2. Das SMV System SMV Module und Prozesse

Mehr

Bounded Model Checking mit SystemC

Bounded Model Checking mit SystemC Bounded Model Checking mit SystemC S. Kinder, R. Drechsler, J. Peleska Universität Bremen {kinder,drechsle,jp}@informatik.uni-bremen.de 2 Überblick Motivation Formale Verifikation Äquivalenzvergleich Eigenschaftsprüfung

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der

Mehr

LTL und Spin. Stefan Radomski

LTL und Spin. Stefan Radomski LTL und Spin Stefan Radomski sr@oop.info Gliederung Wiederholung Grundlagen Vorstellung LTL Syntax Semantik Beispiele Model Checking mit Spin Fallbeispiele Einführung in Promela Vorführung Zusammenfassung

Mehr

Beispiel. p,q. q,r. v.henke: Maschinelles Beweisen 7 27

Beispiel. p,q. q,r. v.henke: Maschinelles Beweisen 7 27 Beispiel S0 p,q q,r S1 r S2 v.henke: Maschinelles Beweisen 7 27 SMV - Überblick Ziel: Überprüfung der Erfülltheit von CTL-Formeln in dem Anfangszustand s 0 eines Modells: (M, s 0 = φ). Eingabesprache zur

Mehr

Intensivübung zu Algorithmen und Datenstrukturen

Intensivübung zu Algorithmen und Datenstrukturen Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche

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

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: B Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: B Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 8 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 12 Pkt.) Was liefert

Mehr

Kurzeinführung in SAL

Kurzeinführung in SAL Kurzeinführung in SAL Holger Pfeifer Institut für Künstliche Intelligenz Fakultät für Ingenieurwissenschaften und Informatik Universität Ulm 2. Mai 2007 H. Pfeifer Comp.gest. Modellierung u. Verifikation

Mehr

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 8 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 12 Pkt.) Was liefert

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Zeigern, sowie Records und Funktionen Aufgabe 5: Diese Aufgabe basiert auf der Aufgabe 4. Es ist ein Programm zu erstellen, in welchem der Anwender aus einer Anzahl möglicher

Mehr

Beispiel zum Schaltungsentwurf mithilfe endlicher Automaten Ein Zähler modulo 3 mit Reset

Beispiel zum Schaltungsentwurf mithilfe endlicher Automaten Ein Zähler modulo 3 mit Reset Eckart Modrow Beispiel zum Schaltungsentwurf S. 1 Beispiel zum Schaltungsentwurf mithilfe endlicher Automaten Ein Zähler modulo 3 mit Reset Inhalt: 1. Bezug zum Unterricht 2. Beschreibung durch einen endlichen

Mehr

if ( Logischer Operator ) { } else { Anweisungen false

if ( Logischer Operator ) { } else { Anweisungen false if ( Logischer Operator ) { Anweisungen true else { Anweisungen false Bedingte Anweisungen Operatoren verknüpfen Variable zu neuen Ausdrücken, wir unterscheiden Arithmetische Operatoren Berechnung von

Mehr

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 12 Pkt.) Was liefert

Mehr

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen.

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen. Themen der Übung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 9.10.01 1 Bedingte Anweisungen Vergleiche und logische Operatoren 3 Fallunterscheidungen 4 Zeichen und Zeichenketten

Mehr

Algorithmen zur Datenanalyse in C++

Algorithmen zur Datenanalyse in C++ Algorithmen zur Datenanalyse in C++ Hartmut Stadie 16.04.2012 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 1/ 39 Einführung Datentypen Operatoren Anweisungssyntax Algorithmen zur Datenanalyse in

Mehr

Grundlagen der Informatik 4. Kontrollstrukturen I

Grundlagen der Informatik 4. Kontrollstrukturen I 4. Kontrollstrukturen I Anweisungen und Blöcke Grundlagen der Informatik (Alex Rempel) 1 Anweisungen und Blöcke Anweisungen ("statements") Immer mit Semikolon abzuschließen "Leere" Anweisung besteht aus

Mehr

Grundlagen der Programmierung in C++ Kontrollstrukturen

Grundlagen der Programmierung in C++ Kontrollstrukturen Block Keine Kontrollstruktur im eigentlichen Sinn Grundlagen der Programmierung in C++ Kontrollstrukturen Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Dient

Mehr

An Overview of the Signal Clock Calculus

An Overview of the Signal Clock Calculus An Overview of the Signal Clock Calculus, Jennifer Möwert Inhaltsverzeichnis Synchrone Programmiersprachen Clock Calculus Synchrone Paradigmen SLTS Clocks SIGNAL Definitionen Endochrony Bäume, Jennifer

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 4. November 2015 Administratives Zur Abgabe von Übungsaufgaben Nein, wir

Mehr

Grundlagen der Programmierung in C++ Kontrollstrukturen

Grundlagen der Programmierung in C++ Kontrollstrukturen Grundlagen der Programmierung in C++ Kontrollstrukturen Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Block Keine Kontrollstruktur im eigentlichen Sinn Dient

Mehr

Model Checking mit SPIN

Model Checking mit SPIN Model Checking mit SPIN Sabine Bauer 15.08.2005 2 Gliederung 1. Teil: Grundlagen des Model Checking - Abgrenzung zur deduktiven Verifikation - Das Model Checking-Problem - Kripke-Struktur - LTL - Arbeitsweise

Mehr

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 6 Pkt.) a) Erklären

Mehr

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 4 Pkt.) Gegeben

Mehr

Modul 7: Automatische Validierung von Sicherheitsprotokollen - Einführung Model-Checking. Prof. Dr. Martin Leischner Netzwerksysteme und TK

Modul 7: Automatische Validierung von Sicherheitsprotokollen - Einführung Model-Checking. Prof. Dr. Martin Leischner Netzwerksysteme und TK Modul 7: Automatische Validierung von Sicherheitsprotokollen - Einführung Model-Checking 11.12.2018 12:11:59 M. Leischner Sicherheit in Netzen Folie 1 Automatische Validierung von Protokollen - Lehrkonzept

Mehr

Verilog/VHDL. Mehdi Khayati Sarkandi Uni Siegen

Verilog/VHDL. Mehdi Khayati Sarkandi Uni Siegen Mehdi Khayati Sarkandi Uni Siegen Hardware Description Language (HDL) Werkzeug zum Entwurf komplexer digitaler Schaltungen, zur Simulation des Systemverhaltens, zur Überprüfung auf korrekte Funktionsfähigkeit

Mehr

Einführung: Zustandsdiagramme Stand:

Einführung: Zustandsdiagramme Stand: Einführung: Zustandsdiagramme Stand: 01.06.2006 Josef Hübl (Triple-S GmbH) 1. Grundlagen Zustandsdiagramme Zustände, Ereignisse, Bedingungen, Aktionen 2. Verkürzte Darstellungen Pseudozustände 3. Hierarchische

Mehr

Seminar Ausgewählte Komponenten von Betriebssystemen. IDL4 Compiler

Seminar Ausgewählte Komponenten von Betriebssystemen. IDL4 Compiler Seminar Ausgewählte Komponenten von Betriebssystemen IDL4 Compiler IDL4 Compiler Hristo Pentchev Überblick CORBA IDL Allgemein IDL4 Compiler Beispiele CORBA Common Objekt Request Broker Architecture Gemeinsame

Mehr

Automaten, Spiele und Logik

Automaten, Spiele und Logik Automaten, Spiele und Logik Woche 13 11. Juli 2014 Inhalt der heutigen Vorlesung Linearzeit Temporale Logik (LTL) Alternierende Büchi Automaten Nicht-Determinisierung (Miyano-Ayashi) Beschriftete Transitionssysteme

Mehr

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollstrukturen - 1 - Anweisung Anweisung Zuweisung Methodenaufruf

Mehr

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22 C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven

Mehr

Institut für Programmierung und Reaktive Systeme 25. Januar Programmieren I. Übungsklausur

Institut für Programmierung und Reaktive Systeme 25. Januar Programmieren I. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. Januar 2018 Hinweise: Klausurtermine: Programmieren I Übungsklausur Programmieren I: 17. Februar

Mehr

Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 2. Blatt Für die Woche vom 3.5. bis zum 7.5.

Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 2. Blatt Für die Woche vom 3.5. bis zum 7.5. Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 2. Blatt Für die Woche vom 3.5. bis zum 7.5.2010 (KW 18) Organisatorisches Im Web unter http://www.uni-ulm.de/in/programmierstarthilfe.html

Mehr

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff. Gedächtnis Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet Hauptspeicher 38265 Telefon CPU Gedächtnis Vorlesender Zugriff Verarbeitungseinheit

Mehr

Allgemeine Hinweise: TECHNISCHE UNIVERSITÄT MÜNCHEN. Name Vorname Studiengang Matrikelnummer. Hörsaal Reihe Sitzplatz Unterschrift

Allgemeine Hinweise: TECHNISCHE UNIVERSITÄT MÜNCHEN. Name Vorname Studiengang Matrikelnummer. Hörsaal Reihe Sitzplatz Unterschrift TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2008/09 Einführung in die Informatik 2 Klausur Prof. Dr. Helmut Seidl, T. M. Gawlitza, S. Pott,

Mehr

Grundlagen der Informatik 2. Typen

Grundlagen der Informatik 2. Typen Grundlagen der Informatik 2. Typen Speicher, Speicherbedarf Ein-/Ausgabe Grundlagen der Informatik (Alex Rempel) 1 Wiederholung // root calculation #include #include using namespace

Mehr

Formalisierung von Requirements. durch Nutzung von Templates

Formalisierung von Requirements. durch Nutzung von Templates Verteidigung der Bachelorarbeit: Formalisierung von Requirements durch Nutzung von Templates von Christian Kühl Motivation Warum Anforderungen verbessern? Gliederung Anforderungen Was ist das? Qualitätskriterien

Mehr

Übung 1: Vorspann Ein physikalisches System

Übung 1: Vorspann Ein physikalisches System Übung 1: Vorspann Ein physikalisches System Wir sehen Zustandsgrößen, hier x (Weg/Ort) Sie verändern sich im Lauf der Zeit: Dynamisches System. Zeitkontinuierliche und wertkontinuierliche Änderungen. Federkraft

Mehr

Übersicht. Nebenläufige Programmierung: Praxis und Semantik. Synchronisation (4) Eine untere Schranke für den Platzbedarf

Übersicht. Nebenläufige Programmierung: Praxis und Semantik. Synchronisation (4) Eine untere Schranke für den Platzbedarf Übersicht Komplexitätsresultate Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Synchronisation (4) Drei Komplexitätsresultate Eine genaue Schranke für den Platzbedarf

Mehr

Modellierung verteilter Systeme

Modellierung verteilter Systeme Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II) 09 Eigenschaften Dr. Sebastian Voss fortiss GmbH Kompetenzfeldleiter Model-based Systeme Engineering Themenübersicht

Mehr

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1 Fachhochschule Stralsund Fachbereich Maschinenbau Lehrgebiet Informatik Prof. Dr.-Ing. Ch.Wahmkow Arbeitsblätter für die Lehrveranstaltung OOP I. Aufbau eines Java-Programmes JAVA 1 Escape-Sequenzen zur

Mehr

1.4 Spezifikation. Inhalte einer. Spezifikation

1.4 Spezifikation. Inhalte einer. Spezifikation 1.4 Spezifikation Spezifikation Inhalte einer Spezifikation Beispielspezifikation Ampelsteuerung Formale Beschreibung Blockdiagramme... für die Ampel Zustandsübergangsdiagramme... für die Ampel Task-Flow-Graphen...

Mehr

Kontrollfluss. man Verzweigungen und Sprünge. o bisher linear (von oben nach unten) o Für interessante Programme braucht

Kontrollfluss. man Verzweigungen und Sprünge. o bisher linear (von oben nach unten) o Für interessante Programme braucht Kontrollanweisungen Kontrollfluss o bisher linear (von oben nach unten) o Für interessante Programme braucht man Verzweigungen und Sprünge Kontrollfluss o bisher linear (von oben nach unten) o Für interessante

Mehr

Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. Testen. Tutorial im Rahmen des Software(technik)praktikums SS 2012

Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. Testen. Tutorial im Rahmen des Software(technik)praktikums SS 2012 Testen Tutorial im Rahmen des Software(technik)praktikums SS 2012 Grundlagen (1) Software ist ein fundamentales Element in der Softwarequalitätssicherung Software wird am häufigsten eingesetzt Viele Organisationen

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen?

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen? Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 1 Einführung Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 2 Grundlagen von Algorithmen

Mehr

2.1 Lineare Temporallogiken: LTL

2.1 Lineare Temporallogiken: LTL 2.1 Lineare Temporallogiken: LTL N bezeichne die Menge der nicht-negativen ganzen Zahlen (inklusive der Null). Sei Σ ein Alphabet. Ein endliches Wort ü b e r Σ ist eine endliche Folge a 1 a 2...a n,sodassa

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2016 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Grundlagen von Algorithmen

Mehr

Einführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz

Einführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz Patrick Schulz patrick.schulz@paec-media.de 29.04.2013 1 Einführung Einführung 2 3 4 Quellen 1 Einführung Einführung 2 3 4 Quellen Hello World in Java Einführung 1 public class hello_ world 2 { 3 public

Mehr

KV Software Engineering Übungsaufgaben SS 2005

KV Software Engineering Übungsaufgaben SS 2005 KV Software Engineering Übungsaufgaben SS 2005 Martin Glinz, Silvio Meier, Nancy Merlo-Schett, Katja Gräfenhain Übung 4 Aufgabe 1 (8 Punkte) Programmverifikation Gegeben ist folgendes Programmfragment

Mehr

6 SYMBOLIC MODEL CHECKING

6 SYMBOLIC MODEL CHECKING 6 SYMBOLIC MODEL CHECKING Sommersemester 2009 Dr. Carsten Sinz, Universität Karlsruhe Verbände 2 Def.: Eine Menge M mit zwei binären Operatoren und heißt Verband, wenn: und sind kommutativ und assoziativ,

Mehr

Übungsstunde: Informatik 1 D-MAVT

Übungsstunde: Informatik 1 D-MAVT Übungsstunde: Informatik 1 D-MAVT Daniel Bogado Duffner Übungsslides unter: n.ethz.ch/~bodaniel Bei Fragen: bodaniel@student.ethz.ch Daniel Bogado Duffner 21.03.2018 1 Ablauf Quiz und Recap Floating Point

Mehr

5. Aufgabenblatt mit Lösungsvorschlag

5. Aufgabenblatt mit Lösungsvorschlag Einführung in Computer Microsystems Sommersemester 2010 Wolfgang Heenes 5. Aufgabenblatt mit Lösungsvorschlag 19.05.2010 Aufgabe 1: Logik, Latch, Register Geben Sie für alle folgen reg-variablen an, ob

Mehr

Generating Deterministic ω-automata for most LTL formulas by the Breakpoint Construction

Generating Deterministic ω-automata for most LTL formulas by the Breakpoint Construction Generating Deterministic ω-automata for most LTL formulas by the Breakpoint Construction Andreas Morgenstern, Klaus Schneider and Sven Lamberti März 2008 Übersicht Motivation Explizite Determinisierung

Mehr

{P} S {Q} {P} S {Q} {P} S {Q} Inhalt. Hoare-Kalkül. Hoare-Kalkül. Hoare-Tripel. Hoare-Tripel. Hoare-Tripel

{P} S {Q} {P} S {Q} {P} S {Q} Inhalt. Hoare-Kalkül. Hoare-Kalkül. Hoare-Tripel. Hoare-Tripel. Hoare-Tripel Inhalt Hoare-Kalkül Formale Verifizierung Hoare-Kalkül while-sprache Terminierung Partielle / totale Korrektheit 4.0 Hoare-Kalkül entwickelt von C.A.R. (Tony) Hoare (britischer Informatiker), 1969 formales

Mehr

Grundlagen der Programmierung 2. Operationale Semantik

Grundlagen der Programmierung 2. Operationale Semantik Grundlagen der Programmierung 2 Operationale Semantik Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 29. April 2009 Semantik von Programmiersprachen Semantik = Bedeutung

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2017/18 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Wiederholungen - while - do-while - for

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe

Mehr

Einführung in die Programmierung Wintersemester 2011/12

Einführung in die Programmierung Wintersemester 2011/12 Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while

Mehr

Qualitätssicherung in der Softwareentwicklung

Qualitätssicherung in der Softwareentwicklung VU 3 Institut für Softwaretechnologie (IST) TU Graz Sommersemester 2012 Übersicht der Vorlesung 1 Invarianten in JML 2 3 4 5 JML Beispiele Invariant package org.jmlspecs.samples.jmlrefman Purse [Burdy

Mehr

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems 4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um

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

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)

Mehr

124 Kompetenzorientierte Aufgaben im Informatikunterricht

124 Kompetenzorientierte Aufgaben im Informatikunterricht 124 Kompetenzorientierte Aufgaben im Informatikunterricht 4.2 Aufgaben 4.2.1 Aufgabe 1: Kühlschrank 4.2.1.1 Aufgabenstellung Ein einfacher Kühlschrank besitzt einen Ein-Aus-Schalter, der jederzeit betätigt

Mehr

~10 RESET 3.3V 5V GND GND VIN

~10 RESET 3.3V 5V GND GND VIN Abgabe Dieses Übungsblatt ist bis Freitag, 09.05. um 12:00 per E-Mail an den eigenen Tutoren abzugeben. Bennennung beispielsweise $Matrikelnummer_Abgabe_$Blattnummer.$Format. 1 Automatische Ampelsteuerung

Mehr

Welche Informatik-Kenntnisse bringen Sie mit?

Welche Informatik-Kenntnisse bringen Sie mit? Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt

Mehr

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 2. Februar 2017 Hinweise: Klausurtermine: Programmieren I Übungsklausur Programmieren I: 13. März

Mehr

Informatik I Übung, Woche 40

Informatik I Übung, Woche 40 Giuseppe Accaputo 1. Oktober, 2015 Plan für heute 1. Nachbesprechung Übung 2 2. Vorbesprechung Übung 3 3. Zusammenfassung der für Übung 3 wichtigen Vorlesungsslides Informatik 1 (D-BAUG) Giuseppe Accaputo

Mehr

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems 4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um

Mehr

Informatik I (D-ITET)

Informatik I (D-ITET) Informatik I (D-ITET) Übungsstunde 2, 5.10.2009 ETH Zürich? Übungsgruppenwechsel? Abgabe der Übungen... Bis Mo, 24:00 Theorie: Programme: per mail oder auf Papier.cpp Datei per mail Bin euch noch Demos

Mehr

Automaten und das State Pattern

Automaten und das State Pattern Automaten und das State Pattern Axel Böttcher 24. September 2012 (GUI-)Logik mittels Automaten realisieren Das Problem, komplizierte Logik zu implementieren tritt recht häufig auf. Smells: häufig wiederholte

Mehr

Beispiel zum Schaltungsentwurf mithilfe endlicher Automaten Ein Zähler modulo 3 mit Reset

Beispiel zum Schaltungsentwurf mithilfe endlicher Automaten Ein Zähler modulo 3 mit Reset Eckart Modrow Beispiel zum Schaltungsentwurf S. 1 Beispiel zum Schaltungsentwurf mithilfe endlicher Automaten Ein Zähler modulo 3 mit Reset Inhalt: 1. Bezug zum Unterricht 2. Beschreibung durch einen endlichen

Mehr

Einführung in die Programmierung I Systematisches Programmieren. Thomas R. Gross. Department Informatik ETH Zürich

Einführung in die Programmierung I Systematisches Programmieren. Thomas R. Gross. Department Informatik ETH Zürich 252-0027 Einführung in die Programmierung I 10.0 Systematisches Programmieren Thomas R. Gross Department Informatik ETH Zürich Copyright (c) Pearson 2013 and Thomas Gross 2016 All rights reserved. Uebersicht

Mehr