Foundations of Systems Development

Größe: px
Ab Seite anzeigen:

Download "Foundations of Systems Development"

Transkript

1 Foundations of Systems Development Vergleich und Zusammenfassung Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer WS 2007/08

2 2 Ziele Wichtige Aspekte von algebraischen Spezikationen Termersetzungssystemen Prozessalgebra Temporaler Logik zusammenfassen. Maude, CCS und TLA am Beispiel der Uhr vergleichen.

3 1. Algebraische Spezifikation der Uhr in Maude Ein algebraische Spezifikation des Datentyps der Uhr in Maude: fmod CLOCK is protecting NAT. sort State. op init : -> State [ctor]. op tick : State -> State [ctor]. op hr : State -> Nat. op min : State -> Nat. var s : State. eq min(init) = 0. eq min(tick(s)) = if min(s) < 59 then min(s) + 1 else 0 fi. eq hr(init) = 0. eq hr(tick(s)) = if min(s) < 59 then hr(s) else if hr(s) < 23 then hr(s) + 1 else 0 fi fi. endfm 3 Jeder Zustand hat die Form: tick( tick(init) ) M-mal Strukturelle Rekursion über init und tick

4 1. Algebraische Spezifikation 4 Algebraische Spezifikationen dienen zur formalen Modellierung von Datentypen (Domainmodell) und von funktionalen Eigenschaften. Eine algebraische Spezifikation (Σ, E) besteht aus einer Signatur Σ zur Angabe der Datentypen und Operationen einer Schnittstelle einer Menge E von Σ-Formeln zur Spezifikation der Eigenschaften der Operationen von Σ ; meist schränkt man sich auf Gleichungen oder bedingte Gleichungen ein. Durch Konstruktoren zeichnet man die Menge der Datenelemente aus; in zustandsbasierten Systemen beschreibt man mit Konstruktoren die Menge der möglichen Zustände. Beziehungen zwischen den Konstruktoren beschreibt man durch Gleichungen; typische Beziehungen sind Kommutativität, Assoziativität, neutrales Element, Idempotenz und Distributivität.

5 1. Algebraische Spezifikation 5 Nichtkonstruktor-Operationen definiert man typischerweise (wie in funktionalen Sprachen) mittels struktureller Rekursion über den Konstruktoren. Die Sprache Maude unterstützt die Implementierung und Simulation von ordnungssortierten Gleichungsspezifikationen.

6 6 1. Testen der algebraischen Spezifikation der Uhr in Maude Hilfsfunktion zum Generieren des Zustands gentick(s, M) generiert den Zustand nach M ticks : op gentick : State Nat -> State. var S : State. var M : Nat. eq gentick(s, 0) = S. eq gentick(s, s M) = tick(gentick(s, M)). Testbeispiele Beobachtung des Zustands nach 112 ticks ) reduce in CLOCK : min(gentick(init, 112)). rewrites: 561 in 9287ms cpu (4ms real) (60 rewrites/second) result NzNat: 52 ========================================== reduce in CLOCK : hr(gentick(init, 112)). rewrites: in ms cpu (244ms real) (0 rewrites/second) result NzNat: 1

7 7 2. Termersetzungssystem für die Uhr in Maude mod CLOCK-MACHINE is protecting NAT. including CONFIGURATION. op CLOCK : -> Cid. op min :_ : Nat -> Attribute. op hr :_ : Nat -> Attribute. op tick : -> Msg. var C : Oid. vars M M1 H H1 : Nat. crl [tick] : tick < C : CLOCK hr : H, min : M > => < C : CLOCK hr : H1, min : M1 > if M1 := (if M < 59 then M + 1 else 0 fi ) /\ H1 := (if M < 59 then H else if H < 23 then H + 1 else 0 fi fi). Gleichungsspezifikation: Beschreibt den Zustandsraum als Multimenge von Nachrichten (Msg) und Objekten <c: ClassName attribute : value > Termersetzungsregel konsumiert die Nachricht tick endm Das Ersetzungssystem spezifiziert alle möglichen Zustandsübergange der Uhr.

8 8 2. Termersetzungssysteme Termersetzungssysteme werden eingesetzt zur operationellen Beschreibung von Datenstrukturen und zur operationellen Modellierung zustandsbasierter nebenläufiger Systeme. Rewriting Logic bildet eine mathematische wohldefinierte Grundlage zur Modellierung nebenläufiger verteilter Systeme, einschließlich objektorientierter Systeme. Dynamisches Verhalten und insbesondere nebenläufige Transitionen werden mittels Termersetzungsregeln (rewrite rules) definiert. Eine Rewrite Theory (Σ, E, R) besteht aus einer Gleichungspezifikation (Σ, E) der Zustandsmenge und der Grundoperationen sowie einer Menge R von Termersetzungsregeln der Form l: t -> t if cond Verteilte Konfigurationen werden durch Terme dargestellt, wobei die Verteilungsstruktur algebraisch durch die initialen Algebren einer Gleichungstheorie definiert wird.

