Effiziente Überwachung von Laufzeiteigenschaften in Soft- und Hardware

Größe: px
Ab Seite anzeigen:

Download "Effiziente Überwachung von Laufzeiteigenschaften in Soft- und Hardware"

Transkript

1 Effiziente Überwachung von Laufzeiteigenschaften in Soft- und Hardware Normann Decker 1 Philip Gottschling 2 1 Institut für Softwaretechnik und Programmiersprachen Universität zu Lübeck decker@isp.uni-luebeck.de 2 Institut für Rechnersysteme TU Darmstadt gottschling@rs.tu-darmstadt.de KoSSE-Workshop 214 Lübeck, 11. Dezember 214

2 Übersicht Laufzeitverifikation Spezifikation itorsynthese Beobachtung/Instrumentierung Implementierung In Software In Hardware Zusammenfassung N. Decker, P. Gottschling KoSSE-Workshop 214 1/22

3 Laufzeitverifikation Spezifikation System Synthese Beobachtung itor Bewertung N. Decker, P. Gottschling KoSSE-Workshop 214 2/22

4 Laufzeitverifikation Vollständige Verifikation nicht immer möglich Reaktive Systeme abhängig von Eingaben System bei Auslieferung unvollständig (Dynamische Bibliotheken, Komponenten) Physische Einflüsse (Hardware, Betriebsbedingungen) Überwachung existierender Systeme Testen, Analyse von Log-Daten N. Decker, P. Gottschling KoSSE-Workshop 214 3/22

5 Laufzeitverifikation Spezifikation System Synthese Beobachtung itor Bewertung N. Decker, P. Gottschling KoSSE-Workshop 214 4/22

6 Laufzeitverifikation Spezifikation System Synthese Beobachtung itor Bewertung N. Decker, P. Gottschling KoSSE-Workshop 214 4/22

7 Laufzeitverifikation Spezifikation System Synthese Beobachtung itor Bewertung N. Decker, P. Gottschling KoSSE-Workshop 214 4/22

8 Laufzeitverifikation Spezifikation System Synthese Beobachtung itor Bewertung N. Decker, P. Gottschling KoSSE-Workshop 214 4/22

9 Laufzeitverifikation Spezifikation System Synthese Beobachtung itor Bewertung N. Decker, P. Gottschling KoSSE-Workshop 214 4/22

10 Laufzeitverifikation Spezifikation System Synthese Beobachtung itor Bewertung N. Decker, P. Gottschling KoSSE-Workshop 214 4/22

11 Laufzeitverifikation Spezifikation System Synthese Beobachtung itor Bewertung N. Decker, P. Gottschling KoSSE-Workshop 214 4/22

12 Spezifikation Spezifikation System Synthese Beobachtung itor Bewertung Beobachtung: Sequenz von Ereignissen e 1 e 2 e 3... Spezifikation: Eigenschaften (Form) von Sequenzen N. Decker, P. Gottschling KoSSE-Workshop 214 5/22

13 Spezifikation Spezifikation System Synthese Beobachtung itor Bewertung Beobachtung: Sequenz von Ereignissen e 1 e 2 e 3... Spezifikation: Eigenschaften (Form) von Sequenzen N. Decker, P. Gottschling KoSSE-Workshop 214 5/22

14 Spezifikation - Beispiele Ereignisse definieren: a, b, c,..., z. B. a ˆ= Fehler aufgetreten b ˆ= Initialisierung abgeschlossen c ˆ= Funktion f() aufgerufen... Niemals a : Always(Not a) Kein Fehler in der Initialisierungsphase : (Not a) Until b (Always Not error) And Eventually job_done N. Decker, P. Gottschling KoSSE-Workshop 214 6/22

15 Spezifikation - Beispiele Ereignisse definieren: a, b, c,..., z. B. a ˆ= Fehler aufgetreten b ˆ= Initialisierung abgeschlossen c ˆ= Funktion f() aufgerufen... Niemals a : Always(Not a) Kein Fehler in der Initialisierungsphase : (Not a) Until b (Always Not error) And Eventually job_done N. Decker, P. Gottschling KoSSE-Workshop 214 6/22

16 Spezifikation - Beispiele Ereignisse definieren: a, b, c,..., z. B. a ˆ= Fehler aufgetreten b ˆ= Initialisierung abgeschlossen c ˆ= Funktion f() aufgerufen... Niemals a : Always(Not a) Kein Fehler in der Initialisierungsphase : (Not a) Until b (Always Not error) And Eventually job_done N. Decker, P. Gottschling KoSSE-Workshop 214 6/22

17 Spezifikation - Beispiele Ereignisse definieren: a, b, c,..., z. B. a ˆ= Fehler aufgetreten b ˆ= Initialisierung abgeschlossen c ˆ= Funktion f() aufgerufen... Niemals a : Always(Not a) Kein Fehler in der Initialisierungsphase : (Not a) Until b (Always Not error) And Eventually job_done N. Decker, P. Gottschling KoSSE-Workshop 214 6/22

18 Spezifikation Abstrakt, deklarativ (kein programmieren der Spezifikation) Eindeutige Bedeutung Automatische Verarbeitung (z. B. itorsynthese) Optimierung N. Decker, P. Gottschling KoSSE-Workshop 214 7/22

19 Spezifikation Abstrakt, deklarativ (kein programmieren der Spezifikation) Eindeutige Bedeutung Automatische Verarbeitung (z. B. itorsynthese) Optimierung N. Decker, P. Gottschling KoSSE-Workshop 214 7/22

20 Spezifikation Abstrakt, deklarativ (kein programmieren der Spezifikation) Eindeutige Bedeutung Automatische Verarbeitung (z. B. itorsynthese) Optimierung N. Decker, P. Gottschling KoSSE-Workshop 214 7/22

21 Spezifikation Abstrakt, deklarativ (kein programmieren der Spezifikation) Eindeutige Bedeutung Automatische Verarbeitung (z. B. itorsynthese) Optimierung N. Decker, P. Gottschling KoSSE-Workshop 214 7/22

22 Laufzeitverifikation Spezifikation System Synthese Beobachtung itor Bewertung N. Decker, P. Gottschling KoSSE-Workshop 214 8/22

23 Laufzeitverifikation Spezifikation System Synthese Beobachtung itor Bewertung N. Decker, P. Gottschling KoSSE-Workshop 214 8/22

