Analyse der Datenkommunikation zur drahtlosen Steuerung eines NAO Roboters durch ein Android Gerät

Größe: px
Ab Seite anzeigen:

Download "Analyse der Datenkommunikation zur drahtlosen Steuerung eines NAO Roboters durch ein Android Gerät"

Transkript

1 Analyse der Datenkommunikation zur drahtlosen Steuerung eines NAO Roboters durch ein Android Gerät Seminarvortrag am 17. Januar 2014 Gerrit Kieffer Rechen- und Kommunikationszentrum (RZ)

2 Gliederung Motivation Der NAO Programmierung Protokolle zur Datenkommunikation JavaScript Object Notation XML Data Binding Google Protocol Buffers Vergleich der Protokolle Testbedingungen und -kriterien Auswertung und Fazit Ausblick 2

3 Motivation 3

4 Motivation MATSE-Gruppe des Rechenzentrums vertritt das duale Studium Scientific Programming auf Berufsbildungs- und Studiumsmessen Verbesserung der Qualität und Effizienz durch gezielten Einsatz von vorhandenen Medien Idee: Interaktion mit einem NAO Roboter mithilfe eines Android Geräts 4

5 Der NAO 5

6 Der NAO Programmierbarer, humanoider Roboter von Aldebaran Robotics Motoren und Gelenke für 25 Freiheitsgrade Verschiedene Sensoren und Signalgeber Betriebssystem: OpenNAO OS, basierend auf Gentoo (Linux) 6

7 Der NAO Programmierung 7

8 Der NAO: Programmierung Grafische Entwicklungsumgebung Choregraphe 8

9 Der NAO: Programmierung Grafische Entwicklungsumgebung Choregraphe Pro Sehr einfach und intuitiv Automatische Netzwerkkommunikation mit dem Roboter Contra Starke Einschränkung der Programmiermöglichkeiten Keine komplexeren Programme realisierbar Verzögerung durch das Netzwerk 9

10 Der NAO: Programmierung NAO Software Development Kits Framework zur Ansteuerung der NAO Module Verfügbar in C++, Python,.NET-Sprachen, Java, MatLab und Urbi Konzipiert nach dem Proxy-Pattern 10

11 Der NAO: Programmierung NAO Software Development Kits Pro Wenig Einschränkungen bei der Programmierung Automatische Übertragung der Befehle mittels Proxy Contra Programmlogik wird extern ausgeführt Verzögerung durch das Netzwerk NAO-Java-SDK nicht mit Android kompatibel 11

12 Der NAO: Programmierung Cross-Compiling mit QiBuild OpenNAO beinhaltet keinen Compiler Programmierung weiterhin auf externem Rechner QiBuild (basierend auf Cmake) erzeugt daraus Maschinencode für OpenNAO Programm schreiben passende Toolchain auswählen mit QiBuild kompilieren Anwendungsdatei(en) mit scp auf den NAO kopieren Programm ausführen 12

13 Der NAO: Programmierung Cross-Compiling mit QiBuild Pro Wenig Einschränkungen bei der Programmierung Programmlogik wird auf dem Roboter selbst ausgeführt Auswertung in Echtzeit Contra Hoher Aufwand Netzwerkkommunikation muss selbst implementiert werden Externe Bibliotheken müssen ggf. neu kompiliert werden Eventuelle Kompatibilitätsprobleme 13

14 Der NAO: Programmierung Probleme für die Netzwerkprogrammierung: Choregraphe ist einfach aber unflexibel SDK wäre besser geeignet, ist aber nicht mit Android kompatibel Einzig mögliche Lösung: autonome Applikation durch Cross- Compiling 14

15 Protokolle zur Datenkommunikation 15

16 Protokolle zur Datenkommunikation Szenario: simple TCP-Server und -Clients, die Datenbytes austauschen können Syntax und Semantik der Daten muss durch Formate festgelegt werden Gewählte Protokolle: JavaScript Object Notation XML Data Binding Google Protocol Buffers 16

17 Protokolle zur Datenkommunikation JavaScript Object Notation 17

18 JavaScript Object Notation (JSON) Aus dem ECMAScript-Standard extrahiert und später als unabhängiges Datenformat spezifiziert Mittlerweile weit verbreitet und von vielen Sprachen nativ unterstützt Eigenschaften der Notation: Datenstrukturen: Array und Object Datentypen: String, Number, Boolean, Null Baumstruktur mit Array oder Object als Wurzel Beliebige Verschachtelung möglich 18

19 JavaScript Object Notation (JSON) Beispielnachricht: { } "HelloWorld": { "sender": "NAO", "content": "Hello Android!" } 19

20 JavaScript Object Notation (JSON) JSON als Format für die Datenkommunikation Verleiht Nachrichten eine leserliche Struktur Enthält Datentypen und -strukturen Legt die Syntax für die Daten, aber nicht die Semantik der Nachricht fest Der Aufbau einer Nachricht muss manuell festgelegt und an allen Endpunkten bekannt sein Verifikationsmechanismen müssen ebenfalls selbst implementiert werden 20

21 Protokolle zur Datenkommunikation XML Data Binding 21

22 XML Data Binding Grundlegende Aspekte: Serialisierung von Objekten in XML Dokumente (Marshalling) und Deserialisierung von XML Dokumenten in Objekte (Unmarshalling) Schema-Datei legt den Aufbau einer Nachricht fest Klassengenerierung aus Schema (nicht in allen Frameworks!) XML-typische Baumstruktur Datentypen: simpletypes: einwertige Datentypen wie boolean, decimal, string und viele weitere complextypes: zusammengesetzte Datentypen und auch Listen 22

