Game Engine Architecture and Development. Einführung

Größe: px
Ab Seite anzeigen:

Download "Game Engine Architecture and Development. Einführung"

Transkript

1 Game Engine Architecture and Development Einführung

2 Wer sollte hier sein? Ihr interessiert euch für die technischen Hintergründe von Spielen Ihr wisst wie die Grafikpipeline aussieht 3D Mathematik ist euch kein Fremdwort Die Grundlagen aus AUD sind noch bekannt :)

3 Und wer nicht? Ihr braucht Credit Points Dies ist eine fakultative Veranstaltung Ihr wollt ein Spiel machen Dafür bietet Acagamics andere klasse Veranstaltungen an

4 Wer bin ich? Marc Appelsmeier Studiere Computervisualistik Arbeite neben dem Studium bei Trinigy (Game Engine Middleware Hersteller)

5 Wer seid ihr?

6 Literatur Game Engine Architecture von Jason Gregory Game Engine Gems, Volume One Real-Time Rendering, Third Edition GPU Pro: Advanced Rendering Techniques AI for Game Developers von David M. Bourg Das Web..

7 Der Plan Heute: Einführung / Auffrischung Die nächsten Termine: Spezifische Engine Subsysteme und auch Tools

8 Was ist eigentlich eine Game Engine?

9 Was ist eigentlich eine Game Engine? Die wiederwendbaren Teile eines Spiels die als Basis für neue Spiele genutzt werden können.

10 Game Engine Komponenten Gameplay Code / Script Binding / AI Sound System Szenen Verwaltung Serialisierung Rendering GUI Animations System Task System Partikel System Basis Bibliotheken (File I/O, Timer, Threads..) Low Level Renderer OS / Treiber Level

11 Grundlagen

12 Grundlagen Datenstrukturen

13 Datenstrukturen Datenstrukturen die uns über den Weg laufen werden: Listen (LinkedList, DoubleLinkedList) Arrays / Vector Stacks Hash-Maps Bäume

14 Listen (LinkedList, DoubleLinkedList) Einfach oder doppelt verkettete Listen Element einfügen: O(1) Zugriff auf das n-te Element: O(n) Element entfernen: O(1) Bedeutet normalerweise viele kleine Allokationen

15 Arrays / Vector Dynamisch wachsendes Array (C++: std::vector) Element anhängen: üblicherweise O(1) Zugriff auf das n-te Element: O(1) Element entfernen: O(n) Deutlich weniger Allokationen als eine Liste Nett: Elemente liegen garantiert kontinuierlich im Speicher!

16 Bäume Übliche Bäume im Bereich Game Development: BSP trees Quadtrees Octrees kd-trees BVH (Bounding volume hierarchy)

17 BSP Trees Die Szene wird rekursiv an Split-Planes in Zwei geteilt Lange Zeit Standard (vor allem im FPS Bereich) Einige Engines nutzen sie noch heute (zum Beispiel die Source Engine)

18 Quadtrees Jeder Knoten hat vier Kinder Wird öfters für Verwaltung von zwei dimensionalen Datensätzen verwendet (Texturen, Terrain,..)

19 Octree Jeder Knoten hat acht Kinder Geeignet für 3D Daten Bilder:

20 kd-trees kd-trees erlauben eine Organisation von Punkten in einem k-dimensionalen Raum Erlauben durch ihre Struktur ein schnelles finden von Nachbarn zu Baumknoten

21 BVH Bounding Volume Hierarchies sind einfache Bäume die die Bounding Volumes um Objekte hierarchisch anordnen Gut für 3D Daten (zum Beispiel Szenen) Aber auch 2D geht ohne Probleme (GUI)

22 Grundlagen Design Patterns

23 Design Patterns Singletons Iteratoren Observer Dependency Injection Plugins

24 Singletons Verhindert das Erstellen von mehr als einer Instanz eines Objektes Diese Instanz ist auch üblicherweise global verfügbar Singletons are evil (?) Na ja, ein wenig.. Wie immer gilt: Du solltest wissen was du tust!

25 Iteratoren (Cursor) Iteratoren stellen einen bequemen sequenziellen Zugriff auf die Inhalte einer Struktur bereit (Ohne das man die zugrundeliegende Struktur kennen muss) Praktisch zum Beispiel in der Szenenverwaltung Man kann einfach über alle Objekte iterieren ohne wissen zu müssen ob die Objekte jetzt in einem Octree oder in einer Liste liegen.

26 Observer Pattern Auch bekannt als Signal-Slot Prinzip Erlaubt über Änderungen in einem Objekt informiert zu werden Input Handling, Objekte wurden zerstört, Spieler läuft in einen Trigger...

27 Dependency Injection Verschiedene Varianten Constructor Injection, Setter Injection,.. Für uns meistens am interessantesten: Constructor Injection Wir geben einem Objekt bei der Erstellung andere benötigte Objekte mit Beispiel: Unser GUI System muss sich darstellen können, dazu braucht es den Renderer Mit CI übergeben wir den Renderer und brauchen ihn somit nicht als globale Variable herumliegen haben

28 Plugins Wie der Name sagt - dieses Design Pattern steht für eine Plugin basierte Architektur (zum Beispiel Interface basiert) Beliebt in Game Engines da man so die Funktionalität erweitern kann ohne große Teile des Codes neukompilieren zu müssen etc.

29 Grundlagen Reference Counting / Smart Pointer

