PolyDyn - Polymorphe Objekte für dynamisch rekonfigurierbare FPGAs

Größe: px
Ab Seite anzeigen:

Download "PolyDyn - Polymorphe Objekte für dynamisch rekonfigurierbare FPGAs"

Transkript

1 PolyDyn - Polymorphe Objekte für dynamisch rekonfigurierbare FPGAs A. Schallenberg 1, F. Oppenheimer 2 und W. Nebel 1 1 Carl von Ossietzky Universität Oldenburg 2 OFFIS e.v. Bereich Eingebettete Hardware-/Software-Systeme 1. Juli 2004 Schallenberg, Oppenheimer, Nebel 1/26

2 Motivation und Ansatz 1 Motivation und Ansatz 2 Grundlegende Sprachkonstrukte 3 Weiterführende Sprachkonstrukte 4 Ausblick, Zusammenfassung und Kooperationen Schallenberg, Oppenheimer, Nebel 2/26

3 Beispiel FPGA Design Motivation und Ansatz configuration storage encrypted data input buffer control triple des output buffer plain data static interface reconfigured area Nutzung eines dynamisch rekonfigurierbaren FPGAs Logikstruktur kann sich wärend der Laufzeit ändern Partiell rekonfigurierbare FPGAs: Operiert weiter während sich Teile ändern Schallenberg, Oppenheimer, Nebel 3/26

4 Problemformulierung Motivation und Ansatz Problem Dynamische Hardware steht zur Verfügung, aber gegenwärtige Hardwarebeschreibungssprachen sind maßgeschneidert für statische Hardware! Ziele des PolyDyn Projektes Modellierung verschiedener Programmkontexte Zeitmodell für den Austausch von Programmkontexten Beschreibung muß simulierbar sein Beschreibung muß synthetisierbar sein Schallenberg, Oppenheimer, Nebel 4/26

5 Idee PolyDyn - Polymorphe Objekte Motivation und Ansatz Ansatz Eine bestehende HDL um Sprachkonstrukte für dynamische Hardwarekomponenten erweitern: SystemC mit OSSS-Erweiterung SystemC steuert bei: Ausführbare Modelle Syntheseflow OSSS steuert bei: Objekte Polymorphismus Arbitrierungskonstrukte Schallenberg, Oppenheimer, Nebel 5/26

6 Nutzung der Polymorphie Motivation und Ansatz CryptoAlgorithm CryptoModule AES DES3 Blowfish Eine Basisklasse definiert ein Interface zur Außenwelt, welches zum Zugriff von Außen auf alle Instanzen genutzt wird. Vorteil: Klar definierte und feste Schnittstelle zum statischen Logikteil. Schallenberg, Oppenheimer, Nebel 6/26

7 Grundlegende Sprachkonstrukte 1 Motivation und Ansatz 2 Grundlegende Sprachkonstrukte 3 Weiterführende Sprachkonstrukte 4 Ausblick, Zusammenfassung und Kooperationen Schallenberg, Oppenheimer, Nebel 7/26

8 Klassendeklarationen Grundlegende Sprachkonstrukte class CryptoAlgorithm { public: DURABLE_RECONFIGURABLE(CryptoAlgorithm); void encrypt(int & dataword); }; class Blowfish : public CryptoAlgorithm { public: TRANSIENT_RECONFIGURABLE(Blowfish, myclear); void myclear(); void encrypt(int & dataword); }; Auf TRANSIENT RECONFIGURABLE und DURABLE RECONFIGURABLE wird später eingegangen. Schallenberg, Oppenheimer, Nebel 8/26

9 ReconObject PolyDyn - Polymorphe Objekte Grundlegende Sprachkonstrukte Deklaration: class CryptoModule : public sc_module {... ReconObject< CryptoAlgorithm > crypto_object;... }; Verwendung im Thread: crypto_object = Blowfish(); RECON_OBJECT_PROCEDURE_CALL( crypto_object, encrypt(dataword) ); Schallenberg, Oppenheimer, Nebel 9/26

10 Reconfiguration-Controller Grundlegende Sprachkonstrukte Instanz eines Reconfiguration-Controllers: ReconfigurationController< ModifiedRoundRobin > controller_one; crypto object unter Kontrolle durch controller one: CONTROLLED_BY(crypto_module.crypto_object, controller_one); Schallenberg, Oppenheimer, Nebel 10/26

