Klaus Rohe Developer Platform & Strategy Group Microsoft Deutschland GmbH klrohe@microsoft.com. Programmierung für Multicore CPUs

Größe: px
Ab Seite anzeigen:

Download "Klaus Rohe Developer Platform & Strategy Group Microsoft Deutschland GmbH klrohe@microsoft.com. Programmierung für Multicore CPUs"

Transkript

1 Klaus Rohe Developer Platform & Strategy Group Microsoft Deutschland GmbH Programmierung für Multicore CPUs

2 Agenda Einleitung Free Lunch is over Multicore- und Multiprozessor-Architekturen Grenzen der Parallelisierung Parallelisierung und Programmarchitektur Parallelisierung durch Multithreading Allgemeine Probleme beim Multithreading Multithreading in.net Neue Konzepte in.net 4.0 Task Parallel Library PLINQ Ausblick & Zusammenfassung

3 Taktrate der Intel Prozessoren Problem: Abwärme ist nicht mehr beherrschbar bei Steigerung der Taktrate! Taktrate der einzelnen Cores nimmt ab! Das Prinzip mehr Arbeit in weniger Zeit funktioniert nicht mehr => Arbeit muss auf mehr Ressourcen verteilt werden! Quelle:

4 The Free Lunch is Over Applikationen werden nicht automatisch performanter, wenn man die nächste CPU Generation nimmt Normale Laptops und Desktops besitzen heute Multicore CPUs Singlethreaded Applikationen können nur einen Core nutzen Geringere Performance als auf hoch getackteten Single-Core Konsequenz: Softwareentwickler müssen Parallelisierung nutzen Multithreaded Software entwickeln ist sehr komplex!! Wie kann man die Entwicklung paralleler Programme vereinfachen? The Free Lunch Is Over, A Fundamental Turn Toward Concurrency in Software By Herb Sutter

5 Multiprozessor Architekturen SMP Architektur NUMA Architektur Prozessor Prozessor Prozessor Prozessor Prozessor Prozessor Prozessor Cache Cache Cache Cache Speicher Speicher Speicher Bus Prozessor Prozessor Prozessor Hauptspeicher Speicher Speicher Speicher Speicher Prozessor Prozessor Prozessor NUMA: Non Uniform Memory Access SMP: Symmetrical Multi Processor Speicher Speicher Speicher

6 Architektur von Multicore-Prozessoren (Intel Core 2 Duo) Core 2 Duo Processor Core 0 Core 1 Architektur-Ressourcen Architektur-Ressourcen Ausführungs-Ressourcen Ausführungs-Ressourcen L1-Caches L1-Caches Cache-Controller Cache-Controller Power-Management-Controller L2-Cache mit Controllern (shared) Bus-Schnittstelle und -Controller FrontSideBus Aus: T. Rauber, G. Rünger, Multicore: Parallele Programmierung, Heidelberg 2008, ISBN , Seite 15

7 Grenzen der Parallelisierung Das Amdahlsche Gesetz N: Zur Verfügung stehende Prozessoren. Bei der parallelen Implementierung eines Programms, bei der ein Zeitanteil 0 <= S <= 1 sequentiell ausgeführt wird, beträgt der maximal erreichbare Speedup: Speedup = 1 / (S + (1 S) / N) P = 1 S: parallel ausführbarer Zeitanteil des Programms Allgemeiner Grenzwert des Speedup: 1 / S

8 Veranschaulichung des Amdahlschen Gesetzes P S P P S Parallele Verarbeitung (5 Prozessoren) P P S P S Sequentielle Verarbeitung Zeit Nach,Joe Duffy, Concurrent Programming on Windows, Seite 763

9 Speedup Grafische Darstellung des Amdahlschen Gesetzes 26,00 24,00 22,00 20,00 18,00 16,00 14,00 12,00 10,00 Speedup (S = 0.01) Speedup (S = 0.2) Speedup (S= 0.5) S: sequentieller Anteil 8,00 6,00 4,00 2,00 0, Anzahl Prozessoren

10 Kritischer Pfad Unausgewogene Lastverteilung P P S P Effektiv Sequentiell S P P Zeit Nach,Joe Duffy, Concurrent Programming on Windows, Seite 765

11 Gustafson Amdahl Gesetz von Gustafson ( Amdahl optimistisch ) Fixed Size Model: Zeit = 1 S P Serielle Verarbeitung S P Zeit = S + P/N Parallele Verarbeitung Speedup = 1 / (S + P/N) Scaled Size Model: Zeit = S + P S P Hypothetische serielle Verarbeitung S Zeit = 1 P Parallele Verarbeitung: Speedup = S + N * P Nach:

