Formale Methoden: Ein Überblick

Größe: px
Ab Seite anzeigen:

Download "Formale Methoden: Ein Überblick"

Transkript

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

2 Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, , p. 2 Szenario: der ideale Compiler Leistung: meldet neben Syntaxfehlern auch semantische Fehler Bedingung: Vorliegen einer präzisen, formalen und korrekten Spezifikation Korrektheitsprüfung für Spezifikation: letztlich nicht automatisierbar

3 Zwei Ziele formaler Methoden Präziser, vollständiger und verständlicher Ausdruck der Anforderungen Konsistenzrüfungen von Formalisierungen Verständnis der Anforderungen Formalisierungen Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, , p. 3

4 Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, , p. 4 Gliederung 1. Formale Methoden: Geisteshaltung oder Werkzeugkasten 2. Ultra-High-Level-Programmiersprachen 3. Abstraktion in Spezifikationsnotationen 4. Anwendungsbereiche: Abstrakte Datentypen und nebenläufige Prozesse 5. Spezifizieren und Beweisen, allgemeiner Fall 6. Zusammenfassung

5 Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, , p FM als Geisteshaltung Harlan Mills, 1975: "Professional programmers today are producing code at the rate of one error per year in their finished work; that performance is not possible by cut-and-try programming. The professional programmer of tomorrow will remember, more or less vividly, every error in his career." völlige Veränderung der Arbeitsweise nötig! Schlüssel: Gedankenprozess und seine Klarheit

6 Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, , p. 6 Zwei Haltungen zu Programmierfehlern (a) Software-Defekte sind uninteressante Nebeneffekte der Arbeit als Softwareentwickler unter Bedingungen unvollständigen Wissens. Eine Analyse der geistigen Ursachen lohnt nicht. (b) Software-Defekte sind wertvolle Hinweise auf falsche Überzeugungen der Entwickler bezüglich des zu entwickelnden Systems. Aus jedem muss man lernen.

7 1. FM als Werkzeugkasten automatisierte Konsistenzprüfungen vertraute Oberfläche neuartige Algorithmen Ziel: nur oberflächliches Lernen nötig zentral: Notationen (für Vertrautheit), und Unterstützung von Konsistenzbeweisen Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, , p. 7

8 Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, , p Beispiele für High-Level-Notationen Ziel: Identität von Spezifikation und Implementierung Vorschläge für funktionale Spezifikationen: ML für Prädikatenlogik: Prolog für Relationenalgebra: SQL für reguläre Sprachen: Reguläre Ausdrücke für kontextfreie Sprachen: Grammatiken in Parsergeneratoren

9 Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, , p. 9 Problem von High-Level-Programmiernotationen zur Spezifikation Zugeständnisse an Ausführbarkeit: von Effektivität und Effizienz wird nicht völlig abstrahiert! (a) Notationen nicht wirklich deklarativ, sondern prozedurale Aspekte wichtig in Semantik. (b) Spezifikations-Lücken nicht erlaubt.

10 Flexibilität Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, , p Abstraktion in Spezifikationsnotationen Spezifikationsnotationen: formaler als natürliche Sprache, und flexibler als Programmiernotationen natürliche Sprache Spezifikationsnotationen Programmiernotationen Formalität

11 Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, , p Abstraktion in Spezifikationsnotationen Beispiel Abstract State Machines (Gurevich) ASM-These: "Jeder Algorithmus ist als ASM formalisierbar, die jeden intuitiven Schritt durch genau einen ASM- Schritt ausführt." intuitiver Algorithmus ASM- Formalisierung...

12 Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, , p Abstraktion in Spezifikationsnotationen: ASMs Schritt-treue Formalisierbarkeit intuitiver Algorithmen beruht wesentlich auf Flexibilität der Daten-Modellierung benötigte mathematische Strukturen werden einfach vorausgesetzt: Codierung durch primitivere Mittel unnötig hohe Anforderungen an Benutzer! Leitfunktion eingeschränkterer Formalismen fehlt