9 9 2. Testen des Maude Termersetzungssystems der Uhr Hilfsfunktion zum Generieren von tick op gentick : Nat -> Configuration. eq gentick(0) = none. eq gentick(s M) = tick gentick(m). Testbeispiel rewrite in CLOCK-MACHINE : gentick(137) < C : CLOCK min : 10, hr : 7 >. rewrites: 827 in ms cpu (23ms real) (0 rewrites/second) result Object: < C : CLOCK min : 27, hr : 9 >

10 10 3. Prozessalgebra Der Prozessalgebra-Ansatz dient zur Modellierung des dynamischen Verhaltens reaktiver (nebenläufiger, verteilter, mobiler) Systeme: Alles wird als Prozess aufgefasst: Die Grundoperatoren sind Konstruktoren zum Bilden von Prozessen. Der aktuelle Zustand eines Systems wird durch einen Prozess(term) beschrieben. Das Verhalten wird ebenfalls durch einen Prozess(term) (bzw. eine Menge kooperierender Prozesse) beschrieben. Systemevolution basiert auf Prozesstransformation: Ein Prozess führt eine Aktion durch und wird zu einem anderen Prozess. Die Semantik von Prozessen wird durch markierte Transitionssysteme beschrieben, die mittels strukturierter operationeller Semantik spezifiziert werden. Wichtige Prozesskalküle sind CCS (Calculus of Communicating Systems), CSP (Communicating Sequential Processes), ACP (Algebra of Communicating Processes), LOTOS (Language Of Temporal Ordering Specification) π-calculus

11 11 3. Uhr in CCS In value passing CCS wird eine einfache Uhr spezifiziert durch ein System von 3660 Prozessen; jeder dieser Prozesse ist mit einem Zeitpunkt (h,m) indiziert und gibt diesen auf dem Kanal tick aus. Zeit wird hier gesehen als logische Zeit : Immer wenn ein tick gesendet wird (bzw. mit tick interagiert wird), schreitet die Zeit voran. In value passing CCS spezifizieren wir die Menge aller möglichen (unendlichen) Abläufe der Uhr. Stottern ist nicht erlaubt.

12 Temporale Logik 4. Temporale Logik ist eine Erweiterung der mathematischen Logik um Aussagen, deren Wahrheitswert zu verschiedenen Zeitpunkten unterschiedlich sein kann Linear Temporal Logic LTL verwendet diskrete lineare Zeit und hat als grundlegende Operatoren next (X), always (G), sometime (F) und until. Model Checking von PLTL ist PSPACE-vollständig. Computational Tree Logic CTL* verwendet diskrete Zeit mit Bäumen zur Darstellung der möglichen Entwicklungen der Zukunft Hat zusätzliche Pfadquantoren für alle Pfade, es gibt einen Pfad. CTL beschränkt Quantoren auf Form EX φ, EF φ, E[φ until ψ], AX φ, Model Checking von PCTL ist polynomial (bzgl. Zeit). 12

13 13 4. TLA TLA (Temporal Logic of Actions) erweitert LTL um spezielle Formeln zur Beschreibung von Zustandsübergängen (Aktionen). Eine Aktionsformel hat typischerweise die Form [A] v ( Wenn sich eines der v ändert, wird die Aktion A ausgeführt ), wobei v eine Liste von flexiblen Variablen ist, die (globale) Zustandskomponenten repräsentieren. Eine Systemspezifikation hat i.a. die Form wobei Init die Menge der Anfangszustäde spezifiziert und Next eine Disjunktion von Aktionen und L eine Konjunktion von Fairnessbedingungen ist. Verfeinerung und Strukturierung werden in TLA durch logische Operatoren ausgedrückt: Verfeinerung entspricht der Implikation, parallele Komposition der Konjunktion und die Kapselung der Existenzquantifizierung über flexible Variable. Eine wesentliche Voraussetzung dafür ist die Stotterinvarianz von TLA-Formeln.

14 4. Uhr in TLA 14 TLA spezifiziert die Menge aller möglichen (unendlichen) Abläufe der Uhr. Dabei ist Stottern erlaubt!

15 15 Zusammenfassung der Beispiele: Maude, CCS, TLA Algebraische Spezifikation in Maude Spezifikation der möglichen Zustände der Uhr Ablesen der Zeit durch Beobachtungsfunktionen (min, hr) Verfeinerung als Wechsel der Datenstruktur Dynamisches Verhalten in Maude Spezifikation der Zustandsübergange der Uhr Testen endlicher Abläufe CCS Calculus of Communicating Systems Spezifikation eines Systems von Prozessen; jeder dieser Prozesse gibt einen Zeitpunkt auf dem Kanal tick aus. Spezifikation der unendlichen nicht-stotternden Abläufe der Uhr Prozessäquivalenz durch Bisimulation oder Trace-Äquivalenz (oder weitere Äquivalenzbegriffe) TLA Temporal Logic of Actions Spezifikation der Menge aller möglichen stotternden unendlichen Abläufe der Abläufe der Uhr Verfeinerung als Implikation