23 XML Data Binding Beispielschema: <?xml version="1.0"?> <xs:schema xmlns:xs=" <xs:element name="helloworld"> <xs:complextype> <xs:sequence> <xs:element type="xs:string" name="sender"/> <xs:element type="xs:string" name="content"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> Zugehörige Beispielnachricht: <HelloWorld> <sender>nao</sender> <content>hello Android!</content> </HelloWorld> 23

24 XML Data Binding XML Data Binding in der Datenkommunikation: Schema wird an alle Endpunkte verteilt Nachrichten sowie Datentypen und -strukturen sind dadurch festgelegt Verifikation über Schema ist möglich und meist schon implementiert 24

25 Protokolle zur Datenkommunikation Google Protocol Buffers 25

26 Google Protocol Buffers Googles internes Framework zur Datenübertragung Merkmale: Bitorientierte Formatierung Vereinfachtes Schema-Modell Klassengenerierung Auf- und abwärtskompatibel Datentypen: Einwertige Datentypen wie Ganzzahlen, Zeichenketten oder boolsche Werte Zusammengesetzte und verschachtelte Typen sowie Listen 26

27 Google Protocol Buffers Beispielschema: package mypackage; message HelloWorld { required string sender = 1; required string content = 2; } Zugehörige Beispielnachricht: 0A 03 4E 41 4F 12 0E C 6C 6F E F

28 Google Protocol Buffers In der Datenkommunikation: Schema definiert Datentypen und Struktur der Nachricht Automatische Verifikation Spätere Änderung des Schemas teilweise möglich 28

29 Vergleich der Protokolle 29

30 Vergleich der Protokolle Kriterien: Dauer der Serialisierung und Deserialisierung Größe des Overhead Aufwand der Implementierung Sonstige Funktionen 30

31 Vergleich der Protokolle Test 1: Integer-Matrix Dimension: 500 x 500 Gleiche Anzahl an positiven und negativen Werten Test 2: große Textnachricht 1024 identische Zeilen zu je 1023 Zeichen + Zeilenumbruch 1 MB Text 31

32 Vergleich der Protokolle Genereller Ablauf: 32

33 Zeit in Sekunden Vergleich der Protokolle Zeitmessung Test 1 (Integer-Matrix): JSON XML Data Binding Protocol Buffers 5 0 Serialisierung (Android) Deserialisierung (NAO) Serialisierung (NAO) Deserialisierung (Android) 33

34 Daten in MB Vergleich der Protokolle Datenmessung Test 1 (Integer-Matrix): JSON XML Data Binding Protocol Buffers 1 übertragene Bytes davon Overhead 34

35 Zeit in Sekunden Vergleich der Protokolle Zeitmessung Test 2 (Textnachricht): 1,8 1,6 1,4 1,2 1 0,8 0,6 JSON XML Data Binding Protocol Buffers 0,4 0,2 0 Serialisierung (Android) Deserialisierung (NAO) Serialisierung (NAO) Deserialisierung (Android) 35

36 Vergleich der Protokolle Datenmessung Test 2 (Textnachricht): JSON XML Data Binding Protocol Buffers übertragene Bytes davon Overhead

37 Vergleich der Protokolle Zusammenfassung mittlere Bearbeitungsdauer JSON XML Data Binding Protocol Buffers Overhead Aufwand der Implementierung Sonstiges + gute Lesbarkeit + sehr simpel gute Lesbarkeit + Validierung durch Schema + Komprimierungsmöglichkeiten + sehr viele Datentypen + automatische Klassengenerierung + Validierung durch Schema + Kompatibilität + automatische Klassengenerierung 37

38 Vergleich der Protokolle Fazit Jedes Protokoll hat Vor- und Nachteile je nach Anwendungsgebiet Kriterien wie Implementierungsaufwand ebenso wichtig wie Performance Empfehlung in diesem Fall: Google Protocol Buffers 38

39 Ausblick 39

40 Ausblick Gewonnene Kenntnisse ermöglichen komplexe Datenkommunikation zwischen Android und NAO Android App. zur spielerischen Interaktion mit dem Roboter Konkretisierung der Anforderungen an die Anwendung Implementierung im Rahmen der Bachelorarbeit Einsatz auf Marketingveranstaltungen 40

41 Fragen? 41

42 Quellen Aldebaran Robotics Offizielle JSON Homepage 2 W3C XML Schema Definition Language (XSD) 2 Google Protocol Buffers Urheber des NAO-Bildes und der abgebildeten Software Choregraphe 2 abgerufen am

Android will doch nur spielen XML

Android will doch nur spielen XML Android will doch nur spielen XML 1 Agenda Motivation Grundlagen Schemadefinitionen XML Namensräume 2 Motivation extensible Markup Language Zweck: Datentransport Datenspeicherung Einfach erlernbar Strikte

Mehr

XSD - XML Schema Definition

XSD - XML Schema Definition XSD - XML Schema Definition Definieren von XML-Dokumenten Michael Dienert 15. September 2016 Inhaltsverzeichnis 1 Was sind XSD Dateien und warum soll man das lernen? 1 1.1 XSD Dateien und Anwendungen....................

Mehr

Grundlagen der Web-Entwicklung INF3172

Grundlagen der Web-Entwicklung INF3172 Grundlagen der Web-Entwicklung INF3172 Web-Services Thomas Walter 16.01.2014 Version 1.0 aktuelles 2 Webservice weitere grundlegende Architektur im Web: Webservice (Web-Dienst) Zusammenarbeit verschiedener

Mehr

Semistrukturierte Daten