30 Reference Counting Kann verwendet werden um zu tracken wieviele Objekte auf ein anderes angewiesen sind Einfaches Prinzip: Jedes Objekt hat einen sogenannten Reference Counter Dieser kann mittels AddRef() erhöht und mittels Release() verringert werden.

31 Smart Pointer Ein Smart Pointer ist im einfachsten Fall eine Kapselung um ein Objekt mit Reference Counting Beim Anlegen eines Smart Pointers wird der Reference Counter automatisch erhöht Sobald der Smart Pointer zerstört wird wird der Reference Count verringert Ist der Reference Count des Objektes 0 kann es gelöscht werden

32 Grundlagen CPUs

33 CPUs sind schnell! Leider ist das Arbeitsspeicher Tempo nicht im gleichem Umfang gewachsen.. Was bedeutet das für uns?

34 CPU Caches Die Grundlage für eine schnelle Verarbeitung von Daten besteht darin die CPU zu kennen und wie die Caches funktionieren Wenn Daten verarbeitet werden fetcht die CPU die zu bearbeitenden Daten in die Cache Lines. Sind diese wild über den Speicher verteilt verringert sich die Wahrscheinlichkeit das nachfolgende Elemente bereits im Cache sind

35 CPU Caches: Partikel Array of Structures (AOS) Structure of Arrays (SOA)

36 Warum unterhalten wir uns darüber?

37 Warum unterhalten wir uns darüber? In einer Game Engine muss alles schnell gehen Bei 60 FPS haben wir 16,67ms Zeit (!) Die richtige Wahl der Algorithmen und Datenstrukturen bedeutet oftmals den größten Unterschied zwischen einer Engine die nur OK ist und einer Engine die sehr gut ist und auch gut skaliert. Die besten CPUs und GPUs nutzen nichts wenn die Engine sie nicht richtig füttert

38 Eine kurze Verschnaufpause Gibt es soweit Fragen?

39 Resource Management

40 Resource Management Eine der essentiellsten Komponenten einer Game Engine Ohne Resourcen Verwaltung gibt es keine Texturen, Shader, Sounds, Geometrie,.. Fehler auf der Ebene des Resource Managments wirken sich stark auf den Rest der Engine aus (Sowohl konzeptionell als auch Laufzeitfehler)

41 Resource Management Mögliche Resourcen in einem Spiel Texturen Models / Meshes Animationen Skripte Sounds Partikelsysteme...

42 Resource Managment: Anforderungen Einfach Sprich: LoadResource( Pfad ) und fertig Fehlertolerant Eine fehlende Resource sollte nicht zum Absturz führen Sollte Speicher Limits beachten Sollte nicht mehr benötigte Resourcen aufräumen können Resourcen Tracking ist auch eine feine Sache

43 Resourcen Laden Zwei Ansätze primär verbreitet Für jeden Resourcen Typ einen Manager TextureManager::LoadResource( MyTexture ) Diese Manager leiten von einer Basis Klasse ResourceManager ab

