Formale Methoden: Ein Überblick

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Automatisierte Logik und Programmierung II

Automatisierte Logik und Programmierung II Automatisierte Logik und Programmierung II Sommersemester 2009 Christoph Kreitz Theoretische Informatik, Raum 1.18, Telephon 3060 kreitz@cs.uni-potsdam.de http://www.cs.uni-potsdam.de/ti/lehre/alupii.htm

Mehr

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

Grundlagen der Programm- und Systementwicklung

Grundlagen der Programm- und Systementwicklung Grundlagen der Programm- und Systementwicklung Technische Universität München Institut für Informatik Software & Systems Engineering Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. Maria Spichkova

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen. 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

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

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 torbre@uni-paderborn.de

Mehr

Grundlagen der Programm- und Systementwicklung

Grundlagen der Programm- und Systementwicklung Grundlagen der Programm- und Systementwicklung Technische Universität München Institut für Informatik Software & Systems Engineering Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. Alexander Malkis,

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

Entwicklung eines korrekten Übersetzers

Entwicklung eines korrekten Übersetzers Entwicklung eines korrekten Übersetzers für eine funktionale Programmiersprache im Theorembeweiser Coq Thomas Strathmann 14.01.2011 Gliederung 1 Einleitung

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

n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 -

n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 - n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik n "Informatik" = Kunstwort aus Information

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

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

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

1) Einführung in die formale Verifikation

1) Einführung in die formale Verifikation 1) Einführung in die formale Verifikation GPS: Einführung in die formale Verifikation Fehlerbehaftete Systeme 9 Wofür formale Verifikation? steigender Einsatz von Computertechnologie im Alltag Internet,

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

Formale Modellierung Vorlesung 13 vom : Rückblick und Ausblick

Formale Modellierung Vorlesung 13 vom : Rückblick und Ausblick Rev. 2226 1 [19] Formale Modellierung Vorlesung 13 vom 01.07.13: Rückblick und Ausblick Serge Autexier & Christoph Lüth Universität Bremen Sommersemester 2013 2 [19] Fahrplan Teil I: Formale Logik Teil

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

Einführung in Generatives Programmieren. Bastian Molkenthin

Einführung in Generatives Programmieren. Bastian Molkenthin Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung

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

Software-Entwicklung

Software-Entwicklung Software-Entwicklung SEP 96 Geschichte der Programmierung Aufgaben von, Anforderungen an Programme mit der Zeit verändert 1 Programmierung über Lochkarten z.b. für Rechenaufgaben 2 maschinennahe Programmierung

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

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

Verträge für die funktionale Programmierung Design und Implementierung

Verträge für die funktionale Programmierung Design und Implementierung 1 Verträge für die funktionale Programmierung Design und Implementierung RALF HINZE Institut für Informatik III, Universität Bonn Römerstraße 164, 53117 Bonn, Germany Email: ralf@informatik.uni-bonn.de

Mehr

2 Grundlagen der Programmierung

2 Grundlagen der Programmierung 2 Grundlagen der Programmierung In diesem Kapitel bereiten wir die Grundlagen für ein systematisches Programmieren. Wichtigstes Ziel ist dabei die Herausarbeitung der fundamentalen Konzepte von Programmiersprache.

Mehr

Funktionale Programmierung. Funktionale Programmierung: Vorlesungsüberblick. Eigenschaften rein funktionaler Programmierung

Funktionale Programmierung. Funktionale Programmierung: Vorlesungsüberblick. Eigenschaften rein funktionaler Programmierung Funktionale Programmierung 1 Funktionale Programmierung: Vorlesungsüberblick 1. Funktionale Programmierung Prinzipien funktionaler Programmierung Funktionale Programmierung in prozeduralen Sprachen Rekursive

Mehr

Quellen: Towards a Human Computer InteractionPerspective. Übersicht. Warum visuelle Sprachen? Begriffsdefinitionen: Hinderungsgründe bisher:

Quellen: Towards a Human Computer InteractionPerspective. Übersicht. Warum visuelle Sprachen? Begriffsdefinitionen: Hinderungsgründe bisher: Quellen: Towards a Human Computer InteractionPerspective von B.K. & B.K. LV: Visuelle Sprachen (03-763) Universität Bremen WS 2001/02 Visual Language Theory: Towards a Human- Computer Perspective; N. Hari

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

Aspektorientierte Programmierung (aspect-oriented programming, AOP)

Aspektorientierte Programmierung (aspect-oriented programming, AOP) Aspektorientierte Programmierung (aspect-oriented programming, AOP) Abstract Die aspektorientierte Programmierung ist ein neues Programmierparadigma, das die Probleme und Nachteile, die aus der prozeduralen

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

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

Sicherungskomponente für Autonome Mobile Serviceroboter

Sicherungskomponente für Autonome Mobile Serviceroboter Christoph Lüth: SAMS 1 [12] Sicherungskomponente für Autonome Mobile Serviceroboter Christoph Lüth Deutsches Forschungszentrum für Künstliche Intelligenz, Bremen SAMS Abschlusspräsentation, 13.10.09, Bremen

Mehr

Program = Logic + Control

Program = Logic + Control Program = Logic + Control Prozedurale/imperative Sprachen: Abläufe formulieren Computer führt aus von-neumann-maschine Idee von deklarativen/logischen/funktionalen Programmiersprachen: Zusammenhänge formulieren

Mehr

Verifikations- und Spezifikationsmethoden

Verifikations- und Spezifikationsmethoden Verifikations- und Spezifikationsmethoden Prof. Dr. Sibylle Schwarz Westsächsische Hochschule Zwickau Dr. Friedrichs-Ring 2a, RII 263 http://www.fh-zwickau.de/~sibsc/ sibylle.schwarz@fh-zwickau.de WS 2012/13

Mehr

Organisatorisches. Zeit und Ort: Mo 12-14 MZH 1450 Mi 16-18 MZH 1460. Prof. Carsten Lutz Raum Cartesium 2.59 Tel. (218)-64431 clu@uni-bremen.

Organisatorisches. Zeit und Ort: Mo 12-14 MZH 1450 Mi 16-18 MZH 1460. Prof. Carsten Lutz Raum Cartesium 2.59 Tel. (218)-64431 clu@uni-bremen. Logik Organisatorisches Zeit und Ort: Mo 12-14 MZH 1450 Mi 16-18 MZH 1460 Prof. Carsten Lutz Raum Cartesium 2.59 Tel. (218)-64431 clu@uni-bremen.de Position im Curriculum: Wahlbereich Bachelor-Basis, Theoretische

Mehr

Sicherheit bei lernenden Robotern

Sicherheit 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)

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 maddin_franz@web.de

Mehr

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: stoyan@informatik.uni-erlangen. Algorithmik II SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.de Homepage der Vorlesung Vorbemerkungen I http://www8.informatik.uni-erlangen.de/immd8

Mehr

Daniel Warneke warneke@upb.de 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 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

Mehr

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise Coma I Einleitung 1 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen Literaturhinweise 2 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen

Mehr

ÄTU Clausthal. Kollaborative Modellierung im Software Engineering. Christian Bartelt. SSE-Dissertation 4. Software Systems Engineering

ÄTU Clausthal. Kollaborative Modellierung im Software Engineering. Christian Bartelt. SSE-Dissertation 4. Software Systems Engineering Mb ÄTU Clausthal Christian Bartelt Kollaborative Modellierung im Software Engineering SSE-Dissertation 4 Software Systems Engineering Institut für Informatik Lehrstuhl von Prof. Dr. Andreas Rausch Inhaltsverzeichnis

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

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

Mehr

Inhaltsverzeichnis. Vorwort...XIII. Aufbau des Buches...

Inhaltsverzeichnis. Vorwort...XIII. Aufbau des Buches... Inhaltsverzeichnis Vorwort...XIII Aufbau des Buches............................................... XV 1 Von der Idee zur Software..................................... 1 1.1 Beispielanwendung... 1 1.2 Schritte

Mehr

FOSD-Treffen 2012 Struktur- und Constraintbasierte Konfiguration