13 Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, , p Abstraktion in Spezifikationsnotationen: Zusammenfassung Hauptziele beim Benutzung von Spezifikationsnotationen: (a) abstraktionstreue Modellierung von Problem und Lösung (b) mathematische Präzision

14 Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, , p Wichtigste Anwendungsbereiche formaler Methoden 4.1 Modellierung abstrakter Datentypen (weil Abstraktion das Hauptmittel ist, um mit kognitiver Beschränktheit umzugehen) 4.2 Modellierung nebenläufiger Prozesse, inklusive Modellprüfung (weil Nebenläufigkeit besonders schwierig zu verstehen, aber praktisch sehr relevant ist)

15 4.1 Modellierung abstrakter Datentypen Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, , p. 15 algebraisch oder modellbasiert modellbasiert: Zustand und Übergang explizit (als Beispiel, Programmierung im Abstrakten), gewöhnlich verständlicher (Beispiele: Z, VDM, B, ASMs) algebraisch: Zustand implizit, als Äquivalenzklasse von Ereignisfolgen; schwerer verständlich; in Forschung verbreitet

16 Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, , p Modellierung abstrakter Datentypen: Konsistenzprüfungen Konsistenzprüfungen meist als Prüfung von Invarianten, Vor- und Nachbedingungen von Operationen auf Exemplaren der Datentypen Prüfungen in Entwurfs- und Entwicklungswerkzeuge integrierbar: Eiffel: "design by contract" Java: "extended static checking": ESCJava/2 (autom. Beweise, Beschränkung auf Spezialfälle)

17 Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, , p Nebenläufige Prozesse Prozessalgebren (CCS, CSP) Petrinetze hierarchische endliche Automaten (StateCharts) zeitbehaftete Automaten ("Timed Automata"; Kronos, UppAal, Rabbit) synchrone Programmiersprachen (VHDL, ESTEREL, LUSTRE)

18 4.2 Modellprüfung Überprüfung, ob ein Modell eine Formel erfüllt Modell: Programmlauf, oder Menge davon Formel: temporallogische Spezifikation, die eine Menge von Läufen beschreibt (temporale Operatoren: "nie", "irgendwann", "bis") in endlichen Systemen entscheidbar, ob Formel im Modell erfüllt dramatische Aufwandsprobleme ("Zustandsexplosion"): nur "kleine" Systeme analysierbar Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, , p. 18

19 Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, , p Modellprüfung: Beispiel Rabbit (BTU Cottbus): Erreichbarkeitsanalyse in Timed Automata, zur Verifikation von zeitbehafteten Algorithmen Zustandsexplosionsproblem: durch sehr erfolgreiche Heuristiken verkleinert

20 5. Theorembeweiser Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, , p. 20 Mathematik: per Varianten der Prädikatenlogik Beispiel: PVS ("Prototype Verification System", SRI) mächtiger Formalismus: sehr flexibel und entsprechend unentscheidbar verblüffend vieles ist automatisch deduzierbar! menschliche Intervention unverzichtbar, wenn letztlich Mathematik als Ganze im Werkzeugkasten liegt

21 6. Zusammenfassung FM: Mathematik in der Softwareentwicklung, für verständliche Spezifikationen und Konsistenzbeweise FM: Geisteshaltung oder Werkzeugkasten Korrektheitsgarantie uneinlösbar! Notationen: High-level-Programmierung, Spezifikation Wichtigste Anwendungsgebiete: abstrakte Datentypen und nebenläufige Prozesse Konsistenzbeweise: vollautomatisch für Spezialfälle durch Modellprüfung, nicht- oder halb-automatisch durch Theorembeweiser Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, , p. 21

The 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 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

Mehr

Grundbegriffe der Informatik

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

Mehr

Daniel Warneke [email protected] 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns Daniel Warneke [email protected] 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des

Mehr

DSL Entwicklung und Modellierung

DSL 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

Mehr

Was ist Logische Programmierung?