44 Resourcen Laden Für alle Resourcen ein geteilter Manager Dieser hat dann entweder den Code für alle Resourcen Typen oder spezielle Resourcen Lader ResourceManager::LoadResource( MyTexture ) (nach ResourceManager::RegisterLoader(new TextureLoader(); )

45 Fehlertoleranz Es passiert häufig das eine Resource nicht vorhanden ist Vergessen etwas zu kopieren, Nutzer hat Dateien gelöscht,.. Um Probleme wie Abstürze zu vermeiden kann es hilfreich sein sogenannte Fallback Resourcen bereit zu halten Zum Beispiel eine (penetrante) Textur die verwendet wird wenn die eigentlich angeforderte nicht gefunden wird

46 Resourcen Tracking Resourcen sollten nach dem Laden (oder wenn möglich vorher) dem System mitteilen können wieviel Speicher sie verbrauchen (Host / GPU) Damit kann zum Beispiel bei einem Speicherlimit das Aufräumen der ältesten Resourcen angestoßen werden um Platz zu schaffen Andererseits hilft es auch beim Profiling ungemein zu wissen wohin der Speicher verschwindet

47 Resourcen Freigabe Egal welches Konzept: RM sollte eine Liste der verwalteten Resourcen mitführen Am besten sind die Resourcen RefCounted um unbenutzte Resourcen zu finden Diese können dann entladen werden um Speicher freizugeben

48 Programmier Aufgabe Die (freiwillige) Aufgabe für nächstes mal: (Pseudo-) Code für eine Resourcen Verwaltung in einer Engine Es muss nicht das komplette Textur laden etc. eingebaut sein Bringt eure Ansätze mit damit wir kurz darüber reden können

49 Das war es für heute! Nächster Termin: Dienstag, Thema: Platform Unabhängiger Code, Multi Threading

50 PS: Für die Grafikinteressierten - am Donnerstag ist das Echtzeitgrafiktreffen (17 Uhr im 335)

Game Engine Architecture and Development. Platform Unabhängiger Code Multi Threading in Game Engines Profiling

Game Engine Architecture and Development. Platform Unabhängiger Code Multi Threading in Game Engines Profiling Game Engine Architecture and Development Platform Unabhängiger Code Multi Threading in Game Engines Profiling Folien Die Folien werden auf acagamics.de hochgeladen Das Passwort ist 60fps (ohne ) Rückblick:

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53

Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53 Vorwort......................................................... 13 1 Vorbereitungen.................................................. 17 1.1 JDK-Installation unter Windows................................

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Architektur von Game-Engines

Architektur von Game-Engines > Architektur von Game-Engines Seminar Arbeitsgruppe Visualisierung und Computergrafik 2 > Aufbau und Komponenten einer Engine 3 > Aufbau und Komponenten einer Game-Engine 4 > Aufbau und Komponenten einer

Mehr

Grundlegende Algorithmen

Grundlegende Algorithmen 3D Spieleprogrammierung Grundlegende Algorithmen Übersicht Game Loop Spielarchitektur Aufäumen von Strukturen Vorbereiten für spätere Aufgaben Bewegungen Zeitmessung Zeitunabhängigkeit GameLoop Game Engine

Mehr

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert Inhalt Einführung 1. Arrays 1. Array unsortiert 2. Array sortiert 3. Heap 2. Listen 1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert 3. Bäume

Mehr

SEP 325. Notwendigkeit. häufige Situation: Programm funktioniert im Prinzip fehlerfrei, aber nicht mit gewünschter Performanz

SEP 325. Notwendigkeit. häufige Situation: Programm funktioniert im Prinzip fehlerfrei, aber nicht mit gewünschter Performanz Optimierungen SEP 325 Notwendigkeit häufige Situation: Programm funktioniert im Prinzip fehlerfrei, aber nicht mit gewünschter Performanz Symptome des Mangels an Performanz: OutOfMemoryError wird geworfen

Mehr

Blöcke und Grand Central Dispatch

Blöcke und Grand Central Dispatch Blöcke und Grand Central Dispatch Multithreading ist ein Thema, mit dem sich alle Programmierer bei der modernen Anwendungsentwicklung beschäftigen müssen. Selbst wenn Sie glauben, dass Ihre Anwendung

Mehr

Betriebssysteme Kap A: Grundlagen

Betriebssysteme Kap A: Grundlagen Betriebssysteme Kap A: Grundlagen 1 Betriebssystem Definition DIN 44300 Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten

Mehr

Windows CE. Process Control and Robotics. Fabian Garagnon

Windows CE. Process Control and Robotics. Fabian Garagnon Windows CE Process Control and Robotics Fabian Garagnon 14.01.2009 Agenda 3 Geschichte & Timeline Echtzeit & Multithreading Architektur Memory Management & Context Switch Entwicklung unter CE Interrupts

Mehr

Effiziente Java Programmierung

Effiziente Java Programmierung Effiziente Java Programmierung Seminar Implementierung moderner virtueller Maschinen am Beispiel von Java SS 2009 von Reinhard Klaus Losse 20. Mai 2009 Gliederung Definition Effizienz Werkzeuge zum Messen

Mehr

Seminar Game Development Game Computer Graphics. Einleitung

Seminar Game Development Game Computer Graphics. Einleitung Einleitung Gliederung OpenGL Realismus Material Beleuchtung Schatten Echtzeit Daten verringern Grafik Hardware Beispiel CryEngine 2 Kristian Keßler OpenGL Was ist OpenGL? Grafik API plattform- und programmiersprachenunabhängig

Mehr

1. Übung zu "Numerik partieller Differentialgleichungen"

1. Übung zu Numerik partieller Differentialgleichungen 1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:

Mehr

Java Einführung Collections

Java Einführung Collections Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...

Mehr

Algorithmen und Datenstrukturen Bereichsbäume

Algorithmen und Datenstrukturen Bereichsbäume Algorithmen und Datenstrukturen Bereichsbäume Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Einführung k-d Baum BSP Baum R Baum Motivation

Mehr

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131 Architekturen Von der DB basierten zur Multi-Tier Anwendung DB/CRM (C) J.M.Joller 2002 131 Lernziele Sie kennen Design und Architektur Patterns, welche beim Datenbankzugriff in verteilten Systemen verwendet

Mehr

AK Medientechnologien Hello World. Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/

AK Medientechnologien Hello World. Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/ AK Medientechnologien Hello World Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/ Übersicht Demo-Applikation: Hello World Rückblick auf einzelne Schritte Entwicklungswerkzeuge

Mehr

Java Desktop Anwendungen

Java Desktop Anwendungen 5 1 Java Desktop Anwendungen das Problem: Desktop-Anwendungen werden mit Hilfe der Swing- Bibliothek programmiert, aber die Swing-Bibliothek ist riesig und unübersichtlich es gab kein Programmiergerüst

Mehr

Darstellung komplexer 3D-Stadtmodelle im (mobilen) Webbrowser mittels bildbasiertem Rendering

Darstellung komplexer 3D-Stadtmodelle im (mobilen) Webbrowser mittels bildbasiertem Rendering Darstellung komplexer 3D-Stadtmodelle im (mobilen) Webbrowser mittels bildbasiertem Rendering Martin Christen FHNW Hochschule für Architektur, Bau und Geomatik Institut Vermessung und Geoinformation martin.christen@fhnw.ch

Mehr

PowerBridge MSSQL Beta

PowerBridge MSSQL Beta SoftENGINE PowerBridge MSSQL Beta Dokumentation Thomas Jakob 17.04.2011 Inhalt Einrichtung der SQL Umgebung... 3 SQL-Server Installieren... 3 BüroWARE Installieren... 3 PowerBridge-SQL Modus einrichten...

Mehr

Komponentenbasierte Softwareentwicklung mit PHP. Oliver Schlicht - bitexpert

Komponentenbasierte Softwareentwicklung mit PHP. Oliver Schlicht - bitexpert Komponentenbasierte Softwareentwicklung mit PHP Oliver Schlicht - bitexpert Überblick 1. Was ist eine Komponente? 2. Entwicklung eines Beispieldesigns 3. Dependency Injection 4. DI Container Garden 5.

Mehr

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

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

Mehr

Erster Schritt mit Mocha:

Erster Schritt mit Mocha: Was ist Mocha for After Effects CS4? Mocha ist ein Advanced Tracking System das im Gegensatz zu After Effects nicht auf Pixeln und Kontrastkanten basiert, sondern auf Formen die unter Mustererkennung im

Mehr

Computer Graphik I Intro

Computer Graphik I Intro Computer Graphik I Intro 1 Ziele Modellierung 2 Ziele Bildgenerierung 3 Anwendungen Ausgabe 4 Kontakt Marc Alexa TU Berlin Computer Graphik marc.alexa@tu- berlin.de Raum EN 717 hep://www.cg.tu- berlin.de

Mehr

Entwicklung eines Mac OS X Treibers für eine PCI-VME Interface Karte

Entwicklung eines Mac OS X Treibers für eine PCI-VME Interface Karte Entwicklung eines Mac OS X Treibers für eine PCI-VME Interface Karte Matthias Lange Informatikstudent, TU-Dresden 27. September 2005 http://www.matze-lange.de Warum entwickelt jemand einen Treiber für

Mehr

Rich Internet Applications, Flex & Mate. (Ja, das ist Grafische Benutzeroberflächen!) 18.03.2010 Jakob Külzer jakob.kuelzer@gmail.

Rich Internet Applications, Flex & Mate. (Ja, das ist Grafische Benutzeroberflächen!) 18.03.2010 Jakob Külzer jakob.kuelzer@gmail. Rich Internet Applications, Flex & Mate (Ja, das ist Grafische Benutzeroberflächen!) 18.03.2010 Jakob Külzer jakob.kuelzer@gmail.com Überblick Mein Thema im Überblick 1. Definitionen 2. Rich Internet Applications

Mehr

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme Agenda Mobile Agenten allgemein JADE - Java Agent DEvelopment Framework Anwendungsfall

Mehr

Pattern Praxis Techniken lassen sich wiederholt anwenden: Wieviele Substrings hat es im Wort Restaurant? Wie zeichne ich aus einer römischen IX mit einem zusätzlichen Strich eine Sechs? Was bedeutet: DER

Mehr

Hadoop. Simon Prewo. Simon Prewo

Hadoop. Simon Prewo. Simon Prewo Hadoop Simon Prewo Simon Prewo 1 Warum Hadoop? SQL: DB2, Oracle Hadoop? Innerhalb der letzten zwei Jahre hat sich die Datenmenge ca. verzehnfacht Die Klassiker wie DB2, Oracle usw. sind anders konzeptioniert

Mehr

Das SR4 bietet eine Reihe von Verbesserung und behebt kleinere bekannte Probleme aus den Bereichen:

Das SR4 bietet eine Reihe von Verbesserung und behebt kleinere bekannte Probleme aus den Bereichen: Smith Micro Software, Inc. und das Poser-Team freuen sich mitteilen zu dürfen, dass das Poser Pro 2014 Service Release 4 (SR4) ab sofort für Mac OS X und Windows verfügbar ist. Das SR4 wird ihre Poser-Vollversion

Mehr

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi 06.09.10 1

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi 06.09.10 1 Kapitel 1 Einstieg in Java Dr. Elham Firouzi 06.09.10 1 1 : Einstieg in Java Einleitung Ein erstes Beispiel Berner Fachhochschule Entwicklung von Java-Programmen Applikationen Applets Vor und Nachteile

Mehr

Skalierbare Webanwendungen mit Python und Google App Engine

Skalierbare Webanwendungen mit Python und Google App Engine Skalierbare Webanwendungen mit Python und Google App Engine Oliver Albers 03. Juli 2008 1/32 Einführung Worum geht es? Pro und Contra Technik Genereller Aufbau Anwendungskonfiguration Verarbeitung von

Mehr

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit

Mehr

OpenStack bei der SAP SE

OpenStack bei der SAP SE OpenStack bei der SAP SE Integration bestehender Dienste in OpenStack dank Workflow Engine und angepasstem Webinterface 23. Juni 2015 Christian Wolter Linux Consultant B1 Systems GmbH wolter@b1-systems.de

Mehr

Vorwort. Ulrich Breymann. Der C++-Programmierer. C++ lernen - Professionell anwenden - Lösungen nutzen ISBN: 978-3-446-41644-4

Vorwort. Ulrich Breymann. Der C++-Programmierer. C++ lernen - Professionell anwenden - Lösungen nutzen ISBN: 978-3-446-41644-4 Vorwort Ulrich Breymann Der C++-Programmierer C++ lernen - Professionell anwenden - Lösungen nutzen ISBN: 978-3-446-41644-4 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41644-4

Mehr

Datenhaltung für Android. Model First

Datenhaltung für Android. Model First Datenhaltung für Android Model First Frederik Götz, Johannes Tysiak 26.05.2011 Unser Ziel! 26.05.2011 Datenhaltung in Android - Model First» Frederik Götz, Johannes Tysiak 2 Agenda Android Quickstart Datenhaltung

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin

Mehr

Einführung in COM. 04.04.2006 Seite 1

Einführung in COM. 04.04.2006 Seite 1 Einführung in COM 04.04.2006 Seite 1 Ziele Sie kennen die Funktion der Registry für COM Sie können die Struktur eines COM-Objekts erklären Sie können erklären, wie ein remote-server gestartet wird 04.04.2006

Mehr

Konzepte von Betriebssystem Komponenten. Aufbau eines Modernen Betriebssystems (Windows NT 5.0)

Konzepte von Betriebssystem Komponenten. Aufbau eines Modernen Betriebssystems (Windows NT 5.0) Konzepte von Betriebssystem Komponenten Aufbau eines rnen Betriebssystems (Windows NT 5.0) Moritz Mühlenthaler 14.6.2004 1.Das Designproblem a) Überblick b) Design Goals c) Möglichkeiten der Strukturierung