Semistrukturierte Daten Semistrukturierte Daten JSON Stefan Woltran Emanuel Sallinger Institut für Informationssysteme Technische Universität Wien Sommersemester 2014 Stefan Woltran, Emanuel Sallinger Seite 1 JSON JSON steht

Mehr

Medien und Webtechnologie

Medien und Webtechnologie Medien und Webtechnologie Herstellerkatalog als Webanwendung Wintersemester 2005/06 18. Januar 2006 M. Wintermeier, C. Brottka, S. Keitsch Unser Ziel Beim Ausführen einer Funktion soll keine neue HTML-Seite

Mehr

Programmieren im Web 2.0

Programmieren im Web 2.0 Programmieren im Web 2.0 Inhaltsverzeichnis JavaScript Einführung DHTML als eine Grundlage Do s and Dont s Inhaltsverzeichnis / 2 Ajax Einführung Technische Grundlagen Das XMLHttpRequest Objekt Beispielanwendung

Mehr

Seminar: mobile GIS Austausch von Geodaten

Seminar: mobile GIS Austausch von Geodaten Seminar: mobile GIS Austausch von Geodaten Tobias Wallura 30. Juni 2011 Tobias Wallura Austausch von Geodaten 30.06.2011 1 / 31 Agenda 1 Einführung 2 XML XML Schema XLink und XPointer XSLT 3 GML GML Dokumente

Mehr

Web Services. Standards und Realisierung in Java

Web Services. Standards und Realisierung in Java Standards und Realisierung in Java http://werner.gaulke.net 4.6.2007 Idee Aufbau und Standards und Java Outline 1 Idee Idee hinter? 2 Aufbau und Standards Schichtenmodell WSDL Fazit WSDL SOAP Fazit SOAP

Mehr

Rechnernetze I SS 2017 Rechnernetze I (1/13) Rechnernetze I SS 2017 Datendarstellung Rechnernetze I (10/13)

Rechnernetze I SS 2017 Rechnernetze I (1/13) Rechnernetze I SS 2017 Datendarstellung Rechnernetze I (10/13) Rechnernetze I SS 2017 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 13. Juli 2017 Betriebssysteme / verteilte Systeme Rechnernetze I (1/13) i Rechnernetze

Mehr

Kompendium der Web-Programmierung

Kompendium der Web-Programmierung . Thomas Walter Kompendium der Web-Programmierung Dynamische Web-Sites Mit 510 Abbildungen und 22 Tabellen 4ü Springer OOM- Hinweise zum Gebrauch des Buches XIII Teil I Grundlagen der Web-Programmierung

Mehr

Rechnernetze I. SoSe Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 13.

Rechnernetze I. SoSe Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 13. Rechnernetze I SoSe 2018 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 13. Juli 2018 Betriebssysteme / verteilte Systeme Rechnernetze I (1/13) i Rechnernetze

Mehr

Es gibt immer einen Schlüssel und einen zugehörigen Wert,

Es gibt immer einen Schlüssel und einen zugehörigen Wert, JSON JavaScript Object Notation Im Unternehmenskontext spielt der Austausch von Daten zwischen unterschiedlichen Systemen eine große Rolle. Dabei müssen oft Technologie und Zuständigkeitsgrenzen überwunden

Mehr

Datenaustausch mit JSON

Datenaustausch mit JSON Datenaustausch mit JSON Datenaustausch Kodierung von Daten Binärformate (PNG, MP4, Word,... ) effizient, aufwändig, nicht menschenlesbar Textformate (Java,... ): menschenlesbar, Aufwand für Ein- und Ausgabe

Mehr

Einführung in die Programmierung des VEX IQ mit ROBOTC. Kurzanleitung

Einführung in die Programmierung des VEX IQ mit ROBOTC. Kurzanleitung Einführung in die Programmierung des VEX IQ mit ROBOTC Kurzanleitung 0 Inhalt 0 Inhalt 2 1 ROBOTC herunterladen und installieren 3 2 ROBOTC Graphical Language 4 2.1 ROBOTC Graphical 4 2.2 ROBOTC Natural

Mehr

XML Schema und Objektorientierung

XML Schema und Objektorientierung XML Schema und Objektorientierung XML Schema und Objektorientierung Einführung.NET Java Einführung: Einsatzbereiche In folgenden Situationen kann eine sehr enge und ähnliche Abbildung von Daten Sinn machen:

Mehr

XML Schemasprachen. Übersicht und Einordnung. Übersicht. ! DTDs und XML Schema. ! Schemasprachen als Konzept. ! Schemasprachen selbstgemacht

XML Schemasprachen. Übersicht und Einordnung. Übersicht. ! DTDs und XML Schema. ! Schemasprachen als Konzept. ! Schemasprachen selbstgemacht XML Schemasprachen Übersicht und Einordnung Erik Wilde (ETH Zürich) 1 Übersicht! DTDs und XML Schema! Einschränkungen und Nachteile! Schemasprachen als Konzept! Grammatiken und Anderes! ISO Document Schema

Mehr

CLICK TO EDIT MASTER TITLE STYLE

CLICK TO EDIT MASTER TITLE STYLE CLICK TO EDIT MASTER TITLE STYLE AUTOMATISCHE ERZEUGUNG VON BENUTZEROBERFLÄCHEN UND DATENHALTUNG FÜR DIE KONFIGURATION VON FELDGERÄTEN Diplomverteidigung Betreuer (Firma ubigrate): Dipl.-Inform. Falk Hartmann

Mehr

Gunther Heinrich, Tobias Steimer. XML-Schema. Im Fach SOA, ISM 2008