24 Laufzeitverifikation Spezifikation System Synthese Beobachtung itor Bewertung N. Decker, P. Gottschling KoSSE-Workshop 214 8/22

25 itorsynthese Übersetzung, Analyse, Optimierung Spezifikation (deklarativ) itor (operational, mit Ausgabe) Synthese eines operationalen Modells (z. B. Zustandsmaschine) Optimierung (z. B. semantische Redundanz, spezifische Implementierung) Vollautomatisch N. Decker, P. Gottschling KoSSE-Workshop 214 9/22

26 Laufzeitverifikation Spezifikation System Synthese Beobachtung itor Bewertung N. Decker, P. Gottschling KoSSE-Workshop 214 1/22

27 Laufzeitverifikation Spezifikation System Synthese Beobachtung itor Bewertung N. Decker, P. Gottschling KoSSE-Workshop 214 1/22

28 Laufzeitverifikation Spezifikation System Synthese Beobachtung itor Bewertung N. Decker, P. Gottschling KoSSE-Workshop 214 1/22

29 Beobachtung und Ausführung Übersetzung, Analyse, Optimierung Spezifikation (deklarativ) itor (operational, mit Ausgabe) N. Decker, P. Gottschling KoSSE-Workshop /22

30 Beobachtung und Ausführung Übersetzung, Analyse, Optimierung Implementierung Spezifikation (deklarativ) itor (operational, mit Ausgabe) Programmcode (ausführbar) N. Decker, P. Gottschling KoSSE-Workshop /22

31 Beobachtung und Ausführung Übersetzung, Analyse, Optimierung Implementierung Spezifikation (deklarativ) itor (operational, mit Ausgabe) Programmcode (ausführbar) Beobachtung des Systems Ausgabe oder Kommunikation (interne) Systemereignisse, -zustände (z. B. Funktionsaufrufe, Speicherzugriffe) Trace-Schnittstellen Instrumentierung des Programmcodes N. Decker, P. Gottschling KoSSE-Workshop /22

32 Beobachtung und Ausführung Übersetzung, Analyse, Optimierung Implementierung Spezifikation (deklarativ) itor (operational, mit Ausgabe) Programmcode (ausführbar) Beobachtung des Systems Ausgabe oder Kommunikation (interne) Systemereignisse, -zustände (z. B. Funktionsaufrufe, Speicherzugriffe) Trace-Schnittstellen Instrumentierung des Programmcodes N. Decker, P. Gottschling KoSSE-Workshop /22

33 Beobachtung und Ausführung Übersetzung, Analyse, Optimierung Implementierung Spezifikation (deklarativ) itor (operational, mit Ausgabe) Programmcode (ausführbar) Beobachtung des Systems Ausgabe oder Kommunikation (interne) Systemereignisse, -zustände (z. B. Funktionsaufrufe, Speicherzugriffe) Trace-Schnittstellen Instrumentierung des Programmcodes N. Decker, P. Gottschling KoSSE-Workshop /22

34 Beobachtung und Ausführung Übersetzung, Analyse, Optimierung Implementierung Spezifikation (deklarativ) itor (operational, mit Ausgabe) Programmcode (ausführbar) Ausführung des itors im gleichen Prozess (z. B. bei Code-Instrumentierung) als separate Komponente (z. B. als Dienst in einer SOA) auf dedizierter Hardware (z. B. FPGA) N. Decker, P. Gottschling KoSSE-Workshop /22

35 Beobachtung und Ausführung Übersetzung, Analyse, Optimierung Implementierung Spezifikation (deklarativ) itor (operational, mit Ausgabe) Programmcode (ausführbar) Ausführung des itors im gleichen Prozess (z. B. bei Code-Instrumentierung) als separate Komponente (z. B. als Dienst in einer SOA) auf dedizierter Hardware (z. B. FPGA) N. Decker, P. Gottschling KoSSE-Workshop /22

36 Beobachtung und Ausführung Übersetzung, Analyse, Optimierung Implementierung Spezifikation (deklarativ) itor (operational, mit Ausgabe) Programmcode (ausführbar) Ausführung des itors im gleichen Prozess (z. B. bei Code-Instrumentierung) als separate Komponente (z. B. als Dienst in einer SOA) auf dedizierter Hardware (z. B. FPGA) N. Decker, P. Gottschling KoSSE-Workshop /22

37 Beobachtung und Ausführung Übersetzung, Analyse, Optimierung Implementierung Spezifikation (deklarativ) itor (operational, mit Ausgabe) Programmcode (ausführbar) Ausführung des itors im gleichen Prozess (z. B. bei Code-Instrumentierung) als separate Komponente (z. B. als Dienst in einer SOA) auf dedizierter Hardware (z. B. FPGA) N. Decker, P. Gottschling KoSSE-Workshop /22

38 Anwendung: Software Überwachung der Kommunikation von Diensten Analyse von Logfiles Unit Testing: junit RV N. Decker, P. Gottschling KoSSE-Workshop /22

39 Anwendung: Software Überwachung der Kommunikation von Diensten Analyse von Logfiles Unit Testing: junit RV N. Decker, P. Gottschling KoSSE-Workshop /22

40 Anwendung: Testen mit junit RV Example (Instrumentierung: Definition von Ereignissen) String classundertest = "mypackage.classundertest"; private static Event start = called(classundertest, "starttask"); private static Event initok = returned(classundertest, "initialize"); private static Event end = called(classundertest, "endtask"); Definition der Ereignisse Beobachtung Weitere Beispiele Variable x > 1, Zugriff auf Variable x, Exception wurde geworfen N. Decker, P. Gottschling KoSSE-Workshop /22

41 Anwendung: Testen mit junit RV Example (Eigenschaft: Definition eines itors) private static itor myitor1 = new itor( Always(a) ); Komplexere Eigenschaften durch zeitliches und logisches Verknüpfen von Ereignissen Auf start folgt irgendwann end und Kein start vor initok Always (start Eventually end) And ((Not start) Until initok) N. Decker, P. Gottschling KoSSE-Workshop /22