11 Timing PolyDyn - Polymorphe Objekte Grundlegende Sprachkonstrukte Zur zeitgenauen Simulation werden zusätzliche Angaben benötigt: DECLARE_TIME(controller_one, DES3, sc_time(3, SC_US), // 1) Attribute sc_time(300, SC_US)); // 2) Logik Zeitinformationen zu jedem Typ: 1 Speicher- und Restaurationszeit für Attribute 2 Rekonfigurationszeit für die Logik Die Speicher- und Restaurationszeit wird erst durch die fortgeschrittenen Sprachelemente genutzt. Schallenberg, Oppenheimer, Nebel 11/26

12 Simulation PolyDyn - Polymorphe Objekte Grundlegende Sprachkonstrukte Eigenschaften der Simulationsbibliothek: Einfügen von Kontrollcode vor und hinter jedem Zugriff auf oder jeder Zuweisung an ein ReconObject. Erwirkt, daß Zuweisungen an ReconObjects eine vorbestimmte Zeit dauern (angenommene Rekonfigurationszeit). Verhindert Kollisionen durch zeitlich überlappende Zugriffe und Rekonfigurationsanforderungen, die von verschiendenen Threads stammen. accesses time ReconObjects configuration lifetime time Schallenberg, Oppenheimer, Nebel 12/26

13 Weiterführende Sprachkonstrukte 1 Motivation und Ansatz 2 Grundlegende Sprachkonstrukte 3 Weiterführende Sprachkonstrukte 4 Ausblick, Zusammenfassung und Kooperationen Schallenberg, Oppenheimer, Nebel 13/26

14 Erinnerung PolyDyn - Polymorphe Objekte Weiterführende Sprachkonstrukte Bisheriger Zugriff auf ein ReconObject: RECON_OBJECT_PROCEDURE_CALL( crypto_object, encrypt(dataword) ); Implikation Der Designer muß Buch führen, welcher Kontext verfügbar ist, wenn das ReconObject angesprochen werden soll. Crypto Beispiel: Das Verarbeiten eines verschlüsselten Blowfish-Paketes erfordert, daß eine Konfiguration mit einer Blowfish-Routine verfügbar ist und das entsprechende Objekt mit den richtigen Kryptographieschlüsseln initialisiert ist. Schallenberg, Oppenheimer, Nebel 14/26

15 Identitäten PolyDyn - Polymorphe Objekte Weiterführende Sprachkonstrukte Identity< CryptoAlgorithm > blowfish_algorithm(crypto_object); Identity< CryptoAlgorithm > des3_algorithm(crypto_object);... blowfish_algorithm = Blowfish(); des3_algorithm = DES3();... RECON_OBJECT_PROCEDURE_CALL( blowfish_algorithm, encrypt(dataword) ); Schallenberg, Oppenheimer, Nebel 15/26

16 Eigenschaften PolyDyn - Polymorphe Objekte Weiterführende Sprachkonstrukte Jede Identität... gehört zu genau einem ReconObject repräsentiert einen Kontext des ReconObjects wird auf die gleiche Art bei Methodenaufrufen und Zuweisungen genutzt wie ein ReconObject koexistiert zeitlich zu anderen Identitäten des gleichen ReconObjects Anforderungen an das Laufzeitsystem sind... Zeit-Multiplexing der Identitäten (erfordert ggf. ein Ein- und Auslagern) Mechanismus zur Sicherung und Restauration von Attributswerten (Erfordert einen beschreibbaren Speicher) Schallenberg, Oppenheimer, Nebel 16/26

17 Attributssicherung und -restauration Weiterführende Sprachkonstrukte DECLARE_TIME(controller_one, DES3, sc_time(3, SC_US), // Attribute sc_time(300, SC_US)); // Logik Dies legt je 3 Mikrosekunden für die Attributssicherung und -restauration fest. DURABLE_RECONFIGURABLE(CryptoAlgorithm); TRANSIENT_RECONFIGURABLE(Blowfish, myclear); Die erste Anweisung deklariert alle Attribute als zu sichern. Die Zweite dagegen erlaubt das gezielte Ausblenden einiger Attribute. myclear() darf nur aus Zuweisungen von Konstanten an Attribute bestehen. Diese Konstanten werden als Restaurationswerte genutzt. Vorteile: Kleinerer Speicher und schnellere Kontextwechsel. Schallenberg, Oppenheimer, Nebel 17/26

18 Ausblick, Zusammenfassung und Kooperationen 1 Motivation und Ansatz 2 Grundlegende Sprachkonstrukte 3 Weiterführende Sprachkonstrukte 4 Ausblick, Zusammenfassung und Kooperationen Schallenberg, Oppenheimer, Nebel 18/26

19 Spracherweiterungen in Arbeit Ausblick, Zusammenfassung und Kooperationen Die nächste Sprachversion soll enthalten: Device-Typen (z.b. Typ Xilinx Virtex II Speed 4 ) Individuelle Scheduler für einzelne ReconObjects (u.a. vom Designer selbst implementierbar) Referenz für Identitäten Verbergen von Rekonfigurationszeiten Zur Diskussion stehen: Modellierung von Off-Chip Ressourcen, z.b. Speicher für Attributswerte oder Patternströme für die Rekonfiguration Sprachmittel für FPGAs mit mehreren Rekonfigurationsports Platzierungsgeometrien bei Rekonfigurationszeiten berücksichtigen Schallenberg, Oppenheimer, Nebel 19/26

20 Status PolyDyn - Polymorphe Objekte Ausblick, Zusammenfassung und Kooperationen Derzeitiger Stand Simulationen mit den vorgestellten Sprachelementen bereits lauffähig. To do Erweiterungen abschließen Viele Tests Synthesekonzept Übersetzen eines Designs von Hand Synthese Schallenberg, Oppenheimer, Nebel 20/26

21 Kooperation Erlangen Ausblick, Zusammenfassung und Kooperationen P1 Blowfish Pn crypto_object des PolyDyn blowfish P1 AES Pn P1 DES3 Pn des detect create CryptoAlgorithmen blowfish detect destroy o 2 create o 1 Design Space Exploration destroy Schallenberg, Oppenheimer, Nebel 21/26

22 Kooperation Paderborn Ausblick, Zusammenfassung und Kooperationen Schallenberg, Oppenheimer, Nebel 22/26

23 Ausblick, Zusammenfassung und Kooperationen Danke für Ihre Aufmerksamkeit! Schallenberg, Oppenheimer, Nebel 23/26

24 Klassen und Lebenszeiten Ausblick, Zusammenfassung und Kooperationen crypto_object des blowfish des detect create blowfish detect destroy create destroy Schallenberg, Oppenheimer, Nebel 24/26

25 Warum nicht ausschließlich Identitäten? Ausblick, Zusammenfassung und Kooperationen producer consumer encrypted data input buffer control triple des output buffer plain data static interface reconfigured area Beispiel mit 2 Threads und dem Entschlüsseln von Daten: Produzent: Muß den Algorithmus kennen für die Entschlüsselung Konsument: Gleichgültig, die die Daten entschlüsselt werden Schallenberg, Oppenheimer, Nebel 25/26

26 Einschränkungen PolyDyn - Polymorphe Objekte Ausblick, Zusammenfassung und Kooperationen Generell ReconObjects kennen die Ports der Module, in denen sie instanziiert werden, nicht. ReconObjects können nur umkonfiguriert werden, wärend kein Zugriff statt findet. Um diese Einschränkungen zu entfernen wäre ein Konzept nötig, daß das starten, stoppen, hinzufügen und entfernen von Prozessen zur Laufzeit gestatten würde. Hierzu ist derzeit kein robustes Konzept mit der gegenwärtigen Umgebung (SystemC Bibliothek, C++ Makroprozessor,...) verfügbar. Schallenberg, Oppenheimer, Nebel 26/26

DFG SPPRR 1148 Zwischenkolloquium. PolyDyn. Modellierung rekonfigurierbarer Systeme. Andreas Schallenberg Abteilung EHS, Uni Oldenburg

DFG SPPRR 1148 Zwischenkolloquium. PolyDyn. Modellierung rekonfigurierbarer Systeme. Andreas Schallenberg Abteilung EHS, Uni Oldenburg PolyDyn Modellierung rekonfigurierbarer Systeme Andreas Schallenberg Abteilung EHS, Uni Oldenburg DFG Zwischenkolloquium SPPRR 1148 01. und 02.06.2006 Darmstadt A. Schallenberg 1 Gliederung Die Basis:

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 2. Teil 18. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Objektorientierung in C++ (3) Aspekte der Vererbung (1) Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 546 Zuweisung bei Vererbung Dr. Frank Seifert Vorlesung

Mehr

II.1.1. Erste Schritte - 1 -

II.1.1. Erste Schritte - 1 - 1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1 - 1.

Mehr

Bounded Model Checking mit SystemC

Bounded Model Checking mit SystemC Bounded Model Checking mit SystemC S. Kinder, R. Drechsler, J. Peleska Universität Bremen {kinder,drechsle,jp}@informatik.uni-bremen.de 2 Überblick Motivation Formale Verifikation Äquivalenzvergleich Eigenschaftsprüfung

Mehr

Entwurf eines FPGA-Cores zur Simulationsbeschleunigung zeitkontinuierlicher Modelle im HiL Kontext

Entwurf eines FPGA-Cores zur Simulationsbeschleunigung zeitkontinuierlicher Modelle im HiL Kontext Entwurf eines FPGA-Cores zur Simulationsbeschleunigung zeitkontinuierlicher Modelle im HiL Kontext Till Fischer 03.11.2011 FZI Forschungszentrum Informatik Embedded Systems & Sensors Engineering (ESS)

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren

Mehr

II.1.1. Erste Schritte - 1 -

II.1.1. Erste Schritte - 1 - 1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1 - 1.

Mehr

High Performance Embedded Processors

High Performance Embedded Processors High Performance Embedded Processors Matthias Schwarz Hardware-Software-Co-Design Universität Erlangen-Nürnberg martin.rustler@e-technik.stud.uni-erlangen.de matthias.schwarz@e-technik.stud.uni-erlangen.de

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen

Mehr

Prof. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen

Prof. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Anonyme Klassen

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0 9 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Gerüstbeispiel Ein Duo, Quarto oder Sexto ist ein Gerüst. Die Klassen Duo, Quarto und Sexto sollen durch Vererbung

Mehr

II.1.1. Erste Schritte - 1 -

II.1.1. Erste Schritte - 1 - 1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1 - 1.

Mehr

Großer Beleg. Björn Gottschall Dresden,

Großer Beleg. Björn Gottschall Dresden, Implementierung eines Linux-Gerätetreibers zur dynamischen Allokation von isolierten Kommunikationskanälen zu partiell konfigurierten FPGA-Kernen in einem Zynq-System Großer Beleg Björn Gottschall Dresden,

Mehr

Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg 2. Objekte, Klassen, Kapselung

Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg 2. Objekte, Klassen, Kapselung Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg... 1 1.1 Objektorientierung: Konzepte und Stärken...... 1 1.1.1 Gedankliche Konzepte der Objektorientierung....... 2 1.1.2 Objektorientierung als

Mehr

Creational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05.

Creational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05. Creational Patterns Seminar Software-Entwurf WS 2004/05 Thomas Liro Inhaltsüberblick Einordnung des Themas Beschreibung von Design Pattern Auswahl von Design Patterns Was sind Creational

Mehr

Secure Real-time Communication

Secure Real-time Communication Dimitrios Savvidis, M.Sc. Tagung Echtzeit 2018 Echtzeit und Sicherheit Boppard am Rhein Inhalt Einleitung Sicherheit Realisierung Real-time FPGA Coder Echtzeit-Ethernet Schlüssel-Infrastruktur Fazit 2

Mehr

Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java. Software-Architektur basierend auf dem Plug-in-Konzept

Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java. Software-Architektur basierend auf dem Plug-in-Konzept Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java Software-Architektur basierend auf dem Plug-in-Konzept Aufteilung: Probleme mit normaler/alter Software Ziele des Software Engineerings Die

Mehr

Thread basierte partielle Rekonfiguration von SoC Systemen. Frank Opitz INF-M1 Anwendung 1 - Wintersemester 2009/

Thread basierte partielle Rekonfiguration von SoC Systemen. Frank Opitz INF-M1 Anwendung 1 - Wintersemester 2009/ Thread basierte partielle Rekonfiguration von SoC Systemen INF-M1 Anwendung 1 - Wintersemester 2009/2010 24. November 2009 Inhalt Motivation Zielsetzung dynamische Re-/Konfiguration von SoC FPGAs Auswahl

Mehr

Vererbung, Polymorphie

Vererbung, Polymorphie Vererbung, Polymorphie Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 21.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung, Polymorphie 21.1.08

Mehr

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5. Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1

Mehr

VHDL Grundelemente. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg

VHDL Grundelemente. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg VHDL Grundelemente Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009/2010 VHDL Grundelemente 1/15 2009-07-31 Inhalt Folgende

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte

Mehr

Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie

Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Anwendungsentwicklung mit Java Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Vererbung (1) 2 Problem: Objekte mit gleichen Attributen/Methoden, aber nicht völlig identisch, z.b., LKW, PKW,

Mehr

Objekt-orientierte Programmierung

Objekt-orientierte Programmierung Objekt-orientierte Programmierung Eine (sehr) kurze Einführung Daniel Lübke Gliederung Motivation Grundlagen (Objekte, Klassen, Vererbung) Interfaces Klassenvariablen

Mehr

Hybride Apps DPR und Android auf dem Xilinx ZYNQ. Endric Schubert, Missing Link Electronics Fabian Zentner, Univ. Ulm

Hybride Apps DPR und Android auf dem Xilinx ZYNQ. Endric Schubert, Missing Link Electronics Fabian Zentner, Univ. Ulm Hybride Apps DPR und Android auf dem Xilinx ZYNQ Endric Schubert, Missing Link Electronics Fabian Zentner, Univ. Ulm Konvergenz der Rechenplattformen Processing System Memory Interfaces 7 Series Programmable

Mehr

Automatisierte Rekonfiguration von Schnittstellen in eingebetteten Systemen

Automatisierte Rekonfiguration von Schnittstellen in eingebetteten Systemen Technische Universität Chemnitz Schwerpunktprogramm Rekonfigurierbare Rechensysteme Automatisierte Rekonfiguration von Schnittstellen in eingebetteten Systemen Professur Technische Informatik 12. Juni

Mehr

DyNoC. Konzepte für Temporale On-Chip-Netzwerke. SPP 1148 Zwischenkolloquium 2004 Bad Driburg

DyNoC. Konzepte für Temporale On-Chip-Netzwerke. SPP 1148 Zwischenkolloquium 2004 Bad Driburg DyNoC Konzepte für Temporale On-Chip-Netzwerke SPP 1148 Zwischenkolloquium 2004 Bad Driburg 01.07.04 02.07.04 Lehrstuhl Informatik 12 Dr. rer. nat., Mateusz Majer, Thilo Streichert, Prof. Dr.-Ing. Jürgen

Mehr

HS Technische Informatik

HS Technische Informatik Technische Universität Dresden Fakultät Informatik Institut Technische Informatik HS Technische Informatik Architektur eines dynamisch rekonfigurierbaren Rechnersystems Johannes.Goerner@mailbox.tu-dresden.de

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 13: Interfaces Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Interfaces Motivation Eigenschaften Besonderheiten Anonyme Klassen Lambda-Ausdrücke Praxis:

Mehr

Automatische Verteilung in Pangaea. André Spiegel Freie Universität Berlin

Automatische Verteilung in Pangaea. André Spiegel Freie Universität Berlin Automatische Verteilung in Pangaea André Spiegel Freie Universität Berlin Einführung Pangaea ist ein System, das zentralisierte Java-Programme automatisch verteilen kann basierend auf statischer Quelltextanalyse

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 16 Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 16 1 Einführung 2 Element-Klassen 3 Lokale Klassen 4 Anonyme Klassen

Mehr

FPGA Systementwurf. Rosbeh Etemadi. Paderborn University. 29. Mai 2007

FPGA Systementwurf. Rosbeh Etemadi. Paderborn University. 29. Mai 2007 Paderborn Center for Parallel l Computing Paderborn University 29. Mai 2007 Übersicht 1. FPGAs 2. Entwicklungssprache VHDL 3. Matlab/Simulink 4. Entwicklungssprache Handel-C 5. Fazit Übersicht FPGAs 1.

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

Programmieren in Java -Eingangstest-

Programmieren in Java -Eingangstest- Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit

Mehr

Java-Grundkurs für Wirtschaftsinformatiker

Java-Grundkurs für Wirtschaftsinformatiker Klaus-Georg Deck Herbert Neuendorf Java-Grundkurs für Wirtschaftsinformatiker Die Grundlagen verstehen - Objektorientierte Programmierung - Fortgeschrittene Konzepte kennenlernen - Betriebswirtschaftlich

Mehr

ReCoNodes: Optimierungsmethoden zur Steuerung

ReCoNodes: Optimierungsmethoden zur Steuerung Optimierungsmethodik zur Steuerung hardwarerekonfigurierbarer Knoten Prof.Dr.Sándor Fekete Mathematische Optimierung TU Baunschweig & Prof.Dr.-Ing Jürgen Teich Software-Hardware-Co-Design Universität Erlangen-Nürnberg

Mehr

Effiziente Überwachung von Laufzeiteigenschaften in Soft- und Hardware

Effiziente Überwachung von Laufzeiteigenschaften in Soft- und Hardware 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

Mehr

Modularisierung in Java: Pakete Software Entwicklung 1

Modularisierung in Java: Pakete Software Entwicklung 1 Modularisierung in Java: Pakete Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller Um zusammengehörende Klassen, Interfaces, etc. gemeinsam zu verwalten, Sichtbarkeiten einzugrenzen und

Mehr

Digital Design 5 Rechnergestützte Schaltungsentwicklung

Digital Design 5 Rechnergestützte Schaltungsentwicklung 5 Rechnergestützte Schaltungsentwicklung 5.1 Technologische Trends Richard Roth / FB Informatik und Mathematik Rechnergestützte Schaltungsentwicklung 1 Richard Roth / FB Informatik und Mathematik Rechnergestützte

Mehr

Klassen als Objekte. Smalltalk vs. Objective-C. Self-Nachrichten an Klassen in Objective-C. Klassen als Objekte. Smalltalk: Everything is an object

Klassen als Objekte. Smalltalk vs. Objective-C. Self-Nachrichten an Klassen in Objective-C. Klassen als Objekte. Smalltalk: Everything is an object Smalltalk vs. Objective-C Klassen als Objekte Klassendeklarationen Selektoren als first-class values Objekt-Erzeugung Implementierung: Eigene VM vs. Einbettung in C Smalltalk: Everything is an object Klassen

Mehr

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 14.1.

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 14.1. Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 14.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung 14.1.08 1 / 11 Übersicht 1

Mehr

Vorwort zur zweiten Auflage 1. Vorwort zur ersten Auflage 2

Vorwort zur zweiten Auflage 1. Vorwort zur ersten Auflage 2 Vorwort zur zweiten Auflage 1 Vorwort zur ersten Auflage 2 1 Über dieses Buch 3 1.1 WarumdiesesBuch?... 3 1.2 Voraussetzungen...... 4 1.3 Systematik... 4 1.4 WieliestmandiesesBuch?... 6 1.5 ZugriffaufdieQuellenzudenBeispielen...

Mehr

Analyse von Ansätzen zur Beschleunigung von SAT - Lösern durch dedizierte Hardware Komponenten

Analyse von Ansätzen zur Beschleunigung von SAT - Lösern durch dedizierte Hardware Komponenten Analyse von Ansätzen zur Beschleunigung von SAT - Lösern durch dedizierte Hardware Komponenten E. Zenker 9. November 2011 1 / 28 Gliederung 1. Field Programmable Gate Array - FPGA 2. Satisfiability Testing

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

OOP. Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten.

OOP. Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten. Polymorphismus OOP Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten. Vererbung: Erlaubt Code zwischen verwandten Typen wiederverwendet sein.

Mehr

Das Interface-Konzept am Beispiel der Sprache Java

Das Interface-Konzept am Beispiel der Sprache Java Das Interface-Konzept am Beispiel der Sprache Java Klaus Kusche, November 2013 Inhalt Motivation: Wozu braucht man Interfaces? Interfaces in Java Was spricht gegen die große Lösung? Voraussetzungen Kenntnisse

Mehr

Entwicklung eines FPGA basierten Distributed Computing System. Frank Opitz INF-M3 Seminar - Wintersemester 2010/11 26.

Entwicklung eines FPGA basierten Distributed Computing System. Frank Opitz INF-M3 Seminar - Wintersemester 2010/11 26. Entwicklung eines FPGA basierten Distributed Computing System INF-M3 Seminar - Wintersemester 2010/11 26. November 2010 Inhalt Motivation Dynamische Partielle Rekonfiguration Distributed Computing Zielsetzung

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

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Innere Klassen 13.06.07 1 / 11

Mehr

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe: Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -

Mehr

1 Klassen und Objekte

1 Klassen und Objekte 1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente

Mehr

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Exkurs: ANONYME KLASSEN Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Anonyme Klassen Eigenschaften 1 Häufigste Anwendung lokaler Klassen: anonyme Definition. Klasse erhält keinen eigenen

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

Zweck: sequentieller Zugriff auf Elemente eines Aggregats. mehrere Abarbeitungen des Aggregatinhalts

Zweck: sequentieller Zugriff auf Elemente eines Aggregats. mehrere Abarbeitungen des Aggregatinhalts Iterator (Cursor) Zweck: sequentieller Zugriff auf Elemente eines Aggregats Anwendungsgebiete: Zugriff auf Aggregatinhalt innere Darstellung bleibt gekapselt mehrere Abarbeitungen des Aggregatinhalts einheitliche

Mehr

Pakete Software Entwicklung 1

Pakete Software Entwicklung 1 Pakete Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller 1 Organisation von Klassen- und Interface-Deklaration Java-Programme bestehen aus Typdeklarationen, d.h. Klassen- und Interface-Deklarationen.

Mehr

Ein rekonfigurierbarer Controller für mechatronische Systeme

Ein rekonfigurierbarer Controller für mechatronische Systeme OTTO-VON-GUERICKE-UNIVERSITÄT MAGDEBURG INSTITUT FÜR MOBILE SYSTEME LEHRSTUHL MECHATRONIK Institut für Mobile Systeme LEHRSTUHL MECHATRONIK Zwischenkolloquium SPP 1148 in Darmstadt Ein rekonfigurierbarer

Mehr

Zweck: sequentieller Zugriff auf Elemente eines Aggregats

Zweck: sequentieller Zugriff auf Elemente eines Aggregats Iterator (Cursor) Zweck: sequentieller Zugriff auf Elemente eines Aggregats Anwendungsgebiete: Zugriff auf Aggregatinhalt innere Darstellung bleibt gekapselt mehrere Abarbeitungen des Aggregatinhalts einheitliche

Mehr

Programmieren in Java

Programmieren in Java Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware

Mehr

Objektorientierte Programmierung mit Java

Objektorientierte Programmierung mit Java David J. Barnes Michael Kölling Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Übersetzt von Axel Schmolitzky, Universität Hamburg PEARSON Studium ein Imprint von Pearson

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 7 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 21.10.2015 Technische Universität Braunschweig, IPS Überblick OO in Java Vererbung Abstrakte Klassen und Interfaces 21.10.2015 Dr. Werner Struckmann

Mehr

1 Einleitung Generizität Syntax... 2

1 Einleitung Generizität Syntax... 2 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung 1 1.1 Generizität................................ 1 1.2 Syntax.................................. 2 2 Realisierung 2 2.1 Compilierung generischer Klassen...................

Mehr

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält

Mehr

Objektorientierte Programmierung (OOP)

Objektorientierte Programmierung (OOP) orientierte Programmierung (OOP) 1. Motivation Die objektorientierte Sichtweise der Welt Als Motivation für die OOP sieht man sich am besten die reale Welt an: Die reale Welt besteht aus "en", z. B.: Gegenstände,

Mehr

COOL HASHING MIT FPGAS. Robert Bachran

COOL HASHING MIT FPGAS. Robert Bachran COOL HASHING MIT FPGAS Robert Bachran Dresden, 16.1.2012 Einführung Grundlagen Kriterien für gute Hashverfahren Grundlagen FPGAs Hashverfahren auf FPGAs Skein auf FPGA Evolutionäre Hashverfahren Energiesparendes

Mehr

14. Java Klassen. Klassen (Java) vs. Records (Pascal) Klassen - Konzeptuell. Klassen - Technisch

14. Java Klassen. Klassen (Java) vs. Records (Pascal) Klassen - Konzeptuell. Klassen - Technisch Klassen (Java) vs. Records (Pascal) 14. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung Pascal RECORDs in Pascal sind reine

Mehr

Inhaltsüberblick. I. Grundbegriffe - Objekte und Klassen. Organisatorisches. I. Grundbegriffe - Objektorientierte Konzepte

Inhaltsüberblick. I. Grundbegriffe - Objekte und Klassen. Organisatorisches. I. Grundbegriffe - Objektorientierte Konzepte Grundkonzepte Objektorientierter Programmierung Nicole Himmerlich FSU Jena mit Java, Oberon-2, Object-Pascal und Python Inhaltsüberblick I. Grundbegriffe 1) Kopplung 2) Datenkaspelung 3) Konstruktor 4)

