Überblick über Java-Umgebungen auf Embedded-Plattformen

Größe: px
Ab Seite anzeigen:

Download "Überblick über Java-Umgebungen auf Embedded-Plattformen"

Transkript

1 Fakultät Informatik, Institut für Angewandte Informatik, Professur Technische Informationssysteme Überblick über Java-Umgebungen auf Tony Müller Dresden,

2 Inhalt 1 Einleitung 2 Java-Plattform 3 Java ME 4 Bytecode-Abarbeitung 5 Beispiele: - Kertasarie VM - Sun SPOT - LeJOS - GCJ - SHAP 6 Zusammenfassung Folie 2 von 15

3 Einleitung Motivation Warum Java in eingebetteten System einsetzen? Vorteile von Java objektorientiert, wiederverwendbar plattformunabhängig keine Zeigerarithmetik (Sicherheit) automatische Speicherverwaltung (Garbage Collection) umfangreiche Klassenbibliotheken Probleme und Hindernisse nicht echtzeitfähig (keine Sprachelemente für Echtzeit, nichtvorhersagbares Verhalten des Garbage Collectors) langsamer als C/C++ hoher Speicherverbrauch (VM, JIT-Compiler, Garbage Collector) kein direkter Hardwarezugriff Folie 3 von 15

4 Java-Plattform verschiedene Geräteklassen Unterteilung in Editionen, Konfigurationen, Profile Unterschiede in Sprachumfang, API-Spezifikation, JVM Funktionalität vs. Geschwindigkeit vs. Speicherbedarf [1] Folie 4 von 15

5 Java Micro Edition HW-Anforderungen CDC (Connected Device Configuration) 32-Bit Prozessor, 2 MB RAM, 2,5 MB ROM CLDC (Connected Limited Device Configuration) 16/32-Bit Prozessor, 32 KB RAM, 160 KB ROM VM-Referenz CVM von Sun KVM von Sun Eigenschaften kaum Einschränkungen Reflection und Serialisierung vorhanden aber keine RMI-API optionale Pakete keine GUI-API Profile keine selbstdefinierten Classloader, kein Reflection, keine Serialisierung kein RMI kein Java Native Interface (JNI) eingeschränkte Collection-API (nur Vector, Stack, Hashtable, Enumeration) Generic Connection Framework (GCF) für Kommunikation keine GUI-Klassen Profile Profile Foundation Profile Personal Basis Profile Personal Profile Mobile Information Device Profile GUI-API (kein AWT/Swing) MIDlets Information Module Profile TU Dresden, embedded Plattformen Folie 5 von 15

6 Bytecode-Abarbeitung Bytecode-Verarbeitung Hardware Software direkte Bytecode- Ausführung Hardware-JIT Befehlssatzerweiterung Kompilation Interpretation AOT JIT Hotspot nach [1] Bytecode- Ausführung Interpretation JIT-Compiler Hotspot-Compiler AOT-Compiler Portierbarkeit Geschwindigkeit Speicherbedarf Startup- Verzögerung nach [1] Folie 6 von 15

7 Beispiele - Kertasarie VM CDC-API eigene GUI-API (Nutzung nativer GUI-Elemente) netzwerkzentriert Unterstützung von Sockets, Reflection, Serialisierung TinyRMI (eigene RMI-Implementierung, unterstützt TCP und UDP) echtzeitfähig (highest-priority-first Scheduling mit priority-inheritance, echtzeitfähiger GC) Green-Threads Modell (gesamte VM als ein OS-Thread) kein JNI nativer Code statisch in VM einkompiliert Bytecode-Interpreter und JIT-Compiler Plattformen: Linux (x86, ARM, PowerPC) WindowsCE (StrongARM) ecos (ARM) Codegröße KB ähnlich wie KVM, bei ähnlicher Geschwindigkeit wie CVM Folie 7 von 15

8 Beispiele Sun SPOT Allgemeines Experimentierplattform für Wireless Sensor Networks Hardware und Software Open Source Sun SPOT JDK 315 (2 Sensorknoten + Basisstation) IDE-Unterstützung (Netbeans) + Emulator Hardware 400 MHz 32-Bit ARM-Prozessor, 1 MB RAM, 8 MB Flash- Speicher Temperatur-, Licht-, Beschleunigungssensor eigene Sensorboards 2.4 GHz Funk Modul nach IEEE [7] Software Squawk VM (läuft ohne OS direkt auf der Hardware) CLDC-API + Bibliotheken für Zugriff Hardware MAC-Schicht Basis für Zigbee [6] Folie 8 von 15