Mehr

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock

Mehr

Design Patterns 2. Model-View-Controller in der Praxis

Design Patterns 2. Model-View-Controller in der Praxis Design Patterns 2 Model-View-Controller in der Praxis Design Patterns Oft Schablonen für eine Klassenstruktur... aber nicht immer! Dahinterliegende Konzepte wichtiger als wörtliche Umsetzung Pattern werden

Mehr

Überblick Echtzeit-Rendering. Uwe Domaratius dou@hrz.tu-chemnitz.de

Überblick Echtzeit-Rendering. Uwe Domaratius dou@hrz.tu-chemnitz.de Überblick Echtzeit-Rendering Uwe Domaratius dou@hrz.tu-chemnitz.de Gliederung 1. Einleitung 2. geometriebasierende Verbesserungen 3. Level-of-Detail 4. Culling 5. Texturen 6. bildbasiertes Rendering Was

Mehr

(allgemeine) OOP in C++ Klassen und header-files Konstruktorn / Destruktoren Speicherverwaltung C++ Standard Library / SLT

(allgemeine) OOP in C++ Klassen und header-files Konstruktorn / Destruktoren Speicherverwaltung C++ Standard Library / SLT Architektur Übersicht (allgemeine) OOP in C++ Polymorphie Virtuelle Funktionen Kompilieren Linken dynamische/statische Bibliotheken Tutorial: vs2008+ogre+(campus modell) Architektur (allgemeine) OOP in