12 Parallelisierung & Programmarchitektur Agent Task Daten Agenten sind Teile eines Programms, deren Zustand isoliert ist und die asynchron miteinander kommunizieren. Tasks sind Gruppen von Operationen (Methoden, Funktionen, ) die von Agenten parallel und asynchron ausgeführt werden können und die normal einen gemeinsamen Zustand besitzen. Daten: Dateien, Datenbanktabellen, Array, Listen oder Baumstrukturen im Hauptspeicher

13 Agenten, Tasks & Daten Send Agent A Reply Agent B Task A1 Task A2 Task An Task B1 Task B2 Task Bn Data A2 Data B2 Nach Joe Duffy, Concurrent Programming on Windows, Seite 7

14 Agenda Einleitung Free Lunch is over Multicore- und Multiprozessor-Architekturen Grenzen der Parallelisierung Parallelisierung und Programmarchitektur Parallelisierung durch Multithreading Allgemeine Probleme beim Multithreading Multithreading in.net Neue Konzepte in.net 4.0 Task Parallel Library PLINQ Ausblick & Zusammenfassung

15 Multithreading Unterstützung in modernen Programmiersprachen C/C++ Pthreads C#, Java, Python Allgemeine Konstrukte zum: Erzeugen von Threads Synchronisieren von Threads Sperren von Ressourcen, die von mehreren Threads gemeinsam genutzt werden Verwaltung von Threadpools

16 Probleme mit Multithreading Explicit multithreading ist komplex und problembehaftet: Zuverlässigkeit Race-Conditions Deadlocks Inkonsistentes Sperren von gemeinsamen Ressourcen und Serialisierbarkeitsprobleme Performance: Performanceprobleme durch zu extensives Sperren von gemeinsamen Ressourcen Probleme mit der Lastverteilung auf CPUs. Wie viele Threads müssen erzeugt werden, Alles Probleme, mit denen sich ein Programmierer aus Gründen der Produktivität nicht befassen sollte! Was gibt es schon heute für Möglichkeiten (im.net Framework) Multithreading zu vereinfachen?

17 Vereinfachtes Multithreading in.net Multithreading wird in.net vereinfacht: Erzeugen und Verwalten mit der ThreadPool Klasse Asynchrones Programmiermodell Methoden und Web-Services I/O Operationen, Datenbankzugriffe Asynchrone Ausführung zeitintensiver Methoden in GUIs: BackgroundWorker Klasse

18 BackgroundWorker in.net Agent A (UI Thread) bgw = new BackgroundWorker(); Register worker; Register workchanged; Register workcompleted; worker { } workchanged { } workcompleted { } button_click( ) { Agent B (BackgroundWorker Thread) worker { ReportProgress(); } bgw.runworkerasync(worker); }

19 Demo BackgroundWorker Klasse in.net

20 Agenda Einleitung Free Lunch is over Multicore- und Multiprozessor-Architekturen Grenzen der Parallelisierung Parallelisierung und Programmarchitektur Parallelisierung durch Multithreading Allgemeine Probleme beim Multithreading Multithreading in.net Neue Konzepte in.net 4.0 Task Parallel Library PLINQ Ausblick & Zusammenfassung

21 Getting the free lunch back Return of the free lunch for the multicore era: Wie kann man die Programmierung von Applikationen vereinfachen, die automatisch eine größere Anzahl an CPU-Kernen ausnutzen, die mit der nächsten Hardwaregeneration zu erwarten ist? Single Core Core1 Core2 Core1 Core2 Core3 Core1 Core2 Core3 Core4 Core5 Core4 Core6 Hardwaregeneration

22 Microsoft Parallel Computing Initiative Vereinfachte Entwicklung paralleler Programme auf der Microsoft Windows Plattform, die korrekt, effizient und wartbar sind, für alle Softwareentwickler Softwareentwickler Ermöglichen, Programme einfacher zu parallelisieren, damit sie sich auf die eigentliche Problemlösung konzentrieren können. Steigerung von Effizienz und Skalierbarkeit paralleler Programme Entwurf und Test paralleler Programme vereinfachen

23 Parallel Extensions To The.NET Framework 4.0 (kurz PFX).NET Bibliothek, keine Änderungen am Compiler Leichtgewichtig: User-Mode Unterstützt deklaratives und imperatives Parallelisieren von Daten und Tasks: Imperative data and task parallelism (Task Parallel Library) Declarative data parallelism (PLINQ) Coordination/synchronization constructs (Coordination Data Structures) Gemeinsames Exception-Handling Modell

24 Parallel Extensions To The.NET Framework 4.0 Warum benötigt man das alles? Bietet überschaubare Anzahl von Konzepten und reduziert die Komplexität für parallele Programmierung Ziel: Anwendungsprogrammierern die Entwicklung parallelisierbarer Programme zu vereinfachen! Anwendungsprogrammierer ist kein Experte für Multithreading und Parallelisierung!! Wann verfügbar: mit.net 4.0 CTP unter: D BDA4-94CF5F8D4814&displaylang=en