9 Beispiele - LeJOS Lego Mindstorms NXT 32-Bit MHz, 256 kb Flash- Speicher, 64 kb RAM Sensoren, Aktoren, USB, Bluetooth LeJOS Open Source Java-Programmierumgebung Firmware, die für NXT angepasste JVM zur Verfügung stellt grundlegende Java-Bibliotheken + Bibliotheken für Zugriff auf Sensoren/Aktoren, Kommunikation (Bluetooth) und Robotik-Algorithmen (Lokalisierung, Wegfindung etc.) Werkzeuge für Installation der Firmware, Laden der Programme auf NXT Eclipse und Netbeans Plugins Interpretation des Bytecodes nxj-dateiformat (kein Reflection, kein dynamisches Laden von Klassen) [9] Folie 9 von 15

10 Beispiele GCJ The GNU Compiler for the Java Programming Language Frontend für GCC übersetzt Java Byte-/Quellcode in nativen Maschinencode Laufzeitsystem libgcj (enthält freie Implementierung der Java-Klassenbibliotheken, Garbage Collector und Bytecode-Interpreter) Klassenbibliotheken noch nicht vollständig implementiert (z.b. AWT und Swing unvollständig) Interpreter für dynamisch geladene Klassen CNI (Compiled Native Interface) als Alternative zu JNI (Java Native Interface) Schnittstelle zu C++ Folie 10 von 15

11 Beispiele - SHAP Eigenschaften Multicore Java-Bytecode-Prozessor Agentensystem Programmausführung direkt in Hardware FPGA (Xilinx Spartan 3) echtzeitfähig durch preemptives Round- Robin-Scheduling und nebenläufige Garbage Collection CLDC-API (phoneme) Floating-Point-Arithmetik in Software emuliert dynamisches Laden von Klassen [17] Workflow Quellcode mit Standard-Java-Compiler übersetzen Applikation+Shap Runtime ShapLinker.shap-Datei FPGA Folie 11 von 15

12 Zusammenfassung Fazit Eigenschaften von Java machen Einsatz in eingebetteten Systemen attraktiv, sorgen aber auch für Probleme verschiedene Ansätze um Probleme zu minimieren Java und eingebettete Systeme passt das zusammen? JA, aber immer Abwägung von Funktionalität, Geschwindigkeit und Speicherbedarf Folie 12 von 15

13 Quellen [1] Stephan Gatzka: Java in eingebetteten Systemen, Dissertation, TU Dresden, 2009 [2] Stephan Gatzka, Christian Hochberger, Thomas Geithner: The Kertasarie VM. In: Organisatoren Net.ObjectDays, c/0 transit GmbH (Hrsg.): Net.ObjectDays 2003 Tagungsband, IGT Colordruck GmbH, ISBN , S The Kertasarie VM., 2003 [3] Kertasarie VM Projektseite GIANT GmbH, [4] Kertasarie VM Projektseite Universität Rostock [5] Sun SPOT Website, [6] Sun SPOT Wiki, [7] Sun SPOT Bild, Folie 13 von 15

14 Quellen [8] LeJOS Website, [9] Lego Mindstorms NXT Bild, [10] GCJ Website, [11] Per Bothner: Compiling Java with GCJ, Artikel, Linux Journal, 2003, [12] GCC Logo, [13] SHAP Projektwebseite, [14] Martin Zabel, Thomas B. Preußer, Rainer G. Spallek: Real-time Java processor for monitoring and test. In 1st Cooperation Workshop of Computer Science. Brandenburg University of Technology at Cottbus. Computer Science Report 03/06, Oct embedded Plattformen Folie 14 von 15