Gunther Heinrich, Tobias Steimer. XML-Schema. Im Fach SOA, ISM 2008 Gunther Heinrich, Tobias Steimer XML-Schema Im Fach SOA, ISM 2008 Ziel der Präsentation Einführung in die Thematik XML und XML-Schema Kennenlernen der technischen Grundlagen von XML-Schema Wie wird ein

Mehr

Verteilte Systeme - Java Networking (Sockets) -

Verteilte Systeme - Java Networking (Sockets) - Verteilte Systeme - Java Networking (Sockets) - Prof. Dr. Michael Cebulla 30. Oktober 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 36 M. Cebulla Verteilte Systeme Gliederung Grundlagen TCP/IP

Mehr

Name Klasse Datum. Datentyp: Definition: Anführungszeichen

Name Klasse Datum. Datentyp: Definition: Anführungszeichen Name Klasse Datum 1 Allgemeines Die wachsende Notwendigkeit Daten schnell und strukturiert zwischen einzelnen Systemen zu verteilen, hat dem XML Format einen wichtigen Platz in der IT Systemlandschaft

Mehr

XML Schema 2014 S h_da S Seite 1

XML Schema 2014 S h_da S Seite 1 XML Schema Seite 1 XML/Schema: Datentypen Zusammenfassung: Dokument-Strukturen in XML Schema Datentypen in XML Schema - Einfache Typen - Komplexe Typen Konzept Mixed Content Seite 2 XML Schema Elementdeklaration

Mehr

XML Schema 2016 S h_da S Seite 1

XML Schema 2016 S h_da S Seite 1 XML Schema Seite 1 XML/Schema: Datentypen Zusammenfassung: Dokument-Strukturen in XML Schema Datentypen in XML Schema - Einfache Typen - Komplexe Typen Konzept Mixed Content Seite 2 XML Schema Elementdeklaration

Mehr

Einführung: Verteilte Systeme - Remote Method Invocation -

Einführung: Verteilte Systeme - Remote Method Invocation - Einführung: Verteilte Systeme - - Prof. Dr. Michael Cebulla 11. Dezember 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 43 M. Cebulla Verteilte Systeme Gliederung 1 2 Architektur RMI Kommunikation

Mehr

Mail Integration Solution White Paper

Mail Integration Solution White Paper Integration Solution White Paper Inhalt Allgemeine Information... 3 IMAP... 3 Rapid Automation (RA)... 3 RA Agent... 3 RA Solution... 3 Integration Solution... 4 Anwendungsfälle... 5 Download eingehender

Mehr

Dineso Software - Technische Daten

Dineso Software - Technische Daten Dineso Software - Technische Daten Zahlen, Daten, Fakten zu Software und Anwendung Inhaltsverzeichnis: 1. Allgemeine Informationen zur Dineso Software 2. Technische Voraussetzungen 3. Ablauf eines BI-Projektes

Mehr

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches

Mehr

Multi-Tool Testlandschaft mit DDS

Multi-Tool Testlandschaft mit DDS Multi-Tool Testlandschaft mit DDS MATLAB UND SIMULINK ALS ENABLER FÜR RAPID TOOL PROTOTYPING SEBASTIAN BEWERSDORFF ASSYSTEM GERMANY MATLAB EXPO 2017 MÜNCHEN 27.06.2017 EINFÜHRUNG Tools in Unternehmensprozessen

Mehr

Studienprojekt SKilLEd

Studienprojekt SKilLEd Studienprojekt Timm Felden 4. Februar 2015 PROGRAMMIERSPRACHEN UND COMPILERBAU www.uni-stuttgart.de Timm Felden 4. Februar 2015 2/9 Autos serialisieren Timm Felden 4. Februar 2015 3/9 Autos serialisieren

Mehr

Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1

Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1 Inhaltsverzeichnis Grundlagen und Einführung (1. Band) 1 1 Einleitung und Vorwort 1 1.1 Vorwort zur 13. Auflage....................... 1 1.2 Vorwort zur 10. Auflage....................... 1 1.3 Voraussetzungen...........................

Mehr

Internetanwendungstechnik (Übung)

Internetanwendungstechnik (Übung) Internetanwendungstechnik (Übung) JacORB S. Bissell, G. Mühl Technische Universität Berlin Fakultät IV Elektrotechnik und Informatik Kommunikations- und Betriebssysteme (KBS) Einsteinufer 17, Sekr. EN6,

Mehr

Python zur Lösung von AvA Übung 1 VON MORITZ FEY

Python zur Lösung von AvA Übung 1 VON MORITZ FEY Python zur Lösung von AvA Übung 1 VON MORITZ FEY Übersicht 2 Einführung Socket-Schnittstellen Datei-Zugriff Aufbau der Nachrichten und Serialisierung Besonderheiten von Python Realisierung des Programms

Mehr

XML Schema vs. Relax NG

XML Schema vs. Relax NG XML Schema vs. Relax NG p. 1/2 XML Schema vs. Relax NG Semistrukturierten Daten 1 Präsentation der Gruppe 2 XML Schema vs. Relax NG p. 2/2 Wozu XML Schema? W3C Empfehlung zur Definition von XML-Dokumentstrukturen

Mehr

Netzwerkprogrammierung unter Linux und UNIX

Netzwerkprogrammierung unter Linux und UNIX Netzwerkprogrammierung unter Linux und UNIX Bearbeitet von Stefan Fischer, Walter Müller 2. Auflage 1999. Buch. XII, 228 S. Hardcover ISBN 978 3 446 21093 6 Format (B x L): 14 x 20,9 cm Gewicht: 329 g

Mehr

JSON. Johannes Baiter. 5. Mai 2015