Mehr

VIRTUALISIERUNG IN MIKROKERN BASIERTEN SYSTEMEN

VIRTUALISIERUNG IN MIKROKERN BASIERTEN SYSTEMEN Fakultät Informatik Institut für Systemarchitektur, Professur Betriebssysteme VIRTUALISIERUNG IN MIKROKERN BASIERTEN SYSTEMEN Henning Schild Dresden, 5.2.2009 Definition Einführung von Abstraktionsschichten

Mehr

Clemens Gull. Joomlal-Extensions. mit PHP entwickeln. Mit 322 Abbildungen

Clemens Gull. Joomlal-Extensions. mit PHP entwickeln. Mit 322 Abbildungen Clemens Gull Joomlal-Extensions mit PHP entwickeln Mit 322 Abbildungen 11 Inhaltsverzeichnis 1 Einführung 15 1.1 Wasistjoomla? 15 1.1.1 Content-Management-System 15 1.1.2 Open-Source-Software 16 1.2 Der

Mehr

Dynamische Plug-ins mit Eclipse 3. Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org)

Dynamische Plug-ins mit Eclipse 3. Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org) Dynamische Plug-ins mit Eclipse 3 Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org) Überblick Die Ausgangslage Dynamische Plug-ins Warum? Eclipse 3 Die OSGi-basierte

Mehr

d e S I G n & d e v e L O P M e n T TYPO3 AdvAnced

d e S I G n & d e v e L O P M e n T TYPO3 AdvAnced DESIGN & DEVELOPMENT TYPO3 Advanced 1 Einleitung / Inhalt 2 / 13 Einleitung Dieses Dokument weist Sie durch die Funktion des Open Source CMS TYPO3. In wenigen, einfachen Schritten wird Ihnen bebildert

Mehr

Ogre Einführung Teil 1

Ogre Einführung Teil 1 Inhalt -Einleitung -Installieren und Einrichten von Ogre -Die erste Anwendung Ogre Einführung Teil 1 Einleitung Eine 3D Engine ist eine sehr komplexe Software und besteht aus mehreren tausend Zeilen Programmcode.

Mehr

OpenCL Implementierung von OpenCV Funktionen

OpenCL Implementierung von OpenCV Funktionen Multi-Core Architectures and Programming OpenCL Implementierung von OpenCV Funktionen julian.mueller@e-technik.stud.uni-erlangen.de Hardware/Software Co-Design August 18, 2011 1 Table of content 1 OpenCL

Mehr

oscan ein präemptives Echtzeit-Multitasking-Betriebssystem

oscan ein präemptives Echtzeit-Multitasking-Betriebssystem ein präemptives Echtzeit-Multitasking-Betriebssystem 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V0.9 2011-10-12 Management

Mehr

LabVIEW Power Programming. Amadeo Vergés www.zuehlke.com