FOSD-Treffen 2012 Struktur- und Constraintbasierte Konfiguration FOSD-Treffen 2012 Struktur- und Constraintbasierte Konfiguration Uwe Lesta 22. März 2012 Übersicht Produktkonfiguration Konfigurationsarten Produkt- und Konfigurationswissen Aufbau des Produktkonfigurators

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 21. Oktober 2015 Automat versus Computer Ein Automat ist eine Maschine,

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

1. Einleitung: Systementwicklung und Formale Spezifikationen

1. Einleitung: Systementwicklung und Formale Spezifikationen Grundlagen der Systementwicklung Seite 1 Einführung: Systementwicklung und formale Methoden 1. Einleitung: Systementwicklung und Formale Spezifikationen Ziele: * Phasenmodell der Systementwicklung und

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

Qualitätssicherung in der Softwareentwicklung

Qualitätssicherung in der Softwareentwicklung VU 2 Institut für Softwaretechnologie (IST) TU Graz Sommersemester 2012 Übersicht der Vorlesung 1 Herausforderung Software Testen 2 Eigenschaften von 3 Herausforderung Software Testen Korrektheit Anforderungen

Mehr

Diplomarbeit Antrittsvortrag

Diplomarbeit Antrittsvortrag Diplomarbeit Antrittsvortrag Christian Müller Run-time byte code compilation, interpretation and optimization for Alice Betreuer: Guido Tack Verantwortlicher Prof.: Gert Smolka Die nächsten 15 Minuten...

Mehr

Informatik für Ingenieure

Informatik für Ingenieure Informatik für Ingenieure Eine Einführung Von Prof. Dr. rer. nat. Wolfgang Merzenich Universität-Gesamthochschule Siegen und Prof. Dr.-Ing. Hans Christoph Zeidler Universität der Bundeswehr Hamburg B.

Mehr

Modellbasierte Softwareentwicklung

Modellbasierte Softwareentwicklung CD OCL OD Statechart SD Modellbasierte Softwareentwicklung 7. Evolutionäre Methodik 7.1. Vorgehensmodell Vorlesungsnavigator: Prof. Dr. Bernhard Rumpe Sprache Codegen. http://www.se-rwth.de/ Testen Evolution

Mehr

Objektorientierte Analyse und Design

Objektorientierte Analyse und Design Hochschule Darmstadt Fachbereich Informatik Objektorientierte Analyse und Design 4. Objektorientierte Analyse OOAD, Prof. Dr. Ralf Hahn, SS2008, h_da, Fachbereich Informatik 51 4. Objektorientierte Analyse

Mehr

Gebundene Typparameter