JSON. Johannes Baiter. 5. Mai 2015 JSON Johannes Baiter 5. Mai 2015 Kurz und Knapp JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. { } "title" "JSON: JavaScript Object Notation",

Mehr

Situation-Adaptive Multimodal Dialogue Platform. Übersicht

Situation-Adaptive Multimodal Dialogue Platform. Übersicht S am Situation-Adaptive Multimodal Dialogue Platform Übersicht Multimodal Dialog System Multimodal Unterstützung verschiedenster Eingabe- und Ausgabekanäle, sowohl alternativ als auch kombiniert What is

Mehr

Hello World! Eine Einführung in das Programmieren Das erste Programm

Hello World! Eine Einführung in das Programmieren Das erste Programm Hello World! Eine Einführung in das Programmieren Das erste Programm Görschwin Fey Institute of Embedded Systems Hamburg University of Technology Slide 2 Betriebssystem Funktion Anwendung Gerätesteuerung

Mehr

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Organisatorisches Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Nächste Woche VO und UE am Dienstag, den 30.10.! UE im CR IL/IT Wissensüberprüfung am Zettel 25.10.2018 IT I - VO 3 1 Organisatorisches

Mehr

1. Übung zur Vorlesung Service-orientierte Architekturen

1. Übung zur Vorlesung Service-orientierte Architekturen 1. Übung zur Vorlesung Service-orientierte Architekturen XML Grundlagen SoSe 2011 Wiederholung Definition SOA? Service-orientierte Architektur (SOA): Eine Service-orientierte Architektur ist eine unternehmensweite,

Mehr

Institut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke Java 3 Markus Reschke 08.10.2014 Kommentare Kommentare nützlich zum späteren Verständnis Zwei Arten Einzeiliger Kommentar bis zum Zeilenende mit // Mehrzeiliger Kommentar mit /*Text*/ 1 double x = 5; //

Mehr

Verteilte Systeme: Übung 4

Verteilte Systeme: Übung 4 Verteilte Systeme: Übung 4 WSDL und SOAP Oliver Kleine Institut für Telematik https://www.itm.uni-luebeck.de/people/kleine SOAP Nachrichten Serialisierung in XML Root-Element einer SOAP Nachricht ist

Mehr

2. WWW-Protokolle und -Formate

2. WWW-Protokolle und -Formate 2. WWW-Protokolle und -Formate Inhalt: HTTP, allgemeiner syntaktischer Aufbau Wichtige Methoden des HTTP-Protokolls Aufbau von Web-Applikationen unter Nutzung von HTTP, HTML, DOM XML, XML-DTD und XML-Schema

Mehr

Stand und Planungen im Bereich der Schnittstellen in der VZG

Stand und Planungen im Bereich der Schnittstellen in der VZG Stand und Planungen im Bereich der Schnittstellen in der VZG Jakob Voß 28. August 2013, 17. Verbundkonferenz des GBV Schnittstellen Allgemein Patrons Account Information API (PAIA) Strategie und Planungen

Mehr

Datenstrukturen Teil 1. Arrays, Listen, Stapel und Warteschlange. Arrays. Arrays. Array

Datenstrukturen Teil 1. Arrays, Listen, Stapel und Warteschlange. Arrays. Arrays. Array Datenstrukturen Teil 1,, und Sammelbegriff für Anordnung, Aufstellung, Reihe von gleichen Elementen in festgelegter Art und Weise Werden unterschieden in Standardarrays und assoziative Können ein- oder

Mehr

Internet of things: Antenne

Internet of things: Antenne PROJEKTARBEIT C22, HOCHSCHULE DARMSTADT, FERNMASTERSTUDIENGANG 2017 Internet of things: Antenne Projektteam Sebastian Marquart Martin Meixner Michael Schillinger Betreuer Prof. Dr.-Ing. Serge Zacher WWW.ZACHER-AUTOMATION.DE

Mehr

XML Schema 2016 S h_da S Seite 1

XML Schema 2016 S h_da S Seite 1 XML Schema Seite 1 XML/Schema: Strukturen Dokumentinstanz Dokumenttyp Wellformed Valid Dokumentstrukturdefinition mit XML/Schema XML Document Type Definition Seite 2 XML Dokument Instanz XML-Deklaration

Mehr

Languages and Tools for Object-Oriented Development Klausur Wintersemester 2007/2008

Languages and Tools for Object-Oriented Development Klausur Wintersemester 2007/2008 Languages and Tools for Object-Oriented Development Klausur Wintersemester 2007/2008 27. Februar 2008 Institut für Softwaresysteme, TUHH Regeln: 1. Zu dieser Klausur sind keinerlei Hilfsmittel zugelassen.

Mehr

JAXB. Java Architecture for XML Binding.

JAXB. Java Architecture for XML Binding. JAXB Java Architecture for XML Binding http://jaxb.java.net Warum JAXB? JAXB ist eine schnelle und einfache Methode, um ein XML Schema mit einer Java Repräsentation zu verbinden. Damit ist es sehr einfach,

Mehr

transportation SYMTES Testen mit System www.ics-ag.de

transportation SYMTES Testen mit System www.ics-ag.de transportation SYMTES Testen mit System 1 Motivation Seit mehreren Jahrzehnten ist die ICS AG in Sachen Test in verschiedensten Projekten und bei zahlreichen Kunden unterwegs. Bei eingebetteten Anwendungen

Mehr

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Agenda Elementare Einführung C Programm Syntax Datentypen, Variablen und Konstanten Operatoren und Ausdrücke Kontrollstrukturen

Mehr

Web-Sevices : WSDL Entwicklung von Web-Anwendungen