Mehr

Programmieren 1 09 Vererbung und Polymorphie

Programmieren 1 09 Vererbung und Polymorphie Programmieren 1 09 Vererbung und Polymorphie Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 I. VERERBUNG 2 2 Vererbung Von Interfaces übernehmen

Mehr

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 / 20 Polymorphie/Späte Bindung Abstrakte Klassen Interfaces 2 / 20 Definition: Polymorphie Der Begriff Polymorphie (manchmal

Mehr

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3 Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................

Mehr

HSR Rapperswil 2001 Markus Rigling. Programmieren: Vererbung. 1 Variante 2

HSR Rapperswil 2001 Markus Rigling. Programmieren: Vererbung. 1 Variante 2 HSR Rapperswil 2001 Markus Rigling Programmieren: Vererbung 1 Variante 2 Inhaltsverzeichnis: 1. Was ist Vererbung...3 2. Anwendung...3 3. Realisierung...3 4. Vorgehensweise zur Erstellung einer Kind-Klasse...3

Mehr

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen

Mehr

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

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für

Mehr

Einführung in die Programmiersprache Java II

Einführung in die Programmiersprache Java II Einführung in die Programmiersprache Java II ??????????? UML OOP "Object oriented programming is bad" - professional retard 90s... UML Entwicklungsziele verschiedenen existierenden objektorienten Modellierungsmethoden

Mehr

Realisierung eines Speichermanagements zur Zugriffsvirtualisierung von konkurrierenden Nutzerdesigns auf Rekonfigurierbarer Hardware

Realisierung eines Speichermanagements zur Zugriffsvirtualisierung von konkurrierenden Nutzerdesigns auf Rekonfigurierbarer Hardware Fakultät Informatik, Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Realisierung eines Speichermanagements zur Zugriffsvirtualisierung von konkurrierenden

Mehr

Techniken der Projektentwicklungen

Techniken der Projektentwicklungen Dynamische Modellierung 8. Termin Rückblick auf statische Modellierung Dynamische Modellierung Basiskonzepte Beispiel Erweiterungen Eigenschaften Syntax Rückblick auf statische Modellierung Dynamische

Mehr

Sommersemester Implementierung I: Struktur

Sommersemester Implementierung I: Struktur Sommersemester 2003 Implementierung I: Struktur 2 Aufgabe 3 Implementierung I: Struktur Umfang: 1 Woche Punkte: 50 P. In den ersten beiden Aufgaben wurden die Struktur und das Verhalten des Systems modelliert.

Mehr

14. Java Klassen. Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung

14. Java Klassen. Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung 275 14. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung Klassen (Java) vs. Records (Pascal) 276 Pascal RECORDs in Pascal sind

Mehr

Hyperrekonfigurierbare Hardware - Modelle, Partitionierungsprobleme und Schedulingstrategien

Hyperrekonfigurierbare Hardware - Modelle, Partitionierungsprobleme und Schedulingstrategien Hyperrekonfigurierbare Hardware - Modelle, Partitionierungsprobleme und Schedulingstrategien Sebastian Lange Martin Middendorf Parallelverarbeitung und Komplexe Systeme Inhalt Einführung Hyperrekonfiguration

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener

Mehr

Kapitel 9: Klassen und höhere Datentypen. Selektoren

Kapitel 9: Klassen und höhere Datentypen. Selektoren Selektoren Üblicherweise erlaubt man keinen (direkten) öffentlichen (public) Zugang zu Objektvariablen mehr Kontrolle über Zugang interne Details besser verborgen Statt dessen: Zugriff auf privates Feld

Mehr

7. Objektorientierung. Informatik II für Verkehrsingenieure

7. Objektorientierung. Informatik II für Verkehrsingenieure 7. Objektorientierung Informatik II für Verkehrsingenieure Klassen, Objekte und Attribute Buslinie und Haltestellen 3 Haltestellen und deren Eigenschaften Bauplan einer Haltestelle (Struktur) Konkrete

Mehr

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]

