Kapitel 15 Die CLI und Kellermaschinen

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Kapitel 15 Die CLI und Kellermaschinen"

Transkript

1 Kapitel 15 Die CLI und Kellermaschinen Korbinian Molitorisz IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH)

2 Agenda Ausführungsmodell von.net Interoperabilität Die CLI und ihre Bestandteile Die CLR als Kellermaschine Definition wichtiger Begriffe 1

3 Traditionelle Ausführung C++ Code Nicht-verwaltete Anwendungen C++ Übersetzer ASM Code (Linker) Dynamisches Laden gemeinsamer Module Betriebssystem (Windows, Linux, Unix,...) Klassen und alle Funktionen werden vom Übersetzer in Maschinencode übersetzt. Klassenstrukturen nach der Übersetzung nicht mehr erkennbar. Das Programm ist selbst zuständig für die Speicherverwaltung, Zeiger, Sicherheit und etc. 2

4 Ausführung unter.net-architektur Verwalteter Code ( Managed Code ) Nicht-verwaltete Anwendungen Klassenbibliothek ( Framework Class Library, FCL) Sämtlicher Code wird unter Aufsicht der Laufzeitumgebung CLR ausgeführt Laufzeitumgebung Sicherheit, Speicherbereinigung, Versionierung,... Klassenbibliothek GUI, Collections, Threads, Netzwerk, Reflection, XML,... Verwalteter Code Verwaltete Daten: Laufzeitumgebung ( Common Language Runtime, CLR) Betriebssystem (Windows, Linux, Unix,...) Code unter Kontrolle der CLR Daten, die von der CLR während des Programmablaufs verwendet werden (Anlegen, Verwenden, Zerstören) 3

5 Einheitliches Ausführungsmodell C# C# C++ VB... if (a>b) max=a; else max=b; Übersetzer Übersetzer Übersetzer Übersetzer Sprachintegration erfolgt auf Ebene der CIL Interoperabilität CIL-Code (+ Metadaten) Lader Verifizierer JIT-Übersetzer Maschinencode Ausgabe ist von CPU und Betriebssystemversion abhängig Protabilität IL_0004: ldloc.0 IL_0005: ldloc.1 IL_0006: ble.s IL_0008: ldloc.0 IL_0009: stloc.2 IL_000a: br.s IL_000c: ldloc.1 IL_000d: stloc.2 mov ebx,[-4] mov edx,[-8] cmp ebx,edx jle 17 mov ebx,[-4] mov [-12],ebx... CIL IL_000c IL_000e Intel-Code 4

6 Interoperabilität Interoperabilität auf Codeebene Sprachen werden gleichwertig, da alle Übersetzer CIL-Code erzeugen Eine C# Klasse kann von einer VB.NET Klasse abgeleitet sein Einheitliche Fehlerbehandlung 5

7 Beispiel: Interoperabilität auf Codeebene VB.NET Code (Datei BasicDog.vb): Namespace DogClone Public Class BasicDog Public Sub Bark(ByVal strname as System.String) End Sub End Class End Namespace System.Console.WriteLine("Hello, {0}!",strName) C# Code (Datei ExtDog.cs): namespace DogClone { } public class ExtendedDog : BasicDog { } public void Growl(string strname) { } System.Console.WriteLine("Hello, {0}. I will bite you!",strname); Vollständiger Quellcode: Demo 1 6

