Instrumentation von Android Anwendungen mit ExplorViz

Größe: px
Ab Seite anzeigen:

Download "Instrumentation von Android Anwendungen mit ExplorViz"

Transkript

1 Instrumentation von Android Anwendungen mit ExplorViz Jan Witzany 28. September 2016 Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19

2 Gliederung 1. Motivation 2. Ziele 3. Grundlagen 4. Entwurf 5. Implementierung 6. Evaluation 7. Ausblick Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19

3 Motivation Monitoring Android Motivation Android Marktanteil: >85% Viele Applikationen Mangelhafte o. fehlende Dokumentation Programmiersprache: Java 2,000 1,500 1, Abbildung: Anzahl von Apps im Play Store Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19

4 Ziele Ziele Instrumentierung von Android Anwendungen Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19

5 Ziele Ziele Instrumentierung von Android Anwendungen Sourcecode Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19

6 Ziele Ziele Instrumentierung von Android Anwendungen Sourcecode APK Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19

7 Ziele Ziele Instrumentierung von Android Anwendungen Sourcecode APK Monitoring mit ExplorViz Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19

8 Ziele Ziele Instrumentierung von Android Anwendungen Sourcecode APK Monitoring mit ExplorViz Android Apps in Java kein JavaScript/HTML kein C/C++ Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19

9 Grundlagen ExplorViz Grundlagen Live Trace Visualisierung von Programmen Packages und Klassen in einer 3D-Softwarestadtmetapher Java Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19

10 Grundlagen ExplorViz II Grundlagen Abbildung: Live Trace Visualization for System and Program Comprehension in Large Software Landscapes, Fittkau, F. (2015) Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19

11 Grundlagen ExplorViz III Grundlagen Abbildung: Live Trace Visualization for System and Program Comprehension in Large Software Landscapes, Fittkau, F. (2015) Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19

12 Grundlagen Android Grundlagen Java als Programmiersprache Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19

13 Grundlagen Android Grundlagen Java als Programmiersprache Dalvik VM/ART Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19

14 Grundlagen Android Grundlagen Java als Programmiersprache Dalvik VM/ART Anroid Versionen Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19

15 Grundlagen Android Grundlagen Java als Programmiersprache Dalvik VM/ART Anroid Versionen Berechtigungen Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19

16 Grundlagen Android Grundlagen Java als Programmiersprache Dalvik VM/ART Anroid Versionen Berechtigungen kein Netzwerkverbindung im Main Thread Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19

17 Grundlagen Android Grundlagen Java als Programmiersprache Dalvik VM/ART Anroid Versionen Berechtigungen kein Netzwerkverbindung im Main Thread ProGuard Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19

18 Grundlagen Aspektorientierte Programmierung public class Aspect ( " execution ( * * (.. ) &&! w i t h i n ( e x p l o r v i z. * * ) " ) public void methodexecution ( ) { ( " p o i n t c u t ( ) " ) public Object aroundadvice ( ProceedingJoinPoint jp ) throws Throwable { / / code before execution of method jp. proceed ( ) } } / / code a f t e r execution of method Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19

19 Entwurf Instrumentierung Entwurf Build-Prozess Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19

20 Entwurf ExplorViz Entwurf Android Flag Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19

21 Entwurf ExplorViz Entwurf Android Flag TCP im separaten Thread Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19

22 Entwurf ExplorViz Entwurf Android Flag TCP im separaten Thread Überprüfen der Module auf Kompatibilität Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19

23 Implementierung Instrumentierung Implementierung APK: jadx, APK-Tool Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19

24 Implementierung Instrumentierung Implementierung APK: jadx, APK-Tool Post-Compile-Weaving Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19

25 Implementierung Instrumentierung Implementierung APK: jadx, APK-Tool Post-Compile-Weaving Gradle-Plugin für AspectJ Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19

26 Implementierung ExplorViz: Aspekt Implementierung Length Id ObjectId Classname Implemented Interface Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19

27 Implementierung ExplorViz: Aspekt Implementierung Length Id ObjectId Classname Implemented Interface dynamische Pointcuts Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19

28 Implementierung ExplorViz: System-Monitoring Implementierung Aktueller Ansatz nicht in Android möglich Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19

29 Implementierung ExplorViz: System-Monitoring Implementierung Aktueller Ansatz nicht in Android möglich CPU-Auslastung: /proc/stat Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19