25 Architektur der Parallel Extensions.NET Program PLINQ Execution Engine Declarative Queries C# Compiler Parallel Algorithms Data Partitioning Chunk Range Hash Striped Repartitioning Query Analysis Operator Types Map Filter Sort Search Reduce Merging Sync and Async Order-Preserving ForAll VB Compiler C++ Compiler F# Compiler Other.NET Compiler PLINQ Task Parallel Library Loop replacements Imperative Task Parallelism Scheduling Threads Coordination Data Structures (CDS) Thread-safe Collections Synchronization Types Coordination Types IL TPL or CDS Proc 1 Proc p

26 Tasks Ein zentrales Konzept der Parallel Extensions (PFX) ist die Task: System.Threading.Tasks Führt eine Funktion in einem separaten Thread aus. class Program { static void Main(string[] args) { Console.WriteLine("\nThread id = {0} in Main. Thread.CurrentThread.ManagedThreadId); Task task = new Task(delegate { PrintPrimes(10); }); task.start(); task.wait(); } Console.Write("\nPress any key to exit!"); Console.ReadKey(); private static void PrintPrimes(ulong n) { Console.WriteLine("\nThread id = {1} in PrintPrimes({0}).\n", n, Thread.CurrentThread.ManagedThreadId); } } for (ulong i = 0; i <= n; i++) { if (PrimeFunctions.IsPrime(i)) Console.WriteLine("{0} is prime", i); }

27 Futures Ein Future ist eine Task mit einem Rückgabewert class Program { static void Main(string[] args) { Random rnd = new Random(); Task<int> task = new Task<int>(() => { Thread.Sleep(rnd.Next(1000, 10000)); return rnd.next(1, 43); }); task.start(); } } Console.WriteLine("Lottery in progress..."); Console.WriteLine(task.Result); Console.ReadKey();

28 Einfache parallele Ausführung Folge von Methodenaufrufen oder Programmstatements: Method_A(); Method_B(); Method_C(); Falls sie unabhängig sind, parallelisierbar: Parallel.Invoke( () => Method_A(), () => Method_B(), () => Method_C());

29 Parallele Schleifen In Programmschleifen wird häufig hohe CPU- oder IO-Last erzeugt for (int i = 0; i < n; i++) work(i); foreach (T e in data) work(e); Können parallelisiert werden, wenn die Iterationen unabhängig sind. Keine Veränderung globaler oder statischer Variablen, oder Abhängigkeit von lokalen Variablen, die in geschachtelten Schleifen verändert werden Parallel.For(0, n, i => work(i)); Parallel.ForEach(data, e => work(e));

30 TPL Parallel.For Beispiel // Sequentiell void SeqMatrixMult(int size, double[,] m1, double[,] m2, double[,] result) { for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { result[i, j] = 0; for (int k = 0; k < size; k++) { result[i, j] += m1[i, k] * m2[k, j]; } } } } // Mit TPL using System.Threading; void ParMatrixMult(int size, double[,] m1, double[,] m2, double[,] result) { Parallel.For( 0, size, delegate(int i) { for (int j = 0; j < size; j++) { result[i, j] = 0; for (int k = 0; k < size; k++) { result[i, j] += m1[i, k] * m2[k, j]; } } }); }

31 Die TaskManager Klasse TaskManager WorkerThread 01 WorkerThread 02 WorkerThread 03 Task01 Task06 Task04 Task02 Task03 Task04 Task05 Task07 Task08 Work stealing Task05 Task queues

32 Parallel LINQ (PLINQ) LINQ: Language Integrated Query class Person { public string Name { get; set; } public int Alter { get; set; } } Person[] Personen = { }; new Person {Name="Hans", Alter=35}, new Person {Name="Gustav", Alter=25}, new Person {Name="Peter", Alter=40}, new Person {Name="Karin", Alter=22} var ps = from p in Personen where p.alter < 40 select p; ps = from p in Personen.AsParallel() where p.alter < 40 select p; PLINQ abstrahiert von den Details der Parallelisierung Funktioniert für alle IEnumerable<T>

33 Coordination Data Structures (CDS) (1) Concurrent Collections Implementieren das Interface IConcurrentCollection<T> ConcurrentQueue<T>, ConcurrentStack<T> BlockingQueue Producer Thread 1 Consumer Thread 2 BlockingCollection<T> Blockiert, wenn Kapazitätsgrenzen unter- oder überschritten werden.

34 Coordination Data Structures (CDS) (2) SpinWait Busy waiting ist machmal kostengünstiger als auf Synchronisation durch den Kernel zu warten. SpinLock Basiert auf Spinning, kein Warten auf ein Kernel- Ereignis. Begründung s. o. SemaphoreSlim Leichtgewichte Semaphor Implementierung

35 Demo TPL PLINQ CDC

36 Agenda Einleitung Free Lunch is over Multicore- und Multiprozessor-Architekturen Grenzen der Parallelisierung Parallelisierung und Programmarchitektur Parallelisierung durch Multithreading Allgemeine Probleme beim Multithreading Multithreading in.net Neue Konzepte in.net 4.0 Task Parallel Library PLINQ Ausblick & Zusammenfassung

37 Existierende Applikationen?? Existierendes Programm Refactoring Multicore-fähiges Programm

38 Architekturmodell einer multicore-fähigen Applikation auf Windows (.NET 4.0)? Client mit Grafischer Benutzeroberfläche Task Task WCF service Task WCF service request Task WCF service request WCF service request request Named pipes Server Windows Communication Foundation (WCF) WCF Service WCF Service WCF Service WCF Service WCF Service WCF Service

39 Weitere Entwicklungen Neue Werkzeuge zum Entwerfen, Debuggen und Testen von parallelen Programmen in Visual Studio 10 Software Transactional Memory (STM) für die Synchronisation beim Zugriff auf gemeinsame Ressourcen Siehe auch: SXM, C# Software Transactional Memory (Microsoft Research) d-1c afaf-edb35f544384/details.aspx Weiterentwicklung der Concurrency & Coordination Runtime (CCR) und Decentralized Software Services (DSS)

40 Zusammenfassung Mulitcore ist Realität und Entwickler sollten analysieren, wie sie ihre Programme parallelisieren können. Grenzen werden durch die Gesetze von Amdahl und Gustafson beschrieben. Vereinfachte Konzepte für Multithreading sind heute schon verfügbar (sowohl unter.net, Java als auch ) Neue Möglichkeiten für vereinfachte Entwicklung von Multicore-fähigen Applikationen werden in Zukunft mit.net 4.0 verfügbar sein. Bestehende Anwendungen werden in den meisten Fällen Reengineering erfordern, um sie Multicore-fähig zu machen.

41 Weitere Informationen (1) Amdahl s & Gustafson s law: ahls.html Parallel Computing on msdn: Concurrency & Coordination Runtime (CCR) und Decentralized Software Services (DSS)

42 Weitere Informationen (2) PLINQ: Parallel FX team blog: Multicore Crisis? S. Gochman et al, Introduction to Intel Core Duo Processor Architecture, Intel Technology Journal, 10(2), Seite 89 97, 2006

43 Weitere Informationen (3) Joe Duffy, Concurrent Programming on Windows: Architecture, Principles, and Patterns, Addison Wesley, ISBN-13: , 958 Seiten esources.html M. Herlihy, Nir Shavit, The Art of Multiprocessor Programming, Morgan Kaufmann, ISBN-13: , 528 Seiten T. Rauber, G. Rünger, Multicore: Parallele Programmierung, Springer, ISBN: , 164 Seiten

44 COMPUTER ZEITUNG Multicore-Herausforderung liegt in der Programmierung, Von Walter F. Tichy/rr 39_ha_CZ.html?null&print=1

45 Vielen Dank! Fragen???

Excel beschleunigen mit dem mit Windows HPC Server 2008 R2

Excel beschleunigen mit dem mit Windows HPC Server 2008 R2 Excel beschleunigen mit dem mit Windows HPC Server 2008 R2 Steffen Krause Technical Evangelist Microsoft Deutschland GmbH http://blogs.technet.com/steffenk Haftungsausschluss Microsoft kann für die Richtigkeit

Mehr

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant? Übersicht Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Einleitung 1 2 der nebenläufigen Programmierung WS 2011/12 Stand der Folien: 18. Oktober 2011 1 TIDS

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

Mehr

Parallel Computing in.net

Parallel Computing in.net Marc Andre Zhou Parallel Computing in.net Multicore-Programmierung von.net 2.0 bis 4.0 1 1.1 1.2 1.3 1.4 1.5 1.6 2 2.1 Einleitung Für wen ist dieses Buch? Ziele des Buchs Parallel Computing: Warum? 1.3.1

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

C# Programmierung. Eine Einführung in das.net Framework. C# Programmierung - Tag 7: Prozesse und Möglichkeiten

C# Programmierung. Eine Einführung in das.net Framework. C# Programmierung - Tag 7: Prozesse und Möglichkeiten C# Programmierung Eine Einführung in das.net Framework C# Programmierung - Tag 7: Prozesse und Möglichkeiten 1/27/2012 1 Di Process-Class Callbacks DirectX Webservices ASP.NET C# 4 Tasks WP 7 Tag 7 Prozesse

Mehr

Ich liebe Java && Ich liebe C# Rolf Borst

Ich liebe Java && Ich liebe C# Rolf Borst Ich liebe Java && Ich liebe C# Rolf Borst Java oder C#? Einführung public class Einfuehrung { private int gesamtzahl = 0; /* Ermittelt die Anzahl der geraden und durch drei teilbaren Zahlen */ public String

Mehr

Multi-Threading. Ralf Abramowitsch Vector Informatik GmbH abramowitsch@lehre.dhbw-stuttgart.de

Multi-Threading. Ralf Abramowitsch Vector Informatik GmbH abramowitsch@lehre.dhbw-stuttgart.de Multi-Threading Ralf Abramowitsch Vector Informatik GmbH abramowitsch@lehre.dhbw-stuttgart.de Einführung in Threads Threads synchronisieren ThreadPools Thread = unabhängiger Ausführungspfad, der gleichzeitig

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 Java Stream API. Funktionale Programmierung mit der Stream API des JDK 1.8. Prof. Dr. Nikolaus Wulff

Die Java Stream API. Funktionale Programmierung mit der Stream API des JDK 1.8. Prof. Dr. Nikolaus Wulff Die Java Stream API Funktionale Programmierung mit der Stream API des JDK 1.8 Prof. Dr. Nikolaus Wulff Funktionale Programmierung Neben der Collection API mit default Methoden ist als weitere Neuerung

Mehr

WEBINAR@LUNCHTIME THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

WEBINAR@LUNCHTIME THEMA: SAS STORED PROCESSES - SCHNELL GEZAUBERT HELENE SCHMITZ WEBINAR@LUNCHTIME THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ HERZLICH WILLKOMMEN BEI WEBINAR@LUNCHTIME Moderation Anne K. Bogner-Hamleh SAS Institute GmbH Education Consultant Training

Mehr

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des

Mehr

Begleitendes Praktikum zur Vorlesung Künstliche Intelligenz

Begleitendes Praktikum zur Vorlesung Künstliche Intelligenz Begleitendes Praktikum zur Vorlesung Künstliche Intelligenz SS12 Kontakt Internet: http://cvpr.uni-muenster.de/teaching/ss12/ki/ RSS-Feed Kalender Dipl.-Math. Michael Schmeing m.schmeinguni-muenster.de

Mehr

LOAD TESTING 95% BRAUCHEN ES, 5 % MACHEN ES: LOAD TESTING MIT VS LEICHTGEMACHT NICO ORSCHEL MVP VS ALM, CONSULTANT

LOAD TESTING 95% BRAUCHEN ES, 5 % MACHEN ES: LOAD TESTING MIT VS LEICHTGEMACHT NICO ORSCHEL MVP VS ALM, CONSULTANT LOAD TESTING 95% BRAUCHEN ES, 5 % MACHEN ES: LOAD TESTING MIT VS LEICHTGEMACHT NICO ORSCHEL MVP VS ALM, CONSULTANT AIT GmbH & Co. KG Ihre Software effizienter entwickelt. ÜBERSICHT GRÜNDE UND ZEITPUNKT

Mehr

CORBA. Systemprogrammierung WS 2006-2007

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

Mehr

Client-Server-Beziehungen

Client-Server-Beziehungen Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server

Mehr

Javakurs 2013 Objektorientierung

Javakurs 2013 Objektorientierung Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

Mehr

Powermanager Server- Client- Installation

Powermanager Server- Client- Installation Client A Server Client B Die Server- Client- Funktion ermöglicht es ein zentrales Powermanager Projekt von verschiedenen Client Rechnern aus zu bedienen. 1.0 Benötigte Voraussetzungen 1.1 Sowohl am Server

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

Dynamic Ressource Management

Dynamic Ressource Management best Open Systems Day Fall 2006 Dynamic Ressource Management Unterföhring Marco Kühn best Systeme GmbH kuehn@best.de Agenda Überblick Dynamic Resource Pools und FSS Dynamic Resource Memory RCAP Oracle

Mehr

Nico Orschel AIT GmbH & Co KG Marc Müller 4tecture GmbH. 95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht

Nico Orschel AIT GmbH & Co KG Marc Müller 4tecture GmbH. 95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht Nico Orschel AIT GmbH & Co KG Marc Müller 4tecture GmbH 95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht Übersicht Gründe und Zeitpunkt für Lasttests Lasttests on Premise

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

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum Starthilfe für C# Inhaltsverzeichnis Allgemeines... 2 Bezugsquellen... 2 SharpDevelop... 2.NET Runtime... 2.NET SDK... 2 Installation... 2 Reihenfolge... 2 Vorschlag für eine Ordnerstruktur... 3 Arbeit

Mehr

Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster

Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster by Ali Bastan Gliederung Grundlagen von Swing 1. Kurze Einleitung 2. Warum Swing, wenn es das AWT gibt? 3. Was ist Swing? 4. Merkmale von Swing 5.

Mehr

OpenMP am Beispiel der Matrizenmultiplikation

OpenMP am Beispiel der Matrizenmultiplikation OpenMP am Beispiel der Matrizenmultiplikation David J. Meder, Dr. Victor Pankratius IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente. Dr. Beatrice Amrhein

Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente. Dr. Beatrice Amrhein Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente Dr. Beatrice Amrhein Überblick Die Architektur WPF Projekt erstellen Steuerelemente einfügen Eigenschaften von Steuerelementen ändern Nach

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

Nebenläufige Programmierung

Nebenläufige Programmierung Nebenläufige Programmierung Perspektiven der Informatik 27. Januar 2003 Gert Smolka Telefon-Szenario Eine Telefonzelle Mehrere Personen wollen telefonieren Immer nur eine Person kann telefonieren Ressource

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

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

Installation der SAS Foundation Software auf Windows

Installation der SAS Foundation Software auf Windows Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

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

Version 0.3. Installation von MinGW und Eclipse CDT

Version 0.3. Installation von MinGW und Eclipse CDT Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.

Mehr

peer-to-peer Dateisystem Synchronisation

peer-to-peer Dateisystem Synchronisation Ziel Realisierungen Coda Ideen Fazit Literatur peer-to-peer Dateisystem Synchronisation Studiendepartment Informatik Hochschule für Angewandte Wissenschaften Hamburg 30. November 2007 Ziel Realisierungen

Mehr

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte RT Request Tracker V2.0 Inhalte 1 Was ist der RT Request Tracker und wo finde ich ihn?...2 2 Was möchten wir damit erreichen?...2 3 Wie erstelle ich ein Ticket?...2 4 Wie wird das Ticket abgearbeitet?...4

Mehr

A1 Desktop Security Installationshilfe. Symantec Endpoint Protection 12.1 für Windows/Mac

A1 Desktop Security Installationshilfe. Symantec Endpoint Protection 12.1 für Windows/Mac A Desktop Security Installationshilfe Symantec Endpoint Protection. für Windows/Mac Inhalt. Systemvoraussetzung & Vorbereitung S. Download der Client Software (Windows) S. 4 Installation am Computer (Windows)

Mehr

Test-Driven Design: Ein einfaches Beispiel

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

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Lizenzierung von Windows Server 2012

Lizenzierung von Windows Server 2012 Lizenzierung von Windows Server 2012 Das Lizenzmodell von Windows Server 2012 Datacenter und Standard besteht aus zwei Komponenten: Prozessorlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

TELEMETRIE EINER ANWENDUNG

TELEMETRIE EINER ANWENDUNG TELEMETRIE EINER ANWENDUNG VISUAL STUDIO APPLICATION INSIGHTS BORIS WEHRLE TELEMETRIE 2 TELEMETRIE WELCHE ZIELE WERDEN VERFOLGT? Erkennen von Zusammenhängen Vorausschauendes Erkennen von Problemen um rechtzeitig

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! VO 182.711 Prüfung Betriebssysteme 8. November 2013 KNr. MNr. Zuname, Vorname Ges.)(100) 1.)(35) 2.)(20) 3.)(45) Zusatzblätter: Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! 1 Synchronisation