16 16 Vielen Dank für Ihre Aufmerksamkeit und Mitarbeit! Moritz Hammer, Axel Rauschmayer und ich wünschen Ihnen viel Erfolg in der Prüfung und eine angenehme vorlesungsfreie Zeit!

Foundations of System Development

Foundations of System Development Foundations of System Development Martin Wirsing in cooperation with Axel Rauschmayer WS 05/06 Verfeinerung und Strukturierung 2 Verfeinerung und Strukturierung Bisher haben wir einfache ( flache ) TLA-Spezifikationen

Mehr

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II)

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II) Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II) 05 -Kommunizierende Prozesse PD Dr. Bernhard Schätz Lehrstuhl für Software und Systems Engineering, Fakultät für Informatik

Mehr

Was bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell):

Was bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell): Was bisher geschah deklarative Programmierung funktional: Programm: Menge von Termgleichungen, Term Auswertung: Pattern matsching, Termumformungen logisch: Programm: Menge von Regeln (Horn-Formeln), Formel

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

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

Egon Börger (Pisa) S-BPM. Über den praktischen Gewinn. einer wissenschaftlichen Fundierung

Egon Börger (Pisa) S-BPM. Über den praktischen Gewinn. einer wissenschaftlichen Fundierung Egon Börger (Pisa) S-BPM Über den praktischen Gewinn einer wissenschaftlichen Fundierung Dipartimento di Informatica, Università di Pisa, Pisa (Italia) boerger@di.unipi.it Copyright c Egon Börger, Dipartimento

Mehr

Test-Driven Design: Ein einfaches Beispiel

Test-Driven Design: Ein einfaches Beispiel Test-Driven Design: Ein einfaches Beispiel Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 2 Ziele Veranschaulichung der Technik des Test-Driven Design am Beispiel eines Programms

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

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie und, oder, nicht, wenn... dann zwischen atomaren und komplexen Sätzen. I. Aussagenlogik 2.1 Syntax Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen. Sätze selbst sind entweder wahr oder falsch. Ansonsten

Mehr

Programmierung und Modellierung

Programmierung und Modellierung Programmierung und Modellierung Terme, Suchbäume und Pattern Matching Martin Wirsing in Zusammenarbeit mit Moritz Hammer SS 2009 2 Inhalt Kap. 7 Benutzerdefinierte Datentypen 7. Binärer Suchbaum 8. Anwendung:

Mehr

Fachgebiet. Theorie der Programmierung

Fachgebiet. Theorie der Programmierung Fachgebiet Theorie der Programmierung Ansprechpartner Prof. Franz Baader, Prof. Christel Baier, Prof. Heiko Vogler (Stand: Juli 2010) 1 Theorie der Programmierung In den Lehrveranstaltungen werden nicht

Mehr

Objektorientierte Programmierung mit Python Polymorphismus und Vererbung. Eltern

Objektorientierte Programmierung mit Python Polymorphismus und Vererbung. Eltern Objektorientierte Programmierung mit Python Polymorphismus und Vererbung Eltern Kind Kind Kind Kind Prinzipien der objektorientierten Programmierung Vererbung Strukturierung von Klassen. Oberbegriffe beschreiben

Mehr

Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer:

Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: 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

Source: Stephan. Werner Stephan

Source: Stephan. Werner Stephan Werner Stephan Software-Krise 1969 NATO Konferenz: Software-Engineering Phasen-Modelle Projektmanagement Qualitaetssicherung Requirements-Engineering Case-Tools UML Softwarekrise 1999 Bedarf (1) an sicherer

Mehr

Muster für die Verifikation von Formeln in Temporaler Logik

Muster für die Verifikation von Formeln in Temporaler Logik INSTITUT FÜR INFORMATIK Softwaretechnik und Programmiersprachen Universitätsstr. 1 D 40225 Düsseldorf Muster für die Verifikation von Formeln in Temporaler Logik Philipp Kantner Masterarbeit Beginn der

Mehr

Funktionale Programmierung mit Haskell

Funktionale Programmierung mit Haskell Funktionale Programmierung mit Haskell Prof. Dr. Hans J. Schneider Lehrstuhl für Programmiersprachen und Programmiermethodik Friedrich-Alexander-Universität Erlangen-Nürnberg Sommersemester 2011 I. Die

Mehr

Modellierung von parallelen und verteilten Systemen mit domänenspezifischen Sprachen