Was ist Logische Programmierung? Was ist Logische Programmierung? Die Bedeutung eines Computer-Programms kann durch Logik erklärt werden. Die Idee der logischen Programmierung besteht darin, die Logik eines Programms selber als Programm

Mehr

IT-Basics 2. DI Gerhard Fließ

IT-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

Mehr

Prolog basiert auf Prädikatenlogik

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

Mehr

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,

Mehr

Seminar aus dem Bereich E-Learning

Seminar aus dem Bereich E-Learning Seminar aus dem Bereich E-Learning Thema: Softwarebasierende Lernhilfen zur Interaktiven Visualisierung von Automaten und ihre Eignung für den Sekundarstufenunterricht. Martin Franz [email protected]

Mehr

Grundlagen der Künstlichen Intelligenz

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

Mehr

Fehlverhalten bei der Bedienung von Benutzungsschnittstellen. Henning Wachsmuth 1

Fehlverhalten bei der Bedienung von Benutzungsschnittstellen. Henning Wachsmuth 1 Fehlverhalten bei der Bedienung von Benutzungsschnittstellen Henning Wachsmuth 1 Übersicht Grundlegende Ziele des Interface Designs bei automatisierten Systemen Das Dialogmodell am Beispiel eines Radioweckers

Mehr

Verhaltensanalysegraph für Petrinetze

Verhaltensanalysegraph für Petrinetze Bachelorarbeit Carl von Ossietzky Universität Oldenburg 9. Januar 215 en 1 Gliederung en en 2 kurze gehen zurück auf Carl Adam Petri (1962). s 1 t 1 s 2 t 2 t 3 2 s 3 Abbildung : Beispiel Petrinetz...

Mehr

Semantik von Formeln und Sequenzen

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

Mehr

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass: OOP (Java), 3. Syntaxdiagramme und Grammatikregeln 1/32 Objektorientierte Programmierung Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass Martin-Luther-Universität Halle-Wittenberg

Mehr

Software Systems Engineering

Software Systems Engineering Software : SoSe 08 Prof. Dr. Klaus Schmid Software Produktlinien Ein neues Programm soll erstellt werden. Das habe ich doch schon mal programmiert, oder? Alter Code passt aber nicht ganz! Wird passend

Mehr

Softwarequalität: Zusammenfassung und Ausblick. 17. Juli 2013

Softwarequalität: Zusammenfassung und Ausblick. 17. Juli 2013 Softwarequalität: Zusammenfassung und Ausblick 17. Juli 2013 Überblick Rückblick: Qualitätskriterien Qualitätsmanagement Qualitätssicherungsmaßnahmen Thesen zur Softwarequalität Ausblick: Lehrveranstaltungen

Mehr

Konzentration auf das. Wesentliche.

Konzentration auf das. Wesentliche. Konzentration auf das Wesentliche. Machen Sie Ihre Kanzleiarbeit effizienter. 2 Sehr geehrte Leserin, sehr geehrter Leser, die Grundlagen Ihres Erfolges als Rechtsanwalt sind Ihre Expertise und Ihre Mandantenorientierung.

Mehr

Design by Contract with JML

Design by Contract with JML Thema: Design by Contract with JML Proseminar: Assertions Verfasser: Literatur: Betreuer: Natalya Moriz Gary T.Leavens and Yoonsik Cheon: Design by Contract with JML Prof. Dr. Heike Wehrheim 1 Inhalt DBC

Mehr

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

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

Mehr

Xesar. Die vielfältige Sicherheitslösung

Xesar. Die vielfältige Sicherheitslösung Xesar Die vielfältige Sicherheitslösung Xesar Die professionelle Lösung für Ihr Unternehmen Xesar Sicher und flexibel Xesar ist das vielseitige elektronische Schließsystem aus dem Hause EVVA. Komplexe

Mehr

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

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

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

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

Mehr

Abschnitt 12: Strukturierung von Java-Programmen: Packages

