Motivation und Einführung
|
|
- Marie Kurzmann
- vor 5 Jahren
- Abrufe
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 Überblick Wann ist formale Softwareverifikation sinnvoll? Welche Techniken gibt es? Was ist Model Checking und wie kann man es zur Verifikation einsetzen?
MehrFormale 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?
MehrSoftware 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
MehrModel 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
MehrVerifikation 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)
MehrSoftware 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
MehrMODEL 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
Mehr1. 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
Mehr1.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.........................
MehrWerkzeuggestü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
MehrAutomaten 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)
MehrSequenzgenerierung 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
MehrResearch 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:
MehrElectronic 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
MehrMODEL 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
MehrZeitlogik. 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.
MehrModel 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
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
MehrAbschlusseigenschaften. 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
Mehr1 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
MehrModel 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
MehrBounded 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
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
MehrAngewandte 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
MehrLTL 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
MehrBeispiel. 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
MehrIntensivü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
Mehr1. 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
MehrKlausur: 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
MehrKurzeinfü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
MehrKlausur: 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
MehrEs 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
MehrBeispiel 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
Mehrif ( 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
MehrKlausur: 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
Mehr1 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
MehrAlgorithmen 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
MehrGrundlagen 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
MehrGrundlagen 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
MehrAn 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
MehrModellierung 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
MehrGrundlagen 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
MehrModel 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
MehrNachklausur: 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
MehrNachklausur: 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
MehrModul 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
MehrVerilog/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
MehrEinfü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
MehrSeminar 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
MehrAutomaten, 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
Mehr1. 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
MehrC++ 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
MehrInstitut 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
MehrProgrammierstarthilfe 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
MehrGedä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
MehrAllgemeine 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,
MehrGrundlagen 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
MehrFormalisierung 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 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 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
MehrModellierung 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
MehrArbeitsblä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
Mehr1.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...
MehrKontrollfluss. 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
MehrFachgebiet 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
MehrProgramm 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
Mehr2.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
MehrAlgorithmen 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
MehrEinfü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
MehrKV 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
Mehr6 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 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
Mehr5. 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
MehrGenerating 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
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
MehrGrundlagen 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
MehrEinfü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
MehrEs 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
MehrEinfü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
MehrQualitä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
MehrAlgorithmen 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
Mehr4. 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
MehrMikroprozessoren 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)
Mehr124 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
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
MehrWelche 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
MehrInstitut 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
MehrInformatik 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
MehrAlgorithmen 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
MehrInformatik 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
MehrAutomaten 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
MehrBeispiel 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
MehrEinfü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