30 Implementierung ExplorViz: BuildProzess Implementierung Java Version 1.7 Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19

31 Implementierung ExplorViz: BuildProzess Implementierung Java Version 1.7 AspectJ Compiler Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19

32 Implementierung ExplorViz: BuildProzess Implementierung Java Version 1.7 AspectJ Compiler Entfernen nicht kompatibler Programmbibliotheken Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19

33 Evaluation Live Demo Evaluation "Babsi", 2013 Applikation zur Aufnahme von Patientendaten API Level 19 Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19

34 Ausblick Ausblick Erweiterung für dynamische Pointcuts Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19

35 Ausblick Ausblick Erweiterung für dynamische Pointcuts Optimierung für APK-Instrumentierung Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19

36 Ausblick Ausblick Erweiterung für dynamische Pointcuts Optimierung für APK-Instrumentierung Performance von Datenbankoperationen Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19

37 Ausblick Ausblick Erweiterung für dynamische Pointcuts Optimierung für APK-Instrumentierung Performance von Datenbankoperationen Anpassung an zukünftige Android Versionen Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19

38 Zusammenfassung Fazit Android Instrumentierung Sourcecode: PCW mit AspectJ APK: Dekompilieren ExplorViz Keine Netzwerkkommunikation im Main-Thread Anpassen des Build-Skriptes Anpassen des System-Monitorings Dynamische Pointcuts Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19

39 Referenzen F. Fittkau, Live Trace Visualization for System and Program Comprehension in Large Software Landscapes (Doktorarbeit/PhD), Faculty of Engineering, Kiel University, Kiel,(2015). gradle_plugin_android_aspectjx, Kiczales, Gregor, et al. Aspect-oriented programming. European conference on object-oriented programming. Springer Berlin Heidelberg, Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19

Build Management Tool?

Build Management Tool? Build Management Tool? Funktionen Dependency Management Kompiliert den Sourcecode in Binaries Führt automatisierte Tests aus Installiert Software oder Lädt sie in Repositories Erstellt eine Dokumentation

Mehr

Build Management Tool

Build Management Tool Build Management Tool Build-Prozess? Source Code 3rd Party libraries Veröffentlichung Download all 3rd Party libs by hand Compile your sources: javac -sourcepath./src1;./src2 Byte Code -cp lib1.jar;lib2.jar

Mehr

Bytecode-Manipulation leicht gemacht. Christian Kumpe, Entwicklertag Karlsruhe 20. Juni 2018

Bytecode-Manipulation leicht gemacht. Christian Kumpe, Entwicklertag Karlsruhe 20. Juni 2018 Bytecode-Manipulation leicht gemacht Christian Kumpe, Entwicklertag Karlsruhe 20. Juni 2018 Agenda Referent Einführung Motivation Werkzeuge Javassist & ClassFileTransformer Fazit Copyright 2018 diva-e

Mehr

Fehlertoleranz durch aspektorientierte Programmierung

Fehlertoleranz durch aspektorientierte Programmierung Fehlertoleranz durch aspektorientierte Programmierung Max Günther Technische Universität Dortmund 5. März 2013 1 / 34 Motivation Fehlertoleranz ist wichtig aber mühselig in Software einzubauen Abhilfe

Mehr

Android Testautomatisierung mit dem Framework Robotium

Android Testautomatisierung mit dem Framework Robotium Android Testautomatisierung mit dem Framework Robotium Daniel Knott XING AG @dnlkntt http://www.adventuresinqa.com Daniel Knott Manager Quality Assurance @dnlkntt [email protected] Daniel Knott hat

Mehr

Profiling in Python. Seminar: Effiziente Programmierung. Jan Pohlmann. November Jan Pohlmann Profiling in Python November / 32

Profiling in Python. Seminar: Effiziente Programmierung. Jan Pohlmann. November Jan Pohlmann Profiling in Python November / 32 Profiling in Python Seminar: Effiziente Programmierung Jan Pohlmann November 2017 Jan Pohlmann Profiling in Python November 2017 1 / 32 Gliederung 1 Grundlagen Profiling Was ist das Ziele und Herausforderungen

Mehr

Build Management Tool?

Build Management Tool? Build Management Tool? Funktionen Dependency Management Kompiliert den Sourcecode in Binaries Führt automatisierte Tests aus Installiert Software oder Lädt sie in Repositories Erstellt eine Dokumentation