Gebundene Typparameter Gebundene Typparameter interface StringHashable { String hashcode(); class StringHashMap { public void put (Key k, Value v) { String hash = k.hashcode();...... Objektorientierte

Mehr

Es war einmal... "StudyING: Welten bewegen - Welten gestalten"

Es war einmal... StudyING: Welten bewegen - Welten gestalten Computer, generiere! Christian Schröder Fachbereich Elektrotechnik und Informationstechnik Fachhochschule Bielefeld christian.schroeder@fh-bielefeld.de Es war einmal... Es war einmal... ein Bauvorhaben!

Mehr

Erste Schritte in Java

Erste Schritte in Java Erste Schritte in Java Im einführenden Kapitel haben wir die Grundbegriffe der imperativen Programmierung an einem Beispiel (Algorithmus von Euklid) kennengelernt. In diesem Kapitel sehen wir uns an einem

Mehr

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog 10.Klasse: Themenschwerpunkt I: Datenbanken Datenbanken o Einsatzbereiche von Datenbanken o Verwaltung von großen Datenmengen o Probleme aus dem Alltag in Datenbanken abbilden o Relationale Datenbanksysteme

Mehr

Anforderungen an Informatikabsolventen Beitrag zum Workshop "Bachelor / Master im Informatikstudium und im Beruf" 26.-27. März 2003, HAW Hamburg

Anforderungen an Informatikabsolventen Beitrag zum Workshop Bachelor / Master im Informatikstudium und im Beruf 26.-27. März 2003, HAW Hamburg Innovative Anwendungssysteme GmbH Anforderungen an Informatikabsolventen "Bachelor / Master im Informatikstudium und im Beruf" 26.-27. März 2003, HAW Hamburg 21. Februar 2003 Inhaltsverzeichnis 1 Firmenprofil

Mehr

In den weiterführenden Vorlesungen

In den weiterführenden Vorlesungen 1.1 Inhalte dieser und weiterer Vorlesungen Elemente der sog. Strukturierten Programmierung zur Darstellung der Algorithmen (Kontrollstrukturen, Methoden) Datentypen (Datenstrukturen) zusammen --> Objekte!

Mehr

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung Block R (Rahmen): SE Aktivitäten 21.10.04 1 Vorlesung Methoden des Software Engineering Block R Rahmen Aktivitäten der Software-Entwicklung Martin Wirsing Einheit R.2, 21.10.2004 Block R (Rahmen): SE Aktivitäten

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

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

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

2.1.1 Übersichtsraster Unterrichtsvorhaben. I) Einführungsphase. Einführungsphase. Unterrichtsvorhaben E-II. Unterrichtsvorhaben E-I

2.1.1 Übersichtsraster Unterrichtsvorhaben. I) Einführungsphase. Einführungsphase. Unterrichtsvorhaben E-II. Unterrichtsvorhaben E-I 2.1.1 Übersichtsraster Unterrichtsvorhaben I) Einführungsphase Einführungsphase Unterrichtsvorhaben E-I Einführung in die Nutzung von Informatiksystemen und in grundlegende Begrifflichkeiten Informatiksysteme

Mehr

Softwaretechnik. Wesentliche Inhalte der Vorlesung

Softwaretechnik. Wesentliche Inhalte der Vorlesung Softwaretechnik Prof. Dr. Bernhard Schiefer schiefer@informatik.fh-kl.de http://www.informatik.fh-kl.de/~schiefer Prof. Dr. Bernhard Schiefer 1-1 Wesentliche Inhalte der Vorlesung Phasen der Software-Entwicklung

Mehr

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014 Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung Klaus Kusche, September 2014 Inhalt Ziel & Voraussetzungen Was sind abstrakte Datentypen? Was kann man damit grundsätzlich?

Mehr

Programmierparadigmen

Programmierparadigmen Programmierparadigmen Paradigma = Denkweise oder Art der Weltanschauung klassische Einteilung: Programmiersprache imperativ deklarativ prozedural objektorientiert funktional logisch Zusammenhänge tatsächlich

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Programmieren was ist das genau?

Programmieren was ist das genau? Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet

Mehr

Modellgetriebene Softwareentwicklung bei der IBYKUS AG

Modellgetriebene Softwareentwicklung bei der IBYKUS AG Modellgetriebene Softwareentwicklung bei der IBYKUS AG Theorie Teil 4: Domänenspezifische Sprachen Dr. Steffen Skatulla IBYKUS AG 1 Inhalt Teil 4: Domänenspezifische Sprachen Nutzung vorhandener Sprachen

Mehr

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16 Probeklausur Lenz Belzner January 26, 2015 Lenz Belzner Probeklausur January 26, 2015 1 / 16 Definieren Sie Software Engineering in Abgrenzung zu Individual Programming. Ingenieursdisziplin professionelle

