Software ubiquitärer Systeme
|
|
|
- Johann Hafner
- vor 10 Jahren
- Abrufe
Transkript
1 Software ubiquitärer Systeme Anwendungsentwicklung mit Java Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund 1
2 Motivation Probleme mit C und C++ effizienter Code aber unsicher eingeschränkte Portabilität - verschiedene Betriebssysteme und GUI-Bibliotheken: z.b. in Mobiltelefonen Symbian OS, Windows CE, Linux Varianten Sichere C++ Dialekte weniger effizienter Code mangelnde Verbreitung/Standardisierung Was ist die Alternative? Ein Ein Java Java für für eingebettete eingebettete Systeme! Systeme! 2
3 Die Java-Familie Je nach Anforderungen der Anwendungen bzw. Leistungsfähigkeit der Geräte bedient Oracle verschiedene Anwendungsdomänen mit unterschiedlichen Java Plattformen. Nicht Nicht nur nur die die Bibliotheken Bibliotheken sondern sondern auch auch die die virtuellen virtuellen Maschinen Maschinen unterscheiden unterscheiden sich. sich. Quelle: [1] 3
4 Inhalt Motivation Java Micro Edition Java Card Alternativen Android.NET Compact Zusammenfassung 4
5 Die Java Micro Edition Kurz: Java ME Sun Microsystems, Juni 1999 Zielmarkt Pager, PDAs Mobiltelefone, Smartphones Fernseher, Videorekorder, CD Player Java 2 Standard Edition API Java Micro Edition API Die meisten (klassischen) Mobiltelefone unterstützen heute Java ME Abgespeckte Version der Standard Edition (Java SE) Weniger Speicherverbrauch Keine schwergewichtigen Klassen (swing, awt, ) Optimierte virtuelle Maschine (KVM) 5
6 Java ME Architektur Die von Java ME abgedeckte Domäne ist riesig unterschiedlichste Geräte und Geräteklassen (Ressourcen) unterschiedlichste Anwendungen (Anforderungen) Um die Java ME zu strukturieren, wurden zwei grundlegende Konzepte definiert: Konfigurationen und Profile Leistungsstärkere Geräte Konfigurationen: Horizontale Aufteilung des Marktes... Leistungsschwache Geräte Profile: Vertikale Marktaufteilung 6
7 Java ME Konfigurationen Definiert Geräteklassen anhand verfügbarer Ressourcen CPU-Klasse, Speicher, Netzwerkanbindung Entscheidet über die verwendete virtuelle Maschine sowie APIs für elementare Funktionen. die Java Ausführungsumgebung Bisher wurden zwei Konfigurationen festgelegt CLDC: Connected Limited Device Configuration - z.b. Mobilfunkgeräte, um die 500 KB Speicher, einfache Applikationen - spezielle VM CDC: Connected Device Configuration - z.b. Smart Phones ab 2 MB Speicher, Set-Top-Boxes, High-End PDAs 7
8 Java ME Profile Hängen von der jeweiligen Anwendungsdomäne ab Definieren verfügbare APIs Sorgen für Portabilität Haben Abhängigkeiten Beispiele: MIDP (Mobile Information Device P.) - Netzwerk-Kommunikation - Einfache Benutzerschnittstelle - Datenspeicherung Personal Profile - Komplettes AWT - Ausführungsumgebung für Applets Quelle [1] 8
9 Java ME für Mobilgeräte MIDP Herstellerspezifische APIs CLDC Java VM (KVM) Betriebssystem KVM - Kilobyte Virtual Machine KB groß (je nach Compiler) Implementiert in C (ca Zeilen) Für Geräte mit mindestens KB Speicher und - 16 oder 32 Bit CPU 9
10 KVM: Was fehlt? Unterstützung für Object.finalize() Wird auch praktisch nicht verwendet Fehlerbehandlungsfähigkeiten (eingeschränkt) Es gibt lediglich 3 Fehler-Klassen - java.lang.error, java.lang.outofmemory und java.lang.virtualmachineerror Java Native Interface (JNI) Benutzerdefinierte Class Loader Reflection-Mechanismus Threading-Fähigkeiten (eingeschränkt) Zur Vermeidung von Sicherheitsproblemen und wegen des Overheads Keine Thread Groups und Daemon Threads) Verifikation von Class Files Einsatz eines Pre-Verifiers 10
11 Entwicklungsprozess Java-Quelltext Compile javac... Preverification preverify... Packaging jar... Deployment emulator... Java Class-Dateien Pre-verifizierte Class-Dateien JAR-Paket Anwendung auf dem Gerät 11
12 Java ME für Mobilgeräte MIDP Herstellerspezifische APIs CLDC Java VM (KVM) Betriebssystem CLDC - Connected Limited Device Configuration Low-Level Funktionalität - Umgang mit der Laufzeitumgebung, Ein-/Ausgabe Besteht aus of java.io, java.lang, java.util, java.microedition.io - Allerdings nur Teilmengen der aus Java SE bekannten Klassen! - Die Semantik bleibt aber erhalten 12
13 Java ME für Mobilgeräte MIDP Herstellerspezifische APIs CLDC Java VM (KVM) Betriebssystem MIDP Mobile Information Device Profile MIDP stellt Kernfunktionen für Mobilgeräte zur Verfügung - Netzwerkkommunikation - Datenhaltung - Benutzerschnittstelle 13
14 Mobile Information Device Profile Minimalanforderungen Bildschirmauflösung von mind. 96x54 Pixeln Keypad, Tastatur oder Touch Screen 256 KB nicht-flüchtiger Speicher 128 KB RAM 8 KB nicht-flüchtiger Speicher für persistente Daten Bi-direktionale Netzwerkverbindung MIDP 2.0 Packages javax.microedition.lcdui, javax.microedition.lcdui.game, javax.microedition.media, javax.microedition.media.control, javax.microedition.midlet, javax.microedition.pki, javax.microedition.rms Ausführung von Midlets Java ME-Applikationen bestehen aus 1 bis N MIDlets 14
15 Java ME: Midlet-Lebenszyklus MIDlets werden wie Applets von der Umgebung gesteuert Konstruktor Paused destroyapp() notifydestroyed() startapp() pauseapp() notifypaused() Destroyed Active destroyapp() notifydestroyed() 15
16 Java ME: Midlet-Beispiel Man Man erbt erbt von von MIDlet. MIDlet. // Zur Vereinfachung ohne Exceptions... public class HelloMIDlet extends MIDlet implements CommandListener { private Form mmainform; public HelloMIDlet() { mmainform = new Form("HelloMIDlet"); mmainform.append(new StringItem(null, "Hello, MIDP!")); mmainform.addcommand(new Command("Exit", Command.EXIT, 0)); mmainform.setcommandlistener(this); } protected void destroyapp(boolean arg0) { Diese Diese Methoden Methoden werden werden vom vom } Application Application Management Management System System protected void pauseapp() { (AMS) } (AMS) des des Mobilgeräts Mobilgeräts aufgerufen. aufgerufen. protected void startapp() { Display.getDisplay(this).setCurrent(mMainForm); } public void commandaction(command arg0, Displayable arg1) { notifydestroyed(); So So wird wird das das AMS AMS angewiesen angewiesen } das } das MIDlet MIDlet zu zu beenden. beenden. 16
17 Java ME: Demo Zum Bauen von Midlets benutzt man das Java ME SDK (aktuell 8.1) Demo-Applikationen Emulator Alle sonstigen Werkzeuge 17
18 Java ME: Fazit Pro Durch Konfigurationen und Profile wird eine Familie von JavaLösungen bereitgestellt - Damit skaliert der Ressourcenverbrauch Standardisierte domänenspezifische Bibliotheken Die kvm benötigt erstaunlich wenig Speicher Contra Die kvm ist leider langsam Leichte Einschränkungen bzgl. der Sprache müssen hingenommen werden - z.b. kein Reflection Entwickler müssen sich mit anderen Bibliotheken anfreunden 18
19 Inhalt Motivation Java Micro Edition Java Card Alternativen Android.NET Micro/Compact Framework Zusammenfassung 19
20 Java Card: Hardware Eine Java-Lösung für Smart Cards (Chipkarten mit Prozessor) Hardware-Eigenschaften Stromversorgung durch Lesegerät Interaktion lediglich mit dem Lesegerät - Serielle Schnittstelle, Standardprotokoll Enthalten Universalprozessor Bit, 3,5-5 MHz Extrem wenig Speicher KB ROM - 0,5-1 KB RAM KB EEPROM Vcc Reset Clock RFU C1 C2 C3 C4 C5 C6 C7 C8 Ground Vpp I/O RFU Definitiv zu klein für Java ME! 20
21 Java Card: Anwendungen Einsatzgebiete Krankenkassenkarten Bankkarten (EC) Handy-SIM-Karten Ausweise Ziel: nur eine Karte für viele Applikationen Anforderungen an die Java Card Plattform Sicherheit und Zuverlässigkeit - Verwaltung und Isolierung der Applikationen auf der Karte Extrem geringer Ressourcenverbrauch Für die Domäne passende standardisierte Packages Portabilität Kompatibilität mit existierenden Standards 21
22 Java Card: Was fehlt? Dynamisches Klassenladen Security Manager Garbage Collection Threads Klonen von Objekten Mehrdimensionale Felder Datentypen char, double, float und long Die Java Card API beschränkt sich auf folgende Pakete java.lang, javacard.framework, javacard.security, javacardx.crypto 22
23 Java Card: Applets... sind persistente Zustandsautomaten, die auf Nachrichten des Lesegeräts reagieren. haben (mindestens) folgende Methoden install - Erzeugung und Registrierung der Applet-Instanz select - Das Lesegerät spricht das Applet an process - Interpretation der Nachrichten (APDUs) vom Lesegerät deselect - Das Lesegerät beendet die Kommunikation mit dem Applet 23
24 Java Card: Fazit Pro Plattformunabhängige Entwicklung für Smart Cards Unterstützung mehrerer Applikationen auf einer Karte Dynamische Installation/Deinstallation von Applets Standardisierte Bibliotheken Nutzbarkeit von Java Know-How Contra Die Sprache ist zwar Java, das Programmiermodell aber nicht. Essentielle Sprachelemente fehlen Deutliche Nachteile hinsichtlich der Performance Vergleichsweise hohe Ressourcenanforderungen 24
25 Inhalt Motivation Java 2 Micro Edition Java Card Alternativen Android.NET Micro/Compact Framework Zusammenfassung 25
26 Android Open Handset Alliance (primär Google), 2007 T-Mobile, Motorola, Samsung,... Vision:... accelerate innovation in mobile and offer consumers a richer, less expensive, and better mobile experience. Infrastruktursoftware-Plattform für Smartphones Open Source Diverse Produkte inzwischen verfügbar 26
27 Android: Architektur Linux und Java aber anders... 27
28 Android: Architektur Linux und Java aber anders... Die Die Dalvik-VM Dalvik-VM führt führt Java-Programme Java-Programme aus, aus, deren deren Bytecode Bytecode in in Dalvik-Bytecode Dalvik-Bytecode übersetzt übersetzt wurde. wurde. 28
29 Android: Die Dalvik-VM Benannt nach einer isländischen Stadt Hauptunterschiede Java-Bytecode ist stapelbasiert, Dalvik-Bytecode ist registerbasiert - Java-Bytecode lässt sich nicht (direkt) ausführen - Ein Übersetzungschritt ist erforderlich Dalvik Code wurde bis Android 2.2 nur interpretiert - Heute Trace-basierter JIT-Compiler Gründe Kompaktheit des Codes JIT-Compiler wurde als unnötig erachtet, da die Performancekritischen Teile nativ ausgeführt werden (Kernel/Libraries) - inzwischen können Anwendungen auch native code verwenden - JIT darf nicht zu viel Speicher benötigen Lizenzrechte? 29
30 Android: Größen (statisch) common system libraries (U) % (J) % (D) % (U) (U) unkomprimierte unkomprimierte jar-datei jar-datei (J) (J) komprimierte komprimierte jar-datei jar-datei (D) (D) unkomprimierte unkomprimierte dex-datei dex-datei web browser app (U) % (J) % (D) % alarm clock app (U) % (J) % (D) % Der Der Grund Grund ist ist allerdings allerdings nicht nicht nur nur der der kompaktere kompaktere Bytecode, Bytecode, sondern sondern auch auch eine eine schlaueres schlaueres Dateiformat. Dateiformat. Quelle: Dan Bornstein, Dalvik VM Entwickler 30
31 Android: Größen (dynamisch) Quelle: A JIT Compiler for Android s Dalvik VM Ben Cheng, Bill Buzbee, May 2010 JIT arbeitet Trace-basiert Übersetzung auf Ebene von Basisblöcken (statt ganzen Prozeduren) Ein Translation Cache pro Prozess (VM-Instanz) Trade-off zwischen Performance und Speicherbedarf akzeptabel 31
32 Android: ART (1) Kompilierung von Android Apps in Maschinencode zum Installationszeitpunkt ab Android 4.4 möglich Vorteile Dalvik-VM und JIT werden nicht mehr benötigt wenige Speicher Kein Tracing/Übersetzen zur Laufzeit weniger Energie Linux lädt Programme inkrementell starten schneller Alle Programmeteile liegen in Maschinencode vor laufen schnell Nachteile Keine dynamischen Optimierungen teilweise auch langsamer 32
33 Android: ART (2) Partielle Code-Spezialisierung in JIT-Compiler nicht bei ART Basierend Basierend auf auf der der Ausführungshäufigkeit Ausführungshäufigkeit von von Funktionen Funktionen mit mit bestimmten bestimmten Parametern (ermittelt Parametern (ermittelt vom vom Trace-JIT) werden Trace-JIT) werden Funktionen Funktionen spezialisiert. spezialisiert. Entsprechende EntsprechendeAufrufe Aufrufe werden umgeleitet. werden umgeleitet. int myfunc(int par1, int par2, int par3) { int r = 47; if (par1*par2 > 5) { int i; for (i=0; i<par1*par2;i++) { r+=par3*i; } } else r = par1+par2+par3 return r; } myfunc(7,5,2) int myfunc(int par1, int par2, int par3) { int r = 47; int i = 35; while (--i) r += i + i; return r; } myfunc(2,2,12) int myfunc(int par1, int par2, int par3) { return 16; } Quelle: c't 13/2015 Endlich kompiliert 33
34 Android: ART(3) Und wie steht's nun mit der Performance? In c't 13/2015 wurden 9 Benchmarks verglichen (relative Performance im Vergleich zu Dalvik) Android 4.4/ARM: 99% bis 184%, Durchschnitt 133% Android 5.1/ARM: 65% bis 238%, Durchschnitt 149% Android 4.4/Intel: 28% bis 179%, Durchschnitt 74% Android 5.1/Intel: 47% bis 176%, Durchschnitt 106% Fazit ART hat das Potential die Performance deutlich zu verbessern Kinderkrankheit auf Intel-basierten Android-Geräten 34
35 Android: Fazit Android ist für Smartphones ausgelegt Skalierbarkeit ist kein Thema Annahme: typische MB Speicher, MHz CPU - heute viel mehr vorhanden! Android zeigt, dass die Java-VM nicht unbedingt perfekt geeignet ist, um kleine Systeme zu bauen - Dalvik-Bytecode ist signifikant kleiner Ausführung von kompiliertem Maschinencode und Portabilität kein Widerspruch sein müssen - Übersetzung zum Installationszeitpunkt bei ART 35
36 .NET Framework für eingeb. Systeme? Microsoft Ermöglicht.NET auf Windows CE/Mobile-Geräten Quelle: msdn.microsoft.com Moderne Zwischensprache (MSIL) für mehrere Quellsprachen - C#, VB, J#, C++, - Ausgelegt auf JIT-Compiler Anwendungsentwicklung in MS Visual Studio Diverse Bibliotheken - Benutzerschnittstelle, Kommunikation, - Allerdings an diversen Stellen beschnitten Größenreduktion des.net Frameworks Compact: erfordert 12 MB Micro: erfordert 256 KB Flash, 64KB RAM (läuft ohne OS, kein JIT) 36
37 Inhalt Motivation Java Micro Edition Java Card Alternativen Android.NET Micro/Compact Framework Zusammenfassung 37
38 Zusammenfassung Java-Umgebungen bilden eine Produktlinie Bei den kleineren Varianten gibt es Einschränkungen Skalierbarkeit von 8 Bit Chipkarten bis 64 Bit Serversystemen z.b. keine Garbage Collection bei Java Card Es gibt auch Alternativen Dalvik- und MSIL-Programme haben kompakteren Code Klassische Mobiltelefone und damit auch Java ME werden Smartphones verdrängt 38
39 Literatur [1] [2] M. de Jode, Programming Java 2 Micro Edition on Symbian OS, ISBN , Wiley, Java Card Platform Specification 2.2.2, Sun Microsystems. 39
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
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,
Programmierung von Smart Cards mit Hilfe von Java
Java Card 2.1.2 Programmierung von Smart Cards mit Hilfe von Java Übersicht 1. Einführung Smart Cards 2. Java Card Spezifikationen 3. Java Card Development Kit 4. Java Card in der Praxis und Fazit 1. Einführung
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
Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
Ein mobiler Electronic Program Guide für Android
Whitepaper Telekommunikation Ein mobiler Electronic Program Guide für Android Prototyp für Android Apps 2011 SYRACOM AG 1 Einleitung Apps Anwendungen für mobile Geräte sind derzeit in aller Munde. Durch
Java für Embedded Systems
Java für Embedded Systems Marc Balmer, micro systems [email protected] 25. April 2001 Java-fähige Embedded Systems Palm PDA TINI Board Java-Ring ibutton Cyberflex Smart Card... Embedded Systems Steuer- und
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
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
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
Ü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
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.
Präsentation Von Laura Baake und Janina Schwemer
Präsentation Von Laura Baake und Janina Schwemer Gliederung Einleitung Verschiedene Betriebssysteme Was ist ein Framework? App-Entwicklung App-Arten Möglichkeiten und Einschränkungen der App-Entwicklung
Applications Applets (eingeschränkte Rechte)
1 Arten von Java-Programmen Man unterscheidet 2 verschiedene Arten von Java-Programmen: Applications Applets (eingeschränkte Rechte) Erstere sind eigenständige Programme. Letztere sind "kleine" Programme,
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
2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE
2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht
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
Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite http://www.hp.
Erfahrungen mit dem Insight Manager von HP Dipl. Ing. Elektrotechnik (FH) - Automatisierungs- / Regelungstechnik DV-Spezialist Landesbank Rheinland-Pfalz Abteilung 2-351 Große Bleiche 54-56 55098 Mainz
Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.
Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen
Einsatzbedingungen FAMOS 3.10
Einsatzbedingungen FAMOS 3.10, Betriebssystem, Netzwerkintegration FAMOS ist als Mehrbenutzersystem konzipiert und damit voll netzwerkfähig. Die Integration in bestehende Netzwerke mit dem TCP/IP-Standard
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
Ferngesteuerte Logistikprozesse
Seite 1 Lagerverwaltungssysteme: Ferngesteuerte Logistikprozesse Für die auf JAVA basierende, weborientierte Lagerverwaltungssoftware pl-store bietet prologistik nun auch eine App für moderne Smartphones
Bewegliche Ziele Entwicklungsumgebungen für Pocket PCs und Smartphones
Seite 1 von 5 Bewegliche Ziele Entwicklungsumgebungen für Pocket PCs und Smartphones von Robert Panther Mobile Devices auf Basis von Windows CE haben sich inzwischen fest am Markt etabliert. Nach dem Siegeszug
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...
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
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
Vom Smart Dust zum Smart Phone: Verfügbare SensingPlattformen. Adrian Friedli [email protected]
Vom Smart Dust zum Smart Phone: Verfügbare SensingPlattformen Adrian Friedli [email protected] Verteilte Systeme Seminar, ETH Zürich, 24. Februar 2009 Übersicht Sensornetze Mobiltelefone Sensornetze
Java Applet Alternativen
White Paper Java Applet Alternativen Version 1.0, 21.01.2014 Tobias Kellner [email protected] Zusammenfassung: Aufgrund diverser Meldungen über Sicherheitslücken in Java haben in letzter Zeit Browser-Hersteller
Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
Anwenderdokumentation PersoSim
Anwenderdokumentation PersoSim Die nachfolgende Anwenderdokumentation soll dem Anwender bei der Installation und den ersten Schritten im Umgang mit PersoSim helfen. Installation Grundvoraussetzung für
Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen
Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.
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:
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 [email protected] Marc Rennhard, 05.01.2010,
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
Architekturen mobiler Multi Plattform Apps
Architekturen mobiler Multi Plattform Apps Wolfgang Maison & Felix Willnecker 06. Dezember 2011 1 Warum Multi- Plattform- Architekturen? Markt. Apps für Smartphones gehören zum Standardinventar jeder guten
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
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
Client-Systemanforderungen für Brainloop Secure Dataroom ab Version 8.30
Client-Systemanforderungen für Brainloop Secure Dataroom ab Version 8.30 Copyright Brainloop AG, 2004-2014. Alle Rechte vorbehalten. Dokumentenversion 2.0 Sämtliche verwendeten Markennamen und Markenzeichen
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
CADEMIA: Einrichtung Ihres Computers unter Windows
CADEMIA: Einrichtung Ihres Computers unter Windows 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 sein.
Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT
Boris Golubovic Dortmund, den 24. Oktober 2010 Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT Ein Projekt anlegen Ein Projekt kapselt alle zu einer Anwendung gehörenden
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
In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC
PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email [email protected]
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
C++ und mobile Plattformen
Dieser Artikel stammt aus dem Magazin von C++.de (http://magazin.c-plusplus.de) C++ und mobile Plattformen Mit diesem Artikel möchte ich euch einen kurzen Überblick über die verschiedenen Plattformen für
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 [email protected] Was ist Android Offene Plattform für mobile Geräte Software Kompletter
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
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 [email protected] SWE 1 // Organisatorisches
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...
MetaQuotes Empfehlungen zum Gebrauch von
MetaQuotes Empfehlungen zum Gebrauch von MetaTrader 4 auf Mac OS Auch wenn viele kommerzielle Angebote im Internet existieren, so hat sich MetaQuotes, der Entwickler von MetaTrader 4, dazu entschieden
I N F O R M A T I O N V I R T U A L I S I E R U N G. Wir schützen Ihre Unternehmenswerte
I N F O R M A T I O N V I R T U A L I S I E R U N G Wir schützen Ihre Unternehmenswerte Wir schützen Ihre Unternehmenswerte Ausfallsicherheit durch Virtualisierung Die heutigen Anforderungen an IT-Infrastrukturen
Applets I. Grundlagen der g Applet-Programmierung
Applets I Grundlagen der g Applet-Programmierung 2 Inhalt Applets Was sind Applets Entwicklung Grundlagen Zustandssteuerung eines Applets Methoden zum Nachrichtentransfer Soundausgabe Animation Einbindung
In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC
PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email [email protected]
Apollo Überblick. Klaus Kurz. Manager Business Development. 2007 Adobe Systems Incorporated. All Rights Reserved.
Apollo Überblick Klaus Kurz Manager Business Development 1 Was ist Apollo? Apollo ist der Codename für eine plattformunabhängige Laufzeitumgebung, entwickelt von Adobe, die es Entwicklern ermöglicht ihre
Einstieg in die Informatik mit Java
1 / 14 Einstieg in die Informatik mit Java Swing Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 14 1 Einführendes Beispiel 2 Eigenschaften von Swing 3 Typisches Swing-Applet
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
Windows Server 2008 (R2): Anwendungsplattform
Mag. Christian Zahler, Stand: August 2011 13 14 Mag. Christian Zahler, Stand: August 2011 Mag. Christian Zahler, Stand: August 2011 15 1.5.2 Remotedesktop-Webverbindung Windows Server 2008 (R2): Anwendungsplattform
Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.
Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt
Mobile Security (Android OS) Ein Vortrag zur Sensibilisierung eines Benutzers im Umgang mit Smartphones und Tablets mit dem Android OS.
Mobile Security (Android OS) Ein Vortrag zur Sensibilisierung eines Benutzers im Umgang mit Smartphones und Tablets mit dem Android OS. Inhaltsverzeichnis Was ist Android? Schwächen des OS Grundlegende
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
Computeria Solothurn
Computeria Solothurn Seniorinnen und Senioren entdecken den Computer und das Internet Sich mit «TeamViewer» von einem Supporter helfen lassen Diese Anleitung und die Illustrationen wurden unter Mac OS
Systemanforderungen (Mai 2014)
Systemanforderungen (Mai 2014) Inhaltsverzeichnis Einführung... 2 Einzelplatzinstallation... 2 Peer-to-Peer Installation... 3 Client/Server Installation... 4 Terminal-,Citrix-Installation... 5 Virtualisierung...
Testen mit JUnit. Motivation
Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen
ASD ZSS. RZ-Süd (LfStaD) Internet
-Systemüberblick 1. Beteiligte Systemkomponenten (amtliche Schulverwaltung) ist eine Software zur Verwaltung der Schüler- Lehrer- und Unterrichtsdaten an den bayerischen Schulen sowie zur Übermittlung
Ein mobiler Electronic Program Guide
Whitepaper Telekommunikation Ein mobiler Electronic Program Guide Ein iphone Prototyp auf Basis von Web-Technologien 2011 SYRACOM AG 1 Einleitung Apps Anwendungen für mobile Geräte sind derzeit in aller
Windows Server 2012 R2 Essentials & Hyper-V
erklärt: Windows Server 2012 R2 Essentials & Hyper-V Windows Server 2012 R2 Essentials bietet gegenüber der Vorgängerversion die Möglichkeit, mit den Boardmitteln den Windows Server 2012 R2 Essentials
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 [email protected] Inhalt 1. Einführung... 3 2.
Objektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
Calogero Fontana Fachseminar WS09/10. [email protected]. Virtualisierung
Calogero Fontana Fachseminar WS09/10 [email protected] Virtualisierung Was ist Virtualisierung? Definition Virtualisierung ist das zur Verfügung stellen von Hardware-Ressourcen für ein
.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
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
Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen
9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.
Virtualisierung in der Automatisierungstechnik
Virtualisierung in der Automatisierungstechnik Ihr Referent Jürgen Flütter on/off engineering gmbh Niels-Bohr-Str. 6 31515 Wunstorf Tel.: 05031 9686-70 E-Mail: [email protected] 2 Virtualisierung
Bewusster Umgang mit Smartphones
Bewusster Umgang mit Smartphones Komponenten Hardware OS-Prozessor, Baseband-Prozessor Sensoren Kamera, Mikrofon, GPS, Gyroskop, Kompass,... Netzwerk: WLAN-Adapter, NFC, Bluetooth,... Software Betriebssystem
Erste Erfahrungen mit Android
Java User Group München, 22. 9. 2008 Erste Erfahrungen mit Android 1 Was ist Android? Die erste vollständige, offene und freie Plattform für mobile Telefone Entwickelt von der Open Handset Alliance (Telecoms,
Enterprise Mobility, Live! Pascal Kaufmann, Swisscom IT Services AG 12. Juni 2013
Enterprise Mobility, Live! Pascal Kaufmann, Swisscom IT Services AG 12. Juni 2013 Agenda Mobile Apps aus Sicht der IT Grösste Herausforderungen mobiler Applikationen aus der Sicht der IT Best Practice
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
Virtual Desktop Infrasstructure - VDI
Virtual Desktop Infrasstructure - VDI Jörg Kastning Universität Bielefeld Hochschulrechenzentrum 5. August 2015 1/ 17 Inhaltsverzeichnis Was versteht man unter VDI? Welchen Nutzen bringt VDI? Wie funktioniert
Grundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck
Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
Objektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
Test zur Bereitschaft für die Cloud
Bericht zum EMC Test zur Bereitschaft für die Cloud Test zur Bereitschaft für die Cloud EMC VERTRAULICH NUR ZUR INTERNEN VERWENDUNG Testen Sie, ob Sie bereit sind für die Cloud Vielen Dank, dass Sie sich
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
Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
Installationsleitfaden zum Fakturierungsprogramm
Installationsleitfaden zum Fakturierungsprogramm 22.05.07 002-Installationsleitfaden Systemvoraussetzungen Betriebssystem: Windows 2000/Service Pack SP4 Windows XP/Service Pack SP2 Windows 2003 Server
Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)
Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) 1 Einleitung... 2 2 Download und Installation... 3 2.1 Installation von WindowsXPMode_de-de.exe... 4 2.2 Installation von Windows6.1-KB958559-x64.msu...
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
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
Applet Firewall und Freigabe der Objekte
Hauptseminar Applet Firewall und Freigabe der Objekte Nachweis von Sicherheitseigenschaften für JavaCard Jin Zhou Ein Überblick über diesen Vortrag Applet Firewall Kontext JCRE Entry Point Objekt Shareable
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