Abschnitt 12: Strukturierung von Java-Programmen: Packages Abschnitt 12: Strukturierung von Java-Programmen: Packages 12. Strukturierung von Java-Programmen: Packages 12.1 Strukturierung durch Packages 12.2 Zugriffsspezifikationen 12.3 Zusammenfassung 12 Strukturierung

Mehr

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: [email protected].

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen. Algorithmik II SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: [email protected] Homepage der Vorlesung Vorbemerkungen I http://www8.informatik.uni-erlangen.de/immd8

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Reaktive Programmierung Vorlesung 16 vom 14.07.2015: Theorie der Nebenläufigkeit

Reaktive Programmierung Vorlesung 16 vom 14.07.2015: Theorie der Nebenläufigkeit 18:13:55 2015-07-14 1 [16] Reaktive Programmierung Vorlesung 16 vom 14.07.2015: Theorie der Nebenläufigkeit Christoph Lüth & Martin Ring Universität Bremen Sommersemester 2015 2 [16] Organisatorisches

Mehr

Programmiersprachen und Übersetzer

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

Mehr

Professionelle Seminare im Bereich MS-Office

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

Mehr

Logische Folgerung. Definition 2.11

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

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen Grundlagen der Programmierung Prof. H. Mössenböck 3. Verzweigungen If-Anweisung n > 0? j n if (n > 0) x = x / n; ohne else-zweig x x / n j max x x > y? n max y if (x > y) max = x; else max = y; mit else-zweig

Mehr

Wärmebildkamera. Arbeitszeit: 15 Minuten

Wärmebildkamera. Arbeitszeit: 15 Minuten Wärmebildkamera Arbeitszeit: 15 Minuten Ob Menschen, Tiere oder Gegenstände: Sie alle senden unsichtbare Wärmestrahlen aus. Mit sogenannten Wärmebildkameras können diese sichtbar gemacht werden. Dadurch

Mehr

Timed Automata (Zeitbeschriftete Automaten) [R. Alur: Timed Automata]

Timed Automata (Zeitbeschriftete Automaten) [R. Alur: Timed Automata] Timed Automata (Zeitbeschriftete Automaten) [R. Alur: Timed Automata] Formalismus zur Behandlung von Dense Time unterstützt durch Verifikationstools, z.b. UPPAAL Transitionssysteme (Automaten) mit Zeitbeschriftungen

Mehr

SEP 114. Design by Contract

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

Mehr

Beweisbar sichere Verschlüsselung

Beweisbar sichere Verschlüsselung Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit [email protected] 6

Mehr

1 Mathematische Grundlagen

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

Mehr

Unternehmensleitbild. Vision Mission Werte Spielregeln

Unternehmensleitbild. Vision Mission Werte Spielregeln Unternehmensleitbild Vision Mission Werte Spielregeln Liebe Kolleginnen und Kollegen! Wir genießen heute bei unseren Geschäftspartnern einen ausgezeichneten Ruf. Dazu haben die langjährige erfolgreiche

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

Informationsblatt Induktionsbeweis

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

Mehr

Sudoku-Informatik oder wie man als Informatiker Logikrätsel löst

Sudoku-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 [email protected] Kurzvorlesung am Studieninformationstag, 13.05.2009

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 27 29..24 FAKULTÄT FÜR INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Definition

Mehr

Assertions (Zusicherungen)