Mehr

Mobile App development mit Xamarin. Christian Hassa ([email protected]) Andreas Willich ([email protected]) TechTalk Software AG

Mobile App development mit Xamarin. Christian Hassa (ch@techtalk.ch) Andreas Willich (awi@techtalk.ch) TechTalk Software AG Mobile App development mit Xamarin Christian Hassa ([email protected]) Andreas Willich ([email protected]) TechTalk Software AG % der Bevölkerung mit Smartphone Smartphone Durchdringung >50% 34% 43% 54% DACH

Mehr

Mobile Development in.net mit Xamarin

Mobile Development in.net mit Xamarin 1 Mobile Development in.net mit Xamarin Mobile Web (Hybrid) Apps Vorteil: Weniger Aufwand Multi-Plattform Web-Technologien Nachteil: UX Performance UI Design Gerätefunktionen 2 Plattform abstrahieren 3

Mehr

Android-Testautomatisierung mit Robotium

Android-Testautomatisierung mit Robotium Android-Testautomatisierung mit Robotium Daniel Knott XING AG @dnlkntt http://www.adventuresinqa.com Daniel Knott Manager Quality Assurance @dnlkntt [email protected] Daniel Knott hat einen technischen

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

Android GUI Entwicklung

Android GUI Entwicklung Android GUI Entwicklung Aktuelle Technologien verteilter Java Anwendungen Referent: Stefan Haupt Hello World! Agenda Einführung & Motivation Android Applikationen UI-Komponenten Events Ressourcen Kommunikation

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 [email protected] Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

Lehrstuhl 1 / Fakultät für Informatik. Haskell. Karsten Lettow

