Verifikations- und Spezifikationsmethoden
|
|
- Kurt Giese
- vor 8 Jahren
- Abrufe
Transkript
1 Verifikations- und Spezifikationsmethoden Prof. Dr. Sibylle Schwarz Westsächsische Hochschule Zwickau Dr. Friedrichs-Ring 2a, RII WS 2012/13 1
2 Verifikations- und Spezifikationsmethoden Anwendung formaler Methoden beim Nachweis der Korrektheit von Programmen Spezifikation mathematisch korrekte Beschreibung von Anforderungen an Software und Systeme Was soll das Programm / System tun? Verifikation von Entwürfen, Software und Systemen relativ zu einer Spezifikation Erfüllt der Entwurf die Spezifikation? (Korrektheit bzgl. Spezifikation) Werkzeuge: formale Kalküle (Algebra, Logiken) präzise Aussagen über Eigenschaften von Programmen / Systemen formale Darstellung ermöglicht maschinelle Unterstützung 2
3 Dijkstra sagt: EWD13xx/EWD1305.html A programmer has to be able to demonstrate that his program has the required properties. If this comes as an afterthought, it is all but certain that he won t be able to meet this obligation: only if he allows this obligation to influence his design, there is hope he can meet it. Pure a posteriori verification denies you that whole-some influence and is therefore putting the cart before the horse, but that is exactly what happens in the software houses where programming and quality assurance are done by different groups. [Needless to say, those houses deliver without warranty.] aus dem Edsger W. Dijkstra Archiv 3
4 Informatik Informatik Wissenschaft von der Verarbeitung symbolischer Information durch Algorithmen Teilgebiete der Informatik: theoretische Informatik Sprachen zur Formulierung von Information und Algorithmen Möglichkeiten und Grenzen der Berechenbarkeit durch Algorithmen, Grundlagen formaler Methoden technische Informatik maschinelle Darstellung von Information Mittel zur Ausführung von Algorithmen (Rechnerarchitektur, Hardware-Entwurf,... ) Hardware-Verifikation praktische Informatik Entwurf und Implementierung von Algorithmen (Betriebssysteme, Compilerbau, SE,... ) Software-Verifikation, Model Checking angewandte Informatik Anwendung von Algorithmen (Textverarbeitung, Computergraphik, KI,... ) Model Checking 4
5 Sicherheitskritische Software Beispiel Auto, bis 80 Steuergeräte (Electronic Control Unit) Steuerung, Licht, Heizung Motorsteuerung ABS, Airbag (sicherheitskritisch) Anwendungen sicherheitskritischer Software: Medizin (OP-Assistenz-Steuerung) Verkehrssysteme (Stellwerk, Ampelschaltungen) Flugraumkontrolle Raumfahrt Kommunikation Wirtschaft 5
6 Wozu Programmverifikation? Vermeidung von Softwarefehlern mit schwerwiegenden Folgen für Leben und Gesundheit: Fahrzeug, Luftfahrt, Medizin, Militär,.. Wirtschaft: Steuerung von Industrieanlagen (z.b. Kraftwerk) Kommunikationssysteme: Ausfall zentraler Vermittlungen autonome Systeme: Marsmobil, Rettungssysteme 6
7 Prominente Software-Fehler Selbstzerstörung vieler Wetterballons (1971) durch falsche Interpretation einer Anweisung Bestrahlung falscher Stellen (1987) durch Strahlentherapiegerät falsche Divisionsberechnung (1993) im Pentium-Chip Absturz des Mars Polar Lander (1999) wegen falscher Interpretation von Sensorwerten Absturz des britischen Luftüberwachungssstems (2002) bei Aktualisierung falsche Steuerung der Kraftstoffzufuhr (2004) Mercedes falsche ALG2-Berechnung (2005) und Auszahlungsverzögerung durch falsche Kontonummern mehrfache -Weiterleitung (2005) Raketenabsturz (2005) durch Fehler in der Signalweiterleitung falsche Schaltjahrberechnung (2008) Datenschutzverletzungen (2008) durch mehrfache Vergabe derselben Bearbeitungsnummern bei Systemüberlastung 7
8 Entwicklung sicherer Software (Systeme) Entwurfsphase: Modellierung und Spezifikation System-Entwurf (Algorithmen) Verifikation des Entwurfes bezüglich der Spezifikation Eliminierung von Entwurfsfehlern Konstruktionsphase Implementierung (Konstruktion) Test der Implementierung Eliminierung von Implementierungsfehlern 8
9 Spezifikation Formale Methoden z.b. geeignet zum Nachweis von Eigenschaften von Modellen für Software digitale Schaltungen Systeme (z.b. Steuerung in Kraftfahrzeugen, Verkehrsanlagen, Industrieanlagen) Spezifikation eines Programmes / Systems: formale Beschreibung der funktionalen Anforderungen an das Program / System Zusammenhang zwischen Eigenschaften der Eingaben und Eigenschaften der Ausgaben Anforderungen an Spezifikationssprachen: präzise Beschreibung eindeutige Interpretation verständlich, modular 9
10 Beispiel: Spezifikation eines Sortierprogrammes Eingabe: Folge (x 1, x 2,..., x n ) von Zahlen Ausgabe: Folge (y 1, y 2,..., y n ) von Zahlen Vorbedingung: (x 1, x 2,..., x n ) ist eine Folge von Zahlen Nachbedingung: die Ausgabe (y 1, y 2,..., y n ) ist 1. eine Permutation (Umordnung) der Eingabe (x 1, x 2,..., x n ) und 2. aufsteigend geordnet y 1 y 2 y n+1. 10
11 Korrektheit von Programmen wichtigstes Qualitätskriterium System / Programm ist genau dann korrekt, wenn es seine Spezifikation erfüllt. Programm P ist für bestimmte Eingabe e total korrekt, falls P bei Eingabe von e terminiert und das spezifizierte Ergebnis liefert partiell korrekt, falls P, wenn es bei Eingabe von e terminiert, das spezifizierte Ergebnis liefert. Wie kann man Korrektheit zeigen? Tests wichtiger Spezialfälle (Suche nach Fehlern) für sicherheitskritische Software nicht ausreichend Verifikation formaler Beweis für alle Fälle für sicherheitskritische Software 11
12 Hoare sagt Computer programming is an exact science in that all the properties of a program and all the consequences of executing it in any given environment can, in principle, be found out from the text of the program itself by means of purely deductive reasoning. Tony Hoare: An Axiomatic Basis for Computer Programming,
13 Problem Beschreibung von Umgebung und Ausführung sind oft nicht formal gegeben. in einer beliebigen Umgebung ist abhängig vom Hard- und Software (z.b. korrekte Compiler) bescheidener, aber genauer: in einem beliebigen Umgebungs-Modell bei jeder Ausführung bescheidener, aber genauer: in jedem Modell der Programmausführung 13
14 Modelle Abstraktion von z.b. Hardware-Implementierung, Betriebssystem Fehler / Manipulation an Hard- oder Software Vorteile formaler Modelle: allgemein und wohldefiniert Nachweis über Eigenschaften jeder Programmausführung im Modell Klare Definition von Modellen und Beweisregeln ermöglichen Verwendung automatischer und interaktiver Beweiser und Beweis-Tester zum Nachweis von Programmeigenschaften (seit ca industriell eingesetzt) Nachteile formaler Modelle: nur Aussagen über Modelle Keine Aussagen über Eigenschaften in der tatsächlichen Umgebung Aussagen nur bei Wahl geeigneter Modelle praktisch sinnvoll Formalisierungsaufwand 14
15 Formale Methoden bei der Programmierung Spezifikation exakte Beschreibung von Programmeigenschaften Verifikation Nachweis, dass ein bestimmtes Programm (in jedem Ausführungsmodell) die Spezifikation erfüllt Falsifizierung Nachweis, dass ein bestimmtes Ereignis (bei irgendeinem Ausführungsmodell) nicht auftritt Transformation Änderung eines Programmes, so dass die Spezifikation erfüllt bleibt (automatische) Programmerzeugung Konstruktion eines Programmes, welches die Spezifikation erfüllt 15
16 Alternative Verfahren Test / Simulation Beobachtung der Wirkungen und Eigenschaften des Programmes bei Ausführung des Programmes mit ausgewählten Eingaben + Nachweis von Eigenschaften des Programmes für alle getesteten Eingaben eingeschränkt auch ohne formale Spezifikation möglich - unvollständig keine Aussage über Eigenschaften und Wirkungen des Programm auf anderen Eingaben Aussage über Fehlerfreiheit unmöglich Inspektion Untersuchung des Programmes durch mehrere Personen + Lerneffekt durch Diskussion von Verbesserungsvorschlägen oder Fehlern - keine exakte Grundlage hoher Personalaufwand Ergebnisse abhängig von psychologischen Faktoren und Motivation und Qualifikation der Diskussionsteilnehmer 16
17 Inhalt der Lehrveranstaltung Spezifikation Semantik von Programmen operational axiomatisch algebraisch Algebraische Datentypen Entwurf, Spezifikation Verifikation durch strukturelle Induktion Funktionale Programme als ausführbare Spezifikationen Hoare-Kalkül (axiomatische Semantik) Model Checking Modellierung durch Automaten Spezifikation in Temporallogiken 17
Programmieren Formulierung eines Algorithmus in einer Programmiersprache
Zum Titel der Vorlesung: Programmieren Formulierung eines in einer Programmiersprache Beschreibung einer Vorgehensweise, wie man zu jedem aus einer Klasse gleichartiger Probleme eine Lösung findet Beispiel:
MehrSemantik 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
MehrBasisanforderungen: EVA-Prinzips. Erweiterte Anforderungen: wirtschaftlichen und privaten Alltag.
Basisanforderungen: 1. Erstelle eine einfache Motor-Steuerung (siehe Anforderungen) 2. Erläutere den Begriff Steuerung. 3. Benenne die Sensoren und Aktoren dieser Steuerung. 4. Beschreibe die Informationsverarbeitung
MehrModellierung verteilter Systeme Grundlagen der Programm und Systementwicklung
Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Wintersemester 2009/10 Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. K. Spies, Dr. M. Spichkova, L. Heinemann, P.
MehrGrundlagen 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.
MehrDSL Entwicklung und Modellierung
DSL Entwicklung und Modellierung Dipl. Inform. Rolf Hänisch Übersicht DSL, was bedeutet das für uns? Eine Anwendung aus der Automatisierungstechnik Sprachen und Werkzeuge Ergebnisse und Erfahrungen GI
MehrAssertions (Zusicherungen)
April 10, 2005 Oberseminar Software-Entwicklung Inhalt 1. Einführung (Motivation, Tony Hoare, Programmverifikation) 2. Design by Contract (Idee, Eiffel) 3. Praxis: Programming by Contract for Python 4.
MehrBuddy - Algorithmus Handbuch für Endnutzer Stand 02.08.2005
Buddy - Algorithmus Handbuch für Endnutzer Stand 02.08.2005 1. Vorwort 1 2. Systemvoraussetzungen 2 3. Programmarten 2 4. Sicherheit der Endnutzer 2 5. Handhabung 3 5.1 allgemeine Programmübersicht 3 5.2
MehrGrundbegriffe 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
MehrInformatik und Informationstechnik (IT)
Informatik und Informationstechnik (IT) Abgrenzung Zusammenspiel Übersicht Informatik als akademische Disziplin Informations- und Softwaretechnik Das Berufsbild des Informatikers in der Bibliothekswelt
MehrProjektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung
Projektmanagement Vorlesung von Thomas Patzelt 9. Vorlesung 1 Pläne Kein Plan überlebt die erste Feindberührung - Feldmarschall Helmuth von Moltke Prognosen sind schwierig, besonders wenn sie die Zukunft
MehrWas können Schüler anhand von Primzahltests über Mathematik lernen?
Was können Schüler anhand von Primzahltests über Mathematik lernen? Innermathematisches Vernetzen von Zahlentheorie und Wahrscheinlichkeitsrechnung Katharina Klembalski Humboldt-Universität Berlin 20.
MehrWürfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
MehrPRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS 12. - Ohne Gewähr -
PRÜFUNG FÜR ELEKTROINGENIEURE Softwaretechnik I Musterlösung SS 12 - Ohne Gewähr - LfdNr. Thema Punkte Zeitbedarf in min 1 Analyse und Entwurf 15 30 2 Basistechniken und Test 15 30 3 Projektmanagement
MehrInformationsblatt 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
MehrWintersemester 2010/2011 Rüdiger Westermann Institut für Informatik Technische Universität München
Informatik 1 Wintersemester 2010/2011 Rüdiger Westermann Institut für Informatik Technische Universität München 1 0 Allgemeines Zielgruppen Siehe Modulbeschreibung Studierende anderer (nicht Informatik)
MehrData 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
MehrDas Studium im Fach Informatik
[Projekttage Studien- und Berufsorientierung der Jgst. 12] Fachbereich Informatik Fakultät für Mathematik und Informatik FernUniversität Hagen 22. Februar 2007 Was Informatik nicht ist Was ist Informatik?
MehrVBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
MehrUse Cases. Use Cases
Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben
MehrHandbuch. Artologik EZ-Equip. Plug-in für EZbooking version 3.2. Artisan Global Software
Artologik EZ-Equip Plug-in für EZbooking version 3.2 Artologik EZbooking und EZ-Equip EZbooking, Ihre webbasierte Software zum Reservieren von Räumen und Objekten, kann nun durch die Ergänzung um ein oder
MehrÜbungsklausur vom 7. Dez. 2007
Übungsklausur vom 7. Dez. 2007 Ein Lösungsmuster Teilbereiche der Softwaretechnik Software Anforderungen Software Entwurf Software Konstruktion Software Test Software Wartung Software Konfigurationsmanagement
MehrDas Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin
Fragestellungen: Warum reicht das Lastenheft nicht aus? Was kann ich mit dem Lastenheft machen? Was unterscheidet das Pflichtenheft vom Lastenheft? Was gehört zum Auftragsumfang einer Individualsoftware?
MehrStudienrichtung Eingebettete Systeme
Qualifikationsziel Eingebettete Systeme stellen ein äußerst wichtiges Anwendungsfeld der Methoden der Informatik dar. Unter einem eingebetteten System versteht man dabei ein (Mikro-) Computersystem, das
MehrKapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung
Kapitel 6 Komplexität von Algorithmen 1 6.1 Beurteilung von Algorithmen I.d.R. existieren viele Algorithmen, um dieselbe Funktion zu realisieren. Welche Algorithmen sind die besseren? Betrachtung nicht-funktionaler
MehrQualitätssicherung. Was ist Qualität?
Ein Überblick Methoden und Werkzeuge zur Softwareproduktion Was ist Qualität? "Als Qualität eines Gegenstandes bezeichnen wir die Gesamtheit seiner charakteristischen Eigenschaften" Hesse et al. 2 Was
Mehr9 Auto. Rund um das Auto. Welche Wörter zum Thema Auto kennst du? Welches Wort passt? Lies die Definitionen und ordne zu.
1 Rund um das Auto Welche Wörter zum Thema Auto kennst du? Welches Wort passt? Lies die Definitionen und ordne zu. 1. Zu diesem Fahrzeug sagt man auch Pkw oder Wagen. 2. kein neues Auto, aber viel billiger
Mehr7 Rechnen mit Polynomen
7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn
MehrLogische 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
Mehr1 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.
MehrSEP 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
Mehr1. 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:
MehrStudieninformationsveranstaltung. Informatik. Institut für Informatik IV Universität Bonn. Tel.: 0228/73-4118 e-mail
Studieninformationsveranstaltung Informatik Vortrag am Dies Academicus (1.12.99) Prof. Dr.. Peter Martini Institut für Informatik IV Universität Bonn Tel.: 0228/73-4118 e-mail mail: martini@informatik
MehrDie Informatik als junge Wissenschaft
Die Informatik als junge Wissenschaft Die Informatik ist die Wissenschaft von der automatischen Informationsverarbeitung. Die Informatik befasst sich mit den Gesetzmäßigkeiten und Prinzipien informationsverarbeitender
MehrMathematik. UND/ODER Verknüpfung. Ungleichungen. Betrag. Intervall. Umgebung
Mathematik UND/ODER Verknüpfung Ungleichungen Betrag Intervall Umgebung Stefan Gärtner 004 Gr Mathematik UND/ODER Seite UND Verknüpfung Kommentar Aussage Symbolform Die Aussagen Hans kann schwimmen p und
MehrZeichen 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
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Kapitel 6: Induktives Vorgehen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische
Mehrt r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )
Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen
MehrIngenieurinformatik. Einführung in die Programmiersprache C
Ingenieurinformatik Einführung in die Programmiersprache C 1 Bachelorstudiengänge Maschinenbau, Fahrzeugtechnik, Luft- und Raumfahrt (Studienplan ab WS2013/14) Teil 1: Einführung in die Programmiersprache
MehrSome Software Engineering Principles
David L. Parnas: Some Software Engineering Principles Marco Oppel 30.06.2004 Seminar Software-Architektur Institut für Informatik Humboldt Universität zu Berlin 1 Problemstellung Software Engineering Multi-Personen
MehrKapitalerhö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.
MehrWS 2008/09. Diskrete Strukturen
WS 2008/09 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0809
MehrEin einfaches Modell zur Fehlerfortpflanzung
Ein einfaches Modell zur Fehlerfortpflanzung Jens Chr. Lisner lisner@dc.uni-due.de ICB / Universität Duisburg-Essen AK Fehlertoleranz 11/2006 p. Problemstellung Üblich bei der Formalisierung von Systemen:
MehrKorrelation (II) Korrelation und Kausalität
Korrelation (II) Korrelation und Kausalität Situation: Seien X, Y zwei metrisch skalierte Merkmale mit Ausprägungen (x 1, x 2,..., x n ) bzw. (y 1, y 2,..., y n ). D.h. für jede i = 1, 2,..., n bezeichnen
MehrSudoku-Informatik oder wie man als Informatiker Logikrätsel löst
Sudoku-Informatik oder wie man als Informatiker Logikrätsel löst Peter Becker Hochschule Bonn-Rhein-Sieg Fachbereich Informatik peter.becker@h-brs.de Kurzvorlesung am Studieninformationstag, 13.05.2009
MehrPetri-Netze / Eine Einführung (Teil 2)
Manuel Hertlein Seminar Systementwurf Lehrstuhl Theorie der Programmierung Wiederholung (1) Petri-Netz = bipartiter, gerichteter Graph Aufbau: Plätze (passive Komponenten) Transitionen (aktive Komponenten)
MehrOrdner Berechtigung vergeben Zugriffsrechte unter Windows einrichten
Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.
MehrUse Cases. Die Sicht des Nutzers. Fortgeschrittenenpraktikum SS 2004
Use Cases Die Sicht des Nutzers Fortgeschrittenenpraktikum SS 2004 Gunar Fiedler Lehrstuhl für Technologie der Informationssysteme Kontakt: fiedler@is.informatik.uni-kiel.de Use Cases 2 Was ist ein Use
MehrTheoretische Informatik
Theoretische Informatik für die Studiengänge Ingenieur-Informatik berufsbegleitendes Studium Lehramt Informatik (Sekundar- und Berufsschule) http://theo.cs.uni-magdeburg.de/lehre04s/ Lehrbeauftragter:
MehrBabeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Modulare Programmierung
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Modulare Programmierung Test Driven Development Refactoring Modular programmierung der
MehrTheoretische Informatik I
Theoretische Informatik I Einheit 2.4 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibungsformen für Sprachen Mathematische Mengennotation Prädikate beschreiben Eigenschaften
MehrProlog 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:
MehrWhitebox-Tests: Allgemeines
-Tests: Allgemeines Andere Bezeichnungen Logic driven, Strukturelles Der Tester entwickelt Testfälle aus einer Betrachtung der Ablauflogik des Programms unter Berücksichtigung der Spezifikation Intuitiv
MehrWireless LAN PCMCIA Adapter Installationsanleitung
Wireless LAN PCMCIA Adapter Installationsanleitung Diese Anleitung hilft Ihnen bei der Installation des Funknetzwerkadapters für Ihre PCMCIA Schnittstelle und erläutert in wenigen Schritten, wie Sie den
Mehr1. Teilklausur. Modul "OOPM Vorlesung/Übung" 16.12.2008. Gruppe A
Objektorientierte Programmierung und Modellierung WS 2008/2009 Institut für Informatik Prof. Dr. Ralf Lämmel Dr. Manfred Jackel 1. Teilklausur Modul "OOPM Vorlesung/Übung" 16.12.2008 Gruppe A Name Vorname
MehrMusterlösungen zur Linearen Algebra II Blatt 5
Musterlösungen zur Linearen Algebra II Blatt 5 Aufgabe. Man betrachte die Matrix A := über dem Körper R und über dem Körper F und bestimme jeweils die Jordan- Normalform. Beweis. Das charakteristische
Mehr4. 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
MehrSicherheit bei lernenden Robotern
15. Januar 2009 Sicherheitsbegriff Herangehensweisen Beschreibung des Begriffs Sicherheit Sicherheit ist... Schutz vor Bedrohung und Schaden Zuverlässigkeit Safety: Schutz der Umgebung (accident prevention)
MehrDer Zwei-Quadrate-Satz von Fermat
Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat
MehrTheoretische Grundlagen des Software Engineering
Theoretische Grundlagen des Software Engineering 11: Abstrakte Reduktionssysteme schulz@eprover.org Reduktionssysteme Definition: Reduktionssystem Ein Reduktionssystem ist ein Tupel (A, ) Dabei gilt: A
MehrIndividuelles Bachelorstudium. Software Engineering for Physics
Individuelles Bachelorstudium Software Engineering for Physics 1 Qualifikationsprofil Das individuelle Bachelorstudium Software Engineering for Physics vermittelt eine breite, praktische und theoretische
MehrBei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient.
Beschreibung der Focus Methode Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient. 1. F = Failure / Finding An dieser Stelle wird der
MehrVertraulich. Nachname: Vorname: Matrikel-Nummer: Studiengang: Datum: 30. Januar 2015
Information Security Management System Klausur Wintersemester 2014/15 Hochschule Albstadt-Sigmaringen Nachname: Vorname: Matrikel-Nummer: Studiengang: Vertraulich Datum: 30. Januar 2015 Bitte lesen Sie
MehrAlgorithmische Kryptographie
Algorithmische Kryptographie Walter Unger, Dirk Bongartz Lehrstuhl für Informatik I 27. Januar 2005 Teil I Mathematische Grundlagen Welche klassischen Verfahren gibt es? Warum heissen die klassischen Verfahren
MehrANSPRECHPARTNER. Film Mathematik statt Rechnen (Quelle: Hochschule Merseburg) Prof. Dr. Axel Kilian Fachbereich Informatik und Kommunikationssysteme
ANSPRECHPARTNER Prof. Dr. Axel Kilian Fachbereich Informatik und Kommunikationssysteme Hochschule Merseburg axel.kilian@hs-merseburg.de Film Mathematik statt Rechnen (Quelle: Hochschule Merseburg) HOCHSCHULE
Mehryarnmaster Klassierung von Garnfehlern
Masters in Textile textile Quality Control Masters in textile Quality Control yarnmaster facts yarnmaster Klassierung von Garnfehlern und Spleissen 045912/001d KLASSIERUNG VON GARNFEHLERN Die Textilindustrie
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
MehrAnmerkungen zur Übergangsprüfung
DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung
MehrKapitel 1: Einführung. Was ist Informatik? Begriff und Grundprobleme der Informatik. Abschnitt 1.1 in Küchlin/Weber: Einführung in die Informatik
Was ist Informatik? Begriff und Grundprobleme der Informatik Abschnitt 1.1 in Küchlin/Weber: Einführung in die Informatik Was ist Informatik? Informatik = computer science? Nach R. Manthey, Vorlesung Informatik
MehrMai 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Übung Theoretische Grundlagen
Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory
MehrEinstellungen für SEPA-Lastschriften oder SEPA Dauerlastschriften in der VR-NetWorld Software 5.0
Einstellungen für SEPA-Lastschriften oder SEPA Dauerlastschriften in der VR-NetWorld Software 5.0 Bitte beachten Sie diese Punkte wenn Sie in der VR-NetWorld Software 5.0 Lastschriften oder Dauerlastschriften
MehrEinfü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
MehrDie Softwareentwicklungsphasen!
Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.
MehrIT-Basics 2. DI Gerhard Fließ
IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte
MehrDas 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
MehrMathematische Maschinen
Mathematische Maschinen Ziel: Entwicklung eines allgemeinen Schemas zur Beschreibung von (mathematischen) Maschinen zur Ausführung von Algorithmen (hier: (partiellen) Berechnungsverfahren). Mathematische
MehrUniversität Paderborn Die Universität der Informationsgesellschaft. Validierung und Verifikation (inkl. Testen, Model-Checking, Theorem Proving)
Universität Paderborn Die Universität der Informationsgesellschaft Analyse, Entwurf und Implementierung zuverlässiger Software und (inkl., Model-Checking, Theorem Proving) Torsten Bresser torbre@uni-paderborn.de
MehrFachdidaktik 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,
Mehr5.3.4.3 Übung - Festplattenwartung in Windows Vista
5.0 5.3.4.3 Übung - Festplattenwartung in Windows Vista Einführung Drucken Sie diese Übung aus und führen Sie sie durch. In dieser Übung untersuchen Sie die Ergebnisse, nachdem Sie eine Festplattenüberprüfung
MehrInformatik I Debugging
Der erste Computer-Bug Informatik I G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Grace Hopper Admiral, US Navy 2 4 Folgen von Programmfehlern 1962 führte ein fehlender Bindestrich
MehrEinführung in die Informatik I
Einführung in die Informatik I Algorithmen und deren Programmierung Prof. Dr. Nikolaus Wulff Definition Algorithmus Ein Algorithmus ist eine präzise formulierte Handlungsanweisung zur Lösung einer gleichartigen
MehrValidierung und Verifikation!
Martin Glinz Thomas Fritz Software Engineering Kapitel 7 Validierung und Verifikation 2005-2013 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen
MehrGründe für fehlende Vorsorgemaßnahmen gegen Krankheit
Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit politische Lage verlassen sich auf Familie persönliche, finanzielle Lage meinen, sich Vorsorge leisten zu können meinen, sie seien zu alt nicht mit
MehrDiplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008
Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen
Mehrdspace (1/3) dspace: Gegründet 1988 in Paderborn Mitarbeiter: Über 650 Mitarbeiter weltweit, davon über 70 % Ingenieure Ständiges Mitarbeiterwachstum
Agenda dspace und das V-Modell für Steuergeräte- Entwicklung Wie funktioniert Rapid Control Prototyping TargetLink: Vom Model zum Code Ein Wort zu HIL Praxisbeispiele dspace (1/3) dspace: Gegründet 1988
MehrAgiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de
Agiles Design Dr.-Ing. Uwe Doetzkies Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de startupcamp berlin 15.3.2013 Regionalgruppe Berlin/Brandenburg Arbeitskreis Freiberufler
MehrGrundlagen 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)
MehrEinführung und Motivation
Einführung und Motivation iks-thementag: Requirements Engineering 16.11.2010 Autor Carsten Schädel Motto Definiere oder Du wirst definiert. Seite 3 / 51 These Im Privatleben definiert jeder (seine) Anforderungen.
MehrTechniken der Projektentwicklungen
Von der Analyse zum Entwurf 5. Termin Vom Use Case zum Domänenmodell Bis zum nächsten Mal Vom Use Case zum Domänenmodell Vom Use Case zum Domänenmodell Was ist ein Domänenmodell? Graphische Beschreibung
MehrDaniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers
Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des
MehrGrammatiken. 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
MehrThe B Method. B ist eine Methode zur Spezifikation zum Entwurf zur Implementierung von Software Systemen. Bücher zur B-Methode
The B Method B ist eine Methode zur Spezifikation zum Entwurf zur Implementierung von Software Systemen. Bücher zur B-Methode P. Schmitt: Formal Specification and Verification of Software p.1 The B Method
MehrFUTURE NETWORK 20.11.2013 REQUIREMENTS ENGINEERING
18/11/13 Requirements Engineering 21 November 2013 DIE GRUNDFRAGEN Wie erhält der Kunde den größten Nutzen? Wie kann der Kunde am besten spezifizieren, was er haben will? Welchen Detailierungsgrad braucht
MehrEinstellungen für SEPA-Lastschriften in der VR-NetWorld-Software
Einstellungen für SEPA-Lastschriften in der VR-NetWorld-Software Um in der VR-NetWorld-Software SEPA-Lastschriften einziehen zu können, müssen Sie folgende Einstellungen treffen: 1. SEPA-Lastschriften
MehrInformatik studieren an der Universität zu Lübeck
Informatik studieren an der Universität zu Lübeck Prof. Dr. Till Tantau Studiengangsleiter MINT Lübecker Schnuppertag 2011 Das Informatik-Studium an der Uni Lübeck...... ist angewandter. Ein Studium an
MehrVoice over IP (VoIP) PING e.v. Weiterbildung Blitzvortrag. Dennis Heitmann 07.08.2010
Voice over IP (VoIP) PING e.v. Weiterbildung Blitzvortrag Dennis Heitmann 07.08.2010 Was ist das? VoIP = Voice over IP (Sprache über Internet Protokoll) Sprachdaten werden digital über das Internet übertragen
MehrOECD 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
MehrGrundlagen der Informatik II. Teil I: Formale Modelle der Informatik
Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende
MehrZahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)
Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009) Probleme unseres Alltags E-Mails lesen: Niemand außer mir soll meine Mails lesen! Geld abheben mit der EC-Karte: Niemand außer mir soll
Mehr