Assertions (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.

Mehr

micura Pflegedienste München/Dachau GmbH

micura Pflegedienste München/Dachau GmbH micura Pflegedienste München/Dachau GmbH 2 PFLEGE UND BETREUUNG ZUHAUSE 3 Im Laufe eines Lebens verändern sich die Bedürfnisse. micura Pflegedienste München/ Dachau schließt die Lücke einer eingeschränkten

Mehr

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen 1. Quadratische Gleichungen Quadratische Gleichungen lassen sich immer auf die sog. normierte Form x 2 + px + = 0 bringen, in

Mehr

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«... Drucken - Druckformat Frage Wie passt man Bilder beim Drucken an bestimmte Papierformate an? Antwort Das Drucken von Bildern ist mit der Druckfunktion von Capture NX sehr einfach. Hier erklären wir, wie

Mehr

Schulinternes Curriculum für Informatik (Q2) Stand April 2015

Schulinternes Curriculum für Informatik (Q2) Stand April 2015 Schulinternes Curriculum für Informatik (Q2) Stand April 2015 Unterrichtsvorhaben Q2-I Thema: Modellierung und Implementierung von Anwendungen mit dynamischen, nichtlinearen Datenstrukturen Modellieren

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

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

Mehr

Some Software Engineering Principles

Some 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

Mehr

Passung von Partnern: Der Einfluss von Persönlichkeitsmerkmalen auf Beziehungsqualitäten

Passung von Partnern: Der Einfluss von Persönlichkeitsmerkmalen auf Beziehungsqualitäten Geisteswissenschaft Maxi Kirchner Passung von Partnern: Der Einfluss von Persönlichkeitsmerkmalen auf Beziehungsqualitäten Unter Verwendung der Studie "Personality and Social Network Effects on Romantic

Mehr

Daten haben wir reichlich! 25.04.14 The unbelievable Machine Company 1

Daten haben wir reichlich! 25.04.14 The unbelievable Machine Company 1 Daten haben wir reichlich! 25.04.14 The unbelievable Machine Company 1 2.800.000.000.000.000.000.000 Bytes Daten im Jahr 2012* * Wenn jedes Byte einem Buchstaben entspricht und wir 1000 Buchstaben auf

Mehr

Mächtigkeit von WHILE-Programmen

Mächtigkeit von WHILE-Programmen Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

SCHULVERSUCH INFORMATIK IN BADEN-WÜRTTEMBERG. Gerhard Liebrich Peter-Petersen-Gymnasium Mannheim

SCHULVERSUCH INFORMATIK IN BADEN-WÜRTTEMBERG. Gerhard Liebrich Peter-Petersen-Gymnasium Mannheim SCHULVERSUCH INFORMATIK IN BADEN-WÜRTTEMBERG Gerhard Liebrich Peter-Petersen-Gymnasium Mannheim 20.02.2011 G. Liebrich, Schulversuch Informatik 2 Überblick Schulversuch Beginn im Schuljahr 2008/09 Ende

Mehr

Programmieren Lernen mit BYOB. Gerald Futschek 5. November 2012

Programmieren Lernen mit BYOB. Gerald Futschek 5. November 2012 Programmieren Lernen mit BYOB Informatiktag 2012 Gerald Futschek 5. November 2012 Erste Programmier Schritte in der Schule Sehr viele verschiedene Dinge zu lernen: Syntax und Semantik der Befehle, Algorithmen,

Mehr

Die richtigen Partner finden, Ressourcen finden und zusammenführen

Die richtigen Partner finden, Ressourcen finden und zusammenführen Kongress Kinder.Stiften.Zukunft Workshop Willst Du mit mir gehen? Die richtigen Partner finden, Ressourcen finden und zusammenführen Dr. Christof Eichert Unsere Ziele: Ein gemeinsames Verständnis für die

Mehr

Erfahrungen mit Hartz IV- Empfängern

Erfahrungen mit Hartz IV- Empfängern Erfahrungen mit Hartz IV- Empfängern Ausgewählte Ergebnisse einer Befragung von Unternehmen aus den Branchen Gastronomie, Pflege und Handwerk Pressegespräch der Bundesagentur für Arbeit am 12. November

Mehr

QM: Prüfen -1- KN16.08.2010

QM: Prüfen -1- KN16.08.2010 QM: Prüfen -1- KN16.08.2010 2.4 Prüfen 2.4.1 Begriffe, Definitionen Ein wesentlicher Bestandteil der Qualitätssicherung ist das Prüfen. Sie wird aber nicht wie früher nach der Fertigung durch einen Prüfer,

Mehr

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: Informationssystemanalyse Problemstellung 2 1 Problemstellung Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: große Software-Systeme werden im Schnitt ein Jahr zu spät

Mehr

Theoretische Informatik I

Theoretische 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

Mehr

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege Lange Nacht der Wissenschaft Ein Klassiker Die Mathematik der Kürzesten Wege 09.06.2007 [email protected] Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) http://www.zib.de/schlechte 2 Überblick