Mehr

Mikrocontroller Grundlagen. Markus Koch April 2011

Mikrocontroller Grundlagen. Markus Koch April 2011 Mikrocontroller Grundlagen Markus Koch April 2011 Übersicht Was ist ein Mikrocontroller Aufbau (CPU/RAM/ROM/Takt/Peripherie) Unterschied zum Mikroprozessor Unterschiede der Controllerarten Unterschiede

Mehr

Einführung in die Informatik Tools

Einführung in die Informatik Tools Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht

Mehr

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Howto Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Peter Bitterlich Markus Langer 12. Oktober 2012 Zusammenfassung Dieses Dokument erklärt Schritt für Schritt die Installation

Mehr

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang Einleitung Dieses Buch wendet sich an jeden Leser, der die Programmiersprache C++ neu lernen oder vertiefen möchte, egal ob Anfänger oder fortgeschrittener C++-Programmierer. C++ ist eine weitgehend plattformunabhängige

Mehr

Einführung in PHP. (mit Aufgaben)

Einführung in PHP. (mit Aufgaben) Einführung in PHP (mit Aufgaben) Dynamische Inhalte mit PHP? 2 Aus der Wikipedia (verkürzt): PHP wird auf etwa 244 Millionen Websites eingesetzt (Stand: Januar 2013) und wird auf etwa 80 % aller Websites

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Diplomarbeit Antrittsvortrag

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