Lehrstuhl 1 / Fakultät für Informatik. Haskell. Karsten Lettow Lehrstuhl 1 / Haskell Jobausschreibung 2 Definition der Fibonacci Folge n Ν f(0) = 0 f(1) = 1 f(n) = f(n-1) + f(n-2) 3 Fibonacci Folge in Java implementiert public class fbonacci { public static void main(string[]

Mehr

Behutsame Modernisierung

Behutsame Modernisierung Software Evolution mit Legacy Systemen Forum Forschungsförderung / ViSEK Trends im Software Engineering Software Evolution mit Legacy Systemen Behutsame Modernisierung Jan Wloka

Mehr

Agile Testautomatisierung im XING Mobile Team

Agile Testautomatisierung im XING Mobile Team Agile Testautomatisierung im XING Mobile Team Daniel Knott XING AG @dnlkntt http://www.adventuresinqa.com Daniel Knott Team Lead Quality Assurance @dnlkntt [email protected] Daniel Knott hat einen

Mehr

Agile Testautomatisierung im XING Mobile Team

Agile Testautomatisierung im XING Mobile Team Agile Testautomatisierung im XING Mobile Team Daniel Knott XING AG @dnlkntt http://www.adventuresinqa.com Daniel Knott Manager Quality Assurance @dnlkntt [email protected] Daniel Knott hat einen technischen

Mehr

Einführung in AOP. Rico Schiekel - 012816 [email protected]. Agenda. Kernproblem der Objekt Orientierung

Einführung in AOP. Rico Schiekel - 012816 rschiekel@web.de. Agenda. Kernproblem der Objekt Orientierung Einführung in AOP Informatikseminar Rico Schiekel - 012816 [email protected] Fachhochschule Ravensburg Weingarten Hochschule für Technik und Sozialwesen Einführung in AOP Agenda Kernproblem der Objekt Orientierung

Mehr

Aspektorientierte Programmierung mit.net

Aspektorientierte Programmierung mit.net Aspektorientierte Programmierung mit.net David Hahn & Viktor Steinwand 1 1. 2. 3. 4. 5. Vorgehen beim AOP 6. 7. durch AOP 8. 9. 10. 2 1. AOP ist ein mächtiges Werkzeug für den Entwickler-Werkzeugkoffer

Mehr

Mit Cloud Power werden Sie zum

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

Mehr

Bestandsaufnahme und Arbeit an einer Alpha-Version des Saros- Plugins für die IntelliJ-Plattform

Bestandsaufnahme und Arbeit an einer Alpha-Version des Saros- Plugins für die IntelliJ-Plattform Tobias Bouschen Institut für Informatik der Freien Universität Berlin, Arbeitsgruppe Software Engineering Bestandsaufnahme und Arbeit an einer Alpha-Version des Saros- Plugins für die IntelliJ-Plattform

Mehr

Application Frameworks

Application Frameworks Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung

Mehr

Klappe auf! Was macht die JVM denn da?

Klappe auf! Was macht die JVM denn da? Vortrag am 7.7.2016 auf dem Klappe auf! Was macht die JVM denn da? [email protected] / @TobiasFrech Tobias Frech Geschäftsführer der Frech IT GmbH Java-Administration, Betrieb von Java-Anwendungen, Bereitschaft

Mehr

Aspektorientierte Middleware Florian Wagner

Aspektorientierte Middleware Florian Wagner Anwendungen der Aspektorientierung (5) Übersicht Middleware? Middleware-Concerns Java 2 Enterprise Edition AO Implementierung AOP & JBoss 2 mid dle ware (mĭd'l-wâr') n. Software that serves as an intermediary

Mehr

JavaFX auf Mobile. von Stefan Barth und Stefan Heinze

JavaFX auf Mobile. von Stefan Barth und Stefan Heinze von Stefan Barth und Stefan Heinze JavaFX Was ist JavaFX? Desktopanwendungen für Java (Ablösung von Swing) Properties / Bindings Animationen Effekte MultiTouch Media, CSS FXML, CSS Webbrowser... Einsatzmöglichkeiten

Mehr

Olaf Seng Thomas Genßler Benedikt Schulz. Forschungszentrum Informatik, Karlsruhe

Olaf Seng Thomas Genßler Benedikt Schulz. Forschungszentrum Informatik, Karlsruhe Olaf Seng Thomas Genßler Benedikt Schulz Einführung Grundlagen Vorgehensweise Beispiel Zusammenfassung Übersicht 2 Einführung Szenario & Probleme Hinzufügen einer neuen Funktion zu einer Komponente Erfordert

Mehr

Schneller mit AspectJ

Schneller mit AspectJ November 2007 Performance Day @ JUGS Schneller mit AspectJ [email protected] Wir über uns Gründung 01.04.2004 Vorstand Olaf Ahl & Wolfgang Clauss Standorte Stuttgart (Firmensitz), Kassel, München

Mehr

Programmierkurs C++ Abstrakte Klassen und Methoden

Programmierkurs C++ Abstrakte Klassen und Methoden Programmierkurs C++ Abstrakte Klassen und Methoden Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie Obst double

Mehr

Automatisierung von SAM-FS Abläufen mit Python Python Binding für die SAM-FS API

Automatisierung von SAM-FS Abläufen mit Python Python Binding für die SAM-FS API Automatisierung von SAM-FS Abläufen mit Python Python Binding für die SAM-FS API Carsten Grzemba IT-Consultant Datentechnik GmbH Auf dem Steine 1 98693 Ilmenau http://www.-dt.de Wer sind wir? Systemhaus:

Mehr

Softwareprojekte mit Kultur

Softwareprojekte mit Kultur Maven Softwareprojekte mit Kultur Patrick Zeising Konfigurationsmanagement Motivation Projektaufbau unterschiedlich Abläufe zum Übersetzen und Deployen unterschiedlich Verwendete Tools, Prozesse, Skripte

Mehr

Modulare Anwendungen und die Lookup API. Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team

Modulare Anwendungen und die Lookup API. Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team Modulare Anwendungen und die Lookup API Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team Die Notwendigkeit modularer Anwendungen Die Notwendigkeit modularer

Mehr

Teil 3 - Java. Grundlagen Klassen, Attribute Methoden

Teil 3 - Java. Grundlagen Klassen, Attribute Methoden Teil 3 - Java Grundlagen Klassen, Attribute Methoden 1 Java 2 - Geschichte Ursprung: Green -Project bei der Firma Sun Microsystems 1991 Entwicklung eines Systems mit folgenden Eigenschaften: hardwareunabhängig

Mehr

Quellcode-Repräsentation in Eclipse. Seminarvortrag PG Reclipse Jan Rieke

Quellcode-Repräsentation in Eclipse. Seminarvortrag PG Reclipse Jan Rieke Quellcode-Repräsentation in Eclipse Seminarvortrag PG Reclipse Jan Rieke Gliederung Motivation Architektur von Eclipse Quelltext-Repräsentation in Eclipse Java-Modell Java DOM/AST Zusätzliche Konzepte

Mehr

Abacus Formula Compiler (AFC)

Abacus Formula Compiler (AFC) Abacus Formula Compiler (AFC) Alle kennen Excel - jetzt sogar Ihre Java- Applikation! Bringt Tabellenkalkulationen auf die JVM http://formulacompiler.org/ Peter Arrenbrecht für Abacus Research AG http://abacus.ch/

Mehr

App-Entwicklung mit Titanium

App-Entwicklung mit Titanium Masterstudienarbeit Betreuung Prof. Dr. M. von Schwerin 1 Gliederung 1.Motivation 2.Aufgabenstellung 3.Projektbeschreibung 4.Projektstatusbericht 5.Fazit und Ausblick 2 1.Motivation Verbreitung von Smartphones

Mehr

Maven 2 Softwareprojekte mit Kultur

Maven 2 Softwareprojekte mit Kultur Maven 2 Softwareprojekte mit Kultur Patrick Zeising 28.05.2010 Motivation Projekte unterscheiden sich stark im Aufbau Abläufe beim Übersetzen und Deployen unterscheiden sich stark

Mehr

Configurable Embedded Systems

Configurable Embedded Systems Configurable Embedded Systems Prof. Dr. Sven-Hendrik Voß Wintersemester 2017 Technische Informatik (Master), Semester 2 Termin 3, 23.10.2017 Seite 2 Zynq Design Flow Configurable Embedded Systems Wintersemester

Mehr

Objektorientiertes Programmieren

Objektorientiertes Programmieren JL Ute Claussen Objektorientiertes Programmieren Mit Beispielen und Übungen in C++ Zweite, überarbeitete und erweiterte Auflage Mit 24 Abbildungen Springer Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist

Mehr

Einführung in Google Web Toolkit

Einführung in Google Web Toolkit Einführung in Google Web Toolkit Lars Pfannenschmidt Tobias Ullrich Software Freedom Day 2009 Lars Pfannenschmidt, Tobias Ullrich () Einführung in Google Web Toolkit Software Freedom Day 2009 1 / 24 Aus

Mehr

PRIP-Preis. Effizientes Object Tracking durch Programmierung von Mehrkernprozessoren und Grafikkarten

PRIP-Preis. Effizientes Object Tracking durch Programmierung von Mehrkernprozessoren und Grafikkarten Masterarbeit @ PRIP-Preis Effizientes Object Tracking durch Programmierung von Mehrkernprozessoren und Grafikkarten Michael Rauter Pattern Recognition and Image Processing Group Institute of Computer Aided

Mehr

Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff

Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Die Java Reflection API liefert per Introspection Informationen über Klassen => Meta-Daten.

Mehr

Modellgetriebene Entwicklung einer Eclipse RAP-Anwendung unter Verwendung des Eclipse Modeling Frameworks

Modellgetriebene Entwicklung einer Eclipse RAP-Anwendung unter Verwendung des Eclipse Modeling Frameworks Modellgetriebene Entwicklung einer Eclipse RAP-Anwendung unter Verwendung des Eclipse Modeling Frameworks AKWI 2015 Luzern Marco Richter ([email protected]) Melanie Vanderpuye ([email protected])

Mehr

Bessere Software durch AOP? Achim Demelt OOP 2008

Bessere Software durch AOP? Achim Demelt OOP 2008 Bessere Software durch AOP? Achim Demelt OOP 2008 Agenda Motivation Konzepte der Aspektorientierung Aspektorientierung in der Praxis Bessere Software? Die Zukunft von AOP 2 Motivation Software wird immer

Mehr

Softwareproduktlinien Teil 4: Versionsverwaltungs- und Buildsysteme

Softwareproduktlinien Teil 4: Versionsverwaltungs- und Buildsysteme Softwareproduktlinien Teil 4: Versionsverwaltungs- und Buildsysteme Christian Kästner (Universität Marburg) Sven Apel (Universität Passau) Gunter Saake (Universität Magdeburg) 1 Application Eng. Domain

Mehr

Memory Models Frederik Zipp

Memory Models Frederik Zipp Memory Models Frederik Zipp Seminar: Programmiersprachen für Parallele Programmierung (SS 2010) Fakultät für Informatik - IPD SNELTING LEHRSTUHL PROGRAMMIERPARADIGMEN 1

Mehr

Endlich! Mission Control und Flight Recorder für Hotspot

Endlich! Mission Control und Flight Recorder für Hotspot Endlich! Mission Control und Flight Recorder für Hotspot Es war einmal Es war einmal Es war einmal Mark Reinhold, 2010 HotRockit Marcus Hirt, Java One 2011 Mission Control Marcus Hirt, Java One 2013 Mission

Mehr

Anwendungsentwicklung mit Spring

Anwendungsentwicklung mit Spring Anwendungsentwicklung mit Spring Eberhard Wolff Managing Director Interface21 GmbH Interface21 - Spring from the Source Interface21 Produkte u.a. Spring Framework Spring from the Source Consulting, Training,

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 22 Einstieg in die Informatik mit Java Generics Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Überblick Generics 2 Generische Klassen 3 Generische Methoden 4

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

Sommersemester Implementierung I: Struktur

Sommersemester Implementierung I: Struktur Sommersemester 2003 Implementierung I: Struktur 2 Aufgabe 3 Implementierung I: Struktur Umfang: 1 Woche Punkte: 50 P. In den ersten beiden Aufgaben wurden die Struktur und das Verhalten des Systems modelliert.

Mehr

Mit dem Google-Web-Toolkit moderne Web-Anwendungen entwickeln

Mit dem Google-Web-Toolkit moderne Web-Anwendungen entwickeln Mit dem Google-Web-Toolkit moderne Web-Anwendungen entwickeln Ziel dieses Vortrags Ich möchte Sie davon überzeugen, dass das Google-Web-Toolkit (GWT) das aktuell beste Tool zur Erstellung von modernen

Mehr

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo Webentwicklung mit Vaadin 7 Theoretische und praktische Einführung in Vaadin 7 Christian Dresen, Michael Gerdes, Sergej Schumilo Agenda Allgemeines Architektur Client-Side Server-Side Vaadin UI Components

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

Testen von sicherheitskritischer Embedded Software mit frei verfügbaren Tools. - ein Erfahrungsbericht

Testen von sicherheitskritischer Embedded Software mit frei verfügbaren Tools. - ein Erfahrungsbericht Testen von sicherheitskritischer Embedded Software mit frei verfügbaren Tools - ein Erfahrungsbericht Martin Mühlemann CSA Engineering AG, CH-4500 Solothurn Ausgangslage Embedded-Firmware testen für ein

Mehr

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

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält

Mehr

GraphHopper-Routing mit Maut-Erweiterung

GraphHopper-Routing mit Maut-Erweiterung Vorstellung der Thesis: GraphHopper-Routing mit Maut-Erweiterung Herr Robert Klemm M.Sc. Geodatenerfassung und visualisierung [email protected] Passau, 23.03.2017 Gliederung 1. Einleitung

Mehr

Creational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05.

Creational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05. Creational Patterns Seminar Software-Entwurf WS 2004/05 Thomas Liro Inhaltsüberblick Einordnung des Themas Beschreibung von Design Pattern Auswahl von Design Patterns Was sind Creational

Mehr

Kurzanleitung Eclipse

Kurzanleitung Eclipse Autor: Prof. Dr. Bernhard Humm, FB Informatik, FH Darmstadt Datum: 30. November 2005 1 Starten Für das Praktikum verwenden wir Eclipse Version 3.1 und JDK 1.5 Starten Eclipse: Doppelklick auf das Icon

Mehr

Technologische Analysen im Umfeld Sozialer Netzwerke

Technologische Analysen im Umfeld Sozialer Netzwerke Fakultät Informatik & IBM Lehrstuhl Rechnernetze & Centers for Solution Innovation :: Hamburg Technologische Analysen im Umfeld Sozialer Netzwerke Verteidigung der Diplomarbeit Dresden, 10.11.2008 [email protected]

Mehr

Fuzzing. Robert Buchholz, Kai Dietrich, Björn Lohrmann. 26. Januar Rechnersicherheit Praktikum WS Fuzzing

Fuzzing. Robert Buchholz, Kai Dietrich, Björn Lohrmann. 26. Januar Rechnersicherheit Praktikum WS Fuzzing Fuzzing Robert Buchholz, Kai Dietrich, Björn Lohrmann Rechnersicherheit Praktikum WS 2007 26. Januar 2008 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.

Mehr