Mehr

Die Spezifikationssprachen Z und VDM. Michael Hildebrandt

Die Spezifikationssprachen Z und VDM. Michael Hildebrandt Die Spezifikationssprachen Z und VDM Michael Hildebrandt 1. Formale Spezifikationen Was sind formale Spezifikationen? abstrakte Beschreibungen bzgl. des Verhaltens eines (zu entwickelnden) Systems geben

Mehr

Programmieren Formulierung eines Algorithmus in einer Programmiersprache

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:

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 11: Abstrakte Reduktionssysteme [email protected] Reduktionssysteme Definition: Reduktionssystem Ein Reduktionssystem ist ein Tupel (A, ) Dabei gilt: A

Mehr

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 - Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung

Mehr

Grammatiken. Einführung

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

Mehr

Arbeit zur Lebens-Geschichte mit Menschen mit Behinderung Ein Papier des Bundesverbands evangelische Behindertenhilfe e.v.

Arbeit zur Lebens-Geschichte mit Menschen mit Behinderung Ein Papier des Bundesverbands evangelische Behindertenhilfe e.v. Arbeit zur Lebens-Geschichte mit Menschen mit Behinderung Ein Papier des Bundesverbands evangelische Behindertenhilfe e.v. Meine Lebens- Geschichte Warum ist Arbeit zur Lebens-Geschichte wichtig? Jeder

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Einleitung Organisatorisches, Motivation, Herangehensweise Wolfram Burgard 1.1 Vorlesung Zeit und Ort: Dienstags 10:00-12:00 Uhr Donnerstags 10:00-12:00 Uhr Gebäude 101 HS

Mehr

Rhetorik und Argumentationstheorie. [[email protected]]

Rhetorik und Argumentationstheorie. [frederik.gierlinger@univie.ac.at] Rhetorik und Argumentationstheorie 1 [[email protected]] Ablauf der Veranstaltung Termine 1-6 Erarbeitung diverser Grundbegriffe Termine 7-12 Besprechung von philosophischen Aufsätzen Termin

Mehr

Das Blabla des LiLi-Webteams. Browser. HTML-Dateien. Links & Webadressen. ROXEN.

Das Blabla des LiLi-Webteams. Browser. HTML-Dateien. Links & Webadressen. ROXEN. A Das Blabla des LiLi-Webteams Browser. HTML-Dateien. Links & Webadressen. ROXEN. Ansicht a1: Browser Das English Wort Browser wird gern direkt übersetzt mit dem deutschen Stöberer. Verstehen sollte man

Mehr

Das Gewissen. 1. 3. Sekundarstufe 1 2 Std.

Das Gewissen. 1. 3. Sekundarstufe 1 2 Std. Das Gewissen 1. 3. Sekundarstufe 1 2 Std. 1. Lektion Die Schüler philosophieren über das Gewissen. Sie sollen sich klar werden, was das für eine Instanz ist, die wir Menschen haben, wie man es einsetzen

Mehr

Universität Paderborn Die Universität der Informationsgesellschaft. Validierung und Verifikation (inkl. Testen, Model-Checking, Theorem Proving)

Universitä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 [email protected]

Mehr

Information zum wissenschaftlichen Arbeiten

Information zum wissenschaftlichen Arbeiten Bündner Kantonsschule Chur Fachschaft MATHEMATIK Information zum wissenschaftlichen Arbeiten 1. Zeitplan 2. Zeichnungen, Grafiken, Tabellen,... 3. Mathematische Formeln und Sätze 4. Mathematische Umformungen