15 Quellen [15] Thomas B. Preußer, Martin Zabel, Peter Reichel: The SHAP Microarchitecture and Java Virtual Machine. Fakultät Informatik, Technische Universität Dresden, Tech. Rep. TUD-FI April 2007, ISSN X [16] Martin Zabel, Thomas B. Preußer, Peter Reichel, Rainer G. Spallek: SHAP -- SecureHardware Agent Platform. In Dresdner Arbeitstagung Schaltungs- und Systementwurf (DASS'07). TUDpress, 2007, pp [17] SHAP Bild, tei/vlsi/forschung/shap_vlsi embedded Plattformen Folie 15 von 15

Java für Embedded Systems

Java für Embedded Systems Java für Embedded Systems Marc Balmer, micro systems marc@msys.ch 25. April 2001 Java-fähige Embedded Systems Palm PDA TINI Board Java-Ring ibutton Cyberflex Smart Card... Embedded Systems Steuer- und

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

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

Usability-Test für mobile Java-Anwendungen

Usability-Test für mobile Java-Anwendungen Usability-Test für mobile Java-Anwendungen Problemstellung / Abgrenzung Usability Engineering / Patterns Usability Test Tool-Kette Fazit Roland Petrasch Usability-Test für mobile Java-Anwendungen Problemstellung

Mehr

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag

Mehr

Gforth EC auf dem NXT Brick

Gforth EC auf dem NXT Brick Gforth EC auf dem NXT Brick Forth Tagung 2007 Vernichtende Kritik am RCX Vergleich zum RCX Software Umfeld Ullrich Hoffmann: Wenn ich an den RCX Wettbewerb in Haminkeln zurückdenke, fand ich das Forth

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

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

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

Debugging mit uclinux auf ARM-Prozessoren

Debugging mit uclinux auf ARM-Prozessoren Debugging mit uclinux auf ARM-Prozessoren Thema der Diplomarbeit betreut durch Steffen Köhler 15.06.2005 TU Dresden, Institut für Technische Informatik 1 µclinux µ für micro und C für Controller sprich:

Mehr

Vom Smart Dust zum Smart Phone: Verfügbare SensingPlattformen. Adrian Friedli adrianfriedli@student.ethz.ch

Vom Smart Dust zum Smart Phone: Verfügbare SensingPlattformen. Adrian Friedli adrianfriedli@student.ethz.ch Vom Smart Dust zum Smart Phone: Verfügbare SensingPlattformen Adrian Friedli adrianfriedli@student.ethz.ch Verteilte Systeme Seminar, ETH Zürich, 24. Februar 2009 Übersicht Sensornetze Mobiltelefone Sensornetze

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

Java-Bytecode-Prozessor SHAP

Java-Bytecode-Prozessor SHAP Fakultät Informatik Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Java-Bytecode-Prozessor SHAP Hauptseminar Martin Zabel (martin.zabel@tu-dresden.de)

Mehr

Software-basierter Speicherschutz durch spezialisierte Java-VMs auf Mikrocontrollersystemen

Software-basierter Speicherschutz durch spezialisierte Java-VMs auf Mikrocontrollersystemen Software-basierter Speicherschutz durch spezialisierte Java-VMs auf Mikrocontrollersystemen Christian Wawersich Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Universität Erlangen-Nürnberg

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

Embedded Linux. Embedded Linux. Daniel Buchheim daniel.buchheim@informatik.tu-cottbus.de. Seminar "Eingebettete drahtlose Systeme"

Embedded Linux. Embedded Linux. Daniel Buchheim daniel.buchheim@informatik.tu-cottbus.de. Seminar Eingebettete drahtlose Systeme Daniel Buchheim daniel.buchheim@informatik.tu-cottbus.de Embedded Linux 30.01.2009 Daniel Buchheim Inhalt: Was ist Embedded Linux? Hardwareunterstützung in Eingebetteten Systemen Open Source Aspekte Aufbau

Mehr

Anpassung einer freien SSL/TLS Implementierung an die Kertasarie VM

Anpassung einer freien SSL/TLS Implementierung an die Kertasarie VM Anpassung einer freien SSL/TLS Implementierung an die Kertasarie VM Aufgabenstellung Praktikum Betreuer: Dipl.-Inf. Christian Meusel christian.meusel@inf.tu-dresden.de Zeitrahmen: Beginn: 5. Juni 2009

Mehr

Java für C++ Programmierer

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

Mehr

Vorkurs Informatik WiSe 15/16

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

Mehr

Entwicklung einer echtzeitfähigen CLI-Laufzeitumgebung für den Einsatz in der Automatisierungstechnik

Entwicklung einer echtzeitfähigen CLI-Laufzeitumgebung für den Einsatz in der Automatisierungstechnik Entwicklung einer echtzeitfähigen CLI-Laufzeitumgebung für den Einsatz in der Automatisierungstechnik Echtzeit 2010 Alexej Schepeljanski Martin Däumler Matthias Werner Echtzeit 2010 / 18. November 2010

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

J.6 Programmierung eingebetteter Systeme

J.6 Programmierung eingebetteter Systeme Vorteile von C in eingebetteten Systemen: leichter Zugriff auf die Hardware gute Kontrolle über die verwendeten Ressourcen (Speicher, CPU) Probleme mit C: stark eingeschränkte Laufzeitüberprüfungen ISO

Mehr

Einsatz von Java-fähigen GPRS-Terminals

Einsatz von Java-fähigen GPRS-Terminals Einsatz von Java-fähigen GPRS-Terminals Ein Bericht aus der Praxis Dr. Fred Könemann INSIDE M2M GmbH 15. VDE/ITG Fachtagung Mobilkommunikation Osnabrück 19.-20. Mai 2010 Dr. Fred Könemann, INSIDE M2M GmbH

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

JAVA. Ein kurzer Überblick. Thomas Karp

JAVA. Ein kurzer Überblick. Thomas Karp JAVA Ein kurzer Überblick Thomas Karp WAS IST JAVA? Java ist eine fast rein objektorientierte Sprache nicht JavaScript eine professionelle Sprache eine im Unterricht weit verbreitete Sprache für verschiedene

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

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

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

JavaIDS Intrusion Detection für die Java Laufzeitumgebung

JavaIDS Intrusion Detection für die Java Laufzeitumgebung JavaIDS Intrusion Detection für die Java Laufzeitumgebung Bundesamt für Sicherheit in der Informationstechnik Security Forum 2008 23. April 2008 Agenda 1. Das BSI 2. Überblick über die Java-Plattform 3.

Mehr

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Installation von NetBeans inkl. Glassfish Anwendungs-Server Installation von NetBeans inkl. Glassfish Anwendungs-Server Diese Anleitung führt Sie Schritt für Schritt durch die Einrichtung der Entwicklungsumgebung NetBeans, angefangen beim Download der benötigten

Mehr

Programmieren I. Überblick. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Überblick. www.kit.edu. Institut für Angewandte Informatik Programmieren I Überblick KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Übersicht Programmieren Programmieren I (1. Semester)

Mehr

CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java

CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java Stand: 21.02.2015 Java-Plattform: Auf Ihrem Computer muss die Java-Plattform, Standard-Edition der Version 7 (Java SE 7) oder höher installiert

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

Systemanforderungen Verlage & Akzidenzdruck

Systemanforderungen Verlage & Akzidenzdruck OneVision Software AG Inhalt Asura 9.5, Asura Pro 9.5, Garda 5.0...2 PlugBALANCEin 6.5, PlugCROPin 6.5, PlugFITin 6.5, PlugRECOMPOSEin 6.5, PlugSPOTin 6.5,...2 PlugTEXTin 6.5, PlugINKSAVEin 6.5, PlugWEBin

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

JAVA als erste Programmiersprache Semesterkurs

JAVA als erste Programmiersprache Semesterkurs JAVA als erste Programmiersprache Semesterkurs 0 - Einstieg WS 2012 / 2013 Prof. Dr. Bodo Kraft Prof. Dr. Bodo Kraft FH Aachen University of Applied Sciences Fachbereich Medizintechnik und Technomathematik

Mehr

Meine SPS kann Linux, und nun?

Meine SPS kann Linux, und nun? http://www.arvero.de Meine SPS kann Linux, und nun? Ein Linux-basierter Software-Stack für industrielle Eingebettete Systeme Autor: Christoph Stoidner Zur Person / Firma Christoph Stoidner Diplom. Informatiker

Mehr

Programmierung mobiler Kleingeräte

Programmierung mobiler Kleingeräte Programmierung mobiler Kleingeräte Einführung in J2ME Wolfgang Auer, Patrick Ritschel Java 2 Plattformen Quelle: Sun, Datasheet Java 2 Platform, Micro Edition Programmierung mobiler Kleingeräte, Einführung

Mehr

Mobile Betriebsysteme

Mobile Betriebsysteme Mobile Betriebsysteme Ueli Hofstetter, Philippe Hungerbühler, Anil Kandrical Seminar in Mobile Communication Systems WS 06/07 1 1.1 Kleingeräte für mobile Betriebsysteme Embedded System Personal Digital

Mehr

NetBeans Installation für Handy-Programmierung

NetBeans Installation für Handy-Programmierung Netbeans-Installation für Handy-Programmierung Seite 1 NetBeans Installation für Handy-Programmierung 1. Installation Die Netbeans-Installation setzt voraus, dass JDK 6 bereits auf dem Rechner installiert

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

Die Eclipse Rich Client Platform. Martin Lippert Consultant und Coach lippert@acm.org

Die Eclipse Rich Client Platform. Martin Lippert Consultant und Coach lippert@acm.org Die Eclipse Rich Client Platform Martin Lippert Consultant und Coach lippert@acm.org Historisches Eclipse is a universal platform for integrating development tools Plugin Development Environment PDE Java

Mehr

Sonderpraktikum Home Automation 2010

Sonderpraktikum Home Automation 2010 2010 Technische Universität Braunschweig Abteilung Entwurf integrierter Schaltungen 38106 Braunschweig DOMOLOGIC GmbH 38106 Braunschweig Vielfältige Anwendungsmöglichkeiten: Economy?! Wetter- und anwesenheitsabhängige

Mehr

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel 2.6 Managed Code, Angepasste Java

Mehr

Stefan Schmidt stefan@datenfreihafen.org. 28. Mai 2006

Stefan Schmidt stefan@datenfreihafen.org. 28. Mai 2006 Linux Linux 28. Mai 2006 Linux Linux Motorola verkauft seit einigen Jahren im asiatischen Markt s mit Linux. Die prominentesten Vertreter sind hier das E680 und das E680i. Seit Ende letzten Jahres ist

Mehr

Übung Softwareentwicklung 1, WS0910 Gemeinsame Einführung

Übung Softwareentwicklung 1, WS0910 Gemeinsame Einführung Übung Softwareentwicklung 1, WS0910 Gemeinsame Einführung Informatik, Informationselektronik, Wirtschaftsinformatik, Lehramt Informatik, Chemie, etc. Dipl.-Ing. Institute for Pervasive Computing Johannes

Mehr

Grundlagen der Programmierung UE

Grundlagen der Programmierung UE Grundlagen der Programmierung UE Research and teaching network GdP UE H. Prähofer, R. Wolfinger 1 Vortragende Dr. Herbert Praehofer (G1 u. G2) Mag. Reinhard Wolfinger (G3 u. G4) Institute for System Software

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

GameGrid mit BlueJ Seite 1

GameGrid mit BlueJ Seite 1 GameGrid mit BlueJ Seite 1 GameGrid mit BlueJ BlueJ ist eine Java-Entwicklungsumgebung mit einer einfachen Benutzeroberfläche. Dem Benutzer stehen ein einfacher Texteditor mit Syntaxhervorhebung und ein

Mehr

Energieeffiziente Empfänger in Sensornetzwerken

Energieeffiziente Empfänger in Sensornetzwerken Fakultät Informatik, Institut für Angewandte Informatik, Professur für Technische Informationssysteme Energieeffiziente Empfänger in Sensornetzwerken Dresden, 09.01.2012 Motivation Wie kann man alle Geräte

Mehr

Java Micro Edition. Entwicklung mobiler JavaME-Anwendungen mit CLDC und MIDP. von Klaus D. Schmatz. 2., aktualis. u. erw. Aufl.

Java Micro Edition. Entwicklung mobiler JavaME-Anwendungen mit CLDC und MIDP. von Klaus D. Schmatz. 2., aktualis. u. erw. Aufl. Java Micro Edition Entwicklung mobiler JavaME-Anwendungen mit CLDC und MIDP von Klaus D. Schmatz 2., aktualis. u. erw. Aufl. Java Micro Edition Schmatz schnell und portofrei erhältlich bei beck-shop.de

Mehr

Microsoft.NET Gadgeteer: Ein raffinierter Weg zum Embedded-Produkt. ECC 2013 Marcel Berger

Microsoft.NET Gadgeteer: Ein raffinierter Weg zum Embedded-Produkt. ECC 2013 Marcel Berger Microsoft.NET Gadgeteer: Ein raffinierter Weg zum Embedded-Produkt ECC 2013 Marcel Berger 1 Agenda Motivation Einführung Microsoft.NET Micro Framework Einführung Microsoft.NET Gadgeteer Vorteile Architektur

Mehr

Einführung in JAVA. Viele Höhen und Tiefen Java war schon einmal nahezu tot. Heute extrem weit verbreitet vom Supercomputer bis hin zum Handy.

Einführung in JAVA. Viele Höhen und Tiefen Java war schon einmal nahezu tot. Heute extrem weit verbreitet vom Supercomputer bis hin zum Handy. Small History Machine Virtual Machine (VM) Komponenten der VM Entwicklungswerkzeuge JDK Woher bekommt man JDK Wie installiert man JDK Wie benutzt man JDK Entwicklungsumgebungen Java 23. May 1995: John

Mehr

Heiko Bobzin Poet Software GmbH

Heiko Bobzin Poet Software GmbH Embedded Java - Entwicklungswerkzeuge für komplexe Geräte Heiko Bobzin Poet Software GmbH Überblick Embedded Java - was meint das? Komplexe Systeme - Ein Beispiel Edit, compile, debug,... Zusammenfassung

Mehr

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Jörg Rödel Virtualization - Whats out there? Virtualisierung hat bereits längere Geschichte auf x86 Startete mit VMware Setzte

Mehr

Cross-Platform Mobile mit.net

Cross-Platform Mobile mit.net Cross-Platform Mobile mit.net Mobile Entwicklungslandschaft Nativ Crosscompiled Hybrid Web Beste Usability? Überschaubare Kosten? Was ist Xamarin? Was ist Xamarin? 2011 Gegründet aus dem Ximian, Novell

Mehr

OpenBeacon Proximity - 2.4GHz RFID - 4. Wildauer Symposium RFID und Medien

OpenBeacon Proximity - 2.4GHz RFID - 4. Wildauer Symposium RFID und Medien OpenBeacon Proximity - 2.4GHz RFID - 4. Wildauer Symposium RFID und Medien 25. Oktober 2011 Übersicht 1 Einleitung 2 Hardwareübersicht OpenBeacon - Aktives 2.4GHz RFID System OpenBeacon.org Gerätefamilie

Mehr

E-Business Architekturen

E-Business Architekturen E-Business Architekturen Übung 3b Entwicklung eigener Service-Angebote 01.03.2015 Prof. Dr. Andreas Schmietendorf 1 Ziele der Übung Möglichkeiten zur Serviceimplementierung (ggf. auch Cloud) Umgang mit

Mehr

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Softwaretechnik I Wintersemester 2015 / 2016 www.ias.uni-stuttgart.de/st1 st1@ias.uni-stuttgart.de

Mehr

Programmieren I. Überblick. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Überblick. www.kit.edu. Institut für Angewandte Informatik Programmieren I Überblick KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Übersicht Programmieren Programmieren I (1. Semester)

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

Walkabout: Location Based Services mit Android und dem Google Phone

Walkabout: Location Based Services mit Android und dem Google Phone Walkabout: Location Based Services mit Android und dem Google Phone Teilbereich 1: Die Android Plattform für mobile Geräte (Software) Von: Sebastian Schul Inhalt Einleitung Was ist Android Exkurs: Wie

Mehr

Vortrag zur Diplomarbeit

Vortrag zur Diplomarbeit Fakultät Informatik Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Vortrag zur Diplomarbeit Entwurf und Implementierung eines zuverlässigen verbindungsorientierten Transportprotokolls für

Mehr

Trace- und Zeit-Zusicherungen beim Programmieren mit Vertrag

Trace- und Zeit-Zusicherungen beim Programmieren mit Vertrag Trace- und Zeit-Zusicherungen beim Programmieren mit Vertrag Mark Brörkens Universität Oldenburg, Fachbereich Informatik Email: Mark.Broerkens@informatik.uni-oldenburg.de Einleitung Programmieren mit Vertrag

Mehr

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

Mehr

Web-basierte Benutzerschnittstellen für Embedded Systeme: Eine Benutzerschnittstelle drei Sichtweisen

Web-basierte Benutzerschnittstellen für Embedded Systeme: Eine Benutzerschnittstelle drei Sichtweisen Web-basierte Benutzerschnittstellen für Embedded Systeme: Eine Benutzerschnittstelle drei Sichtweisen Klaus-Dieter Walter SSV Software Systems GmbH Dünenweg 5 D-30419 Hannover www.ssv-embedded.de kdw@ssv-embedded.de

Mehr

Open Source IDE - eclipse ETIS SS04

Open Source IDE - eclipse ETIS SS04 Open Source IDE - eclipse ETIS SS04 Gliederung Motivation Geschichte Architektur Platform Runtime Eclipse Platform Java Development Tools (JDE) Plugin Development Environment (PDE) Zusammenfassung 2 Motivation

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

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

Portierung eines geeigneten LZ-basierten Kompressors auf LegUp-HLS

Portierung eines geeigneten LZ-basierten Kompressors auf LegUp-HLS Kolloquium zur Projektarbeit des Moduls ET-INF-D-900 Portierung eines geeigneten LZ-basierten Kompressors auf LegUp-HLS Jens Voß jens.voss@mailbox.tu-dresden.de Dresden, 11.02.2015 Kolloquium - Projektarbeit

Mehr

2008 Jiri Spale, Programmierung in eingebetteten Systemen 1

2008 Jiri Spale, Programmierung in eingebetteten Systemen 1 2008 Jiri Spale, Programmierung in eingebetteten Systemen 1 NetX - Einführung 2008 Jiri Spale, Programmierung in eingebetteten Systemen 2 NetX is... a highly integrated network controller with a new system

Mehr

Virtuelle Maschinen. von Markus Köbele

Virtuelle Maschinen. von Markus Köbele Virtuelle Maschinen von Markus Köbele Was sind virtuelle Maschinen? Rechner, dessen Hardwarekomponenten vollständig durch Software emuliert und virtualisiert werden Anweisungen der virtuellen Maschine

Mehr

Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken

Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken Dennis Hardt 21.06.2006 Gliederung Statische Analyse Definition, Arbeitsweise, Werkzeuge Angewandt auf ein Projekt Statische Analyse selbst

Mehr

Perceptive Document Composition

Perceptive Document Composition Systemvoraussetzungen Version: 6.0.1 Erstellt von Product Knowledge, R&D Datum August 2015 Inhalt Perceptive Document Composition Systemvoraussetzungen... 3 Perceptive Document Composition WebClient Systemvoraussetzungen...

Mehr

Wine - Windows unter Linux

Wine - Windows unter Linux 14. Februar 2009 Vortrag für den PC-Treff Böblingen Agenda 1 2 3 4 Vorteile Nachteile Problemsoftware Versionen von Wine Wine stellt die Windows API unter Linux zur Verfügung, damit können Windows Programme

Mehr

Methoden zur Visualisierung von ereignisdiskreten Analysedaten

Methoden zur Visualisierung von ereignisdiskreten Analysedaten Fakultät Informatik, Institut für Angewandte Informatik, Professur Technische Informationssysteme Methoden zur Visualisierung von ereignisdiskreten Analysedaten Referent: Hendrik Freund Betreuer: Vladimir

Mehr

C++ mit Eclipse & GCC unter Windows

C++ mit Eclipse & GCC unter Windows C++ mit Eclipse & GCC Seite 1 / 14 C++ mit Eclipse & GCC unter Windows Hinweise Stand 18. Okt. 2014 => GCC 4.9.1 Boost 1.56.0 Eclipse Luna V. 4.4.1 Java Version 8, Update 25 (entspricht 1.8.0_25) Achtung

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

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

Übersicht aktueller heterogener FPGA-SOCs

Übersicht aktueller heterogener FPGA-SOCs Fakultät Informatik, Institut für Technische Informatik, Professur VLSI-Entwurfssysteme, Diagnostik und Architektur Übersicht aktueller heterogener FPGA-SOCs Vortrag zum Lehrstuhlseminar Tilo Zschau tilo.zschau@mailbox.tu-dresden.de

Mehr

Macher Solutions Produktinformation SAP Crystal Reports 2011

Macher Solutions Produktinformation SAP Crystal Reports 2011 Merkmale und Funktionen Crystal Reports stellt umfangreiche Funktionen für Entwurf, Analyse, Visualisierung und Bereitstellung aussagekräftiger Berichte zur Verfügung. Integration von SAP Crystal Spielen

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

Teilprojekt 3 Systemsoftware (Middleware)

Teilprojekt 3 Systemsoftware (Middleware) Teilprojekt 3 Systemsoftware (Middleware) Lars Völker, BMW Seite 1 Middleware / Systemsoftware Anw. Anw. Sichtbar: API Sichtbar: Dateneinheiten Anw. Middleware TCP/IP Stack TCP/IP Stack Ethernet im Bordnetz

Mehr

Verteidigung Masterarbeit Evaluating the Use of a Web Browser to Unify GUI Development for IDE Plug-ins

Verteidigung Masterarbeit Evaluating the Use of a Web Browser to Unify GUI Development for IDE Plug-ins Verteidigung Masterarbeit Evaluating the Use of a Web Browser to Unify GUI Development for IDE Plug-ins Christian Cikryt Freie Universität Berlin 13.08.2015 Überblick Motivation und Ziele Evaluation des

Mehr

Objektorientierte Softwareentwicklung SoSe 15

Objektorientierte Softwareentwicklung SoSe 15 Objektorientierte Softwareentwicklung SoSe 15 Heinz Faßbender Raum E148 Tel. 0241/6009 51913 Email: fassbender@fh-aachen.de www.fassbender.fh-aachen.de FH AACHEN UNIVERSITY OF APPLIED SCIENCES FACHBEREICH

Mehr

USB-Driver: Download-Link: http://www.itakka.at/tracker-files/usb_driver_1_0_5_18.rar

USB-Driver: Download-Link: http://www.itakka.at/tracker-files/usb_driver_1_0_5_18.rar 2 Folgende Software wird benötigt:: Die beschriebene Konfiguration unterstützt folgende Betriebssysteme: - Windows 98SE - Windows ME - Windows 2000 SP4 - Windows XP SP2 and above (32 & 64 bit) - Windows

Mehr

Implementierung eines M2M Back-end Servers

Implementierung eines M2M Back-end Servers Implementierung eines M2M Back-end Servers Klaus-Dieter Walter SSV Embedded Systems Heisterbergallee 72 D-30453 Hannover www.ssv-embedded.de kdw@ist1.de 1 Wer ist SSV Embedded Systems? SSV Embedded Systems

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

CADEMIA: Einrichtung Ihres Computers unter Mac OS X

CADEMIA: Einrichtung Ihres Computers unter Mac OS X CADEMIA: Einrichtung Ihres Computers unter Mac OS X Stand: 28.01.2016 Java-Plattform: Auf Ihrem Computer muss die Java-Plattform, Standard-Edition der Version 7 (Java SE 7) oder höher installiert sein.

Mehr

Analyse verschiedener HLS-Systeme in Hinblick auf ihren Umgang mit der Hochsprachenabstraktion Speicher. Sascha Kath

Analyse verschiedener HLS-Systeme in Hinblick auf ihren Umgang mit der Hochsprachenabstraktion Speicher. Sascha Kath Analyse verschiedener HLS-Systeme in Hinblick auf ihren Umgang mit der Hochsprachenabstraktion Speicher Sascha Kath Dresden, Gliederung 1. Aufgabenstellung 2. HLS-Systeme 1. LegUP 2. Vivado HLS 3. Leap

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

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

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

Installationsanleitung. ipoint - Server

Installationsanleitung. ipoint - Server Installationsanleitung ipoint - Server Inhaltsverzeichnis 1 EINLEITUNG 3 1.1 ZWECK DES SERVERS 3 1.2 SYSTEMVORAUSSETZUNGEN 3 2 INSTALLATION 4 2.1 DAS SOFTWAREPAKET 4 2.2 INSTALLATION DES SERVERS 4 Installationsanleitung

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

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

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

Mehr

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

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

Mehr

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