Mehr

Das Ersetzbarkeitsprinzip

Das Ersetzbarkeitsprinzip Das Ersetzbarkeitsprinzip U ist Untertyp von T, wenn eine Instanz von U überall verwendbar ist, wo eine Instanz von T erwartet wird Dieses Ersetzbarkeitsprinzip benötigt man für den Aufruf einer Routine

Mehr

AW2. related work. Benedikt Johannsen INF-M2 Anwendung 2 - Sommersemester Juni 2010

AW2. related work. Benedikt Johannsen INF-M2 Anwendung 2 - Sommersemester Juni 2010 AW2 Ambient Intelligence Networks related work INF-M2 Anwendung 2 - Sommersemester 2010 02. Juni 2010 Gliederung Wiederholung AW1 Vergleichbare Projekte Hydra Middleware Amigo Common Information Model

Mehr

Modul A. Modul B. Bisheriger Ansatz für dynamisch und partiell rekonfigurierbare Systeme. Slot 0 Slot 1. Prozessor. Dynamischer Bereich

Modul A. Modul B. Bisheriger Ansatz für dynamisch und partiell rekonfigurierbare Systeme. Slot 0 Slot 1. Prozessor. Dynamischer Bereich DFG Mini Workshop Device Treiber für rekonfigurierbare Rechensysteme HW-ICAP API zur Anwendung der Read-, Modify-, Writeback-Methode für Xilinx Virtex-II FPGAs 8. 9. Dezember TU München Michael Hübner