Mehr

Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13

Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13 Inhaltsverzeichnis Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13 Einleitung... 15 Zielgruppe... 16 Aufbau... 16 Inhalt der einzelnen Kapitel... 17 Systemanforderungen...

Mehr

ArcObjects-Programmierung mit Delphi. Marko Apfel, Team Entwicklung

ArcObjects-Programmierung mit Delphi. Marko Apfel, Team Entwicklung Marko Apfel, Team Entwicklung Agenda Was ist COM Was sind die ArcObjects Warum Delphi mit ArcObjects Wie greift man auf die ArcObjects mit Delphi zu Wo gibt es Informationen 2 Agenda Was ist COM Was sind

Mehr

WebService in Java SE und EE

WebService in Java SE und EE Schlüsselworte Java, JAX-WS, JAX-RS, JAXB, XML. Einleitung WebService in Java SE und EE Wolfgang Nast MT AG Ratingen Es werden die Mölichkeiten von WebServices in Java SE und EE, mit SOAP und REST gezeigt.

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

Projektseminar Parallele Programmierung

Projektseminar Parallele Programmierung HTW Dresden WS 2014/2015 Organisatorisches Praktikum, 4 SWS Do. 15:00-18:20 Uhr, Z136c, 2 Doppelstunden o.g. Termin ist als Treffpunkt zu verstehen Labore Z 136c / Z 355 sind Montag und Donnerstag 15:00-18:20