Web-Sevices : WSDL Entwicklung von Web-Anwendungen Web-Sevices : WSDL Entwicklung von Web-Anwendungen Axel Reusch : ar047 MIB page 1 : 50 Agenda! Allgemeines! Prinzip! Anwendung! Details! WSDL und SOAP! Beispiel mit Java! Erweiterungen! Vorteile! Nachteile!

Mehr

MQTT Dokumentation VERBINDEN VON ENDGERÄTEN ÜBER DAS MQTT-PROTOKOLL VERSION 1.1.0

MQTT Dokumentation VERBINDEN VON ENDGERÄTEN ÜBER DAS MQTT-PROTOKOLL VERSION 1.1.0 MQTT Dokumentation VERBINDEN VON ENDGERÄTEN ÜBER DAS MQTT-PROTOKOLL VERSION 1.1.0 INHALT Über das MQTT-Protokoll... 2 Verbindungsaufbau... 2 Verbindungsparameter... 2 Verbindungsbestätigung... 3 Topic-Übertragung...

Mehr

Waitomo. Compilerbaupraktikum Wintersemester 2006/2007. Stefan Wehr. 24. Oktober 2006

Waitomo. Compilerbaupraktikum Wintersemester 2006/2007. Stefan Wehr. 24. Oktober 2006 Waitomo Compilerbaupraktikum Wintersemester 2006/2007 Stefan Wehr 24. Oktober 2006 1 Einleitung Quellsprache für das Compilerbaupraktikum ist Waitomo, ein Java-ähnliche Sprache mit Unterstützung für Typklassen

Mehr

Einleitung Typsystem Typisierung Zusammenfassung Literatur. Typisierung. Effiziente Programmierung. Thomas Schnieders

Einleitung Typsystem Typisierung Zusammenfassung Literatur. Typisierung. Effiziente Programmierung. Thomas Schnieders Typisierung Effiziente Programmierung Thomas Schnieders Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 2018-04-26 Thomas Schnieders Typisierung 1

Mehr

Reporting Lösungen für APEX wähle Deine Waffen weise

Reporting Lösungen für APEX wähle Deine Waffen weise Reporting Lösungen für APEX wähle Deine Waffen weise Dietmar Aust Opal-Consulting Köln Schlüsselworte: Oracle APEX, Reporting, JasperReports, PL/PDF, BI Publisher, OPAL:XP, Doxxy, Oracle Rest Data Services

Mehr

Werner Motzet und Tim Pistor präsentieren:

Werner Motzet und Tim Pistor präsentieren: *Außer Drucken Werner Motzet und Tim Pistor präsentieren: SSL HTTP RPC PHP lsx Java IPhone WSDL Kaffee XML LotusScript SOAP Provider Consumer Seit 2008 freier Entwickler Dynamische (Web-) Anwendungen

Mehr

<< Java Architecture for XML Binding >>

<< Java Architecture for XML Binding >> JAXB > 1 Lernziele JAXB Übersicht JAXB Prinzip von Data Binding verstehen Java Klassen aus XSD erzeugen Java Objekte aus XML marschallen bzw. unmarschallen Customized

Mehr

Grundlagen. Felix Döring, Felix Wittwer 24. April Python-Kurs

Grundlagen. Felix Döring, Felix Wittwer 24. April Python-Kurs Grundlagen Felix Döring, Felix Wittwer 24. April 2017 Python-Kurs Gliederung 1. Über diesen Kurs 2. Der Python Interpreter 3. Python Scripte 4. Grundlagen der Sprache 5. Das erste Programm 6. Operatoren

Mehr

1.1 Für wen dieses Buch gedacht ist Einleitung Danksagung... 2

1.1 Für wen dieses Buch gedacht ist Einleitung Danksagung... 2 D3kjd3Di38lk323nnm v 1 Vorwort 1 1.1 Für wen dieses Buch gedacht ist............................... 1 1.2 Einleitung............................................... 1 1.3 Danksagung.............................................

Mehr

Organisatorisches Einführung Quellen. Einführung. Praktikum C-Programmierung. Eugen Betke, Nathanael Hübbe, Michael Kuhn, Jakob Lüttgau, Jannek Squar

Organisatorisches Einführung Quellen. Einführung. Praktikum C-Programmierung. Eugen Betke, Nathanael Hübbe, Michael Kuhn, Jakob Lüttgau, Jannek Squar Einführung Praktikum C-Programmierung Eugen Betke, Nathanael Hübbe, Michael Kuhn, Jakob Lüttgau, Jannek Squar Wissenschaftliches Rechnen Fachbereich Informatik Universität Hamburg 2018-10-22 Michael Kuhn

Mehr

XML-RPC, SOAP und Web Services. Jörn Clausen joern@techfak.uni-bielefeld.de

XML-RPC, SOAP und Web Services. Jörn Clausen joern@techfak.uni-bielefeld.de XML-RPC, SOAP und Web Services Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Was ist RPC? Was hat XML mit RPC zu tun? Was sind XML-RPC und SOAP? Was sind Web Services? Wird das die Welt retten?

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für Grundlagen Dr. E. Schön FH Erfurt Sommersemester 2015 Seite 135 Programmierschnittstelle Notwendigkeit: Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

JSON in Java mit Schema und JsonPath. Wolfgang Nast

JSON in Java mit Schema und JsonPath. Wolfgang Nast JSON in Java mit Schema und JsonPath Wolfgang Nast Agenda JSON Schema Java und JSON Schema JSON Path Mapping Zusammenfassung 2 JSON in Java mit Schema und JsonPath Im Überblick Technologie-orientiert Branchen-unabhängig

Mehr