LabVIEW Power Programming. Amadeo Vergés www.zuehlke.com LabVIEW Power Programming Aus der Praxis für die Praxis Amadeo Vergés www.zuehlke.com LabVIEW Power Programming Aus der Praxis für die Praxis the same procedure as every year? Running gags in der LabVIEW

Mehr

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015. Vorlesung 5, Donnerstag, 20.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015. Vorlesung 5, Donnerstag, 20. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 5, Donnerstag, 20. November 2014 (Wie baut man eine Hash Map, Universelles Hashing)

Mehr

Enterprise Java Beans Einführung

Enterprise Java Beans Einführung Enterprise Java Beans Einführung Vorlesung 8 Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht EJBs im JEE Umfeld Verschiedene Typen von EJBs Von der Javaklasse

Mehr

Generic Quickstart Guide zuerst Email: Tel: Flashtalking Creative Interface http://www.flashtalking.net/creative

Generic Quickstart Guide zuerst Email: Tel: Flashtalking Creative Interface http://www.flashtalking.net/creative Generic Quickstart Guide!!! Sollten Sie bisher noch keine Zugangsdaten für unser System haben, wenden Sie sich bitte zuerst an Ihr Flashtalking Team. Email: studiode@flashtalking.com Tel: +49 221 922 350

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

Mehr

C++-Entwicklung mit Linux

C++-Entwicklung mit Linux C++-Entwicklung mit Linux Eine Einführung in die Sprache und die wichtigsten Werkzeuge von GCC und XEmacs bis Eclipse Thomas Wieland [Druckvorlage vom 10. August 2004] xiii Inhaltsverzeichnis 1 Programmieren

Mehr

1. Einleitung. 1.1 Motivation. 1.2 Ziel der Arbeit. 1.3 Danksagung

1. Einleitung. 1.1 Motivation. 1.2 Ziel der Arbeit. 1.3 Danksagung 1. Einleitung 1.1 Motivation Im Fach Systemprogrammierung des Informatik-Grundstudiums lernen die Studenten die Assembler-Sprache des Sparc-Mikroprozessors [6] kennen. Um mit dem Befehlssatz zu experimentieren,

Mehr

ROOT Tutorial für HEPHY@CERN. D. Liko

ROOT Tutorial für HEPHY@CERN. D. Liko ROOT Tutorial für HEPHY@CERN D. Liko Was ist ROOT? Am CERN entwickeltes Tool zur Analyse von Daten Funktionalität in vielen Bereichen Objekte C++ Skriptsprachen Was kann ROOT Verschiedene Aspekte C++ as

Mehr

Applikationsentwicklung Architekturübungen

Applikationsentwicklung Architekturübungen Applikationsentwicklung Architekturübungen Aufgabe : Systeme und Subsysteme Gegeben ist das umfangreiche Softwaresystem eines modernen Passagierflugzeuges von der Steuerung und Navigation bis zum Bordunterhaltungssysstem

Mehr

"15 Jahre APM - Wieso haben heutige Projekte immer noch Performance Probleme?"

15 Jahre APM - Wieso haben heutige Projekte immer noch Performance Probleme? "15 Jahre APM - Wieso haben heutige Projekte immer noch Performance Probleme?" Dienstag, 13. Mai 2014-16:45 bis 17:45 Goldsaal B JAX 2014 Stefan Siegl Stefan.siegl@novatec-gmbh.de NovaTec Consulting GmbH

Mehr

Sortierverfahren für Felder (Listen)

Sortierverfahren für Felder (Listen) Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es

Mehr

Transparente Nutzung von Multi-GPU Cluster unter Java/OpenMP

Transparente Nutzung von Multi-GPU Cluster unter Java/OpenMP Transparente Nutzung von Multi-GPU Cluster unter Java/OpenMP Dipl. Inf. Thorsten Blaß Programming Systems Group Martensstraße 3 91058 Erlangen Ausblick Motivation Einführung Java/OpenMP (JaMP) JaMP Sprache

Mehr

COMPUTERGRAFIK 2014 UNIVERSITÄT OSNABRÜCK. Niels Meyering

COMPUTERGRAFIK 2014 UNIVERSITÄT OSNABRÜCK. Niels Meyering COMPUTERGRAFIK 2014 UNIVERSITÄT OSNABRÜCK Niels Meyering 0 WAS IST BLENDER? 3D-Grafik-Software Open Source (GPL-lizenziert) FEATURES Modellierung Animation Rendering (zwei eingebaute Renderer) Compositing

Mehr

Sicherheit wird messbar Lösungsansätze und Methoden. Email Case. 15. September 2009, Hotel St. Gotthard, Zürich

Sicherheit wird messbar Lösungsansätze und Methoden. Email Case. 15. September 2009, Hotel St. Gotthard, Zürich Sicherheit wird messbar Lösungsansätze und Methoden Email Case 15. September 2009, Hotel St. Gotthard, Zürich ActiveSync Div. Email Landschaft PeerToPeer -USB -Bluetooth Smart phone Netzwerk - Ethernet

Mehr

Design Patterns. 5. Juni 2013

Design Patterns. 5. Juni 2013 Design Patterns 5. Juni 2013 Überblick Was sind Design Patterns? Welche Design Patterns gibt es? Wann sollte man Design Patterns einsetzen? Refactoring und Design Patterns: Welchen Zusammenhang gibt es

Mehr

Technologische Entwicklung von GIS und Internet der letzten Jahre