Mehr

fungen Debugging Boris Tripolskij

fungen Debugging Boris Tripolskij Werkzeuggestützte tzte Softwareprüfungen fungen Debugging Boris Tripolskij Gliederung Motivation für Debugging Aufbau des Debuggers in Eclipse Arten von Debugging Tools Fehlerarten Delta Debugging Vorführung

Mehr

Mediation der Mitarbeiter oder Coaching des Chefs?

Mediation der Mitarbeiter oder Coaching des Chefs? Herzlich willkommen Mediation der Mitarbeiter oder Coaching des Chefs? Wann passt welche Intervention? Thomas Robrecht Ablauf heute: 1. Organisation, Führung und Konflikt 2. Konfliktverschärfendes Führungshandeln

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

KI im Weltall: Der Remote Agent

KI im Weltall: Der Remote Agent KI im Weltall: Der Remote Agent Proseminar Künstliche Intelligenz Ulrich Tschaffon Universität Ulm Einleitung A Einleitung Remote Agent Intelligentes Steuerungsprogramm eines Raumgefährtes Wozu braucht

Mehr

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Vermeiden Sie es sich bei einer deutlich erfahreneren Person dranzuhängen, Sie sind persönlich verantwortlich für Ihren Lernerfolg. 1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich

Mehr

Gesucht und Gefunden: Die Funktionsweise einer Suchmaschine

Gesucht und Gefunden: Die Funktionsweise einer Suchmaschine Gesucht und Gefunden: Die Funktionsweise einer Suchmaschine Prof. Dr. Peter Becker FH Bonn-Rhein-Sieg Fachbereich Informatik [email protected] Vortrag im Rahmen des Studieninformationstags

Mehr

Grundbegriffe der Informatik

Grundbegriffe 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

Mehr

Lehrpläne NRW Sek.stufe 2. Lernen im Kontext

Lehrpläne NRW Sek.stufe 2. Lernen im Kontext Lehrpläne NRW Sek.stufe 2 Lernen im Kontext Fachliche Inhalte Lernziele Informatik NRW Fähigkeit, komplexe Zusammenhänge mit gedanklicher Schärfe zu durchdringen (Problemanalyse) Überblick über unterschiedliche

Mehr

Naturgewalten & Risikoempfinden

Naturgewalten & Risikoempfinden Naturgewalten & Risikoempfinden Eine aktuelle Einschätzung durch die TIROLER Bevölkerung Online-Umfrage Juni 2015 Eckdaten zur Untersuchung - Online-Umfrage von 11.-17. Juni 2015 - Themen... - Einschätzung

Mehr

Webseiten mit fragwürdigen Aufrufen von "spy & track" - Unternehmen