8 Beispiel: Interoperabilität auf Codeebene Verwendung beider Klassen (C# Code): using DogClone; class DogDemo { public static void Main() { ExtendedDog Beagle = new ExtendedDog(); Beagle.Bark("Michael"); Beagle.Growl("Simon"); System.Console.ReadLine(); } } 7

9 CLI Common Language Infrastructure CLI = Grundgerüst der.net-architektur Ziel : Entwicklung von Anwendungen in beliebigen Sprache und Ausführung in verschiedenen Umgebungen. Erweiterung bestehender Anwendungen ohne Neuentwicklung oder Anpassung. Wird im ECMA-Standard 335 definiert (4th Edition, June 2006) ISO : Information technology. Office machines 060 : Languages used in information technology CLI ähnelt in vielen Punkten CORBA von der Object Management Group (OMG) COM/Distributed COM (DCOM) Java 8

10 CLI Common Language Infrastructure (ECMA-335) Schicht I: Architektur und Konzepte Beschreibt die grundlegende Architektur der CLR Definiert das gemeinsame Typsystem (Common Type System, CTS) Definiert das virtuelle Ausführungssystem (Virtual Execution System, VES), Enthält die Common Language Specification (CLS). 9

11 CLI Common Language Infrastructure (ECMA-335) Schicht II: Metadaten und Semantik Stellt die Beschreibung der Metadaten zur Verfügung: physikalische Anordnung (als Dateiformat) logischer Inhalt (als Menge von Tabellen und Beziehungen) Semantik (aus der Sicht eines hypothetischen Assemblers namens ilasm ). Schicht III: CIL-Befehlssatz Detaillierte Beschreibung des Common Intermediate Language (CIL)-Befehlssatzes. 10

12 CLI Common Language Infrastructure (ECMA-335) Schicht IV: Profile und Bibliotheken Stellt eine Übersicht der CLI-Bibliotheken und eine detaillierte Beschreibung der Klassen, Schnittstellen- und Werttypen im XML- Format zur Verfügung. Schicht V: Annexe Enthält einige in CIL implementierte Beispielprogramme, Informationen über spezifische Implementierung eines Assemblers, eine Maschinen-lesbare Beschreibung des CIL-Befehlssatzes und Werkzeuge zur CIL-Manipulation. 11

13 CLI Implementierungen Microsoft Windows (2000, XP, Vista, 7...): Microsoft.NET-Framework (+Compact Framework), Microsofts Implementierung des CLI-Standards (CLR und FCL) Microsoft Windows XP, FreeBSD, Mac OS X 10.2: SSCLI (Rotor): Shared Source Common Language Infrastructure (Rotor Community Site) Linux, Unix (Solaris): Project Mono by Ximian (Gnome) und Novell: DotGNU (Webservices und C#) : 12

14 Quelle: Stutz, Neward, Shilling: Shared Source CLI Essentials, O'Reilly, 2003 Komponenten der SSCLI VS.NET C# JScript VB VC/MC++ Debugger Designers SDK Tools CorDBG ILAsm ILDAsm ILDbDump SN MetaInfo PEVerify System web (ASP.NET) Session State UI Caching HtmlControls Security WebControls Configuration Simple web services Protocols Discovery Description XSLT Collections Configuration Diagnostics System.XML XPath Memory mgmt Stacks & Threads Globalization IO Net Serialization System Reflection Resources Security System.WinForms Design ComponentModel Drawing2D Imaging System.Drawing System.Data (ADO.NET) ADO SQL Design ServiceProcess Text Threading Printing Text Adapters Runtime InteropServices Remoting Serialization Common Language Infrastructure Metadata mgmt Domains & Loaders CTS JIT-Compiler Boot Loader Platform Adaption Layer (PAL) Threads Sync Timers Filesystem ECMA Standard zusätzlich in Rotor enthalten in kommerzieller CLR enthalten 13

15 CLI Common Language Infrastructure Die CLI enthält zwei Hauptbestandteile: Common Language Runtime (CLR) Eine verwaltete Ausführungsumgebung, welche von verschiedenen Sprachen verwendet werden kann. Framework Class Libraries (FCL) Services und Strukturen um komplexe Anwendungen zu entwickeln. Framework Class Libraries Collections Text Security System Threading IO Diagnostics Reflection Runtime Globalization XML Network Common Language Runtime Common Type System Metadata System Virtual Execution System 14

16 CLR Common Language Runtime Gemeinsames Typsystem (CTS): Kern der CLR Beschreibt Datentypen von.net und ihr Verhalten Definiert einen Mechanismus, damit die Programme in unterschiedlichen Sprachen miteinander kommunizieren können Typverwaltung Verifikation Konversion Metadatensystem: Typen beschreiben sich selbst Sprachunabhängig Metadaten können auch von andren Werkzeugen verwendet werden Virtuelles Ausführungssystem: Implementiert das CTS-Modell Lädt.NET Programme und führt diese aus Späte Bindung 15

17 CLR Virtuelle Maschine Was ist eine virtuelle Maschine (VM)? Eine in Software implementierte CPU. VM hat eigenen Befehlssatz unabhängig von Host-System. VM hat normalerweise seine eigene Speicherverwaltung und kann z.b eigene Primitive für Nebenläufigkeit anbieten. Befehle werden interpretiert / JIT-übersetzt. andere Beispiele: Java-VM, Smalltalk-VM, Pascal P-Code Programme (F#, C#, C++,...) CLR z.b. x86 Maschinencode 16

18 CLR Virtuelle Maschine Warum eine Virtuelle Maschine (VM)? Eine VM überbrückt die Lücke zwischen Hochsprache und niedrigen Aspekten einer realen Maschine. Zugriffe auf das Host-Betriebssystem sind beschränkt und geschehen durch die VM. Es ist relativ einfach, eine VM zu implementieren und einfacher, für eine VM zu kompilieren als zu einer realen Maschine. Programme (F#, C#, C++,...) CLR z.b. x86 Maschinencode 17

19 Warum eine virtuelle Maschine? Einfachere Portierbarkeit (Plattform- und Sprachunabhängigkeit) ohne VM: je ein Übersetzer pro Sprache und Plattform (z.b. 4 4=16) C# VB.NET Oberon Eiffel... Übersetzer Windows MacOS Linux PalmOS mit VM: Übersetzung in Zwischensprache (unter.net: CIL) ein Übersetzer pro Sprache und eine CLR (JIT-Übersetzer) pro Plattform (z.b. 4+4=8) C# VB.NET Oberon Eiffel CIL Windows MacOS Linux PalmOS 18

20 Warum eine virtuelle Maschine? Kompaktheit des Zwischencodes Kompakter als Quellcode Kompakter als nativer Code Optimierter Code Mehr Möglichkeiten zur Optimierung des Maschinencodes Analysierung der Zielmaschinenkonfiguration vom JIT-Übersetzer Laufzeitoptimierung Ressourcenverbrauch Sicherheitsfunktionen können von der VM verifiziert werden. Profiling und Debugging sind einfach zu implementieren. 19

21 Kellermaschine vs. Registermaschine Kellermaschine Alle Argumente einer Funktion liegen auf dem Keller Jeder Form der Kommunikation erfolgt über den Keller Beispiel: add(17,25) 3 Kelleranweisungen für add-befehl 20

22 Kellermaschine vs. Registermaschine Registermaschine Register: Eine nummerierte Speicherzelle, um die Daten zu halten. Die Werte im Register werden addiert und das Ergebnis in einem anderen Register gespeichert. Beispiel: add(17,25) 1 Registeranweisung für add-befehl Registerbasierte VMs: Parrot-VM (Perl6) und PHP 21

23 Kellermaschine vs. Registermaschine Warum definiert man die Zwischensprache auf einer Keller- und nicht auf einer Registermaschine? Portabilität: Von jeglicher Architektur abstrahiert Problem bei Registermaschinen: Zuordnung von VM-Registern zu Hardwareregistern, verschiedene Anzahl und Größe der Register. Interoperabilität: Die Zwischensprache CIL ist nur ein kompakter, einfacher, kellerbasierter Bytecode und einfach zu produzieren. Verifikation: Während der statischen Analyse kennt der Compiler alle Argumente, ihre Typen und weiß, wo sie herkommen Änderung von Werten: In einer Registermaschine muss der ganze Code einer Methode geprüft werden, um ein Wertänderung im Register zu erkennen. In einer Kellermaschine wird das Ergebnis nur einmal zugewiesen. 22

24 Kellermaschine vs. Registermaschine Was ist mit der Instruktionsabarbeitung? Die Instruktionsabarbeitung bei Kellermaschinen ist schwerfällig Beim Interpretieren (nicht beim JITten) entsteht zusätzlicher Aufwand beim Zuordnen von virtuellen zu nativen Instruktionen. Mit einem JIT-Übersetzer kann man eine sehr gute Performanz erreichen: Nach dem JITten schrumpf die Anzahl an tatsächlich auszuführenden Operationen um die Hälfte. 23

25 Wichtige Begriffe Assembly Modul (engl. module) Metadaten Manifest Lader und JIT-Übersetzer Ladezyklus 27

26 Assembly Prog.cs class A {... } class B {... } Lib.cs class C {... } Assembly csc Prog.cs,Lib.cs Prog.exe Manifest Metadaten CIL-Code für A CIL-Code für B CIL-Code für C Kein Eintrag in der Windows-Registry Nachfolger von COM-Komponenten Lader 28

27 Assembly Logische Einheit für: Auslieferung, Kapselung, Laden, Versionierung und Sicherheit.NET-Komponente im Sinne der komponentenorientierten Softwareentwicklung Fasst Module und Ressourcendateien zusammen Als ausführbare Datei (.exe) oder als Bibliotheksbaustein (.dll) Wird vom Übersetzer oder Assembly Linker (al.exe) erzeugt Mehrstufige Versionsnummer Container für verwaltete Module 29

28 Modul Physische Einheit: 1.NET-Modul = 1.NET-PE-Datei Enthält Typdefinitionen mit Metadaten und CIL-Code der Methoden wird vom Übersetzer erzeugt 30

29 Metadaten Die Beschreibung von Typen wird als Metadaten bezeichnet Der Übersetzer erstellt Metadaten bei Bedarf Enthalten: Schnittstellenbeschreibung von: Klassen, Methoden, Variablen Parametern, Typen, Versionsnummer und öffentlichen Schlüssel (asymmetrische Verschlüsselung für Code-Signatur) Ermöglichen: Zugriff auf Typinformationen zur Laufzeit (Reflection) Dynamisches Laden Versionsprüfung 31

30 Assembly und Modul Eine Assembly kann aus mehreren Modulen bestehen Single module-assembly Multi module-assembly Jede Assembly enthält ein primäres Modul mit Manifest: Metadaten Lader IL-Code JIT-Übersetzer Primäres Modul Manifest Metadaten IL Code Metadaten Metadaten IL Code Modul 1 Metadaten IL Code IL Code Modul 3 Modul 2 32

31 Manifest Inhaltverzeichnis einer Assembly Identität einer Assembly Speichert Informationen über die Bestandteile einer Assembly Name der Assembly Landes- und Sprachinformation Prozessorinformationen (32-/64-bit) Welche Module gehören dazu, wo sind diese zu finden Attribute zum Ausführungskontext (Debug/Release) Externe und lokale Typen Versionsinformation Strong Name und etc. 33

32 Lader Liest die Metadaten und legt im Hauptspeicher eine interne Repräsentation der Klassen und ihrer Mitglieder an Eine Klasse wird nur dann geladen, wenn sie auch referenziert wird Die Konsistenz der Metadaten wird geprüft 34

33 JIT-Übersetzer Basiert auf Ergebnissen des Laders (Konsistenzprüfung) Der IL-Code wird zu nativem Code übersetzt und anschließend ausgeführt. Eine Methode wird genau dann übersetzt, wenn Sie das erste mal aufgerufen wird Die kompilierte Methode bleibt im Hauptspeicher, wenn es keine Speicherbeschränkungen gibt. Nur ein JIT-Vorgang pro Methode Bei Geräten mit wenig Speicher neu-jitten möglich (Smartphones/Embedded). 35

34 Der Ladezyklus Vorkompilieren Ein verwaltetes Modul kann von IL nach nativem Code vorkompiliert werden Spart Zeit für JIT-Übersetzer, wenn das Modul wiederholt ausgeführt werden soll z. B. Übersetzung während der Installation Bei der Ausführung des vorkompilierten Moduls muss die Original IL-Version vorhanden sein, da der native Code keine Metadaten enthält. 36

35 Der Ladezyklus Anlegen und Ausführen einer verwalteten.net-anwendung (engl. assembly): Datenübertragung Anfragen und Kontrollfluss Quelltext Übersetzer Laufzeitumgebung (CLR) Metadaten IL-Code Modul Lader JIT-Übersetzer Interne Datenstrukturen Nativer Code Ausführungseinheit 37

Kapitel 15 Die CLI und Kellermaschinen

Kapitel 15 Die CLI und Kellermaschinen Kapitel 15 Die CLI und Kellermaschinen Korbinian Molitorisz IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Agenda Ausführungsmodell

Mehr

Vorlesung AFCW, Microsoft.NET Wintersemester 2002/03. Völlig neue Systemstruktur als Antwort auf Java

Vorlesung AFCW, Microsoft.NET Wintersemester 2002/03. Völlig neue Systemstruktur als Antwort auf Java .NET Vorlesung Application Frameworks and Componentware Peter Sturm Universität Trier.NET Völlig neue Systemstruktur als Antwort auf Java Assembly = Komponente Zwischensprache (IL = Intermediate Language)

Mehr

Universität Karlsruhe (TH) Moderne Entwicklungsumgebungen am Beispiel.NET

Universität Karlsruhe (TH) Moderne Entwicklungsumgebungen am Beispiel.NET Forschungsuniversität gegründet 1825 Moderne Entwicklungsumgebungen am Beispiel.NET Die.NET-Grundlagen Ali Jannesari Institut für Programmstrukturen und Datenorganisation (IPD) Inhalt Grundlagen.NET Überblick

Mehr

.NET Framework. 3. Das.NET Framework

.NET Framework. 3. Das.NET Framework 3. Das.NET Framework.NET Framework 3.1 Übersicht - 2002 von Microsoft bereitgestellt - Ziel: Entwicklung von Anwendungen (Windows, Web, Embedded,..) bequemer und sicherer zu machen und bestehenden Code

Mehr

CLR CIL MCS ECMA-335. Linux.Ne t. 2005 Albrecht Liebscher, Erlanger Linux Tage

CLR CIL MCS ECMA-335. Linux.Ne t. 2005 Albrecht Liebscher, Erlanger Linux Tage C# CLR CIL MCS ECMA-335 Linux.Ne t Was ist.net? Microsoft Homepage:.NET is the Microsoft Web services strategy to connect information, people, systems and devices through software. Mono Handbuch:.Net besteht

Mehr

Microsoft.NET Überblick. Matthias Nübling

Microsoft.NET Überblick. Matthias Nübling Microsoft.NET Überblick Matthias Nübling Gliederung Was ist Microsoft.NET? Überblick wichtiger.net-technologien Common Language Runtime.NET Framework ADO.NET Windows Forms Web Forms mit ASP.NET Web Services

Mehr

Einführung in Microsoft.NET

Einführung in Microsoft.NET Einführung in Microsoft.NET Martin Saternus Martin Saternus Technical Student Consultant Microsoft Academic Program Microsoft Deutschland GmbH i-martsa@microsoft.com In diesem Vortrag Der Weg zu Microsoft.NET

Mehr

Gliederung. .NET Vision. Was ist Microsoft.NET? Microsoft.NET Überblick. Was ist Microsoft.NET? Überblick wichtiger.net-technologien.

Gliederung. .NET Vision. Was ist Microsoft.NET? Microsoft.NET Überblick. Was ist Microsoft.NET? Überblick wichtiger.net-technologien. Gliederung Microsoft.NET Überblick Matthias Nübling Was ist Microsoft.NET? Überblick wichtiger.net-technologien Common Language Runtime ADO.NET Windows Forms Web Forms mit ASP.NET Visual Studio.NET Was

Mehr

Microsoft.NET. InfoPoint 8. Juni 2005 Stefan Bühler

Microsoft.NET. InfoPoint 8. Juni 2005 Stefan Bühler Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler Inhalt Was ist.net Was steckt dahinter Warum ist.net so wie es ist Die Säulen von.net.net Framework 2.0 / VisualStudio 2005 Beispiel Referenzen & Links

Mehr

Konzepte von Betriebssystem-Komponenten

Konzepte von Betriebssystem-Komponenten Konzepte von Betriebssystem-Komponenten Wilhelm.Haas@informatik.stud.uni-erlangen.de 11. Januar 2005 1 Einleitung Im Jahre 1998 lies Microsoft verlauten, dass sie mit der Entwicklung einer neuen Version

Mehr

im Rahmen des Seminars - Programmiersprachen Markus Nestvogel

im Rahmen des Seminars - Programmiersprachen Markus Nestvogel C# im Rahmen des Seminars - Programmiersprachen Markus Nestvogel 2 Gliederung 1. Einführung 2. Microsoft.NET 3. C# 3 1 Einführung objektorientierte Programmiersprache für Microsoft.NET entwickelt Konkurrenz

Mehr

Vorlesung Software aus Komponenten

Vorlesung Software aus Komponenten Vorlesung Software aus Komponenten 3. Komponenten-Modelle Prof. Dr. Hans-Gert Gräbe Wintersemester 2006/07 1 Was ist.net? "... komplette Neudefinition der Art, wie Microsoft in Zukunft Geschäfte machen

Mehr

9.5 Microsoft.NET

9.5 Microsoft.NET 9.5 Microsoft.NET http://www.microsoft.com/net http://msdn.microsoft.com/netframework Architektur: objektorientiert/fernaufrufe (8.1.6 ) IDL: (unsichtbare Metadaten, vom Übersetzer erzeugt) Dienste: (über

Mehr

Konzepte hinter Microsoft's.NET. Ein Hauptseminarvortrag von Michael Voigt

Konzepte hinter Microsoft's.NET. Ein Hauptseminarvortrag von Michael Voigt Konzepte hinter Microsoft's.NET Ein Hauptseminarvortrag von Michael Voigt Gliederung des gesamten Vortrags 1.Einleitung: Was ist.net? 2.Das.NET Framework 3.Threading unter.net 4.Anwendungen 5.Plattformunabhängigkeit

Mehr

Einführung in die Programmierung

Einführung in die Programmierung 1 Diese Vorlesung: Einführung in.net 2 Einführung in die Programmierung Sebastien Vaucouleur ETH Zurich Kurze (< 2 Stunden) Einführung in.net Was ist.net Geschichte von.net Mehrwert von.net Eiffel +.NET

Mehr

Microsoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber

Microsoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber Microsoft.NET Framework & Component Object Model ein Vortrag von Florian Steuber Übersicht I..NET Framework 1. Was ist das.net Framework? 2. Das.NET Execution Model 3. Sprachunabhängigkeit, CTS und CLS

Mehr

8a. Exkurs.NET. 8a.1.NET Architektur

8a. Exkurs.NET. 8a.1.NET Architektur 8a. Exkurs.NET Inhalt: 8a.1.NET Architektur 8a.2 Kooperation von Anwendungen über ADO -.NET 8a.3 Unterschiede gegenüber gewöhnlicher WIN32- Programmierung 1 8a.1.NET Architektur Bislang wurden die C/C++

Mehr

Microsoft.NET Framework

Microsoft.NET Framework Microsoft.NET Framework Anita Sosnecki Universität Bonn Institut für Informatik Seminar Softwaretechnologie WS 2003 Übersicht Einleitung Was ist.net?.net Framework.NET Komponenten Assemblies Deployment

Mehr

DCOM und.net. B. Sc. Tobias Buchloh. Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Informatik Universität Hannover

DCOM und.net. B. Sc. Tobias Buchloh. Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Informatik Universität Hannover DCOM und.net B. Sc. Tobias Buchloh Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Informatik Universität Hannover 2004-12-21 Gliederung Motivation Einordnung (D)COM.NET

Mehr

Kapitel 21 Nativer Code

Kapitel 21 Nativer Code Kapitel 21 Nativer Ali Jannessari IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Wann muss man verwalteten und nicht-verwalteten

Mehr

Technische Universität München. Thomas Kofler. Oktober 2013

Technische Universität München. Thomas Kofler. Oktober 2013 Thomas Kofler Oktober 2013 Motivation für.net Unzulänglichkeiten des Component Object Models (DLL-Hell: DLLs werden im Windows-Verzeichnis abgelegt. Nur beschränkte Möglichkeit versch. Versionen zu verwalten.

Mehr

Moderne Entwicklungsumgebungen am Beispiel von.net

Moderne Entwicklungsumgebungen am Beispiel von.net Moderne Entwicklungsumgebungen am Beispiel von.net Prof. Dr. Walter F. Tichy Dipl.-Inform. David J. Meder M.Sc. Ali Jannesari IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum

Mehr

4. Objektorientierte Programmierung mit C++

4. Objektorientierte Programmierung mit C++ 4. Objektorientierte Programmierung mit C++ Einführung C++ / Entwicklung/ Sprachfamilie Nicht objektorientierte Erweiterungen von C Grundlagen des Typkonzepts von C++ Ziele der Objektorientierung Objekt

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

Virtual Machines unter der Haube

Virtual Machines unter der Haube Virtual Machines unter der Haube Alexander Lais unfug.org 21.06.2007 Agenda Aufbau der Laufzeitumgebungen Binärformate und Befehlssatz Compilierung Garbage Collection Nativer Code

Mehr

Die ersten C#- Programme erstellen

Die ersten C#- Programme erstellen Zusatzkapitel zu Kapitel 3: Die ersten C#- Programme erstellen I - Erste Schritte Richtig einsteigen: Programmieren lernen mit Visual C# 2005 Website zum Buch: www.vsxpress.de Auf den folgenden Seiten

Mehr

und die Programmiersprache C# Marcel Kulicke Mirijam Joka Sokenou

und die Programmiersprache C# Marcel Kulicke Mirijam Joka Sokenou .Net Framework und die Programmiersprache C# Marcel Kulicke Mirijam Joka Sokenou Das Menü für heute.net im Allgemeinen Architektur, Ausrichtung, Sexy Words C# samt Sprachkonstrukten Sprache, Compiler,

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

Mono - Hands On. Anwendungsentwicklung mit Mono und Gnome. Mario Manno

Mono - Hands On. Anwendungsentwicklung mit Mono und Gnome. Mario Manno Mono - Hands On Anwendungsentwicklung mit Mono und Gnome Mario Manno Chaos Computer Club Cologne e.v. http://koeln.ccc.de Mario Manno http://manno.name 25.06.2006 Vortrag Mario Manno (CCC) Mono - Hands

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

Einführung in die Programmierung

Einführung in die Programmierung 1 Einführung in die Programmierung Sebastien Vaucouleur ETH Zurich 21. Dezember 2004 Diese Vorlesung: Einführung in.net 2 Kurze (< 2 Stunden) Einführung in.net Was ist.net Geschichte von.net Mehrwert von.net

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android Einleitung - Systemarchitektur Hochschule Darmstadt WS15/16 1 Inhalt Historie Systemarchitektur Sandbox 2 Motivation Kontra Pro Limitierte Größe Begrenzte Ressourcen Kein Standardgerät

Mehr

Einführung in Betriebssysteme

Einführung in Betriebssysteme Einführung in Betriebssysteme APPLE ios Entwicklung von ios Entwickelt auf der Basis von MacOS X UNIX Vorgestellt am 9.1.2007 Zusammen mit iphone Markenname von Cisco Internetwork Operating System Für

Mehr

Seminararbeit. Sprachumgebung im.net

Seminararbeit. Sprachumgebung im.net Universität Paderborn Fachbereich Informatik Vertiefung Softwaretechnik Seminararbeit Sprachumgebung im.net Übersetzung, Ausführung, gemeinsame Zwischensprache, gemeinsames Typsystem vorgelegt von Jens

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

Microsoft.NET und SunONE

Microsoft.NET und SunONE Microsoft.NET und SunONE, Plattformen und Application Service Providing Agenda Einordnung.NET und SunONE Kurzvorstellung Gegenüberstellung Zusammenfassung ASP (Application( Service Providing) ) und Ausblick

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

Optimierung der Code-Generierung virtualisierender Ausführungsumgebungen zur Erzielung deterministischer Ausführungszeiten

Optimierung der Code-Generierung virtualisierender Ausführungsumgebungen zur Erzielung deterministischer Ausführungszeiten Optimierung der Code-Generierung virtualisierender Ausführungsumgebungen zur Erzielung deterministischer Ausführungszeiten Martin Däumler Matthias Werner Lehrstuhl Betriebssysteme Fakultät für Informatik

Mehr

IDE-Visual Studio 2010 C#

IDE-Visual Studio 2010 C# IDE-Visual Studio 2010 C# Konzept von C#.NET Framework Visual Studio 2010 C# C# Der Name ist rein Zufällig entstanden und ist auch keine Abkürzung. C# C# ist ursprünglich ein Symbol für den in der Musik

Mehr

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent

Mehr

.NET und wieder eine Middleware Architektur?

.NET und wieder eine Middleware Architektur? .NET und wieder eine Middleware Architektur? Volker Birk CCC ERFA Ulm vb@ebios.de Volker Birk, vb@ebios.de 1 .NET na und?.net soll die Architektur im Internet werden meint Microsoft. Genau so wie Windows?.NET

Mehr

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Tom Krauß Agenda Begriffsdefinition Verfahren Praktische Beispiele Vergleich und Bewertung Begriffsklärung

Mehr

Hybride Cloud-Infrastrukturen Bereitstellung & Verwaltung mit System Center 2012

Hybride Cloud-Infrastrukturen Bereitstellung & Verwaltung mit System Center 2012 Hybride Cloud-Infrastrukturen Bereitstellung & Verwaltung mit System Center 2012 Roj Mircov TSP Datacenter Microsoft Virtualisierung Jörg Ostermann TSP Datacenter Microsoft Virtualisierung 1 AGENDA Virtual

Mehr

Vergleich.Net und COM

Vergleich.Net und COM Vergleich und COM Komponentenorientierte Programmierung und Interoperabilität Einleitung Komponentenmodelle der Firma Microsoft Unterschiedlich in Entstehung und technologischer Umsetzung : Schaffung eines

Mehr

J.5 Die Java Virtual Machine

J.5 Die Java Virtual Machine Java Virtual Machine Die Java Virtual Machine 22 Prof. Dr. Rainer Manthey Informatik II Java-Compiler und Java Virtual Machine Quellcode-Datei class C... javac D.java Java-Compiler - Dateien class class

Mehr

Kapitel 17 Code-Erzeuger und Laufzeitübersetzer

Kapitel 17 Code-Erzeuger und Laufzeitübersetzer Kapitel 17 Code-Erzeuger und Laufzeitübersetzer Ali Jannessari IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) CIL-Code

Mehr

Self-contained.NET Assemblies für eingebettete Systeme

Self-contained.NET Assemblies für eingebettete Systeme Self-contained.NET Assemblies für eingebettete Systeme Bernhard Rabe Fachgebiet Betriebssysteme und Middleware Hasso-Plattner-Institut an der Universität Potsdam Prof.-Dr.-Helmert-Str. 2-3, 14482 Potsdam

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

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

Einführung zu den Übungen aus Softwareentwicklung 1

Einführung zu den Übungen aus Softwareentwicklung 1 Einführung zu den Übungen aus Softwareentwicklung 1 Dipl.-Ing. Andreas Riener Universität Linz, Institut für Pervasive Computing Altenberger Straße 69, A-4040 Linz riener@pervasive.jku.at SWE 1 // Organisatorisches

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

Hardware Virtualisierungs Support für PikeOS

Hardware Virtualisierungs Support für PikeOS Virtualisierungs Support für PikeOS Design eines Virtual Machine Monitors auf Basis eines Mikrokernels Tobias Stumpf SYSGO AG, Am Pfaenstein 14, 55270 Klein-Winternheim HS Furtwangen, Fakultät Computer

Mehr

Prof. Dr.-Ing. Dietrich Schröder GIS und Programmiersprachen: Wohin geht die Reise?

Prof. Dr.-Ing. Dietrich Schröder GIS und Programmiersprachen: Wohin geht die Reise? Prof. Dr.-Ing. Dietrich Schröder GIS und Programmiersprachen: Wohin geht die Reise? 1954 1960 1965 1970 1975 1980 1985 1990 1995 01 02 03 04 40 Jahre Programmierenausbildung im Studiengang VG Programmiersprachen

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

Microsoft s Vision Statements. Softwareentwicklung mit MS.NET und C# .NET auf einer Folie. Agenda. Was ist.net? Die.NET Common Language Runtime

Microsoft s Vision Statements. Softwareentwicklung mit MS.NET und C# .NET auf einer Folie. Agenda. Was ist.net? Die.NET Common Language Runtime 1 Microsoft s Vision Statements Softwareentwicklung mit MS.NET und C# Was ist.net? Die.NET Common Language Runtime Empower people through great software, any time, any place, and on any device. The.NET

Mehr

0. Einführung. C und C++ (CPP)

0. Einführung. C und C++ (CPP) C und C++ (CPP) 0. Einführung Prof. Dr. Marc Rennhard Institut für angewandte Informationstechnologie InIT ZHAW Zürcher Hochschule für Angewandte Wissenschaften marc.rennhard@zhaw.ch Marc Rennhard, 05.01.2010,

Mehr

Universität Karlsruhe (TH) Moderne Programmiersysteme am Beispiel von.net

Universität Karlsruhe (TH) Moderne Programmiersysteme am Beispiel von.net Moderne Programmiersysteme am Beispiel von.net Prof. Walter F. Tichy Was ist.net? Hannes Preishuber auf devtrain.de: (http://www.devtrain.de/artikel_823.aspx) Wenn man Hundert Menschen befragt,.net in

Mehr

1 C# und das.net-framework

1 C# und das.net-framework 1 C# (sprich: see sharp) ist eine von Microsoft entwickelte Programmiersprache für die.net-plattform ([HTWG10]). Obwohl man.net-programme in ganz verschiedenen Sprachen schreiben kann (unter anderem in

Mehr

1. Java Grundbegriffe

1. Java Grundbegriffe 1. Java Grundbegriffe Geschichte von Java Programmieren mit Java Interpretieren vs. Kompilieren Java Byte-Code Jave Virtual Machine Arbeitsmaterialien Allgemeine Informatik 2 SS09 Folie 1.1 Java, eine

Mehr

.NET Code schützen. Projekt.NET. Version 1.0

.NET Code schützen. Projekt.NET. Version 1.0 .NET Code schützen Projekt.NET Informationsmaterial zum Schützen des.net Codes Version 1.0 Autor: Status: Ablage: Empfänger: Seiten: D. Hoyer 1 / 6 Verteiler : Dokument1 Seite 1 von 1 Änderungsprotokoll

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

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

- dynamisches Laden -

- dynamisches Laden - - - Fachbereich Technik Department Elektrotechnik und Informatik 21. Juni 2012 1/23 2/23 s dynamisch Code kann von mehreren Programmen genutzt werden => kleinere Programme einzelne Teile eines Programms

Mehr

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Proseminar Objektorientiertes Programmieren mit.net und C# Florian Schulz Institut für Informatik Software & Systems Engineering Einführung Was hat Cross-Plattform

Mehr

Software Produktentwicklung. Wintersemester 2004 / 2005. Guido Menkhaus and Sebastian Fischmeister University of Salzburg

Software Produktentwicklung. Wintersemester 2004 / 2005. Guido Menkhaus and Sebastian Fischmeister University of Salzburg Software Produktentwicklung Wintersemester 2004 / 2005 Guido Menkhaus and Sebastian Fischmeister University of Salzburg Referenzen Msdn Roadshow.NET.NET Overview. Developmentor Damien Watkins, Handling

Mehr

Proseminar Technische Informatik A survey of virtualization technologies

Proseminar Technische Informatik A survey of virtualization technologies Proseminar Technische Informatik A survey of virtualization technologies Referent: Martin Weigelt Proseminar Technische Informatik - A survey of virtualization technologies 1 Übersicht 1. Definition 2.

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

Entwicklungsumgebungen. Packer, Vagrant, Puppet. Alexander Pacnik Mannheim, 10.11.2014

Entwicklungsumgebungen. Packer, Vagrant, Puppet. Alexander Pacnik Mannheim, 10.11.2014 Entwicklungsumgebungen Packer, Vagrant, Puppet Alexander Pacnik Mannheim, 10.11.2014 inovex... über inovex und den Referenten 2 Entwicklungsumgebungen... Übersicht Einführung Packer Konfiguration Packer

Mehr

Microsoft.NET. .NET was ist das? Microsoft Marketing: Real: Einführung und Überblick. Johannes Heigert

Microsoft.NET. .NET was ist das? Microsoft Marketing: Real: Einführung und Überblick. Johannes Heigert Microsoft.NET Einführung und Überblick Johannes Heigert J.Heigert 2003.NET was ist das? Microsoft Marketing: Alles - von Office-Produkten bis Internet Services Real: Eine Laufzeit- und Entwicklungsumgebung

Mehr

Vortrag von: Ilias Agorakis & Robert Roginer

Vortrag von: Ilias Agorakis & Robert Roginer MDA Model Driven Architecture Vortrag von: Ilias Agorakis & Robert Roginer Anwendungen der SWT - WS 08/09 Inhalt Was ist MDA? Object Management Group (OMG) Ziele Konzepte der MDA Werkzeuge Vor- und Nachteile

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

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder Java: Kapitel 1 Überblick Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Was ist Java? Die Java-Technologie umfasst die Programmiersprache Java sowie die Java-Plattform

Mehr

Implementierung der Jikes Research Virtual Machine

Implementierung der Jikes Research Virtual Machine Fakultät Informatik Institut für technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Implementierung der Jikes Research Virtual Machine Hauptseminar Technische Informatik

Mehr

Universität Karlsruhe (TH) Moderne Entwicklungsumgebungen am Beispiel.NET

Universität Karlsruhe (TH) Moderne Entwicklungsumgebungen am Beispiel.NET Forschungsuniversität gegründet 1825 Moderne Entwicklungsumgebungen am Beispiel.NET Die.NET-Architektur Teil 1 Ali Jannesari Institut für Programmstrukturen und Datenorganisation (IPD) Inhalt Common Language

Mehr

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise Coma I Einleitung 1 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen Literaturhinweise 2 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen

Mehr

Java: Eine Übersicht. Dennis Giffhorn. Lehrstuhl für Programmierparadigmen Universität Karlsruhe

Java: Eine Übersicht. Dennis Giffhorn. Lehrstuhl für Programmierparadigmen Universität Karlsruhe Java: Eine Übersicht Dennis Giffhorn Lehrstuhl für Programmierparadigmen Universität Karlsruhe Allgemeines Objektorientiert Syntaxfamilie von C/C++ Statisch getypt Entwickelt von Sun Microsystems class

Mehr

Programmieren lernen mit Groovy Allgemeines Programme und ihre Ausführung

Programmieren lernen mit Groovy Allgemeines Programme und ihre Ausführung Programmieren lernen mit Groovy Allgemeines Programme und ihre Ausführung Seite 1 Allgemeines Dozent Dr. Th. Letschert Lernziel Einführung in die Software-Entwicklung und Programmierung Kenntnisse einer

Mehr

Agenda. Einleitung Produkte vom VMware VMware Player VMware Server VMware ESX VMware Infrastrukture. Virtuelle Netzwerke

Agenda. Einleitung Produkte vom VMware VMware Player VMware Server VMware ESX VMware Infrastrukture. Virtuelle Netzwerke VMware Server Agenda Einleitung Produkte vom VMware VMware Player VMware Server VMware ESX VMware Infrastrukture Virtuelle Netzwerke 2 Einleitung Virtualisierung: Abstrakte Ebene Physikalische Hardware

Mehr

Windows Azure für Java Architekten. Holger Sirtl Microsoft Deutschland GmbH

Windows Azure für Java Architekten. Holger Sirtl Microsoft Deutschland GmbH Windows Azure für Java Architekten Holger Sirtl Microsoft Deutschland GmbH Agenda Schichten des Cloud Computings Überblick über die Windows Azure Platform Einsatzmöglichkeiten für Java-Architekten Ausführung

Mehr

Windows Programmierung mit.net AUGE-Vortrag Frankfurt

Windows Programmierung mit.net AUGE-Vortrag Frankfurt AUGE-Vortrag Frankfurt! am 2005-03-19! Reinhold Weniger, Essen / Ruhr! E-Mail: reinhold.weniger@cneweb.de Voraussetzungen Hardware! Plattenplatz (kann auch auf ein Laufwerk)! 350 600 MB Betriebssystem-Partition

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

C#Objektorientierte. Aleksandra Maj. Programmiersprachen. Programmiersprachen am Beispiel C# Referat im Rahmen des Seminars. 15.

C#Objektorientierte. Aleksandra Maj. Programmiersprachen. Programmiersprachen am Beispiel C# Referat im Rahmen des Seminars. 15. C#Objektorientierte Programmiersprachen am Beispiel C# Referat im Rahmen des Seminars Programmiersprachen 15.Juli 2004 Aleksandra Maj 1 1.Einleitung Kurze Geschichte und Ziele der neuen Programmiersprache

Mehr

Kapitel 21 Nativer Code

Kapitel 21 Nativer Code Kapitel 21 Nativer Korbinian Molitorisz IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Wann muss man verwalteten und

Mehr

Liste Programmieren Java Überblick

Liste Programmieren Java Überblick Liste Programmieren Java Überblick 1 Was ist Java? 2 Klassen und Objekte 3 Vererbung 4 Schnittstellen 5 Innere Klassen 6 Exceptions 7 Funktionsbibliothek 8 Datenstrukturen und Algorithmen 9 Ein-/Ausgabe

Mehr

Moderne Entwicklungsumgebungen am Beispiel von.net

Moderne Entwicklungsumgebungen am Beispiel von.net Moderne Entwicklungsumgebungen am Beispiel von.net Prof. Dr. Walter F. Tichy Dipl.-Inform. Philip Pfaffe IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH

Mehr

Enterprise Application Integration Erfahrungen aus der Praxis

Enterprise Application Integration Erfahrungen aus der Praxis Enterprise Application Integration Erfahrungen aus der Praxis Teil 4: EAI und.net, EAI und J2EE Tutorial NODs 2002, Wolfgang Keller and Generali 2001, 2002, all rights reserved 1 Überblick EAI und....net

Mehr

Mit Cloud Power werden Sie zum

Mit Cloud Power werden Sie zum Mit Cloud Power werden Sie zum Herzlich Willkommen! Christian Hassa Managing Partner TechTalk Software AG Agenda Mobile App Development mit Xamarin Pause Azure Mobile Services Q&A 9h00-10h30 10h30-10h50

Mehr

Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick

Mehr

Moderne Entwicklungsumgebungen am Beispiel von.net

Moderne Entwicklungsumgebungen am Beispiel von.net Moderne Entwicklungsumgebungen am Beispiel von.net Prof. Dr. Walter F. Tichy Dipl.-Inform. Korbinian Molitorisz IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe

Mehr

VIVIT TQA Treffen in Köln am 18. 04. 2013. API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA

VIVIT TQA Treffen in Köln am 18. 04. 2013. API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA VIVIT TQA Treffen in Köln am 18. 04. 2013 API- Programmierung und Nutzung bei HP Quality Center / ALM Michael Oestereich IT Consultant QA Agenda Vorstellung der API- Versionen OTA- API SA- API REST- API

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

Übungen zur Softwaretechnik

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

Mehr

C# - Einführung in die Programmiersprache. Leibniz Universität IT Services Anja Aue

C# - Einführung in die Programmiersprache. Leibniz Universität IT Services Anja Aue C# - Einführung in die Programmiersprache Leibniz Universität IT Services Anja Aue Bücher und Weblinks Bücher: RRZN-Handbuch: C# - Einführung Richtig einsteigen: Programmieren lernen mit Visual C# 2010;

Mehr

Programmierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland. 1 Programmierung 2 Übersetzer: Code-Erzeugung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 Bytecodes Der Java Übersetzer erzeugt keine Maschinensprache

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

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

Seminar: Komponentenorientierte Softwareentwicklung und Hypermedia

Seminar: Komponentenorientierte Softwareentwicklung und Hypermedia Folie 1 Seminar: Komponentenorientierte Softwareentwicklung und Hypermedia Sebastian Heybach Daniel Böhner Folie 2 Übersicht Entstehung von.net CLR & MSIL XML und SOAP als Transportkontrolle JIT-Kompilation

Mehr

Configuration Management mit Verbosy 17.04.2013 OSDC 2013. Eric Lippmann www.netways.de

Configuration Management mit Verbosy 17.04.2013 OSDC 2013. Eric Lippmann www.netways.de Configuration Management mit Verbosy 17.04.2013 OSDC 2013 Eric Lippmann Kurzvorstellung NETWAYS Expertise OPEN SOURCE SYSTEMS MANAGEMENT OPEN SOURCE DATA CENTER Monitoring & Reporting Configuration Management

Mehr

Grundlagen der Programmierung UE

Grundlagen der Programmierung UE Grundlagen der Programmierung UE Research and teaching network GdP UE H. Prähofer, M Löberbauer 1 Vortragende Dipl.-Ing. Markus Löberbauer (G1) Dr. Herbert Praehofer (G2 u. G3) Institute for System Software

Mehr

Microsoft.NET Architektur. Matthias Nübling

Microsoft.NET Architektur. Matthias Nübling Microsoft.NET Architektur Matthias Nübling Gliederung Common Language Runtime Assemblies Ausführungsmodell Interoperabilität Sicherheit .NET Ziele Einheitliches Programmiermodell für unterschiedliche Programmiersprachen

Mehr