Technologische Entwicklung von GIS und Internet der letzten Jahre Technologische Entwicklung von GIS und Internet der letzten Jahre 10. Seminar GIS & Internet 10. bis 12. September 2007 UniBwMünchen Dr. Christine Giger Übersicht GIS vor 30 Jahren GIS vor 20 Jahren GIS

Mehr

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH ARM Cortex-M Prozessoren Referat von Peter Voser Embedded Development GmbH SoC (System-on-Chip) www.embedded-development.ch 2 Instruction Sets ARM, Thumb, Thumb-2 32-bit ARM - verbesserte Rechenleistung

Mehr

Inhaltsverzeichnis. Danksagungen... 11

Inhaltsverzeichnis. Danksagungen... 11 Danksagungen............................................ 11 Einführung............................................... 13 Über dieses Buch.......................................... 15 Voraussetzungen...................................

Mehr

Deploy von PHP-Applikationen

Deploy von PHP-Applikationen Deploy von PHP-Applikationen Jan Burkl System Engineer Zend Technologies Wer bin ich? Jan Burkl jan.burkl@zend.com PHP Entwickler seit 2001 Projektarbeit Bei Zend seit 2006 System Engineer Zend Certified

Mehr

3D webservices - where do we stand? Emmanuel Belo +41 21 619 10 25 emmanuel.belo@camptocamp.com

3D webservices - where do we stand? Emmanuel Belo +41 21 619 10 25 emmanuel.belo@camptocamp.com 3D webservices - where do we stand? Emmanuel Belo +41 21 619 10 25 emmanuel.belo@camptocamp.com Google Maps 2/32 Google Maps 3/32 Here maps (Nokia) 4/32 OpenWebGlobe 5/32 Cesium 6/32 Was wollen wir im

Mehr

Contexts and Dependency Injection. W3L AG info@w3l.de

Contexts and Dependency Injection. W3L AG info@w3l.de 1 Contexts and Dependency Injection W3L AG info@w3l.de 2015 2 Inhaltsverzeichnis Teil 1: Motivation Teil 2: Inversion of Control Teil 3: Contexts and Dependency Injection Teil 4: Beispiel zurück 3 Motivation

Mehr

Multimediaschnittstelle. Microsoft DirectShow

Multimediaschnittstelle. Microsoft DirectShow Multimediaschnittstelle Microsoft DirectShow Gliederung 1. Grundlagen 1.1 VFW 1.2 WDM, KS, WMF 1.3 DirectShow - DirectX 1.4 Aufgaben von DirectShow 2. Architektur 2.1 COM - kurze Einführung 2.2 Filter

Mehr

Virtualisierung auf Mac OS X. Mar3n Bokämper Max Riegel 30. November 2008

Virtualisierung auf Mac OS X. Mar3n Bokämper Max Riegel 30. November 2008 Virtualisierung auf Mac OS X Mar3n Bokämper Max Riegel 30. November 2008 Inhalt Virtualisierung Konfigura3on eines virtuellen Rechners Virtualisierungslösungen für OS X Apple Boot Camp, keine Virtualisierungslösung!

Mehr

Blockseminar: Verteiltes Rechnen und Parallelprogrammierung. Sommer Semester 2015. Tim Conrad

Blockseminar: Verteiltes Rechnen und Parallelprogrammierung. Sommer Semester 2015. Tim Conrad Blockseminar: Verteiltes Rechnen und Parallelprogrammierung Sommer Semester 2015 Tim Conrad Staff Tim Conrad AG Medical Bioinformatics email: conrad@math.fu-berlin.de Telefon: 838-51445 Büro: Raum 138,

Mehr

Tutorium Algorithmen & Datenstrukturen

Tutorium Algorithmen & Datenstrukturen June 16, 2010 Binärer Baum Binärer Baum enthält keine Knoten (NIL) besteht aus drei disjunkten Knotenmengen: einem Wurzelknoten, einem binären Baum als linken Unterbaum und einem binären Baum als rechten

Mehr

Übungspaket 31 Entwicklung eines einfachen Kellerspeiches (Stacks)

Übungspaket 31 Entwicklung eines einfachen Kellerspeiches (Stacks) Übungspaket 31 Entwicklung eines einfachen Kellerspeiches (Stacks) Übungsziele: Skript: 1. Definieren einer dynamischen Datenstruktur 2. Dynamische Speicher Speicherallokation 3. Implementierung eines

Mehr

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

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

Mehr

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

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

Mehr

Die Integration zukünftiger In-Car Multimedia Systeme unter Verwendung von Virtualisierung und Multi-Core Plattformen

Die Integration zukünftiger In-Car Multimedia Systeme unter Verwendung von Virtualisierung und Multi-Core Plattformen Die Integration zukünftiger In-Car Multimedia Systeme unter Verwendung von Virtualisierung und Multi-Core Plattformen 0. November 0 Sergio Vergata, Andreas Knirsch, Joachim Wietzke Echtzeit 0 Agenda Motivation

Mehr

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes 1 XSS: Cross-Site Scripting 1.) Es gelangen Daten in den Web-Browser, die Steuerungsinformationen

Mehr

One Vision One Platform. Eclipse als Plattform für die GUI Integration

One Vision One Platform. Eclipse als Plattform für die GUI Integration One Vision One Platform Eclipse als Plattform für die GUI Integration Agenda PostFinance Eclipse Technologie Erkenntnisse/Erfahrungen Q&A Remo Lötscher Technologiemanager GUI-FW Project Lead Yet Another