Webseiten mit fragwürdigen Aufrufen von spy & track - Unternehmen Webseiten mit fragwürdigen Aufrufen von "spy & track" - Unternehmen Die vorliegende Dokumentation umfasst eine kleine Auswahl von Webseiten, bei denen automatisch (ohne Benutzer vorab zu informieren oder

Mehr

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

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

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

T1 - Fundamentaler Testprozess

T1 - Fundamentaler Testprozess AK 2 am Armin Beer, Support Center Test der Software- Entwicklung 1 für einen erfolgreichen Test? Projektteam strebt nach Qualität Aufwände sind eingeplant (Richtwerte) 20 bis 30% des Gesamtaufwandes In

Mehr

Kopfzeile. Inhaltsverzeichnis

Kopfzeile. Inhaltsverzeichnis Inhaltsverzeichnis 1.Softwareinstallation mit OPSI...3 1.1.Vorbereitung:...3 1.2.Übungen Softwareinstallation an einzelnen Clients...3 1.2.1.Installation des Programms putty auf einem hochgefahrenen Client...3

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Zeit lässt sich nicht wie Geld für schlechte Zeiten zur Seite legen. Die Zeit vergeht egal, ob genutzt oder ungenutzt.

Zeit lässt sich nicht wie Geld für schlechte Zeiten zur Seite legen. Die Zeit vergeht egal, ob genutzt oder ungenutzt. Zeitmanagement Allgemeine Einleitung Wie oft haben Sie schon gehört Ich habe leider keine Zeit? Und wie oft haben Sie diesen Satz schon selbst gesagt? Wahrscheinlich nahezu jeden Tag. Dabei stimmt der

Mehr

BEISPIELKLAUSUR Softwareentwicklung:

BEISPIELKLAUSUR Softwareentwicklung: Prof. Dr. Andreas Fink Institut für Informatik Fakultät für Wirtschafts- und Sozialwissenschaften Helmut-Schmidt-Universität / Universität der Bundeswehr Hamburg BEISPIELKLAUSUR Softwareentwicklung: Objektorientierte

Mehr

CERTQUA-Servicecenter Nahtlose IT-Anbindung per Schnittstelle

CERTQUA-Servicecenter Nahtlose IT-Anbindung per Schnittstelle CERTQUA-Servicecenter Nahtlose IT-Anbindung per Bequeme Maßnahmenverwaltung mit automatischem Datenaustausch Bequem Manuelle Dateneingabe entfällt Sicher Verschlüsselter Datentransfer Zeitsparend Schnelle

Mehr

Ein Vorwort, das Sie lesen müssen!

Ein Vorwort, das Sie lesen müssen! Ein Vorwort, das Sie lesen müssen! Sehr geehrte Teilnehmerin, sehr geehrter Teilnehmer am Selbststudium, herzlichen Glückwunsch, Sie haben sich für ein ausgezeichnetes Stenografiesystem entschieden. Sie

Mehr

Sage 200 BI Häufige Fehler & Lösungen. Version 15.10.2014

Sage 200 BI Häufige Fehler & Lösungen. Version 15.10.2014 Sage 200 BI Häufige Fehler & Lösungen Version 15.10.2014 Inhaltverzeichnis Sage 200 BI Häufige Fehler & Lösungen Inhaltverzeichnis 2 1.0 Häufige Probleme & Lösungen 3 1.1 Keine Grafiken in SSRS-Auswertungen

Mehr

Use Cases. Use Cases

Use 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

Mehr

micura Pflegedienste Köln

micura Pflegedienste Köln micura Pflegedienste Köln 2 PFLEGE UND BETREUUNG ZUHAUSE 3 Im Laufe eines Lebens verändern sich die Bedürfnisse. micura Pflegedienste schließt die Lücke einer eingeschränkten Lebensführung. Viele Alltäglichkeiten

Mehr

Schulcurriculum Informationstechnische Grundkenntnisse und Informatik Stand: 18.09.2011

Schulcurriculum Informationstechnische Grundkenntnisse und Informatik Stand: 18.09.2011 Bezug zu den Leitideen der Bildungsstandards und den Kompetenzen, Inhalte Bemerkungen welche die Schülerinnen und Schüler erwerben Klasse 11 Informatik 4-stündig Einführung in die objektorientierte Modellierung

Mehr

Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden.

Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Zusatzmaterial zum Buch "Algorithmen kompakt und verständlich" Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Der Autor übernimmt

Mehr

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

ONLINE-AKADEMIE. Diplomierter NLP Anwender für Schule und Unterricht Ziele ONLINE-AKADEMIE Ziele Wenn man von Menschen hört, die etwas Großartiges in ihrem Leben geleistet haben, erfahren wir oft, dass diese ihr Ziel über Jahre verfolgt haben oder diesen Wunsch schon bereits

Mehr

Informatik. Christoph Treude. Elektronisches Geld. Studienarbeit

Informatik. Christoph Treude. Elektronisches Geld. Studienarbeit Informatik Christoph Treude Elektronisches Geld Studienarbeit Universität Siegen Fachbereich 12 Elektrotechnik und Informatik Seminararbeit Elektronisches Geld (Informatik und Gesellschaft) Christoph

Mehr