42 Anwendung: Testen mit junit RV Example (Ausführung: Definition von public class MyTest { // Instrumentierung: Definition von Ereignissen... // Eigenschaften: Definition der "myitor2",...}) public void test1() {... } N. Decker, P. Gottschling KoSSE-Workshop /22

43 Laufzeitverifikation in Hardware FPGA itor System Target Platform (MP)SoC Trace Port monitor status configuration CONIRAS Kontinuierliche nicht-intrusive Laufzeitanalyse von SoCs AbsInt, Accemic, TU Darmstadt (RS), U zu Lübeck (ISP) Akquise von Trace-Daten, WCET-Analyse, Laufzeitverifikation N. Decker, P. Gottschling KoSSE-Workshop /22

44 Laufzeitverifikation in Hardware FPGA itor System Target Platform (MP)SoC Trace Port monitor status configuration CONIRAS Kontinuierliche nicht-intrusive Laufzeitanalyse von SoCs AbsInt, Accemic, TU Darmstadt (RS), U zu Lübeck (ISP) Akquise von Trace-Daten, WCET-Analyse, Laufzeitverifikation N. Decker, P. Gottschling KoSSE-Workshop /22

45 Laufzeitverifikation in Hardware FPGA itor System Target Platform (MP)SoC Trace Port monitor status configuration CONIRAS Kontinuierliche nicht-intrusive Laufzeitanalyse von SoCs AbsInt, Accemic, TU Darmstadt (RS), U zu Lübeck (ISP) Akquise von Trace-Daten, WCET-Analyse, Laufzeitverifikation N. Decker, P. Gottschling KoSSE-Workshop /22

46 Laufzeitverifikation in Hardware FPGA itor System Target Platform (MP)SoC Trace Port monitor status configuration CONIRAS Kontinuierliche nicht-intrusive Laufzeitanalyse von SoCs AbsInt, Accemic, TU Darmstadt (RS), U zu Lübeck (ISP) Akquise von Trace-Daten, WCET-Analyse, Laufzeitverifikation N. Decker, P. Gottschling KoSSE-Workshop /22

47 Laufzeitverifikation in Hardware FPGA itor System Target Platform (MP)SoC Trace Port monitor status configuration CONIRAS Kontinuierliche nicht-intrusive Laufzeitanalyse von SoCs AbsInt, Accemic, TU Darmstadt (RS), U zu Lübeck (ISP) Akquise von Trace-Daten, WCET-Analyse, Laufzeitverifikation N. Decker, P. Gottschling KoSSE-Workshop /22

48 Vorteile von FPGAs Schnelle und parallele Verarbeitung von Daten Extrem viele Freiheitsgrade Beliebig oft neu konfigurierbar N. Decker, P. Gottschling KoSSE-Workshop /22

49 Vorteile von FPGAs Schnelle und parallele Verarbeitung von Daten Extrem viele Freiheitsgrade Beliebig oft neu konfigurierbar N. Decker, P. Gottschling KoSSE-Workshop /22

50 Vorteile von FPGAs Schnelle und parallele Verarbeitung von Daten Extrem viele Freiheitsgrade Beliebig oft neu konfigurierbar N. Decker, P. Gottschling KoSSE-Workshop /22

51 Probleme bei der Verwendung von FPGAs Entwicklungstools sind schlecht zu integrieren Hardwarebeschreibung nicht intuitiv Synthese von itoren in Hardware dauert lange Beschreibung Synthese Programmierung N. Decker, P. Gottschling KoSSE-Workshop /22

52 Probleme bei der Verwendung von FPGAs Entwicklungstools sind schlecht zu integrieren Hardwarebeschreibung nicht intuitiv Synthese von itoren in Hardware dauert lange Beschreibung Synthese Programmierung N. Decker, P. Gottschling KoSSE-Workshop /22

53 Probleme bei der Verwendung von FPGAs Entwicklungstools sind schlecht zu integrieren Hardwarebeschreibung nicht intuitiv Synthese von itoren in Hardware dauert lange Beschreibung Synthese Programmierung N. Decker, P. Gottschling KoSSE-Workshop /22

54 Ansatz: Generische itore in Hardware Hardware (für itore) wird nur ein mal Synthetisiert Reduzierung der Freiheitsgrade durch Parameter Parameter lassen sich nachträglich ohne erneute Synthese ändern Einfache Beschreibung HDL (Verilog) Syntheseprozess N. Decker, P. Gottschling KoSSE-Workshop /22

55 Ansatz: Generische itore in Hardware Hardware (für itore) wird nur ein mal Synthetisiert Reduzierung der Freiheitsgrade durch Parameter Parameter lassen sich nachträglich ohne erneute Synthese ändern Einfache Beschreibung HDL (Verilog) Syntheseprozess N. Decker, P. Gottschling KoSSE-Workshop /22

56 Ansatz: Generische itore in Hardware Hardware (für itore) wird nur ein mal Synthetisiert Reduzierung der Freiheitsgrade durch Parameter Parameter lassen sich nachträglich ohne erneute Synthese ändern Einfache Beschreibung HDL (Verilog) Syntheseprozess N. Decker, P. Gottschling KoSSE-Workshop /22

57 itore in Hardware Einmalig (dauert lange): Beschreibung des itorsystems Syntheseprozess Beliebig oft (geht schnell): Anpassen von Parametern Anpassen des Verhaltens (Automaten) N. Decker, P. Gottschling KoSSE-Workshop 214 2/22

58 itore in Hardware Einmalig (dauert lange): Beschreibung des itorsystems Syntheseprozess Beliebig oft (geht schnell): Anpassen von Parametern Anpassen des Verhaltens (Automaten) N. Decker, P. Gottschling KoSSE-Workshop 214 2/22

59 itore in Hardware Einmalig (dauert lange): Beschreibung des itorsystems Syntheseprozess Beliebig oft (geht schnell): Anpassen von Parametern Anpassen des Verhaltens (Automaten) N. Decker, P. Gottschling KoSSE-Workshop 214 2/22

60 itore in Hardware Einmalig (dauert lange): Beschreibung des itorsystems Syntheseprozess Beliebig oft (geht schnell): Anpassen von Parametern Anpassen des Verhaltens (Automaten) N. Decker, P. Gottschling KoSSE-Workshop 214 2/22

61 itore in Hardware Einmalig (dauert lange): Beschreibung des itorsystems Syntheseprozess Beliebig oft (geht schnell): Anpassen von Parametern Anpassen des Verhaltens (Automaten) N. Decker, P. Gottschling KoSSE-Workshop 214 2/22

62 itore in Hardware Einmalig (dauert lange): Beschreibung des itorsystems Syntheseprozess Beliebig oft (geht schnell): Anpassen von Parametern Anpassen des Verhaltens (Automaten) N. Decker, P. Gottschling KoSSE-Workshop 214 2/22

63 Vorteile des Prinzips Automatische Überwachung von Laufzeiteigenschaften Parallele Ausführung vieler Beobachtungsaufgaben N. Decker, P. Gottschling KoSSE-Workshop /22

64 Vorteile des Prinzips Automatische Überwachung von Laufzeiteigenschaften Parallele Ausführung vieler Beobachtungsaufgaben N. Decker, P. Gottschling KoSSE-Workshop /22

65 Zusammenfassung Spezifikation System Beobachtung Synthese private static itor myitor = new itor( Always(a) ); itor Bewertung FPGA itor System Target Platform (MP)SoC Trace Port monitor status configuration N. Decker, P. Gottschling KoSSE-Workshop /22

Web-Testen mit JUnit und HttpUnit. Kai Schmitz-Hofbauer Lehrstuhl für Software-Technik Ruhr-Universität Bochum

Web-Testen mit JUnit und HttpUnit. Kai Schmitz-Hofbauer Lehrstuhl für Software-Technik Ruhr-Universität Bochum 1 Web-Testen mit JUnit und HttpUnit Kai Schmitz-Hofbauer Lehrstuhl für Software-Technik Ruhr-Universität Bochum 2 Inhalt Entwicklertests in der Praxis Unit-Testing JUnit HttpUnit Praktisches Beispiel Bewertung

Mehr

Testen von SOA-Anwendungen mit dem BPEL Testframework

Testen von SOA-Anwendungen mit dem BPEL Testframework Testen von SOA-Anwendungen mit dem BPEL Testframework Stefan Kühnlein IBM Deutschland Enterprise Application Solution GmbH Hollerithstr. 1 81829 München 0160/8848611 Stefan.Kuehnlein@de.ibm.com IBM Deutschland

Mehr

Systematisches Testen der Funktionalität von Softwaresystemen. 17. Juni 2015

Systematisches Testen der Funktionalität von Softwaresystemen. 17. Juni 2015 Systematisches Testen der Funktionalität von Softwaresystemen 17. Juni 2015 Überblick Semantische Qualität von Software Teststrategien und prinzipien Testgetriebene Softwareentwicklung Welche Arten von

Mehr

JUnit - Test Driven Development. Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1

JUnit - Test Driven Development. Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1 JUnit - Test Driven Development Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1 Gliederung 1.Einleitung 1.1 Geschichte 1.2 Was sind Unit-Tests? 1.3 Failures/Errors 1.4 Ziele und Nutzen

Mehr

Systematisches Testen

Systematisches Testen Systematisches Testen SEP 136 Unit Testing Objektorientierte Entwicklung Entwicklung von vielen unabhängigen Einheiten (Klassen, Methoden), aus denen das Gesamtprogramm zusammengesetzt wird. Ziel: Wenn

Mehr

Modellprüfung von UML-Zustandsmaschinen und UML-Kollaborationen in SAL

Modellprüfung von UML-Zustandsmaschinen und UML-Kollaborationen in SAL Institut für Informatik, Lehr- und Forschungseinheit für Programmierung und Softwaretechnik der Ludwig-Maximilians-Universität München Diplomarbeit Modellprüfung von UML-Zustandsmaschinen und UML-Kollaborationen

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013.

Informatik. Studiengang Chemische Technologie. Michael Roth Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013. Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VIII Einstieg in Java II Michael Roth (h_da) Informatik

Mehr

Diplomarbeit. Entwurf eines TI-Coaching Systems. von. Christof Kuhn

Diplomarbeit. Entwurf eines TI-Coaching Systems. von. Christof Kuhn Diplomarbeit Entwurf eines TI-Coaching Systems von Christof Kuhn Warum TI-Coaching System? Theoretische Informatik fällt vielen schwer Sie ist aber sehr wichtig für die Informatik Sie ist nicht wirklich

Mehr

Zwischenbericht Diplomarbeit Entwicklung einer Laufzeitumgebung für Komponenten mit Ressourcenanforderungen

Zwischenbericht Diplomarbeit Entwicklung einer Laufzeitumgebung für Komponenten mit Ressourcenanforderungen Zwischenbericht Diplomarbeit Entwicklung einer Laufzeitumgebung für Komponenten mit Ressourcenanforderungen Brit Engel Überblick Beschreibung Aufgabenstellung Entwurf der Komponenten Verwaltung Funktionsbereiche

Mehr

Testen von graphischen Benutzeroberflächen. 26. Juni 2013

Testen von graphischen Benutzeroberflächen. 26. Juni 2013 Testen von graphischen Benutzeroberflächen 26. Juni 2013 Überblick Testarten Methoden-, Klassen-, Komponenten-, Systemtests Motivation für automatisches Testen von graphischen Benutzeroberflächen Entwicklungsprinzipien

Mehr

Java für C++ Programmierer

Java für C++ Programmierer Java für C++ Programmierer Alexander Bernauer bernauer@inf.ethz.ch Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?

Mehr

Fortgeschrittenes Programmieren mit Java. Test Driven Development

Fortgeschrittenes Programmieren mit Java. Test Driven Development Fortgeschrittenes Programmieren mit Java Test Driven Development Test getriebene Programmierung Benedikt Boeck Hochschule für Angewandte Wissenschaften Hamburg 6. November 2009 B. Boeck (HAW Hamburg) Test

Mehr

Java Vererbung. Inhalt

Java Vererbung. Inhalt Java Vererbung Inhalt 1 Zielsetzung... 2 1.1 Bewertung... 2 2 Grundlagen der Vererbung... 2 2.1 Super und Subklassen... 2 3 Überladen von Methoden... 4 3.1 Unterschiedliche Parameter... 4 3.2 Gleiche Parameter

Mehr

Modulare Grafische Programmierung (MGP) von FPGAs

Modulare Grafische Programmierung (MGP) von FPGAs Modulare Grafische Programmierung (MGP) von FPGAs Linna Lu Technische Universität Ilmenau Projektseminar KBSE Projektseminar KBSE Ilmenau 29.06.2005 Linna Lu Projektseminar Softwaresysteme/Prozessinformatik

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

5. Dokumentieren und Testen Advanced Programming Techniques. Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

5. Dokumentieren und Testen Advanced Programming Techniques. Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 5. Dokumentieren und Testen Advanced Programming Techniques Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik:

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

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

Konzeption. und prototypische Implementierung. eines Werkzeuges. für den funktionalen Klassentest

Konzeption. und prototypische Implementierung. eines Werkzeuges. für den funktionalen Klassentest Konzeption und prototypische Implementierung eines Werkzeuges für den funktionalen Klassentest Übersicht Motivation Zielsetzung Lösungsansatz und dessen Realisierung Anwendungs-Szenarien Präsentation von

Mehr

Erster Bug: eine Motte

Erster Bug: eine Motte SOFTWAREFEHLER Der erste Bug Erster Bug: eine Motte Der Begriff Bug (deutsch: Motte) stammt aus dem Jahre 1945, als Ingenieure in einem Schaltrelais eines Computers (Harvard Mark II-System) eine Motte

Mehr

Persönliche Build-Höllen für Jedermann Andreas Hartmann & Dr. Halil-Cem Gürsoy

Persönliche Build-Höllen für Jedermann Andreas Hartmann & Dr. Halil-Cem Gürsoy Über Ant und Maven zu SBT und Gradle Persönliche Build-Höllen für Jedermann Andreas Hartmann & Dr. Halil-Cem Gürsoy 07.04.2011 Speaker Andreas Hartmann [hartmann@adesso.de] Principal Software Engineer

Mehr

JUnit. Unit testing unter Java

JUnit. Unit testing unter Java JUnit Unit testing unter Java Was ist Junit? einfaches Framework zum Schreiben von wiederholbaren Tests Besonders geeignet für unit testing Erlaubt Hierarchie von Testsuites Schreiben eines Test Case 1.

Mehr

Testen von graphischen Benutzeroberflächen. 24. Juni 2015

Testen von graphischen Benutzeroberflächen. 24. Juni 2015 Testen von graphischen Benutzeroberflächen 24. Juni 2015 Überblick Motivation für das automatische Testen von graphischen Benutzeroberflächen Entwicklungsprinzipien für GUIs Capture / Replay Testmethode

Mehr

Echtzeit-Multitasking

Echtzeit-Multitasking Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme

Mehr

Sensorsimulation in Hardware in the Loop-Anwendungen

Sensorsimulation in Hardware in the Loop-Anwendungen Sensorsimulation in Hardware in the Loop-Anwendungen Kristian Trenkel, Florian Spiteller Echtzeit 2014 20.11.2014 Gliederung I. Einführung II. Problemstellung III. Anforderungen an eine Sensorsimulation

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

Mehr

Schwerpunktprogramm 1148 Rekonfigurierbare Rechensysteme. Rekonfigurierbare Controller

Schwerpunktprogramm 1148 Rekonfigurierbare Rechensysteme. Rekonfigurierbare Controller Schwerpunktprogramm 1148 Rekonfigurierbare Rechensysteme Rekonfigurierbare Controller Roland Kasper Thomas Reinemann Institut für Mechatronik und Antriebstechnik Otto-von-Guericke-Universität Magdeburg

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Programmierparadigmen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Programmiersprachen-Paradigmen Eine Programmiersprache

Mehr

Überblick über die Roblet -Technik

Überblick über die Roblet -Technik Überblick über die Roblet -Technik Hagen Stanek gefördert durch Agenda Teil 1: Motivation, Einführung Teil 2: Beispiel-Vorführung Teil 3: Anwendungen, Zusammenfassung 2 Teil 1 Motivation, Einführung 3

Mehr

Java-Programmierung mit NetBeans

Java-Programmierung mit NetBeans Java-Programmierung mit NetBeans Klassen, Objekte, Alternativen Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg - WS 2012/13 Grundlegende Definitionen - Objekt Ein Objekt ist allgemein ein Gegenstand

Mehr

Vortrag zum Hauptseminar Hardware/Software Co-Design

Vortrag zum Hauptseminar Hardware/Software Co-Design Fakultät Informatik Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Vortrag zum Hauptseminar Hardware/Software Co-Design Robert Mißbach Dresden, 02.07.2008

Mehr

Vom Testkonzept zu JUnit

Vom Testkonzept zu JUnit Testen und Testkonzept Dipl.-Inf. (FH) Christopher Olbertz 2. Dezember 2014 Testen und Testkonzept Warum testen? Wichtig, obwohl bei Programmierern unbeliebt Stellt weitgehend korrekte Funktionsweise eines

Mehr

Inhaltsverzeichnis. Einführende Bemerkungen 11. Das Fach Informatik 11 Zielsetzung der Vorlesung Grundbegriffe

Inhaltsverzeichnis. Einführende Bemerkungen 11. Das Fach Informatik 11 Zielsetzung der Vorlesung Grundbegriffe Inhaltsverzeichnis Einführende Bemerkungen 11 Das Fach Informatik 11 Zielsetzung der Vorlesung 12 1. Grundbegriffe 1 3 1.1 1.2 1.3 1.4 1.5 1.6 1.7 Information und Nachricht 1.1.1 Information 1.1.2 Nachricht

Mehr

Einführung in die Programmierung 1

Einführung in die Programmierung 1 Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener

Mehr

7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen

7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen 7. Schnittstellen Grundlagen zu Schnittstellen 7. Schnittstellen Eine Schnittstelle (Interface) ist eine Spezifikation eines Typs in Form eines Typnamens und einer Menge von Methoden, die keine Implementierungen

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Einfache Programme: Programm-Argument, Bedingte Anweisungen, Switch, Enum Boolesche Werte und Ausdrücke Seite 1 Beispiel: Umrechnen

Mehr

Programmierkurs C++ Abstrakte Klassen und Methoden

Programmierkurs C++ Abstrakte Klassen und Methoden Programmierkurs C++ Abstrakte Klassen und Methoden Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie Obst double

Mehr

1 Organisatorisches. 2 Compilezeit- und Laufzeitfehler. 3 Exceptions. 4 Try-Catch-Finally

1 Organisatorisches. 2 Compilezeit- und Laufzeitfehler. 3 Exceptions. 4 Try-Catch-Finally Themen der Übung CoMa-Übung VI 1 Organisatorisches Compilezeit- und Laufzeitfehler 3 Try-Catch-Finally TU Berlin 8.11.01 Bewertung der OA 5 fehlerhaft, Madeleine arbeitet dran CoMa-Übung VI (TU Berlin)

Mehr

Informationsverarbeitung im Bauwesen

Informationsverarbeitung im Bauwesen 1/21 Informationsverarbeitung im Bauwesen Einführung in das Programmieren mit C++ Markus Uhlmann Institut für Hydromechanik Karlsruher Institut für Technologie www.ifh.kit.edu WS 2010/2011 Vorlesung 8

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 1 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12.10.2015 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello! 12.10.2015 Dr. Werner Struckmann / Stephan

Mehr

Unit Tests. Programmiermethodik. Eva Zangerle Universität Innsbruck

Unit Tests. Programmiermethodik. Eva Zangerle Universität Innsbruck Unit Tests Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

Programmieren mit Java

Programmieren mit Java Reinhard Schiedermeier Programmieren mit Java 2., aktualisierte Auflage ein Imprint von Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam

Mehr

Programmiertechnik II

Programmiertechnik II Modultests Ziele Überprüfung der Korrektheit eines Moduls Korrektheit: Übereinstimmung mit (informaler) Spezifikation Modul: kleine testbare Einheit (Funktion, Klasse) Engl.: unit test White box testing

Mehr

HTTP-Server. Frank Wübbeling Universität Münster

HTTP-Server. Frank Wübbeling Universität Münster HTTP-Server Frank Wübbeling Universität Münster Aufgaben des Servers Input/Output (Port eröffnen etc.) Aufnehmen der Anforderungen Bereitstellung des Inhalts Bereitstellung der Header Erzeugung von Hintergrundinfos

Mehr

Modulare Programmierung und Bibliotheken

Modulare Programmierung und Bibliotheken Modulare Programmierung und Bibliotheken Proseminar-Vortrag am 24.06.2011 von Ludwig Eisenblätter Ludwig Eisenblätter 1 von 25 Modulare Programmierung und Bibliotheken Inhaltsübersicht Motivation / Einleitung

Mehr

Funktionale Programmiersprachen

Funktionale Programmiersprachen Funktionale Programmiersprachen An den Beispielen Haskell und Erlang Übersicht Programmiersprachen λ-kalkül Syntax, Definitionen Besonderheiten von funktionalen Programmiersprache, bzw. Haskell Objektorientierte

Mehr

C# im Vergleich zu Java

C# im Vergleich zu Java C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung

Mehr

Speicher und Adressraum

Speicher und Adressraum Linearer Speicher (Adressraum) Technische Universität München Speicher und Adressraum Freie Speicherhalde (Heap) Freier Speicherstapel (Stack) Globale Variablen Bibliotheksfunktionen Laufzeitsystem Programmcode

Mehr

Flexibles E-Assessment auf Basis einer Service-orientierten Architektur

Flexibles E-Assessment auf Basis einer Service-orientierten Architektur auf Basis einer Service-orientierten Architektur Konzepte, Implementierung und Praxiserfahrungen Mario Amelung Katrin Krieger Dietmar Rösner Otto-von-Guericke-Universität Magdeburg Wissensbasierte Systeme

Mehr

Grundzüge der Programmierung. Wiederverwendung VERERBUNG

Grundzüge der Programmierung. Wiederverwendung VERERBUNG Grundzüge der Programmierung Wiederverwendung VERERBUNG Inhalt dieser Einheit Syntax: Vererbung in Java Superklassen - Subklassen Konstruktorenaufruf in Subklassen super, abstract und final 2 Code-Reuse

Mehr

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests. Universität Osnabrück 1 Problemstellung 3 - Objektorientierte Programmierung in Java Vorlesung 24: Reflection 1 SS 2006 Prof. Dr. Frank M. Thiesing, FH Osnabrück Um ein Objekt anzulegen, eine seiner Methoden

Mehr

IuK-Projekt am Institut für Mikroelektronik und Eingebettete Systeme. Prof. Dr.-Ing. Peter Schulz Sommersemester 2013

IuK-Projekt am Institut für Mikroelektronik und Eingebettete Systeme. Prof. Dr.-Ing. Peter Schulz Sommersemester 2013 am Institut für Mikroelektronik und Eingebettete Systeme Sommersemester 2013 1 Das Institut imes bietet ein fortlaufendes Mechatronik-Projekt an. Der Einstieg ist semesterweise möglich. Die Laufzeit aus

Mehr

DIPLOMARBEIT. Entwurf und Implementierung eines modularen USB-Stacks für eingebettete Controller ohne Betriebssystem. Uwe Pfeiffer

DIPLOMARBEIT. Entwurf und Implementierung eines modularen USB-Stacks für eingebettete Controller ohne Betriebssystem. Uwe Pfeiffer Fakultät Informatik Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur DIPLOMARBEIT Entwurf und Implementierung eines modularen USB-Stacks für eingebettete

Mehr

Simulink: Softwareentwurf für eingebettete Systeme ROS-Arduino-Interface. von Christian Schildwächter

Simulink: Softwareentwurf für eingebettete Systeme ROS-Arduino-Interface. von Christian Schildwächter Simulink: Softwareentwurf für eingebettete Systeme ROS-Arduino-Interface von Christian Schildwächter Simulink Simulink S-Functions Softwareprojekt ROS-Arduino-Interface Simulink 3 LIVE DEMO 4 External

Mehr

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 16.04.2013

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 16.04.2013 Software Komponenten FS13 Gruppe 03 Horw, 16.04.2013 Bontekoe Christian Estermann Michael Moor Simon Rohrer Felix Autoren Bontekoe Christian Studiengang Informatiker (Berufsbegleitend) Estermann Michael

Mehr

Programmieren I. Überblick Objektorientierung Heusch 12 Ratz 7. Institut für Angewandte Informatik

Programmieren I. Überblick Objektorientierung Heusch 12 Ratz 7.  Institut für Angewandte Informatik Programmieren I Überblick Objektorientierung Heusch 12 Ratz 7 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Objektorientierte Softwarenentwicklung Was ist das grundlegende Konzept

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren

Mehr

Einführung in die Informatik I (autip)

Einführung in die Informatik I (autip) Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis

Mehr

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4 Inhaltsverzeichnis TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA... 1 1 GRUNDLAGEN DER PROGRAMMIERUNG... 4 1.1 Das erste Java-Programm... 4 1.2 Programme und ihre Abläufe... 6 1.3 Entwurf mit Nassi-Shneiderman-Diagrammen...

Mehr

Comparing Software Factories and Software Product Lines

Comparing Software Factories and Software Product Lines Comparing Software Factories and Software Product Lines Martin Kleine kleine.martin@gmx.de Betreuer: Andreas Wuebbeke Agenda Motivation Zentrale Konzepte Software Produktlinien Software Factories Vergleich

Mehr

Objektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen

Objektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen Objektorientierte Programmierung mit Grundlagen 27.10.2008 1 Übersicht 27.10.2008 2 1 Übersicht Klassen und Objekte in - Klassen - Objekte - Klassen - Objekte 27.10.2008 3 Übersicht 27.10.2008 4 2 Einführung

Mehr

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Einführung in den Einsatz von Objekt-Orientierung mit C++ I Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Beobachtung 1: Beispiel: Intuitive Programme sind oft ineffizient.

Beobachtung 1: Beispiel: Intuitive Programme sind oft ineffizient. Beobachtung 1: Intuitive Programme sind oft ineffizient. Beispiel: void swap (int i, int j) { int t; if (a[i] > a[j]) { t = a[j]; a[j] = a[i]; a[i] = t; } } 731 Ineffizienzen: Adressen a[i], a[j] werden

Mehr

Ausführungszeiten. Worst-Case Execution-Time. Übung zur Vorlesung EZS. Zeitgeber Oszilloskop Diskussion

Ausführungszeiten. Worst-Case Execution-Time. Übung zur Vorlesung EZS. Zeitgeber Oszilloskop Diskussion 1 Überblick Ausführungszeiten Übung zur Vorlesung EZS Florian Franzmann Martin Hoffmann Tobias Klaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme

Mehr

Einführung in die STL

Einführung in die STL 1/29 in die STL Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/29 Outline 1 3/29 Inhaltsverzeichnis 1 4/29 Typisierung

Mehr

OSEK-OS. Oliver Botschkowski. oliver.botschkowski@udo.edu. PG AutoLab Seminarwochenende 21.-23. Oktober 2007. AutoLab

OSEK-OS. Oliver Botschkowski. oliver.botschkowski@udo.edu. PG AutoLab Seminarwochenende 21.-23. Oktober 2007. AutoLab OSEK-OS Oliver Botschkowski oliver.botschkowski@udo.edu PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Einleitung Motivation Ziele Vorteile Einführung in OSEK-OS Architektur Task Management Interrupt

Mehr

Aufgaben Objektentwurf

Aufgaben Objektentwurf Aufgaben Objektentwurf (Einschub zum 5. Tutorium) Tutorium 6 13. März 2009 Svetlana Matiouk, Uni Bonn Ferientutorien zur Vorlesung Softwaretechnologie WS 2008 6. Treffen, Aufgabe 1 Vorwärtsmodellierung

Mehr

Laufzeitoptimierte VHDL Bibliothek zur Verifikation und Simulation kryptographischer Prozessoren

Laufzeitoptimierte VHDL Bibliothek zur Verifikation und Simulation kryptographischer Prozessoren Laufzeitoptimierte VHDL Bibliothek zur Verifikation und Simulation kryptographischer Prozessoren Mathias Schmalisch Hagen Ploog Dirk Timmermann Universität Rostock Übersicht Motivation Arithmetik Implementierung

Mehr

Das Test-Framework JUnit ETIS SS04

Das Test-Framework JUnit ETIS SS04 Das Test-Framework JUnit ETIS SS04 Gliederung Motivation TestFirst Grundlagen Assert TestCase Lebenszyklus TestCase UML-Diagramm TestCase TestSuite Zusammenfassung 2 Motivation (I) Kostspielige Folgen

Mehr

C# Programmierung. Eine Einführung in das.net Framework. C# Programmierung - Tag 4: Kombination OOP/.NET

C# Programmierung. Eine Einführung in das.net Framework. C# Programmierung - Tag 4: Kombination OOP/.NET C# Programmierung Eine Einführung in das.net Framework C# Programmierung - Tag 4: Kombination OOP/.NET 1/27/2012 1 Do Events Delegates Operatoren Exceptions Namespaces Bibliotheken.NET Klassen Serialisierung

Mehr

Überblick. 1 Vorbemerkungen. 2 Algorithmen. 3 Eigenschaften von Algorithmen. 4 Historischer Überblick. Einführung

Überblick. 1 Vorbemerkungen. 2 Algorithmen. 3 Eigenschaften von Algorithmen. 4 Historischer Überblick. Einführung Teil I Einführung Überblick 1 Vorbemerkungen 2 Algorithmen 3 4 Historischer Überblick Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 1 1 Vorbemerkungen Was ist Informatik? Informatik

Mehr

Olaf Seng Thomas Genßler Benedikt Schulz. Forschungszentrum Informatik, Karlsruhe

Olaf Seng Thomas Genßler Benedikt Schulz. Forschungszentrum Informatik, Karlsruhe Olaf Seng Thomas Genßler Benedikt Schulz Einführung Grundlagen Vorgehensweise Beispiel Zusammenfassung Übersicht 2 Einführung Szenario & Probleme Hinzufügen einer neuen Funktion zu einer Komponente Erfordert

Mehr

IO-Link Komponenten einfach, individuell, unkompliziert

IO-Link Komponenten einfach, individuell, unkompliziert IO-Link Komponenten einfach, individuell, unkompliziert www.iq2-development.de iqinterface Ihr einfacher Zugang zu IO-Link Geräten iqinterface ist ein vielseitiges Entwicklungs- und Produktionstool für

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Objekte nutzen und testen. Dienstag, 8. Mai: keine Vorlesung! Konzepte (Wiederholung vom Freitag) Vgl. Kapitel 5-6 im BlueJ-Buch.

Objekte nutzen und testen. Dienstag, 8. Mai: keine Vorlesung! Konzepte (Wiederholung vom Freitag) Vgl. Kapitel 5-6 im BlueJ-Buch. Vgl. Kapitel 5-6 im BlueJ-Buch. Objekte nutzen und testen Andreas Zeller 1 Dienstag, 8. Mai: keine Vorlesung! 2 Konzepte (Wiederholung vom Freitag) Sammlungen flexibler Größe: ArrayList fester Größe: Array

Mehr

Übersicht. 4.1 Ausdrücke. 4.2 Funktionale Algorithmen. 4.3 Anweisungen. 4.4 Imperative Algorithmen Variablen und Konstanten. 4.4.

Übersicht. 4.1 Ausdrücke. 4.2 Funktionale Algorithmen. 4.3 Anweisungen. 4.4 Imperative Algorithmen Variablen und Konstanten. 4.4. Übersicht 4.1 Ausdrücke 4.2 Funktionale Algorithmen 4.3 Anweisungen 4.4 Imperative Algorithmen 4.4.1 Variablen und Konstanten 4.4.2 Prozeduren 4.4.3 Verzweigung und Iteration 4.4.4 Globale Größen Einführung

Mehr

Markus Wichmann. Testen von Java Code mit. JUnit

Markus Wichmann. Testen von Java Code mit. JUnit Markus Wichmann Testen von Java Code mit JUnit Demotivation... Am Anfang war der Zeitdruck... Hilfe, ich habe doch keine Zeit zum Testen! Ich schreibe einfach keine Tests, dadurch werde ich schneller fertig

Mehr

easyweb400 die Verbindung zwischen iseries und Internet Ihr Partner M/S VisuCom

easyweb400 die Verbindung zwischen iseries und Internet Ihr Partner M/S VisuCom easyweb400 die Verbindung zwischen iseries und Internet von M/S VisuCom Inhalt Ihr Partner M/S VisuCom Anwendungsbeispiel Berufsgenossenschaft der Feinmechanik und Elektrotechnik, Köln M/S VisuCom Auf

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Stefan Brass: OOP (Java), 15. Überladene Methoden 1/22 Objektorientierte Programmierung Kapitel 15: Überladene Methoden Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/

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

1.4! Einführung. Systemmodellierung. Methoden und Werkzeuge

1.4! Einführung. Systemmodellierung. Methoden und Werkzeuge Einführung. Vorbemerkungen und Überblick. Die elektronischen e des Fahrzeugs. Prozesse in der Fahrzeugentwicklung im Überblick,.4 Grundlagen. Steuerungs- und regelungstechnische e (Prof. Schumacher). Diskrete

Mehr

TwinCAT HMI Application

TwinCAT HMI Application New Automation Technology TwinCAT HMI Application 08.05.2010 1 Überblick Einleitung Übersicht Möglichkeiten der Applikation Struktur und Komponenten Komponenten für das Microsoft Visual Studio Anleger

Mehr

Objektorientierte Programmierung Teil 1: Einführung

Objektorientierte Programmierung Teil 1: Einführung Objektorientierte Programmierung Teil 1: Einführung Prof. Dr. Schoop FHT Esslingen, Sommersemester 2005 Agenda Beispielszenario Eigenschaften des objektorientierten Ansatzes Konzepte des objektorientierten

Mehr

Unit Tests und Fehlersuche

Unit Tests und Fehlersuche Unit Tests und Fehlersuche SE 1 - Softwareentwicklungspraktikum Test Deadline! Sinnvolle Tests kompilierbar im CVS d.h. Schnittstellen zu Strategiemethoden etc. schon erstellen Kommentieren! Besser ein

Mehr

Unit Testing mit JUnit. Dr. Andreas Schroeder

Unit Testing mit JUnit. Dr. Andreas Schroeder Unit Testing mit JUnit Dr. Andreas Schroeder Überblick Was dieses Video behandelt Warum Testen? Was sind Unit Tests? Der Teufelskreis des Nicht-Testens JUnit Unit Test Vorteile Test-Inspiration Wann aufhören?

Mehr

Wie ich lernte die API zu lieben. 19. März 2013. bernhard.groehling@sicsec.de 08142-4425 037 sic[!]sec GmbH Industriestraße 29-31 82194 Gröbenzell

Wie ich lernte die API zu lieben. 19. März 2013. bernhard.groehling@sicsec.de 08142-4425 037 sic[!]sec GmbH Industriestraße 29-31 82194 Gröbenzell Burp- Burp- Wie ich lernte die zu lieben 19. März 2013 bernhard.groehling@sicsec.de 08142-4425 037 sic[!]sec GmbH Industriestraße 29-31 82194 Gröbenzell Burp- Was erwartet uns? Das erwartet euch Theorie:

Mehr

Info: Standard DO-178B. 5. Mocking. Zusammenspiel von Klassen testen. Allgemein: Klassen testbar machen

Info: Standard DO-178B. 5. Mocking. Zusammenspiel von Klassen testen. Allgemein: Klassen testbar machen Info: Standard DO-178B Zertifizierung Federal AviationAdministration (FAA), Software für Luftverkehrssysteme durch Standard DO-178B für requirement-based Tests and Code Coverage Analyse DO-178B-Levels

Mehr

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik Klassen und höhere Datentypen Objekte, Felder, Methoden Küchlin/Weber: Einführung in die Informatik Klassen Klasse (class) stellt einen (i.a. benutzerdefinierten) Verbund-Datentyp dar Objekte sind Instanzen

Mehr

Aufbau von Klassen. class punkt {...

Aufbau von Klassen. class punkt {... Einführung in C++ Aufbau von Klassen Eine wird mit dem Schlüsselwort class eingeleitet, und endet mit einem Semikolon. Der Inhalt wird zwischen geschweiften Klammern geschrieben. class punkt {... ; Im

Mehr

Vererbung. Was versteht man unter dem Begriff Vererbung?

Vererbung. Was versteht man unter dem Begriff Vererbung? Was versteht man unter dem Begriff Vererbung? Elternkonstrukt - Datenelemente - Methoden o Deklaration o Definition Kindkonstrukt... Main... Elternkonstrukt b = new Kindkonstrukt() b.fn() Komponenten &

Mehr

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4. ! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.4 Exceptions - 1 - Ausnahmen (Exceptions( Exceptions) Treten auf, wenn zur

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

Entwicklungsbegleitende Verifikation von AUTOSAR Steuergerätefunktionen auf Basis einer Test-RTE und SiL-Simulation

Entwicklungsbegleitende Verifikation von AUTOSAR Steuergerätefunktionen auf Basis einer Test-RTE und SiL-Simulation Entwicklungsbegleitende Verifikation von AUTOSAR Steuergerätefunktionen auf Basis einer Test-RTE und SiL-Simulation GI-Fachgruppe Test, Analyse und Verification von Software (TAV) 30. Treffen: 17. und

Mehr

5.5.8 Öffentliche und private Eigenschaften

5.5.8 Öffentliche und private Eigenschaften 5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung

Mehr

Development Tools for 16/32 Bit Microcontroller

Development Tools for 16/32 Bit Microcontroller Praktika- und Diplomthemen bei Stand 01/2013 Die nachfolgend aufgeführten Themen sind Vorschläge und können in Absprache mit dem Praktikanten / Diplomanden sowie der Hochschule modifiziert werden. Die

Mehr

OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik

OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik WS 2011/12 Inhalt Test-Besprechung! Ziele verdeutlichen Große Bild von OOP Wiederholung: Einbettung als Technik

Mehr

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08

Mehr