Mehr

Mobile Application Development

Mobile Application Development Mobile Application Development Android: Einführung Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Lernziele Der/die Kursbesucher/in kann

Mehr

Staff. Tim Conrad. Zeitplan. Blockseminar: Verteiltes Rechnen und Parallelprogrammierung. Sommer Semester 2013. Tim Conrad

Staff. Tim Conrad. Zeitplan. Blockseminar: Verteiltes Rechnen und Parallelprogrammierung. Sommer Semester 2013. Tim Conrad Blockseminar: Verteiltes Rechnen und Parallelprogrammierung Sommer Semester 2013 Tim Conrad Staff Tim Conrad AG Computational Proteomics email: conrad@math.fu-berlin.de Telefon: 838-51445 Büro: Raum 138,

Mehr

Red Hat Cluster Suite

Red Hat Cluster Suite Red Hat Cluster Suite Building high-available Applications Thomas Grazer Linuxtage 2008 Outline 1 Clusterarten 2 3 Architektur Konfiguration 4 Clusterarten Was ist eigentlich ein Cluster? Wozu braucht

Mehr

VMware. Rainer Sennwitz. <Rainer.Sennwitz@andariel.informatik.uni-erlangen.de>

VMware. Rainer Sennwitz. <Rainer.Sennwitz@andariel.informatik.uni-erlangen.de> VMware Rainer Sennwitz Lehrstuhl für Informatik IV Friedrich-Alexander-Universität Erlangen-Nürnberg 4. Juli 2007 Rainer Sennwitz VMware Inhalt Inhalt

Mehr

Einblick in die VMware Infrastruktur

Einblick in die VMware Infrastruktur Einblick in die VMware Infrastruktur Rainer Sennwitz Lehrstuhl für Informatik IV Friedrich-Alexander-Universität Erlangen-Nürnberg 4. Juli 2007 Rainer

Mehr

Entwicklungsmethoden

Entwicklungsmethoden Slide 5.1 Entwicklungsmethoden Prof. Dr. Josef M. Joller jjoller@hsr.ch Development Methodologies Prof. Dr. Josef M. Joller 1 Session 5 Slide 5.2 TOOLS Development Methodologies Prof. Dr. Josef M. Joller

Mehr

CVS-Einführung. Sebastian Mancke, mancke@mancke-software.de

CVS-Einführung. Sebastian Mancke, mancke@mancke-software.de CVS-Einführung Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation und Anforderung Sobald ein Softwaresystem anwächst, ergeben sich Probleme im Umgang mit dem Quell Code. CVS (Concurrent

Mehr

368 4 Algorithmen und Datenstrukturen

368 4 Algorithmen und Datenstrukturen Kap04.fm Seite 368 Dienstag, 7. September 2010 1:51 13 368 4 Algorithmen und Datenstrukturen Java-Klassen Die ist die Klasse Object, ein Pfeil von Klasse A nach Klasse B bedeutet Bextends A, d.h. B ist

Mehr

RAC auf Sun Cluster 3.0

RAC auf Sun Cluster 3.0 RAC auf Sun Cluster 3.0 Schlüsselworte RAC, OPS, Sun Cluster, Performance, Availability Zusammenfassung Oracle hat mit dem Real Application Cluster (RAC) aus einer Hochverfügbarkeitslösung eine Höchstverfügbarkeitslösung

Mehr

Configuration Manager Hardware Inventory Erweiterungen. 22.05.2014 trueit TechEvent 2014 1

Configuration Manager Hardware Inventory Erweiterungen. 22.05.2014 trueit TechEvent 2014 1 Configuration Manager Hardware Inventory Erweiterungen It s all about WMI 22.05.2014 trueit TechEvent 2014 1 Agenda Grundlagen Inventory Arten Welche Daten können inventarisiert werden Anpassungen an Default

Mehr

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

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

Mehr

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

Java Virtual Machine (JVM) Bytecode

Java Virtual Machine (JVM) Bytecode Java Virtual Machine (JVM) durch Java-Interpreter (java) realisiert abstrakte Maschine = Softwareschicht zwischen Anwendung und Betriebssystem verantwortlich für Laden von Klassen, Ausführen des Bytecodes,

Mehr

Die Vision Landschaft und was sie mit Moore s Gesetz zu tun hat

Die Vision Landschaft und was sie mit Moore s Gesetz zu tun hat Die Vision Landschaft und was sie mit Moore s Gesetz zu tun hat Horst A. Mattfeldt Produkt Manager Matrix Vision GmbH V1.0 10/2010 MATRIX VISION GmbH 1 Inhalt/Content: Vom Vision Sensor über Atom Boxen

Mehr

Quellcode-Repräsentation in Eclipse. Seminarvortrag PG Reclipse Jan Rieke

Quellcode-Repräsentation in Eclipse. Seminarvortrag PG Reclipse Jan Rieke Quellcode-Repräsentation in Eclipse Seminarvortrag PG Reclipse Jan Rieke Gliederung Motivation Architektur von Eclipse Quelltext-Repräsentation in Eclipse Java-Modell Java DOM/AST Zusätzliche Konzepte

Mehr

Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution

Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution Thomas Seiler Product Manager Technology BISON Schweiz AG Agenda Vergleich - Business Software Framework zu.net Framework

Mehr