Modellierung von parallelen und verteilten Systemen mit domänenspezifischen Sprachen Modellierung von parallelen und verteilten Systemen mit domänenspezifischen Sprachen Andreas Breer, Gerrit Jan Veltink Fachbereich Technik Hochschule Emden/Leer Constantiaplatz 4 26723 Emden E-Mail: andreas.breer@technik-emden.de

Mehr

Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz

Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Datenstruktur BDD 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer: Booleschen Funktionen)

Mehr

Programmierparadigmen

Programmierparadigmen Programmierparadigmen D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2011, 20. Juni 2011, c 2011 D.Rösner D. Rösner PGP 2011...

Mehr

Kontrakte, Abstrakte Datentypen und Verfeinerung

Kontrakte, Abstrakte Datentypen und Verfeinerung Kontrakte, Abstrakte Datentypen und Verfeinerung 229 Kontrakte 230 Vor- und Nachbedingungen, Kontrakte Ein Kontrakt für eine Prozedur p (oder auch für eine Methode) besteht (mindestens) aus einer Vorbedingung

Mehr

Fragen. f [ ] = [ ] f (x : y : ys) = x y : f ys f (x : xs) = f (x : x : xs) Wozu evaluiert f [1, 2, 3] (Abkürzung für f (1 : 2 : 3 : [ ]))?