Mehr

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi Design Pattern - Strukturmuster CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi Agenda Einleitung Strukturmuster Fassade Model View Controller Vergleich 2 Einleitung Strukturmuster

Mehr

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu)

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) HMExcel Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) Inhalt 1. Einleitung...1 2. Beispiele...2 2.1. Daten in ein Tabellenblatt schreiben...2

Mehr

Brainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen

Brainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen Brainfuck 1 Brainfuck 1.1 Brainfuck Geschichte und Umfeld Brainfuck ist eine sogenannte esoterische Programmiersprache. Sie wurde 1993 vom Schweizer Urban Müller entworfen mit dem Ziel, eine Sprache mit

Mehr

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005 Das Software Studio Christian Efinger mobilepoi 0.91 Demo Version Anleitung Erstellt am 21. Oktober 2005 Kontakt: Das Software Studio Christian Efinger ce@efinger-online.de Inhalt 1. Einführung... 3 2.

Mehr

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert: Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal

Mehr

Übungen zu Softwaretechnik

Übungen zu Softwaretechnik Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte

Mehr

Komponentenbasierter Taschenrechner mit CORBA

Komponentenbasierter Taschenrechner mit CORBA Komponentenbasierter Taschenrechner mit CORBA Silke Kugelstadt Torsten Steinert Inhalt Motivation Demonstration des Taschenrechners Grobarchitektur Implementierung des Clients Implementierung der Komponenten