Mehr

Vererbung und Polymorphie

Vererbung und Polymorphie Vererbung und Polymorphie Marc Satkowski, Sascha Peukert 29. September 2016 C# Kurs Gliederung 1. Methodenüberladung 2. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter

Mehr

Einführung in die Informatik 1

Einführung in die Informatik 1 Einführung in die Informatik 1 Klassen und Objekte in Java Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr,

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Einführung in die objektorientierte Programmierung 2 Einordnung in den Softwareentwicklungsprozess Softwareentwicklung mit JAVA Planung Entwurf Programmierung Test/Evaluation/Pflege

Mehr

Objektorientierte Sprachen

Objektorientierte Sprachen Objektorientierte Sprachen Eine Sprache, die Objekte unterstützt, heißt objektbasiert Eine klassenbasierte Sprache unterstützt zusätzlich Klassen Eine objektorientierte Sprache unterstützt zusätzlich die

Mehr

Vererbung I. Kfz Eigenschaften und Methoden der Klasse Kfz Lkw. Pkw. Eigenschaften und Methoden der Klasse Kfz

Vererbung I. Kfz Eigenschaften und Methoden der Klasse Kfz Lkw. Pkw. Eigenschaften und Methoden der Klasse Kfz Einführung in C++ Vererbung I Durch Vererbung können aus bereits bestehenden Klassen neue Klassen konstruiert werden. Die neue abgeleitete Klasse erbt dabei die Daten und Methoden der sog. Basisklasse.