Spezifikation DPD und primetime WebService Routenberechnung Gültig für Paketversender in Österreich. Version 3.3.0

Spezifikation DPD und primetime WebService Routenberechnung Gültig für Paketversender in Österreich. Version 3.3.0 Spezifikation DPD und primetime WebService Routenberechnung Gültig für Paketversender in Österreich Version 3.3.0 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis... 2 2 Versionshistorie... 2 3 Allgemein... 3

Mehr

CORSO Space Based Computing mit Java

CORSO Space Based Computing mit Java CORSO Space Based Computing mit Java Dipl.-Ing. Alexander Forst-Rakoczy TECCO Software Entwicklung AG A-1040 Wien, Prinz Eugen-Str. 58, E-Mail: info@tecco.at Web: www.tecco.at, Tel: (431) 5039240-0, Fax:

Mehr

a) Erklären Sie, was die folgenden Eigenschaften eines XML-Dokumentes aussagen? wohlgeformt gültig

a) Erklären Sie, was die folgenden Eigenschaften eines XML-Dokumentes aussagen? wohlgeformt gültig HTW Dresden Fakultät Informatik/Mathematik Internettechnologien Aufgaben zur Klausurvorbereitung Die hier gestellten Aufgaben sind bzgl. Art der Fragestellungen mit der Klausur vergleichbar. Zur Klausur

Mehr

Recordersoftware Version SP C

Recordersoftware Version SP C Technische Mitteilung Recordersoftware Version 7.3.6 SP C DMX Recorder Deutsch Version 1.0 / 2012-12-11 1 Zusammenfassung Dieses Dokument beinhaltet Informationen über Neuerungen und Änderungen, die mit

Mehr

Begleittext: Einführung in das Programmieren in Java für Nichtinformatiker

Begleittext: Einführung in das Programmieren in Java für Nichtinformatiker Begleittext: Einführung in das Programmieren in Java für Nichtinformatiker Andreas Keese Institut f. Wissenschaftliches Rechnen TU Braunschweig 8. September 2014 Der Text, die Abbildungen und Programme

Mehr

Einführung in XML. Seminarunterlage. Version 3.05 vom

Einführung in XML. Seminarunterlage. Version 3.05 vom Seminarunterlage Version: 3.05 Version 3.05 vom 8. März 2017 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen oder

Mehr

1 Motivation. 1 Motivation. Standard Middleware für objektorientierte Anwendungen. Motivation. Fragmentierte Objektmodel. Java RMI

1 Motivation. 1 Motivation. Standard Middleware für objektorientierte Anwendungen. Motivation. Fragmentierte Objektmodel. Java RMI 1 Motivation Motivation ierte Objektmodel Standard Middleware für objektorientierte Anwendungen CORBA,.NET-Remoting Java Remote Method Invocation (RMI) Java RMI ierte Objekte undjava RMI Zusammenfassung

Mehr

Institut für Programmierung und Reaktive Systeme. Java 1. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 1. Markus Reschke Java 1 Markus Reschke 06.10.2014 Überblick Einführung in die Programmierung zur Vereinfachung des Einstiegs ins Studium Erstellung von ausführbaren Programmen für den Computer Denk- und Vorgehensweisen

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

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

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Schleifen und Arrays Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 06.10.2016 Technische Universität Braunschweig, IPS Überblick Kommentare Typen Kontrollstrukturen Arrays 06.10.2016 Dr. Werner

Mehr

Smart Smoke Detector. Von Govinda Hahl Internet der Dinge WS 16/

Smart Smoke Detector. Von Govinda Hahl Internet der Dinge WS 16/ Smart Smoke Detector Von Govinda Hahl Internet der Dinge WS 16/17 01.02.2017 Inhalt Problemstellung Idee Ergebnisse der Analyse Architektur Umsetzung Hardware Software Fazit Ausblick Demo Smart Smoke Detector

Mehr

13 Abstrakte Datentypen

13 Abstrakte Datentypen 13 Abstrakte Datentypen Bisher: Konkrete Datentypen Menge von Elementen Operationen auf den Elementen (Konstruktoren, Selektoren, Typprädikate) Eigenschaften abgeleitet Jetzt: Abstrakte Datentypen (ADT)

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

VAADIN, SPRING BOOT & REST

VAADIN, SPRING BOOT & REST VAADIN, SPRING BOOT & REST Ein Einstieg für Domino Entwickler Stephan Kopp 1 STEPHAN KOPP Software & Solutions Development Tel.: +49 6182 7869420 Mobil: +49 173 3089806 E-Mail: stephan.kopp@axians.de 2

Mehr

(1)Einführung in Eclipse

(1)Einführung in Eclipse Auf diesem ersten Arbeitsblatt werdet ihr die Programmierumgebung Eclipse kennenlernen, die eure Oberfläche zum Bearbeiten des Android-Projekts Schiffe versenken sein wird. Dabei macht ihr euch einen Überblick

Mehr

EIDI 1 Einführung in die Informatik 1. PGdP Praktikum Grundlagen der Programmierung. Harald Räcke 2/217

EIDI 1 Einführung in die Informatik 1. PGdP Praktikum Grundlagen der Programmierung. Harald Räcke 2/217 EIDI 1 Einführung in die Informatik 1 PGdP Praktikum Grundlagen der Programmierung Harald Räcke 2/217 Wie löst man Probleme mithilfe von Computern? 0 Harald Räcke 3/217 Inhalte: EIDI 1 1. Was ist das Problem?

Mehr

Einfache Liste: Ein Stapel (Stack) Ansatz. Schaubild. Vorlesung 1. Handout S. 2. Die einfachste Form einer Liste ist ein Stapel (stack).