Mehr

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Objekt Objekt kapselt Variablen und Routinen Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Eigenschaften jedes Objekts: Identität (identisch = mehrere

Mehr

Fachhochschule Wiesbaden - Fachbereich DCSM. Skriptsprachen. Moderne, objekt-orientierte Skriptsprachen mit Betonung auf Ruby

Fachhochschule Wiesbaden - Fachbereich DCSM. Skriptsprachen. Moderne, objekt-orientierte Skriptsprachen mit Betonung auf Ruby Fachhochschule Wiesbaden - Fachbereich DCSM Skriptsprachen Moderne, objekt-orientierte Skriptsprachen mit Betonung auf Ruby 16.10.2008 2003, 2008 H. Werntges, FB Design Informatik Medien (DCSM), FH Wiesbaden

Mehr

Lean Modeling - Software Systeme einfach und präzise mit natürlicher Sprache spezifizieren

Lean Modeling - Software Systeme einfach und präzise mit natürlicher Sprache spezifizieren Lean Modeling - Software Systeme einfach und präzise mit natürlicher Sprache spezifizieren Dr. Christian Wende und Dr. Tobias Nestler, DevBoost GmbH 21. Mai 2014, Karlsruher Entwicklertag 2014, Dresden

Mehr

Schulinternes Curriculum im Fach Informatik

Schulinternes Curriculum im Fach Informatik Schulinternes Curriculum im Fach Informatik Unterricht in EF : 1. Geschichte der elektronischen Datenverarbeitung (3 Stunden) 2. Einführung in die Nutzung von Informatiksystemen und in grundlegende Begriffe

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

LISE MEITNER GYMNASIUM NEUENHAUS UELSEN

LISE MEITNER GYMNASIUM NEUENHAUS UELSEN Entwurf eines schulinternen Curriculums im Fach Informatik für die Qualifikationsphase (Jahrgang 11 und 12) Für die Gestaltung des Informatikunterrichts in der Qualifikationsphase sind für das schulinterne

Mehr

4 Ausklang. ALP 2, Hannes Federrath, Sommersemester 2001

4 Ausklang. ALP 2, Hannes Federrath, Sommersemester 2001 ALP 2, Hannes Federrath, Sommersemester 2001 4 Ausklang Inhalt des Kapitels im Überblick: In diesem Kapitel sollen zum Ausklang der Vorlesung folgende Schwerpunkte behandelt werden: Software-Entwicklungsprozess

Mehr

Software-Sanierung. Weiterentwicklung, Testen und Refactoring bestehender Software. von Sebastian Kübeck. 1. Auflage

Software-Sanierung. Weiterentwicklung, Testen und Refactoring bestehender Software. von Sebastian Kübeck. 1. Auflage Software-Sanierung Weiterentwicklung, Testen und Refactoring bestehender Software von Sebastian Kübeck 1. Auflage Software-Sanierung Kübeck schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG

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

Laufzeitverifikation

Laufzeitverifikation Laufzeitverifikation Martin Möser Seminar Fehlertolerante und Selbstheilende Systeme: Verifikation und Validierung autonomer Systeme Martin Möser - 1 Einführung / Motivation Autonome Systeme Komplexes

Mehr

Eine Entwurfsmethodik für Prozesssteuerungen

Eine Entwurfsmethodik für Prozesssteuerungen Eine Entwurfsmethodik für Prozesssteuerungen Dr.-Ing. U. Brunner, FH Karlsruhe Kurzfassung Die Forderung nach Wiederverwendbarkeit von Softwarekomponenten und der Korrektheitsnachweis bei sicherheitsgerichteten

Mehr

Inhaltsverzeichnis. Was ist Informatik? 5. Programmierung 13. Einleitung. 1 Informatik 7 1.1 Was ist Informatik? 7 1.2 Teilgebiete der Informatik 8

Inhaltsverzeichnis. Was ist Informatik? 5. Programmierung 13. Einleitung. 1 Informatik 7 1.1 Was ist Informatik? 7 1.2 Teilgebiete der Informatik 8 Einleitung Was ist Informatik? 5 1 Informatik 7 1.1 Was ist Informatik? 7 1.2 Teilgebiete der Informatik 8 Programmierung 13 2 Vom Problem über den Algorithmus zum Programm 15 2.1 Vorgehensweise bei der

Mehr

Entscheidungsverfahren mit Anwendungen in der Softwareverifikation

Entscheidungsverfahren mit Anwendungen in der Softwareverifikation Entscheidungsverfahren mit Anwendungen in der Softwareverifikation I: Einführung Dr. Stephan Falke Institut für Theoretische Informatik Dr. Carsten Sinz 15.04.2013 Ist mein Programm korrekt? Beispiel:

Mehr

Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering

Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering Helmut Balzert Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering 3. Auflage Unter Mitwirkung von Heide Balzert Rainer Koschke Uwe Lämmel Peter Liggesmeyer Jochen Quante Spektrum

Mehr

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level Implementation of a Framework Component for Processing Tasks within Threads on the Application Level Deutsches Krebsforschungszentrum, for Processing Task within Threads on the Application Level Motivation

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

Model Driven Architecture

Model Driven Architecture Model Driven Architecture Wilhelm Stephan Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Seminar Softwareentwicklung in der Wissenschaft Betreuer: Julian Kunkel SommerSemester

Mehr

Specifying Patterns for Dynamic Pattern Instance Recognition with UML 2.0 Sequence Diagrams. Lothar Wendehals. Universität Paderborn

Specifying Patterns for Dynamic Pattern Instance Recognition with UML 2.0 Sequence Diagrams. Lothar Wendehals. Universität Paderborn Specifying Patterns for Dynamic Pattern Instance Recognition with UML 2.0 Sequence Diagrams Lothar Wendehals 6. Workshop Software-Reengineering Bad Honnef, 3. - 5. Mai 2004 Motivation Unterstützung des

Mehr

Dialekte der Klimaforschung

Dialekte der Klimaforschung Dialekte der Klimaforschung Vom Fortran-Programm zum parallelen Programm Thomas Ludwig Inhalt Welche Dialekte werden transformiert? Welche Anforderungen stellen wir? Wozu diese Transformation? Wie ist

Mehr

Parsing-EinfŸhrung Ð 1

Parsing-EinfŸhrung Ð 1 Parsing-EinfŸhrung bersicht Falsifizierbarkeit, oder: Sind Grammatiken wissenschaftlich? Grammatik, Formalismus Kontextfreie Grammatiken Ableitungen Ziel Verstehen der linguistischen Motivation Intuitives

Mehr

Sprintstudium Informatik in Göttingen. Dr. Kerstin Strecker, Hainberg Gymnasium Göttingen Ylva Brandt, Gymnasium Langenhagen

Sprintstudium Informatik in Göttingen. Dr. Kerstin Strecker, Hainberg Gymnasium Göttingen Ylva Brandt, Gymnasium Langenhagen Sprintstudium Informatik in Göttingen Dr. Kerstin Strecker, Hainberg Gymnasium Göttingen Ylva Brandt, Gymnasium Langenhagen Gliederung Zugangsvoraussetzungen Ziele Organisation Inhalte Zeitaufwand Erfahrungen

Mehr

Wintersemester 2010/2011 Rüdiger Westermann Institut für Informatik Technische Universität München

Wintersemester 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)

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