Mehr

Symmetric Multiprocessing mit einer FPGA basierten. Marco Kirschke INF-M3 Seminar Wintersemester 2010/2011 25. November 2010

Symmetric Multiprocessing mit einer FPGA basierten. Marco Kirschke INF-M3 Seminar Wintersemester 2010/2011 25. November 2010 Symmetric Multiprocessing mit einer FPGA basierten MPSoC Plattform Marco Kirschke INF-M3 Seminar Wintersemester 2010/2011 25. November 2010 Inhalt Motivation Vorarbeiten Ziele für die Masterarbeit Vorgehensweise

Mehr

SOLID für.net und JavaScript

SOLID für.net und JavaScript SOLID für.net und JavaScript www.binarygears.de Stefan Dirschnabel Twitter: @StefanDirschnab #dncgn SOFTWARE ENTWICKLUNG BERATUNG SCHULUNG 5 Prinzipien für das Design von Software Wartbarer Code Leicht

Mehr

Programmierkurs C++ Polymorphismus

Programmierkurs C++ Polymorphismus Programmierkurs C++ Polymorphismus Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Polymorphismus Methoden von Oberklassen können in

Mehr

Polymorphie. 15. Java Objektorientierung II

Polymorphie. 15. Java Objektorientierung II 432 Polymorphie 15. Java Objektorientierung II Objektorientierung: Verschiedene Aspekte 433 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen zuweisen

Mehr

10. GI/ITG/GMM MBMV 2007

10. GI/ITG/GMM MBMV 2007 Architektur einer Flexiblen, Wiederverwendbaren Testbench zur Verifikation Paketverarbeitender Hardware in SystemC Stephan Kubisch, Harald Widiger, Ronald Hecht, Dirk Timmermann, Martin Siemroth Institut

Mehr

Lösungsvorschläge zur Nachklausur zum Kurs 1618 Sommersemester 2001 am

Lösungsvorschläge zur Nachklausur zum Kurs 1618 Sommersemester 2001 am Aufgabe 1 Lösungsvorschläge zur Nachklausur zum Kurs 1618 Sommersemester 2001 am 16.3.2002 Folgende Implementierung löst die gestellte Aufgabe : public interface Figur { public void anzeigen (); public

Mehr

ReCoNodes Routingbewusste Platzierung von Hardwaremodulen

ReCoNodes Routingbewusste Platzierung von Hardwaremodulen Routingbewusste Platzierung von Hardwaremodulen : Optimierungsmethoden zur 1 Projekt Optimierungsmethodik zur Steuerung hardwarekonfigurierbarer Knoten Prof. Dr. Sándor Fekete Prof. Dr.-Ing. Jürgen Teich

Mehr