Mehr

Azure und die Cloud. Proseminar Objektorientiertes Programmieren mit.net und C# Simon Pigat. Institut für Informatik Software & Systems Engineering

Azure und die Cloud. Proseminar Objektorientiertes Programmieren mit.net und C# Simon Pigat. Institut für Informatik Software & Systems Engineering Azure und die Cloud Proseminar Objektorientiertes Programmieren mit.net und C# Simon Pigat Institut für Informatik Software & Systems Engineering Agenda Was heißt Cloud? IaaS? PaaS? SaaS? Woraus besteht

Mehr

360.NET. Jan Schenk Developer Evangelist Web/Live Microsoft Deutschland

360.NET. Jan Schenk Developer Evangelist Web/Live Microsoft Deutschland 360.NET Jan Schenk Developer Evangelist Web/Live Microsoft Deutschland Was ist.net? Eine Strategie Eine Plattform Eine Laufzeitumgebung Eine Software-Sammlung Ein Set von Services Warum so ein Framework?

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

Verteilte Systeme CS5001

Verteilte Systeme CS5001 Verteilte Systeme CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Client-Server-Anwendungen: Vom passiven (shared state) Monitor zum aktiven Monitor Monitor (Hoare, Brinch-Hansen,

Mehr

Thomas Claudius Huber. Asynchrone Programmierung mit C#

Thomas Claudius Huber. Asynchrone Programmierung mit C# Thomas Claudius Huber Asynchrone Programmierung mit C# Thomas Claudius Huber Principal Consultant @ Trivadis AG Trainer, Coach, Developer, Architect www.thomasclaudiushuber.com Spezialisiert auf WPF, XAML,

Mehr

Implementierung der neuen Plattform für "Customized Investment Reporting"

Implementierung der neuen Plattform für Customized Investment Reporting Öffentlich Implementierung der neuen Plattform für "Customized Investment Reporting" Datum: 23. September 2010 Erstellt von: Ashish R. Arondekar IT-Programm Customized Investment Reporting Übergreifende

Mehr

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich

Mehr

Programmierung für Mathematik (HS13)

Programmierung für Mathematik (HS13) software evolution & architecture lab Programmierung für Mathematik (HS13) Übung 5 1 Aufgabe: Eclipse IDE 1.1 Lernziele 1. Die Entwicklungsumgebung Eclipse einrichten. 2. Eclipse kennen lernen und mit

Mehr

Einreichung zum Call for Papers

Einreichung zum Call for Papers Internet: www.aitag.com Email: info@aitag.com Einreichung zum Call for Papers Kontaktinformationen Sven Hubert AIT AG Leitzstr. 45 70469 Stuttgart Deutschland http://www.aitag.com bzw. http://tfsblog.de

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für für Medientechnologen Dr. E. Schön Wintersemester 2015/16 Seite 146 Notwendigkeit: Programmierschnittstelle Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

SRH Hochschule Heidelberg

SRH Hochschule Heidelberg SRH Hochschule Heidelberg Fachbereich Informatik Vertriebssysteme / CRM Johannes Dipl. Inf. (FH) Hoppe Johannes Hoppe MSP WCF Vorlesung 25.03.2009 90 Minuten, 8 Teilnehmer Dipl. Inf. (FH) Johannes Hoppe

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Entwicklung der Programmiersprache C#

Entwicklung der Programmiersprache C# Language Day HDM 2015 Entwicklung der Programmiersprache C# Referent: Mikhail Orleanskiy, IT-Designers GmbH (orleanskiy@it-designers.de) Stand: 6. November 2015 Eine Präsentation der IT-Designers Gruppe

Mehr

Installation SQL- Server 2012 Single Node

Installation SQL- Server 2012 Single Node Installation SQL- Server 2012 Single Node Dies ist eine Installationsanleitung für den neuen SQL Server 2012. Es beschreibt eine Single Node Installation auf einem virtuellen Windows Server 2008 R2 mit

Mehr

Innere Klassen in Java

Innere Klassen in Java Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird

Mehr

POIS-Praktikum 2007. Prozessimplementierung, RosettaNet PIPs 3A

POIS-Praktikum 2007. Prozessimplementierung, RosettaNet PIPs 3A POIS-Praktikum 2007 Prozessimplementierung, RosettaNet PIPs 3A Manuel Blechschmidt, David Foerster, Michael Leben, Mike Nagora, Jonas Rogge, Paul Römer Gliederung 2 Einleitung Was war unsere Aufgabe? Was

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

.NET Task Parallel Library: Eine Rundtour

.NET Task Parallel Library: Eine Rundtour .NET Parallel Library: Eine Rundtour Luc Bläser Hochschule für Technik Rapperswil Parallel 2015 Konferenz 23. Apr. 2015, Karlsruhe Die.NET Parallel Library (TPL) Stand der Technik für.net Parallelprogrammierung

Mehr

Tipps und Tricks zu Netop Vision und Vision Pro

Tipps und Tricks zu Netop Vision und Vision Pro Tipps und Tricks zu Netop Vision und Vision Pro Anwendungen auf Schülercomputer freigeben und starten Netop Vision ermöglicht Ihnen, Anwendungen und Dateien auf allen Schülercomputern gleichzeitig zu starten.

Mehr

Einführung in das Microsoft.NET-Framework. Programmiersprache C# 02: Visual Studio / Hello World. Boris Hülsmann

Einführung in das Microsoft.NET-Framework. Programmiersprache C# 02: Visual Studio / Hello World. Boris Hülsmann Einführung in das Microsoft.NET-Framework Programmiersprache C# 02: Visual Studio / Hello World Boris Hülsmann 23.09.2010 1 In dieser Einführung bekommen Sie einen kurzen Einstieg in das.net-framework

Mehr

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005 Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der

Mehr

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung

Mehr

Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden.

Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Zusatzmaterial zum Buch "Algorithmen kompakt und verständlich" Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Der Autor übernimmt

Mehr

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Ludwig-Maximilians-Universität München Institut für Informatik Programmierung und Softwaretechnik (PST) Prof. Wirsing 6. Mai 2009 1 Der Name Java

Mehr

Technische Dokumentation SilentStatistikTool

Technische Dokumentation SilentStatistikTool Technische Dokumentation SilentStatistikTool Version 1.0 Marko Schröder 1115063 Inhalt Einleitung... 3 Klasse Program... 3 Klasse ArgumentHandler... 3 Bereitgestellte Variablen... 3 Bereitgestellte Methoden...

Mehr

Sophia Business Leitfaden zur Administration

Sophia Business Leitfaden zur Administration Sophia Business Leitfaden zur Administration 1. Anmelden... 2 2. Zugangscode neu anlegen... 3 3. Zugangscodes verwalten... 4 4. Ergebnisse anzeigen... 5 5. Installation und technische Hinweise... 6 a.

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

Lizenzierung von System Center 2012

Lizenzierung von System Center 2012 Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im

Mehr

Java Entwicklung für Embedded Devices Best & Worst Practices!

Java Entwicklung für Embedded Devices Best & Worst Practices! Java Entwicklung für Embedded Devices! George Mesesan Microdoc GmbH Natürlich können wir dieses neue log4j Bundle auch auf dem Device verwenden. Ist doch alles Java. Java Micro Edition (ME) Java Standard

Mehr

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