Einfache Liste: Ein Stapel (Stack) Ansatz. Schaubild. Vorlesung 1. Handout S. 2. Die einfachste Form einer Liste ist ein Stapel (stack). Programmieren I Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 64 2 / 64 Motivation Hauptteil dieser Vorlesung sind die so genannten. Zur Motivation (und als Vorbereitung der Datencontainer-Klassen

Mehr

Softwaretechnik. Vorlesung 02: Spezifikation mit Typen. Peter Thiemann SS Universität Freiburg, Germany

Softwaretechnik. Vorlesung 02: Spezifikation mit Typen. Peter Thiemann SS Universität Freiburg, Germany Softwaretechnik Vorlesung 02: Spezifikation mit Typen Peter Thiemann Universität Freiburg, Germany SS 2008 Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 1 / 21 Inhalt Spezifikation mit Typen Exkursion:

Mehr

1 Einleitung Generizität Syntax... 2

1 Einleitung Generizität Syntax... 2 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung 1 1.1 Generizität................................ 1 1.2 Syntax.................................. 2 2 Realisierung 2 2.1 Compilierung generischer Klassen...................

Mehr

Extensible Visualization

Extensible Visualization Extensible Visualization Oliver Linder Client Technical Professional 2013 IBM Corporation Agenda Vergleich von Visualierungsansätzen IBM Rapidly Adaptive Visualization Engine Ablauf Quelle (Analyticszone.com)

Mehr

XML-Schema Datentypen

XML-Schema Datentypen Datentypen Data Types Simple Types Complex Types User-derived Built-in Atomic (restriction) Non-atomic (list, union) Primitive Derived WT:III-1 XML Schema Reference Lettmann 2014 Datentypen anytype anysimpletype

Mehr

XML Schema 2012/2013 S Seite 1 h_da W

XML Schema 2012/2013 S Seite 1 h_da W XML Schema Seite 1 XML/Schema: Strukturen Wiederholung Element / Attribut Deklaration XML Document Type Declaration Seite 2 XML Schema Schemata sind XML-Dokumente

Mehr

Inhalte des Moduls Programmieren 1

Inhalte des Moduls Programmieren 1 Inhalte des Moduls Programmieren 1 Einführung: Algorithmus und Programm, Programmiersprache Erste Schritte in Java Grundlagen der Sprache: Datentypen, Ausdrücke und Anweisungen, imperative Programmierung

Mehr

Agenda. Web Services unter Lotus Notes/Domino

Agenda. Web Services unter Lotus Notes/Domino Agenda Vorstellung Was sind Web Services? Funktionsweise von Web Services Web Service Provider / Consumer Erstellen eines Web Service Providers Erstellen eines Web Service Consumers Tips & Tricks 2 Über

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Einführung Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 04.10.2017 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello World 04.10.2017 Dr. Werner Struckmann

Mehr

HYDROINFORMATIK. Integrated development environments IDEs. JProf. Dr. rer. nat. Marc Walther

HYDROINFORMATIK. Integrated development environments IDEs. JProf. Dr. rer. nat. Marc Walther HYDROINFORMATIK Integrated development environments IDEs JProf. Dr. rer. nat. Marc Walther Dresden, 20. Oktober 2017 LETZTES MAL Einführung in Veranstaltung, Organisatorisches Überblick Anwendungen HI

Mehr

Viewing Client Version

Viewing Client Version Technische Mitteilung Deutsch Viewing Client Version 1.0.3.10 Version 1.0 / 2013-12-06 1 Zusammenfassung Dieses Dokument beinhaltet Informationen über Neuerungen und Änderungen, die mit der aktuellen Version

Mehr

Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis HANSER

Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis HANSER Dirk Ammelburger XML Grundlagen der Sprache und Anwendungen in der Praxis HANSER r 1 Einleitung 2 1.1 Über dieses Buch 3 1.2 Für wen ist das Buch gedacht? 4 1.3 Wie ist das Buch aufgebaut? 5 1.4 Konventionen

Mehr

CSV mit reinem SQL & der Magie von JSON_TABLE einlesen

CSV mit reinem SQL & der Magie von JSON_TABLE einlesen CSV mit reinem SQL & der Magie von JSON_TABLE einlesen 17. November 2016 Robert Marz Robert Marz Kunde Technical Architect mit datenbankzentrischem Weltbild its-people Portfoliomanager Datenbanken Blogredakteur

Mehr

Programmieren in Java -Eingangstest-

Programmieren in Java -Eingangstest- Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit

Mehr

Verwendung von Touch-Eingaben in Browsern auf mobilen Endgeräten. Seminarvortrag von David Kurtz

Verwendung von Touch-Eingaben in Browsern auf mobilen Endgeräten. Seminarvortrag von David Kurtz Verwendung von Touch-Eingaben in Browsern auf mobilen Endgeräten Seminarvortrag von David Kurtz Inhalt Motivation Touch Events Standard Touch-Gesten Unterschiede zwischen Endgeräten Ausblick & Pointer

Mehr

Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java. Software-Architektur basierend auf dem Plug-in-Konzept

Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java. Software-Architektur basierend auf dem Plug-in-Konzept Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java Software-Architektur basierend auf dem Plug-in-Konzept Aufteilung: Probleme mit normaler/alter Software Ziele des Software Engineerings Die

Mehr

Janeva:.NET meets J2EE

Janeva:.NET meets J2EE Inhalt: Motivation Was ist Janeva? Systemvoraussetzungen Installation Beispiel Converter Fazit Motivation Motivation: Janeva testen einen Überblick verschaffen Lauffähiges Beispiel Entscheidungshilfe über

Mehr