Fragen. f [ ] = [ ] f (x : y : ys) = x y : f ys f (x : xs) = f (x : x : xs) Wozu evaluiert f [1, 2, 3] (Abkürzung für f (1 : 2 : 3 : [ ]))? Fragen f [ ] = [ ] f (x : y : ys) = x y : f ys f (x : xs) = f (x : x : xs) Wozu evaluiert f [1, 2, 3] (Abkürzung für f (1 : 2 : 3 : [ ]))? Wozu evaluiert [f [ ], f [ ]]? Weiteres Beispiel: f [ ] y = [

Mehr

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

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2008/2009 PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2008/2009 FB Informatik

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

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik Institut für Computerphysik Universität Stuttgart Wintersemester 2012/13 Wie rechnet ein Computer? Ein Mikroprozessor ist ein Netz von Transistoren,

Mehr

Kompositionen von Baumreihen-Transformationen

Kompositionen von Baumreihen-Transformationen Kompositionen von Baumreihen-Transformationen Andreas Maletti 1 Lehrstuhl: Grundlagen der Programmierung Institut für Theoretische Informatik Technische Universität Dresden 4. November 2005 1 Finanziell

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 29/ 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/ws9

Mehr

Praktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben

Praktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben Technische Universität Kaiserslautern Prof Dr Sven O Krumke Dr Sabine Büttner MSc Marco Natale Praktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben Aufgabe 1 (Konvertieren

Mehr

CORBA. Systemprogrammierung WS 2006-2007

CORBA. Systemprogrammierung WS 2006-2007 CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA

Mehr

Spezifikation der zulässigen Parameter. Bemerkungen: Bemerkungen: (2) Design by Contract:

Spezifikation der zulässigen Parameter. Bemerkungen: Bemerkungen: (2) Design by Contract: Spezifikation der zulässigen Parameter Bemerkungen: Bei jeder (partiellen) Funktion muss man sich überlegen und dokumentieren, welche aktuellen Parameter bei einer Anwendung zulässig sein sollen. Der Anwender

Mehr

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen Seite 8 A UFGABE 11 INTERP ROZEßKOMMUNIKATION Das folgende Petrinetz zeigt zwei verkoppelte Prozesse P1 und P2. Die Transitionen a und b beschreiben Aktionen von P1, die Transitionen c und d Aktionen von

Mehr

Soft-SPS - Was ist eine SPS?

Soft-SPS - Was ist eine SPS? Soft-SPS - Was ist eine SPS? SPS = Speicherprogrammierbare Steuerung PLC = Programmable Logic Control Ursprünglich elektronischer Ersatz von Relaissteuerungen (Schützsteuerung) 1 Soft-SPS - Relais-Steuerung

Mehr

Deductive Reasoning Agents

Deductive Reasoning Agents Multiagentensysteme Deductive Reasoning Agents Volkan Aksu & Sebastian Ptock Überblick Einleitung Deductive Reasoning Agents Der Staubsauger-Roboter Agentenorientierte Programmierung (AOP) Concurrent MetateM

Mehr

Die in der formalen Hardware Verifikation verwendeten Sprachen sind jedoch mit ihrem

Die in der formalen Hardware Verifikation verwendeten Sprachen sind jedoch mit ihrem Formale Spezifikation und Verifikation mit VHDL Ralf Reetz, Klaus Schneider und Thomas Kropf 1 Institut für Rechnerentwurf und Fehlertoleranz (Prof. D. Schmid) Universität Karlsruhe, Postfach 6980, 76128

Mehr

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Einleitende Bemerkungen

Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Einleitende Bemerkungen Einleitende Bemerkungen Einleitende Bemerkungen Ideen hinter der objektorientierten Programmierung Objekte (/* Instanzen einer Klasse */) im Mittelpunkt Objekte bilden Einheit aus Daten (/* Attributen,

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

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter

Mehr

Einführung in die Programmierung mit Java

Einführung in die Programmierung mit Java Einführung in die Programmierung mit Java Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm... Warum Java als Programmiersprache

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

Inhalt. 1. Sprachspezifische Fehlerrisiken C++ Java. Smalltalk. 2. Coverage - Modelle. Statement Coverage. Branch Coverage

Inhalt. 1. Sprachspezifische Fehlerrisiken C++ Java. Smalltalk. 2. Coverage - Modelle. Statement Coverage. Branch Coverage Inhalt 1. Sprachspezifische Fehlerrisiken C++ Java Smalltalk 2. Coverage - Modelle Statement Coverage Branch Coverage Inkrementelles Testen von Klassen Testen Polymorpher Bindungen Optimistischer Ausblick

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

Anwendernahe Wissensmodellierung mittels Logikregeln in frühen Phasen des Softwareentwicklungsprozesses

Anwendernahe Wissensmodellierung mittels Logikregeln in frühen Phasen des Softwareentwicklungsprozesses Anwendernahe Wissensmodellierung mittels Logikregeln in frühen Phasen des Softwareentwicklungsprozesses Gunter Grieser, Simon Spielmann, Guido Schuh, Boris Kötting, Ralf Leonhard AGENDA Das Projekt Unser

Mehr

Safer Software Formale Methoden für ISO26262

Safer Software Formale Methoden für ISO26262 Safer Software Formale Methoden für ISO26262 Dr. Stefan Gulan COC Systems Engineering Functional Safety Entwicklung Was Wie Wie genau Anforderungen Design Produkt Seite 3 Entwicklung nach ISO26262 Funktionale

Mehr

M. Sc. Mirjana Jakšić Dipl.-Inf. Christian Schönberg Dipl.-Inf. Franz Weitl

M. Sc. Mirjana Jakšić Dipl.-Inf. Christian Schönberg Dipl.-Inf. Franz Weitl Spezifikationsmuster für Web Dokumente M. Sc. Mirjana Jakšić Dipl.-Inf. Christian Schönberg Dipl.-Inf. Franz Weitl Verdikt Übersicht Formale Wissensrepräsentation Model Checking Formale Spezifikation Introduction

Mehr

Spezifikation und Modellprüfung mittels (extended) Labelled Transition Systems (LTS/eLTS)

Spezifikation und Modellprüfung mittels (extended) Labelled Transition Systems (LTS/eLTS) Martin Luther Universität Halle Wittenberg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Spezifikation und Modellprüfung mittels (extended) Labelled Transition Systems (LTS/eLTS)

Mehr

System Modell Programm

System Modell Programm Wolfgang P. Kowalk System Modell Programm Vom GOTO zur objektorientierten Programmierung Spektrum Akademischer Verlag Heidelberg Berlin Oxford Inhaltsverzeichnis Vorwort 3 Inhaltsverzeichnis 5 1 Einleitung

Mehr

Einführung in die Programmierung mit Java. Hörsaalübung

Einführung in die Programmierung mit Java. Hörsaalübung Einführung in die Programmierung mit Java Hörsaalübung Folie 1 Grundlagen der Objektorientierung Seit Anfang der Neunzigerjahre Standardmethode der Softwareentwicklung. Die OOP Objektorientierte Programmierung

Mehr

Java Einführung Operatoren Kapitel 2 und 3

Java Einführung Operatoren Kapitel 2 und 3 Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig

Mehr

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,

Mehr

Grundlagen der Informationverarbeitung

Grundlagen der Informationverarbeitung Grundlagen der Informationverarbeitung Information wird im Computer binär repräsentiert. Die binär dargestellten Daten sollen im Computer verarbeitet werden, d.h. es müssen Rechnerschaltungen existieren,

Mehr

Korrektheitsbegriffe für modellbasierte Codegeneratoren

Korrektheitsbegriffe für modellbasierte Codegeneratoren Korrektheitsbegriffe für modellbasierte Codegeneratoren Institut für Informatik Martin-Luther-Universität Halle-Wittenberg 9.IT 2 22.06.2006 Dr. Mirko Conrad The MathWorks München Prof. Dr. Wolf Zimmermann

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

BEDEUTUNG VON AUSGANGSZUSTÄNDEN BEIM TESTEN VON OBJEKTORIENTIERTER SOFTWARE IMPORTANCE OF INITIAL STATES BY TESTING OF OBJECT-ORIENTED SOFTWARE

BEDEUTUNG VON AUSGANGSZUSTÄNDEN BEIM TESTEN VON OBJEKTORIENTIERTER SOFTWARE IMPORTANCE OF INITIAL STATES BY TESTING OF OBJECT-ORIENTED SOFTWARE CO-MAT-TECH 2004 14-15 October 2004 BEDEUTUNG VON AUSGANGSZUSTÄNDEN BEIM TESTEN VON OBJEKTORIENTIERTER SOFTWARE IMPORTANCE OF INITIAL STATES BY TESTING OF OBJECT-ORIENTED SOFTWARE Roman NAGY External doctorand

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)

Mehr

Sequential Pattern Analysis und Markov-Modelle. Christian Weiß Institut für Angewandte Mathematik und Statistitik Universität Würzburg

Sequential Pattern Analysis und Markov-Modelle. Christian Weiß Institut für Angewandte Mathematik und Statistitik Universität Würzburg Sequential Pattern Analysis und Markov-Modelle. Christian Weiß Institut für Angewandte Mathematik und Statistitik Universität Würzburg Sequential Pattern Analysis Historische Aspekte Data Mining als Teildisziplin

Mehr

Requirements Engineering Übung 10 - Formale Systemmodellierung im RE -

Requirements Engineering Übung 10 - Formale Systemmodellierung im RE - Requirements Engineering Übung 10 - Formale Systemmodellierung im RE - Dr. Birgit Penzenstadler, Dr. Daniel Méndez, Jonas Eckhardt 08.01.2012 Aufgabe 1: Empirisch formulierte vs. Formal fundierte Anforderungen:

Mehr

Seminar. Werkzeuggestützte Modellierung des Tamagotchi. Modellierung mittels SCR. Ausgearbeitet von: Kizito Ssamula Mukasa und Ralf Hettesheimer

Seminar. Werkzeuggestützte Modellierung des Tamagotchi. Modellierung mittels SCR. Ausgearbeitet von: Kizito Ssamula Mukasa und Ralf Hettesheimer Seminar Werkzeuggestützte Modellierung des Tamagotchi Modellierung mittels SCR Ausgearbeitet von: Kizito Ssamula Mukasa und Ralf Hettesheimer Einleitung Charakterisierung der Technik Entwickelt 1978 am

Mehr

Business Process Execution Language for Web Services (BPEL4WS)

Business Process Execution Language for Web Services (BPEL4WS) Hauptseminar und Vorlesung Web Services WS 2003/04 Business Process Execution Language for Web Services (BPEL4WS) Patrick Sauter 2/17 Vortrag - Überblick Definition, Zielsetzung und Allgemeines einfacher

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

Eine zu Grunde liegende Typdefinition beschreibt eine Struktur, die alle erlaubten Instanzen dieses Typs gemeinsam haben.

Eine zu Grunde liegende Typdefinition beschreibt eine Struktur, die alle erlaubten Instanzen dieses Typs gemeinsam haben. Der binäre Baum Tree Die geläufigste Datenstuktur ist der binäre Baum Tree. Dieses Beispielskript zeigt im direkten Vergleich zu anderen Sprachen den Umgang mit formalen Typparametern in CHELSEA. Wir steigen

Mehr

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Die Unified Modeling Language Die UML (hier in der Version 0.9) ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme.

Mehr

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit IBM Software Group IBM Rational mit RequisitePro Hubert Biskup hubert.biskup@de.ibm.com Agenda Rational in der IBM Software Group Der Rational Unified Process als Basis für die Projektarbeit mit Rational

Mehr

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne 6.2 Petri-Netze WS 06/07 mod 621 Petri-Netz (auch Stellen-/Transitions-Netz): Formaler Kalkül zur Modellierung von Abläufen mit nebenläufigen Prozessen und kausalen Beziehungen Basiert auf bipartiten gerichteten

Mehr

Ausarbeitung des Interpreter Referats

Ausarbeitung des Interpreter Referats Ausarbeitung des Interpreter Referats Gliederung 1. Programmiersprache 1.2. Syntax 1.2.1. Konkrete Syntax 1.2.2. Abstrakter Syntax Baum (Abstrakte Syntax) 2. Parser 2.1. Syntaktische Struktur einer Sprache

Mehr

Binärer Entscheidungsbaum. für Boole sche Funktionen. (binary decision tree: BDT) Kapitel 4: Binäre Entscheidungsdiagramme

Binärer Entscheidungsbaum. für Boole sche Funktionen. (binary decision tree: BDT) Kapitel 4: Binäre Entscheidungsdiagramme Kapitel 4: Binäre Entscheidungsdiagramme (BDDs) BDDs (binary decision diagrams) wurden aus binären Entscheidungsbäumen für boole sche Funktionen entwickelt. Binärer Entscheidungsbaum (binary decision tree:

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

Mehr

1. Teilklausur. Modul "OOPM Vorlesung/Übung" 16.12.2008. Gruppe A

1. 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

Mehr

Codegeneratoren mit Xtend2. 11.04.2012, A. Arnold

Codegeneratoren mit Xtend2. 11.04.2012, A. Arnold Codegeneratoren mit Xtend2 11.04.2012, A. Arnold Copyright 2012 anderscore GmbH Inhalt 1. Was ist Xtend2? 2. Xtend2 Konzepte 3. Hands On! 3 4 8 20 2 Was ist Xtend2? Funktionale, objektorientierte Sprache

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

Bäume. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 10: Collections 4. Inhalt. Bäume. Einführung. Bäume.

Bäume. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 10: Collections 4. Inhalt. Bäume. Einführung. Bäume. Universität Osnabrück 1 Bäume 3 - Objektorientierte Programmierung in Java Vorlesung 10: Collections 4 Einführung Bäume sind verallgemeinerte Listenstrukturen Lineare Liste Jedes Element hat höchstens

Mehr

Endlicher Automat (EA)

Endlicher Automat (EA) Endlicher Automat (EA) siehe auch Formale Grundlagen 3 1 Motivation: Automaten für die Modellierung, Spezifikation und Verifikation verwenden! Definition Ein Endlicher Automat A = (S,I,Σ,T,F) besteht aus

Mehr

Klassendefinitionen verstehen

Klassendefinitionen verstehen Klassendefinitionen verstehen Java-Programme bestehen aus Klassendefinitionen und sonst nichts! 1 1.0 Konzepte Felder Konstruktoren Methoden Parameter Zuweisungen ( = ) Anweisungen bedingte Anweisungen

Mehr

Generische Datenstrukturen

Generische Datenstrukturen Generische Datenstrukturen Prof. Dr. rer. nat. habil. Uwe Aßmann Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden Softwaretechnologie, Prof. Uwe Aßmann 1 2 Trends in der Softwareentwicklung

Mehr

extensible Business Reporting Language Status des Promotionsvorhabens und Ausblick

extensible Business Reporting Language Status des Promotionsvorhabens und Ausblick extensible Business Reporting Language Status des Promotionsvorhabens und Ausblick 30. September 2008 Agenda Aufbau der Untersuchung Fortschritt im Untersuchungsverlauf Offene Forschungsfragen Methodik

Mehr

Thorben Meier 25.01.2012

Thorben Meier 25.01.2012 F# Thorben Meier 25.01.2012 1 Einleitung F# ist eine Multi-Paradigmen-Programmiersprache, die neben funktionalen auch imperative und objektorientierte Sprachelemente enthält. Ihre größten Einflüsse kommen

Mehr

Network Intrusion Detection mit Snort. (Nachtrag zu 9.2.2, Seite 33)

Network Intrusion Detection mit Snort. (Nachtrag zu 9.2.2, Seite 33) Network Intrusion Detection mit Snort (Nachtrag zu 9.2.2, Seite 33) www.snort.org www.snort.org/docs/snort_htmanuals/htmanual_280/ ITS-9.2.snort 1 snort ist das Standard-Werkzeug für ID, vielseitig einsetzbar

Mehr

Geschäftsprozessmodellierung essmodellierung mit BPEL

Geschäftsprozessmodellierung essmodellierung mit BPEL Geschäftsprozessmodellierung essmodellierung mit BPEL Autor: Stefan Berntheisel Datum: 8. Januar 2010 Stefan Berntheisel Hochschule RheinMain Fachseminar WS 09/10 Agenda Grundlagen Business Process Execution

Mehr

Name Semester Gesamt-LP Pflichtbereich 1) Projektmanagement: Name Semester 2) Ausgewogene Vorlesungsauswahl:

Name Semester Gesamt-LP Pflichtbereich 1) Projektmanagement: Name Semester 2) Ausgewogene Vorlesungsauswahl: Empfehlung für Studierende zur Gestaltung des Studienprogramms Pflichtbereich Name LP Semester Pflichtveranstaltung Formale Methoden 6 1 Pflichtveranstaltung Software Engineering 6 1 Pflichtveranstaltung

Mehr

Orientierte Modellierung mit der Unified Modeling Language

Orientierte Modellierung mit der Unified Modeling Language UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?

Mehr

Grundlagen zur nebenläufigen Programmierung in Java

Grundlagen zur nebenläufigen Programmierung in Java Grundlagen zur nebenläufigen Programmierung in Java Karlsruher Entwicklertag 2013 5. Juni 2013 Referent: Christian Kumpe Inhalt des Vortrags Was zeigt dieser Vortrag? Ein einfaches Beispiel mit allerlei

Mehr

Kurs für Microsoft Online Kurs Microsoft Analysten Programmierer

Kurs für Microsoft Online Kurs Microsoft Analysten Programmierer Kurs für Microsoft Online Kurs Microsoft Analysten Programmierer Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses für Microsoft Modul 1 Basis Programm Erste Lerneinheit Einführung

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

Vorlesung Modellierung und Programmierung I Inhaltsverzeichnis

Vorlesung Modellierung und Programmierung I Inhaltsverzeichnis Vorlesung Modellierung und Programmierung I Inhaltsverzeichnis Teil I Imperative Programmierung 0 Maschinenzahlen... 2 0.1 Additionssysteme...2 0.2 Positionssysteme...2 0.3 Dezimal- und Dualsystem...3

Mehr

EINI I. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 10/11

EINI I. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 10/11 EINI I Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 10/11 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de

Mehr

Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance

Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance 5. November 2013 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik, Universität Basel Repetition

Mehr

Die BPM-Trilogie BPMN, CMMN, DMN mehr als Schlagworte?

Die BPM-Trilogie BPMN, CMMN, DMN mehr als Schlagworte? Die BPM-Trilogie BPMN, CMMN, DMN mehr als Schlagworte? Wann Sie die neuen Standards anwenden sollten und wie wir die Konzepte dahinter vermitteln können Präsentation auf dem Process Solutions Day 2015

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

... Einleitung... 15. 3... Prozessintegration und Integrationsszenarien... 127 3.1... Integrationsszenariomodelle... 128

... Einleitung... 15. 3... Prozessintegration und Integrationsszenarien... 127 3.1... Integrationsszenariomodelle... 128 ... Einleitung... 15 1... Grundlagen der Modellierung von Enterprise Services... 23 1.1... Serviceorientierte Architekturen... 26 1.1.1... Merkmale serviceorientierter Architekturen... 27 1.1.2... SOA

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 1. Einführung und Grundbegriffe

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 1. Einführung und Grundbegriffe 1 Kapitel 1 2 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm, Compiler, Einordnung von Java Ein einfaches Java-Programm erstellen, übersetzen und ausführen Java-Programme dokumentieren 3 Informatik

Mehr

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13.1 Modellierung des Rucksackproblems 13.2 Lösung mit Greedy-Algorithmus 13.3 Lösung mit Backtracking 13.4 Lösung mit Dynamischer Programmierung

Mehr

Model Driven Requirements Engineering im Energiehandel. Am Beispiel der UML basierten Anforderungsverfeinerung und der Metamodell-Klasse UseCase

Model Driven Requirements Engineering im Energiehandel. Am Beispiel der UML basierten Anforderungsverfeinerung und der Metamodell-Klasse UseCase Model Driven Requirements Engineering im Energiehandel Am Beispiel der UML basierten Anforderungsverfeinerung und der Metamodell-Klasse UseCase Requirements Engineering ETG-RPI Autor Lars van Brackel V.10

Mehr

Formale Methoden im Software Engineering

Formale Methoden im Software Engineering Formale Methoden im Software Engineering Eine praktische Einführung Dominik Haneberg, Florian Nafz, Bogdan Tofan 1 Organisatorisches Vorlesung: Mittwoch 12:15 Uhr - 13:45 Uhr (1058 N) Versuche: (Raum 3017

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

2.4.3 Polymorphie (Wiederholung von Alp2)

2.4.3 Polymorphie (Wiederholung von Alp2) 2.4.3 Polymorphie (Wiederholung von Alp2) Sparbuch einsparbuch = new Sparbuch(3.0); Konto einkonto; KontoDrucker = new KontoDrucker(); KontoDrucker.setzeKonto(einSparbuch); einkonto = einsparbuch; Wie

Mehr

Formale Spezialisierungstechniken. am Beispiel des binären Baums. Hybride Programmiersprachen Daniel Krompass Berlin, 2009

Formale Spezialisierungstechniken. am Beispiel des binären Baums. Hybride Programmiersprachen Daniel Krompass Berlin, 2009 Formale Spezialisierungstechniken am Beispiel des binären Baums. Hybride Programmiersprachen Daniel Krompass Berlin, 2009 Spezialisierungsarten (Typbeziehungen erster Art) X stellt Methoden und Eigenschaften

Mehr

6. Explizite Zeit und Zeitautomaten

6. Explizite Zeit und Zeitautomaten 6. Explizite Zeit und Zeitautomaten Bisher: Zeit nur als Ordnungsrelation zwischen Zuständen/Ereignissen Jetzt: Zeit als explizite kontinuierliche Größe modelliert (reelle Werte) Uhren: stückweise kontinuierliche

Mehr

Simulation von in VHDL beschriebenen Systemen

Simulation von in VHDL beschriebenen Systemen Simulation von in VHDL beschriebenen Systemen Prof. Dr. Paul Molitor Institut für Informatik Martin-Luther-Universität Halle Aufbau der Lehrveranstaltung Literaturangaben Allgemeines zum Entwurf digitaler

Mehr