Trace- und Zeit-Zusicherungen beim Programmieren mit Vertrag

Trace- und Zeit-Zusicherungen beim Programmieren mit Vertrag Trace- und Zeit-Zusicherungen beim Programmieren mit Vertrag Mark Brörkens Universität Oldenburg, Fachbereich Informatik Email: Mark.Broerkens@informatik.uni-oldenburg.de Einleitung Programmieren mit Vertrag

Mehr

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwaretechnik. Fomuso Ekellem WS 2011/12 WS 2011/12 Inhalt Projektvorstellung Übung 1 Wiederholung zusammengefasst Planungsphase Lernziele Ziele und Inhalt der Planungsphase Anlass und Aufgabestellung(Was ist dabei erförderlich) Requirement Engineering

Mehr

2. Vorlesung. Slide 40

2. Vorlesung. Slide 40 2. Vorlesung Slide 40 Knobelaufgabe Was tut dieses Programm? Informell Formal Wie stellt man dies sicher? knobel(a,b) { Wenn a = 0 dann return b sonst { solange b 0 wenn a > b dann { a := a - b sonst b

Mehr

Software Factories SS 2016. Prof. Dr. Dirk Müller. 3 Modellgetriebene Softwareentwicklung

Software Factories SS 2016. Prof. Dr. Dirk Müller. 3 Modellgetriebene Softwareentwicklung Software Factories 3 Modellgetriebene Softwareentwicklung Prof. Dr. Dirk Müller Übersicht Einordnung im Lebenszyklus Ziele Hebung des Abstraktionsniveaus Model Driven Architecture (MDA) Domänenspezifische

Mehr