Ambient-oriented Programming & AmbientTalk

Size: px
Start display at page:

Download "Ambient-oriented Programming & AmbientTalk"

Transcription

1 Ambient-oriented Programming & AmbientTalk Tom Van Cutsem Stijn Mostinckx Elisa Gonzalez Boix Andoni Lombide Christophe Scholliers Wolfgang De Meuter Software Languages Lab Brussels, Belgium

2 Agenda 2 Context: Mobile & Ubiquitous computing Approach: Ambient-oriented programming Tool: AmbientTalk Experiments: Demo applications

3 Context Mobile & Ubiquitous Computing

4 Ubiquitous Computing 4 Research vision postulated by Mark Weiser (1988, Xerox PARC)

5 Today s Applications 5 Smart Homes/Domotics RFID Inventory Management Tourism/City Guide Software Personal Area Networks

6 Issues 6 Hardware Issues: Miniaturisation Device Autonomy Interoperability Processor Speed Limited Memory Integration Cost Software Issues: Context-awareness Interaction with real world Portability New user interfaces Standards Distributed Applications

7 Issues 6 Hardware Issues: Miniaturisation Device Autonomy Interoperability Processor Speed Limited Memory Integration Cost Software Issues: Context-awareness Interaction with real world Portability New user interfaces Standards Distributed Applications

8 Mobile Ad Hoc Networks 7 Networks composed of mobile devices that communicate wirelessly

9 Mobile Ad Hoc Networks 7 Networks composed of mobile devices that communicate wirelessly Zero Infrastructure

10 Mobile Ad Hoc Networks 7 Networks composed of mobile devices that communicate wirelessly Zero Infrastructure Volatile Connections

11 Approach Ambient-oriented Programming

12 Observation #1: interaction with proximate peers Example: match making between proximate peers 9 demand type = Concert Ticket ticket.artist = U2 ticket.location = * offer type = Concert Ticket ticket.artist = U2 ticket.location = Hyde Park

13 Observation #1: interaction with proximate peers Example: match making between proximate peers 9 demand offer type = Concert Ticket ticket.artist = U2 ticket.location = Hyde Park type = Concert Ticket ticket.artist = U2 ticket.location = *

14 Observation #1: interaction with proximate peers Example: match making between proximate peers 9 demand offer type = Concert Ticket ticket.artist = U2 ticket.location = Hyde Park type = Concert Ticket ticket.artist = U2 ticket.location = * No reliance on fixed, alwaysavailable server infrastructure

15 Observation #2: intermittent connectivity 10

16 Observation #2: intermittent connectivity 10

17 Observation #2: intermittent connectivity 10

18 Observation #2: intermittent connectivity 10 Tolerate disconnections, because they occur frequently rather than exceptionally

19 Software concerns 11 umama

20 Software concerns 11 umama Discovery

21 Software concerns 11 umama Discovery Communication

22 Software concerns 11 umama 32% 21% Discovery Communication Synchronisation

23 Software concerns 12 umama Discovery Communication Synchronisation

24 Software concerns 12 umama Discovery Communication Synchronisation Failure handling

25 Tool AmbientTalk

26 AmbientTalk: fact sheet 14 Object-oriented scripting language Started in 2005 Pure implementation Runs on J2ME/CDC phones Open source implementation code.google.com/p/ambienttalk

27 How does AmbientTalk help? 15 Volatile Connections network connections are resilient to failures by default Zero Infrastructure service discovery protocol built into the language

28 Object-oriented 16 def makesong(artist, title) { object: { def printartist() { if: (artist == nil) then: { unknown artist ; } else: { artist; } } } }

29 Object-oriented 16 def makesong(artist, title) { object: { def printartist() { if: (artist == nil) then: { unknown artist ; } else: { artist; } } } } def song := makesong( U2, One ); song.printartist();

30 Event Loop Concurrency 17 AmbientTalk programs are event loops They react to events from the outside world They communicate asynchronously Event Event Queue Event Loop Event Handler

31 Examples of event loops 18 GUI Frameworks (e.g. Java AWT) Highly interactive applications (e.g. games) IPC in Operating Systems Discrete Event Modelling (e.g. simulations) Web servers

32 Event Loop Concurrency in AmbientTalk 19

33 Event Loop Concurrency in AmbientTalk 19 Event Loop Message queue

34 Event Loop Concurrency in AmbientTalk 19 local object

35 Event Loop Concurrency in AmbientTalk 19 remote object

36 Event Loop Concurrency in AmbientTalk 20

37 Event Loop Concurrency in AmbientTalk 20 do m immediately obj obj.m()

38 Event Loop Concurrency in AmbientTalk 20 do m eventually obj<-m()

39 Event Loop Concurrency in AmbientTalk 20 do m eventually obj<-m()

40 Event Loop Concurrency in AmbientTalk 20? future

41 Event Loop Concurrency in AmbientTalk 20? future when: future becomes: { value // process reply }

42 Event Loop Concurrency in AmbientTalk 20? future when: future becomes: { value // process reply }

43 Exporting & discovering objects 21 mplayer

44 Exporting & discovering objects 21 mplayer deftype MusicPlayer deftype MusicPlayer

45 Exporting & discovering objects 21 mplayer deftype MusicPlayer deftype MusicPlayer export: mplayer as: MusicPlayer

46 Exporting & discovering objects 21 mplayer deftype MusicPlayer deftype MusicPlayer export: mplayer as: MusicPlayer whenever: MusicPlayer discovered: { mplayer // open a session }

47 Exporting & discovering objects 21 mplayer deftype MusicPlayer deftype MusicPlayer export: mplayer as: MusicPlayer whenever: MusicPlayer discovered: { mplayer // open a session }

48 Far References 22 uploadsong session

49 Far References 22 uploadsong session

50 Far References 22 uploadsong session

51 Far References 22 session

52 Far References 22 session

53 Far References 22 session

54 Far References 22 session when: becomes: { ack // continue exchange } catch: TimeoutException using: { e // stop exchange }

55 Leasing 23 lease: 10.minutes session disconnect Connected (messages are forwarded) expire reconnect Expired (messages are dropped) Disconnected (messages are buffered) expire

56 Reacting to failures 24 lease: 10.minutes session disconnect Connected (messages are forwarded) expire reconnect Expired (messages are dropped) Disconnected (messages are buffered) expire

57 Reacting to failures 24 lease: 10.minutes session disconnect when: session disconnected: { // pause transmission } Connected (messages are forwarded) expire reconnect Expired (messages are dropped) Disconnected (messages are buffered) expire

58 Reacting to failures 24 lease: 10.minutes session disconnect when: session disconnected: { // pause transmission } when: session reconnected: { // resume transmission } Connected (messages are forwarded) expire reconnect Expired (messages are dropped) Disconnected (messages are buffered) expire

59 Reacting to failures 24 lease: 10.minutes session disconnect when: session disconnected: { // pause transmission } when: session reconnected: { // resume transmission } Connected (messages are forwarded) expire reconnect Expired (messages are dropped) Disconnected (messages are buffered) expire when: session expired: { // stop transmission }

60 Reacting to failures 24 lease: 10.minutes session disconnect when: session disconnected: { // pause transmission } when: session reconnected: { // resume transmission } when: session expired: { // stop transmission } Connected (messages are forwarded) expire reconnect Expired (messages are dropped) Disconnected (messages are buffered) expire when: session expired: { // clean up resources }

61 Event Notifications 25 when: type discovered: { obj... } whenever: type discovered: { obj... } when: obj disconnected: {... } whenever: obj disconnected: {... } when: obj reconnected: {... } whenever: obj reconnected: {... } when: obj expired: {... } when: 5.minutes elapsed: {... } whenever: 5.minutes elapsed: {... } when: future becomes: { result... }

62 Event Notifications 25 Discovery when: type discovered: { obj... } whenever: type discovered: { obj... } when: obj disconnected: {... } whenever: obj disconnected: {... } when: obj reconnected: {... } whenever: obj reconnected: {... } when: obj expired: {... } when: 5.minutes elapsed: {... } whenever: 5.minutes elapsed: {... } when: future becomes: { result... }

63 Event Notifications 25 when: type discovered: { obj... } Failure Handling when: obj disconnected: {... } whenever: type discovered: { obj... } whenever: obj disconnected: {... } when: obj reconnected: {... } whenever: obj reconnected: {... } when: obj expired: {... } when: 5.minutes elapsed: {... } whenever: 5.minutes elapsed: {... } when: future becomes: { result... }

64 Event Notifications 25 when: type discovered: { obj... } whenever: type discovered: { obj... } when: obj disconnected: {... } whenever: obj disconnected: {... } when: obj reconnected: {... } whenever: obj reconnected: {... } when: obj expired: {... } Synchronisation when: 5.minutes elapsed: {... } whenever: 5.minutes elapsed: {... } when: future becomes: { result... }

65 Language Interoperability 26 AmbientTalk Program AmbientTalk VM Interop. Layer Java Virtual Machine Scripting language on top of the JVM, cfr. JRuby, Jython, Groovy,... AmbientTalk can use Java libraries, Java can use AmbientTalk scripts

66 Batteries Included 27 def Button := jlobby.java.awt.button; def button := Button.new( Click Me ); button.addactionlistener(object: { def actionperformed(actionevent) { println( button clicked ); } }); button.setvisible(true);

67 Reflection 28 AmbientTalk code can introspect and change behavior of objects and actors def makesong(artist, title) { object: { def printartist() { if: (artist == nil) then: { unknown artist ; } else: { artist; } } } } def song := makesong( U2, One ); song.printartist();

68 Reflection 28 AmbientTalk code can introspect and change behavior of objects and actors def makesong(artist, title) { object: { def printartist() { if: (artist == nil) then: { unknown artist ; } else: { artist; } } } } def mirroronsong := (reflect: song); mirroronsong.invoke(song, createinvocation(`printartist, [])); mirroronsong.listslots(); mirroronsong.addslot(slot);... def song := makesong( U2, One ); song.printartist();

69 Implementation 29 Interactive interpreter ± SLOC of UDP & TCP/IP over WLAN Runs on top of J2ME/CDC QTek 9090 SmartPhones HTC Touch Cruise SmartPhones iphone [in progress] Android G1 [in progress]

70 Experiments Demo Applications

71 Case: Musical Match Maker 31 Demo

72 Experimental Results 32

73 Experimental Results 33

74 Causes 34 Explicit encoding of buffered, asynchronous communication using threads remote messages using objects timeouts using timer threads event notifications (lease expiration & renewal, calls & callbacks) using listeners + event loop threads Java RMI does not deal with service discovery

75 Case: Instant Messenger 35 Demo

76 Chat: Java vs AmbientTalk (LoC) 36

77 Chat: Java vs AmbientTalk (%) 37

78 A simple application but we do not need to explicitly manage: threads & locks low-level socket connections stubs, skeletons name server or lookup service timeouts, leasing

79 AmbientMorphic 39 Implementation of the Morphic UI framework from Self Demo: PortalPong

80 Conclusion 40 Mobile ad hoc networks: Ambient-oriented programming: AmbientTalk: Scripting language on top of the JVM Reactive, event-driven programs Applications: chat, match maker, multiplayer game

81 Conclusion 40 Mobile ad hoc networks: Zero Infrastructure Volatile Connections Ambient-oriented programming: AmbientTalk: Scripting language on top of the JVM Reactive, event-driven programs Applications: chat, match maker, multiplayer game

82 Conclusion 40 Mobile ad hoc networks: Zero Infrastructure Volatile Connections Ambient-oriented programming: Peer-to-peer Tolerate disconnections AmbientTalk: Scripting language on top of the JVM Reactive, event-driven programs Applications: chat, match maker, multiplayer game

83 Don t program the hardware of the future with the software of the past

COM 440 Distributed Systems Project List Summary

COM 440 Distributed Systems Project List Summary COM 440 Distributed Systems Project List Summary This list represents a fairly close approximation of the projects that we will be working on. However, these projects are subject to change as the course

More information

Cid Santos Luis Matos. Introduction to AllJoyn

Cid Santos Luis Matos. Introduction to AllJoyn 1 Cid Santos Luis Matos Introduction to AllJoyn 1 2 3 4 5 What is AllJoyn? How AllJoyn works Setup your Android Dev. Environment Development with java SDK Questions & Answers Agenda 3 Why Can t All Our

More information

Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols. Anthony J. Howe Supervisor: Dr. Mantis Cheng University of Victoria

Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols. Anthony J. Howe Supervisor: Dr. Mantis Cheng University of Victoria Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols Anthony J Howe Supervisor: Dr Mantis Cheng University of Victoria February 28, 2002 Abstract This article presents the reverse engineered

More information

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi ANDROID PROGRAMMING - INTRODUCTION Roberto Beraldi Introduction Android is built on top of more than 100 open projects, including linux kernel To increase security, each application runs with a distinct

More information

Scala Actors Library. Robert Hilbrich

Scala Actors Library. Robert Hilbrich Scala Actors Library Robert Hilbrich Foreword and Disclaimer I am not going to teach you Scala. However, I want to: Introduce a library Explain what I use it for My Goal is to: Give you a basic idea about

More information

Flocks: Enabling Dynamic Group Interactions in Mobile Social Networking Applications

Flocks: Enabling Dynamic Group Interactions in Mobile Social Networking Applications Flocks: Enabling Dynamic Group Interactions in Mobile Social Networking Applications Elisa Gonzalez Boix egonzale@vub.ac.be Tom Van Cutsem tvcutsem@vub.ac.be Andoni Lombide Carreton alombide@vub.ac.be

More information

Lecture 17: Mobile Computing Platforms: Android. Mythili Vutukuru CS 653 Spring 2014 March 24, Monday

Lecture 17: Mobile Computing Platforms: Android. Mythili Vutukuru CS 653 Spring 2014 March 24, Monday Lecture 17: Mobile Computing Platforms: Android Mythili Vutukuru CS 653 Spring 2014 March 24, Monday Mobile applications vs. traditional applications Traditional model of computing: an OS (Linux / Windows),

More information

ELIXIR LOAD BALANCER 2

ELIXIR LOAD BALANCER 2 ELIXIR LOAD BALANCER 2 Overview Elixir Load Balancer for Elixir Repertoire Server 7.2.2 or greater provides software solution for load balancing of Elixir Repertoire Servers. As a pure Java based software

More information

Software design (Cont.)

Software design (Cont.) Package diagrams Architectural styles Software design (Cont.) Design modelling technique: Package Diagrams Package: A module containing any number of classes Packages can be nested arbitrarily E.g.: Java

More information

Division of Informatics, University of Edinburgh

Division of Informatics, University of Edinburgh CS1Bh Lecture Note 20 Client/server computing A modern computing environment consists of not just one computer, but several. When designing such an arrangement of computers it might at first seem that

More information

Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert

Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert Ubiquitous Computing Ubiquitous Computing The Sensor Network System Sun SPOT: The Sun Small Programmable Object Technology Technology-Based Wireless Sensor Networks a Java Platform for Developing Applications

More information

Android Fundamentals 1

Android Fundamentals 1 Android Fundamentals 1 What is Android? Android is a lightweight OS aimed at mobile devices. It is essentially a software stack built on top of the Linux kernel. Libraries have been provided to make tasks

More information

Unity New Networking System (UNet) Unite Asia 2015

Unity New Networking System (UNet) Unite Asia 2015 Unity New Networking System (UNet) Unite Asia 2015 Hello Sean Riley Game industry developer since 1997 Blizzard, NCSoft, EA Origin, Metaplace Works on the Unity Networking Team I work remotely from Florida,

More information

Resilient Partitioning of Pervasive Computing Services

Resilient Partitioning of Pervasive Computing Services Faculty of Sciences Department of Computer Science and Applied Computer Science Resilient Partitioning of Pervasive Computing Services A dissertation submitted in partial fulfillment of the requirements

More information

Mobile Cloud Computing: Paradigms and Challenges 移 动 云 计 算 : 模 式 与 挑 战

Mobile Cloud Computing: Paradigms and Challenges 移 动 云 计 算 : 模 式 与 挑 战 Mobile Cloud Computing: Paradigms and Challenges 移 动 云 计 算 : 模 式 与 挑 战 Jiannong Cao Internet & Mobile Computing Lab Department of Computing Hong Kong Polytechnic University Email: csjcao@comp.polyu.edu.hk

More information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts

More information

Handling Partial Failures in Mobile Ad hoc Network Applications: From Programming Language Design to Tool Support. Elisa González Boix

Handling Partial Failures in Mobile Ad hoc Network Applications: From Programming Language Design to Tool Support. Elisa González Boix Faculteit van de Wetenschappen Vakgroep Computerwetenschappen Laboratorium voor Programmeerkunde Handling Partial Failures in Mobile Ad hoc Network Applications: From Programming Language Design to Tool

More information

Wireless Internet Tutoring System Requirements Document. Nadya Belov, Dmitriy Bespalov, Ilya Braude, Immanuel Comer, Daniel Lapadat, Andrew Ragone

Wireless Internet Tutoring System Requirements Document. Nadya Belov, Dmitriy Bespalov, Ilya Braude, Immanuel Comer, Daniel Lapadat, Andrew Ragone Wireless Internet Tutoring System Requirements Document Nadya Belov, Dmitriy Bespalov, Ilya Braude, Immanuel Comer, Daniel Lapadat, Andrew Ragone Contents 1 Introduction 4 1.1 Scenario...............................................

More information

Development of a new service using Wi-Fi Direct

Development of a new service using Wi-Fi Direct COMPUTER NETWORKS COEN233 Development of a new service using Wi-Fi Direct HE SHOUCHUN MEENAKSHI HARIKUMAR NAGA TULASI SOUJANYA VADREVU 1 INDEX 6. Implementation--------------------------------------------------------------------------------------------3

More information

Building Motion and Noise Detector Networks from Mobile Phones

Building Motion and Noise Detector Networks from Mobile Phones Building Motion and Noise Detector Networks from Mobile Phones Péter Ekler 1111 Budapest, Magyar Tudósok körútja 2. IL208, peter.ekler@aut.bme.hu Hassan Charaf Dr. 1111 Budapest, Magyar Tudósok körútja

More information

Design Document. Offline Charging Server (Offline CS ) Version 1.0. - i -

Design Document. Offline Charging Server (Offline CS ) Version 1.0. - i - Design Document Offline Charging Server (Offline CS ) Version 1.0 - i - Document Scope Objective The information provided in this document specifies the design details of Operations of Offline Charging

More information

Fast, user-friendly and power-efficient network communication on Android

Fast, user-friendly and power-efficient network communication on Android Fast, user-friendly and power-efficient network communication on Android Erik Hellman Research Engineer - Sony Mobile What can developers do? HTTP client handling Background Network I/O Playing server

More information

Overview of CORBA 11.1 I NTRODUCTION TO CORBA. 11.4 Object services 11.5 New features in CORBA 3.0 11.6 Summary

Overview of CORBA 11.1 I NTRODUCTION TO CORBA. 11.4 Object services 11.5 New features in CORBA 3.0 11.6 Summary C H A P T E R 1 1 Overview of CORBA 11.1 Introduction to CORBA 11.2 CORBA architecture 11.3 Client and object implementations 11.4 Object services 11.5 New features in CORBA 3.0 11.6 Summary In previous

More information

What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications.

What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications. What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications. 2 Contents: Abstract 3 What does DDS do 3 The Strengths of DDS 4

More information

IMPLEMENTATION OF AN AGENT MONITORING SYSTEM IN A JINI ENVIRONMENT WITH RESTRICTED USER ACCESS

IMPLEMENTATION OF AN AGENT MONITORING SYSTEM IN A JINI ENVIRONMENT WITH RESTRICTED USER ACCESS IMPLEMENTATION OF AN AGENT MONITORING SYSTEM IN A JINI ENVIRONMENT WITH RESTRICTED USER ACCESS Marietta A. Gittens (Dr. Sadanand Srivastava, Dr. James Gil De Lamadrid) {mgittens, ssrivas, gildelam}@cs.bowiestate.edu

More information

Communication between MQX RTOS and Android Operating System

Communication between MQX RTOS and Android Operating System Freescale Semiconductor Application Note Document Number: AN4810 Rev. 0, 12/2013 Communication between MQX RTOS and Android Operating System by Freescale Semiconductor, Inc. Remote controlling and monitoring

More information

Special Note Ethernet Connection Problems and Handling Methods (CS203 / CS468 / CS469)

Special Note Ethernet Connection Problems and Handling Methods (CS203 / CS468 / CS469) Special Note Connection Problems and Handling Methods (CS203 / CS468 / CS469) Sometimes user cannot find the RFID device after installing the CSL Demo App and the RFID reader is connected. If user cannot

More information

Overview. Timeline Cloud Features and Technology

Overview. Timeline Cloud Features and Technology Overview Timeline Cloud is a backup software that creates continuous real time backups of your system and data to provide your company with a scalable, reliable and secure backup solution. Storage servers

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION CHAPTER 1 INTRODUCTION 1.1 Introduction Service Discovery Protocols (SDPs) are network protocols which allow automatic detection of devices and services offered by these devices on a computer network [1].

More information

ACTOR-BASED MODEL FOR CONCURRENT PROGRAMMING. Sander Sõnajalg

ACTOR-BASED MODEL FOR CONCURRENT PROGRAMMING. Sander Sõnajalg ACTOR-BASED MODEL FOR CONCURRENT PROGRAMMING Sander Sõnajalg Contents Introduction to concurrent programming Shared-memory model vs. actor model Main principles of the actor model Actors for light-weight

More information

Instructions for use the VPN at the Warsaw School of Economics

Instructions for use the VPN at the Warsaw School of Economics Instructions for use the VPN at the Warsaw School of Economics Dariusz Jaruga. ver. 1.1 (19-01-2011) Introduction VPN is the abbreviation for Virtual Personal Network which allows you to connect your computer

More information

Monitoring and control of users in open environments on the Android platform

Monitoring and control of users in open environments on the Android platform Monitoring and control of users in open environments on the Android platform DEGREE IN COMMUNICATIONS SYSTEMS ENGINEERING AUTHOR: TUTOR: Eric Bella Pulgarín Raúl Sánchez Reillo DIRECTOR: Aitor Mendaza

More information

Mobile Operating Systems. Week I

Mobile Operating Systems. Week I Mobile Operating Systems Week I Overview Introduction Mobile Operating System Structure Mobile Operating System Platforms Java ME Platform Palm OS Symbian OS Linux OS Windows Mobile OS BlackBerry OS iphone

More information

ICC. NetLink Version Info 10.21.2014 8.7.2014 7.12.2013 INDUSTRIAL CONTROL COMMUNICATIONS, INC.

ICC. NetLink Version Info 10.21.2014 8.7.2014 7.12.2013 INDUSTRIAL CONTROL COMMUNICATIONS, INC. Version Info 10.21.2014 1.3.2 release Updated graph layout and increased text size Added ability to resize graphs Added ability to zoom and scroll graphs using both image zoom and data zoom methods Graphs

More information

Fast remote data access for control of TCP/IP network using android Mobile device

Fast remote data access for control of TCP/IP network using android Mobile device RESEARCH ARTICLE OPEN ACCESS Fast remote data access for control of TCP/IP network using android Mobile device Vaibhav Muddebihalkar *, R.M Gaudar** (Department of Computer Engineering, MIT AOE Alandi

More information

An Oracle White Paper September 2013. Advanced Java Diagnostics and Monitoring Without Performance Overhead

An Oracle White Paper September 2013. Advanced Java Diagnostics and Monitoring Without Performance Overhead An Oracle White Paper September 2013 Advanced Java Diagnostics and Monitoring Without Performance Overhead Introduction... 1 Non-Intrusive Profiling and Diagnostics... 2 JMX Console... 2 Java Flight Recorder...

More information

Adaptable Service Oriented Architectures

Adaptable Service Oriented Architectures Otwarte Studium Doktoranckie 1 Adaptable Service Oriented Architectures Krzysztof Zieliński Department of Computer Science AGH-UST Krakow Poland Otwarte Studium Doktoranckie 2 Agenda DCS SOA WS MDA OCL

More information

Testing Tools using Visual Studio. Randy Pagels Sr. Developer Technology Specialist Microsoft Corporation

Testing Tools using Visual Studio. Randy Pagels Sr. Developer Technology Specialist Microsoft Corporation Testing Tools using Visual Studio Randy Pagels Sr. Developer Technology Specialist Microsoft Corporation Plan REQUIREMENTS BACKLOG Monitor + Learn Development Collaboration Production Develop + Test Release

More information

Ahmedabad, India. 1 2

Ahmedabad, India. 1 2 Mobile Torrent: Peer-To-Peer File Sharing In Android Devices Rutul Shah 1, Zunnun Narmawala 2 123 Institute of Technology, Nirma University,Computer Science and Engineering Department, Ahmedabad, India.

More information

Testing Mobile Applications

Testing Mobile Applications Testing Mobile Applications Published by 360logica software testing Services (www.360logica.com ) [ Testing Mobile applications ] Copyright 2011@ 360logica software testing services Testing Mobile Applications

More information

Exhibit B5b South Dakota. Vendor Questions COTS Software Set

Exhibit B5b South Dakota. Vendor Questions COTS Software Set Appendix C Vendor Questions Anything t Applicable should be marked NA. Vendor Questions COTS Software Set Infrastructure 1. Typically the State of South Dakota prefers to host all systems. In the event

More information

Computer and Set of Robots

Computer and Set of Robots Lesson 11:DESIGN PROCESS EXAMPLES Mobile-Phone, Mobile- Computer and Set of Robots 1 Mobile Phone 2 Mobile phone SoC (System-on-Chip) Hardware units Microcontroller or ASIP (Application Specific Instruction

More information

UPnP Control Point for Mobile Phones in Residential Networks

UPnP Control Point for Mobile Phones in Residential Networks 1 UPnP Control Point for Mobile Phones in Residential Networks Andreas Häber 1, Frank Reichert 2, and Andreas Fasbender 3 Abstract Together, Ericsson and HiA are studying the role of WiFi-enabled mobile

More information

Design Patterns in C++

Design Patterns in C++ Design Patterns in C++ Concurrency Patterns Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa May 4, 2011 G. Lipari (Scuola Superiore Sant Anna) Concurrency Patterns May 4,

More information

Towards Peer-to-Peer Long-Lived Mobile Web Services

Towards Peer-to-Peer Long-Lived Mobile Web Services Towards Peer-to-Peer Long-Lived Mobile s Fahad Aijaz, Bilal Hameed, Bernhard Walke RWTH Aachen University, Faculty 6 Communication Networks Kopernikusstr. 16, 52074 Aachen {fah, bhd}@comnets.rwth-aachen.de

More information

Remote invocation, part II (case study: Java RMI)

Remote invocation, part II (case study: Java RMI) Prof. Dr. Claudia Müller-Birn Institute for Computer Science, Networked Information Systems Remote invocation, part II (case study: Java RMI) Netzprogrammierung (Algorithmen und Programmierung V) Our topics

More information

Remote Desktop Access through Android Mobiles and Android Mobiles Access through Web Browser

Remote Desktop Access through Android Mobiles and Android Mobiles Access through Web Browser Remote Desktop Access through Android Mobiles and Android Mobiles Access through Web Browser 1 Karan Sandeep Bhandari, 2 Vishnu Baliram Mandole, 3 Akash Dattatray Munde, 4 Sachin B. Takmare Bharati Vidyapeeth

More information

Designing an NFS-based Mobile Distributed File System for Ephemeral Sharing in Proximity Networks

Designing an NFS-based Mobile Distributed File System for Ephemeral Sharing in Proximity Networks Designing an NFS-based Mobile Distributed File System for Ephemeral Sharing in Proximity Networks Nikolaos Michalakis Computer Science Department New York University, New York, NY Dimitris Kalofonos Pervasive

More information

Middleware Lou Somers

Middleware Lou Somers Middleware Lou Somers April 18, 2002 1 Contents Overview Definition, goals, requirements Four categories of middleware Transactional, message oriented, procedural, object Middleware examples XML-RPC, SOAP,

More information

Using mobile phones to access Web Services in a secure way. Dan Marinescu

Using mobile phones to access Web Services in a secure way. Dan Marinescu Using mobile phones to access Web Services in a secure way Dan Marinescu March 7, 2007 Abstract Web Services is a technology that has gained in acceptance and popularity over the past years. The promise

More information

Java in Web 2.0. Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc.

Java in Web 2.0. Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc. Java in Web 2.0 Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc. 1 Agenda Java overview Technologies supported by Java Platform to create Web 2.0 services Future

More information

Computer Networks Practicum 2015

Computer Networks Practicum 2015 Computer Networks Practicum 2015 Vrije Universiteit Amsterdam, The Netherlands http://acropolis.cs.vu.nl/ spyros/cnp/ 1 Overview This practicum consists of two parts. The first is to build a TCP implementation

More information

HPC performance applications on Virtual Clusters

HPC performance applications on Virtual Clusters Panagiotis Kritikakos EPCC, School of Physics & Astronomy, University of Edinburgh, Scotland - UK pkritika@epcc.ed.ac.uk 4 th IC-SCCE, Athens 7 th July 2010 This work investigates the performance of (Java)

More information

Handbook of Research on Mobile Software Engineering:

Handbook of Research on Mobile Software Engineering: Handbook of Research on Mobile Software Engineering: Design, Implementation, and Emergent Applications Paulo Alencar University of Waterloo, Canada Donald Cowan University of Waterloo, Canada Volume I

More information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts

More information

IST STREP Project. Deliverable D3.3.1u Middleware User s Guide Multi-Radio Device Management Layer. http://www.ist-plastic.org

IST STREP Project. Deliverable D3.3.1u Middleware User s Guide Multi-Radio Device Management Layer. http://www.ist-plastic.org IST STREP Project Deliverable D3.3.1u Middleware User s Guide Multi-Radio Device Management Layer http://www.ist-plastic.org Project Number : IST-26955 Project Title : PLASTIC Deliverable Type : Report

More information

Q3 USER GUIDE. Read Me to Get the Most Out of Your Device...

Q3 USER GUIDE. Read Me to Get the Most Out of Your Device... Q3 USER GUIDE Read Me to Get the Most Out of Your Device... TO GET STARTED 1. Turn The Q3 On 2. Put It On 3. Listen In Model: Q3 Contents Charge Your Earpiece 6 Wearing the Q3 7 Pair Your Earpiece 7 Use

More information

ODROID Multithreading in Android

ODROID Multithreading in Android Multithreading in Android 1 Index Android Overview Android Stack Android Development Tools Main Building Blocks(Activity Life Cycle) Threading in Android Multithreading via AsyncTask Class Multithreading

More information

Studio 5.0 User s Guide

Studio 5.0 User s Guide Studio 5.0 User s Guide wls-ug-administrator-20060728-05 Revised 8/8/06 ii Copyright 2006 by Wavelink Corporation All rights reserved. Wavelink Corporation 6985 South Union Park Avenue, Suite 335 Midvale,

More information

Using J-ISIS in a Local Network

Using J-ISIS in a Local Network 23 December 2012 Author: Jean-Claude Dauphin jc.dauphin@gmail.com Status:draft Using J-ISIS in a Local Network 1. Introduction J-ISIS uses TCP/IP protocol to communicate between computers. TCP/IP like

More information

ios Application Development &

ios Application Development & Introduction of ios Application Development & Swift Programming Language Presented by Chii Chang chang@ut.ee Outlines Basic understanding about ios App Development Development environment: Xcode IDE Foundations

More information

Mobile Data Collection Using COMMANDmobile

Mobile Data Collection Using COMMANDmobile Addressing the Challenges of Going Mobile Mobile Data Collection Using COMMANDmobile Table of Contents Introduction... 3 Challenges of Going Mobile... 4 Existing Infrastructures... 4 Configuration Management...

More information

VM Application Debugging via JTAG: Android TRACE32 JTAG Debug Bridge ADB Architecture Stop-Mode implications for ADB JTAG Transport Outlook

VM Application Debugging via JTAG: Android TRACE32 JTAG Debug Bridge ADB Architecture Stop-Mode implications for ADB JTAG Transport Outlook VM Application Debugging via JTAG: Android TRACE32 JTAG Debug Bridge ADB Architecture Stop-Mode implications for ADB JTAG Transport Outlook TRACE32 JTAG Debug Bridge Hagen Patzke 2011-06-16 www.lauterbach.com

More information

DSA-1000 / PRT-1000 Device Server / Thermal Printer

DSA-1000 / PRT-1000 Device Server / Thermal Printer LevelOne DSA-1000 / PRT-1000 Device Server / Thermal Printer User Manual V2.0 TABLE OF CONTENTS 1. INTRODUCTION...- 3-2. DEVICE OVERVIEW...- 7-3. HARDWARE SETUP...- 10-4. SYSTEM CONFIGURATION...- 12 -,

More information

Mobile RFID solutions

Mobile RFID solutions A TAKE Solutions White Paper Mobile RFID solutions small smart solutions Introduction Mobile RFID enables unique RFID use-cases not possible with fixed readers. Mobile data collection devices such as scanners

More information

Trends in Mobile Computing From Mobile Phone to Context-Aware Service Platform

Trends in Mobile Computing From Mobile Phone to Context-Aware Service Platform Trends in Mobile Computing From Mobile Phone to Context-Aware Service Platform Thomas Strang German Aerospace Center (DLR) Oberpfaffenhofen, Germany thomas.strang@dlr.de 1 Outlook: Motivation Implications

More information

Chapter 2: Remote Procedure Call (RPC)

Chapter 2: Remote Procedure Call (RPC) Chapter 2: Remote Procedure Call (RPC) Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ Contents - Chapter 2 - RPC

More information

This presentation covers virtual application shared services supplied with IBM Workload Deployer version 3.1.

This presentation covers virtual application shared services supplied with IBM Workload Deployer version 3.1. This presentation covers virtual application shared services supplied with IBM Workload Deployer version 3.1. WD31_VirtualApplicationSharedServices.ppt Page 1 of 29 This presentation covers the shared

More information

AN APPLICATION OF INFORMATION RETRIEVAL IN P2P NETWORKS USING SOCKETS AND METADATA

AN APPLICATION OF INFORMATION RETRIEVAL IN P2P NETWORKS USING SOCKETS AND METADATA AN APPLICATION OF INFORMATION RETRIEVAL IN P2P NETWORKS USING SOCKETS AND METADATA Ms. M. Kiruthika Asst. Professor, Fr.C.R.I.T, Vashi, Navi Mumbai. venkatr20032002@gmail.com Ms. Smita Dange Lecturer,

More information

Introduction to Android

Introduction to Android Introduction to Android Poll How many have an Android phone? How many have downloaded & installed the Android SDK? How many have developed an Android application? How many have deployed an Android application

More information

AS/400 System Overview

AS/400 System Overview Chapter 1 AS/400 System Overview 1.1 Major Characteristics of AS/400 1.1.1 High Level of Integration 1.1.2 Object Orientation 1.1.3 Relational and Integrated Database 1.1.4 Data and Program Independence

More information

Department of Electronics and Communications Engineering. RFID and NFC

Department of Electronics and Communications Engineering. RFID and NFC RFID and NFC RFID intro Radio-frequency identification (RFID) q Wireless and non-contact use of radiofrequency electromagnetic fields to transfer data Between a reader and a tag q Purpose Automatically

More information

Application Note: AN00121 Using XMOS TCP/IP Library for UDP-based Networking

Application Note: AN00121 Using XMOS TCP/IP Library for UDP-based Networking Application Note: AN00121 Using XMOS TCP/IP Library for UDP-based Networking This application note demonstrates the use of XMOS TCP/IP stack on an XMOS multicore micro controller to communicate on an ethernet-based

More information

Web Application Testing. Web Performance Testing

Web Application Testing. Web Performance Testing Web Application Testing Web Performance Testing Objectives of Performance Testing Evaluate runtime compliance to performance requirements Check different properties such as throughput (bits/sec, packets/sec)

More information

Distribution transparency. Degree of transparency. Openness of distributed systems

Distribution transparency. Degree of transparency. Openness of distributed systems Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science steen@cs.vu.nl Chapter 01: Version: August 27, 2012 1 / 28 Distributed System: Definition A distributed

More information

Android Geek Night. Application framework

Android Geek Night. Application framework Android Geek Night Application framework Agenda 1. Presentation 1. Trifork 2. JAOO 2010 2. Google Android headlines 3. Introduction to an Android application 4. New project using ADT 5. Main building blocks

More information

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013 Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone

More information

Wireless Mesh Networks under FreeBSD

Wireless Mesh Networks under FreeBSD Wireless Networks under FreeBSD Rui Paulo rpaulo@freebsd.org The FreeBSD Project AsiaBSDCon 2010 - Tokyo, Japan Abstract With the advent of low cost wireless chipsets, wireless mesh networks became much

More information

Using the Wireless Music Bridge

Using the Wireless Music Bridge Using the Wireless Music Bridge Stream music to a room in the home from your mobile devices Now you can control and stream music from your handheld Apple * ipod, ipod touch, iphone, ipad ; Bluetooth ;

More information

Profiling and Testing with Test and Performance Tools Platform (TPTP)

Profiling and Testing with Test and Performance Tools Platform (TPTP) Profiling and Testing with Test and Performance Tools Platform (TPTP) 2009 IBM Corporation and Intel Corporation; made available under the EPL v1.0 March, 2009 Speakers Eugene Chan IBM Canada ewchan@ca.ibm.com

More information

Certified Android App Developer Certification- Course Agenda

Certified Android App Developer Certification- Course Agenda Certified Android App Developer Certification- Course Agenda Lesson 0: Introduction Why Android? Key Advantages Course Overview Interesting Facts about this Course Evolution of Android Application Development

More information

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture Review from last time CS 537 Lecture 3 OS Structure What HW structures are used by the OS? What is a system call? Michael Swift Remzi Arpaci-Dussea, Michael Swift 1 Remzi Arpaci-Dussea, Michael Swift 2

More information

Ubiquitous access Inherently distributed Many, diverse clients (single purpose rich) Unlimited computation and data on demand

Ubiquitous access Inherently distributed Many, diverse clients (single purpose rich) Unlimited computation and data on demand Ubiquitous access Inherently distributed Many, diverse clients (single purpose rich) Unlimited computation and data on demand Moore s Law (Dennard scaling) is running out Scale out, not scale up Inescapably

More information

ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY

ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY Suhas Holla #1, Mahima M Katti #2 # Department of Information Science & Engg, R V College of Engineering Bangalore, India Abstract In the advancing

More information

It is the thinnest layer in the OSI model. At the time the model was formulated, it was not clear that a session layer was needed.

It is the thinnest layer in the OSI model. At the time the model was formulated, it was not clear that a session layer was needed. Session Layer The session layer resides above the transport layer, and provides value added services to the underlying transport layer services. The session layer (along with the presentation layer) add

More information

Digital Advisory Services Professional Service Description Network Assessment

Digital Advisory Services Professional Service Description Network Assessment Digital Advisory Services Professional Service Description Network Assessment 1. Description of Services. 1.1. Network Assessment. Verizon will perform Network Assessment services for the Customer Network,

More information

PERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE

PERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE PERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE TIGRAN HAKOBYAN SUJAL PATEL VANDANA MURALI INTRODUCTION Common Object Request

More information

Issues in Android on Mobile Platform and Their Resolution

Issues in Android on Mobile Platform and Their Resolution Issues in Android on Mobile Platform and Their Resolution 1 Monika A. Ganpate, 2 Dipika R. Shinde 1, 2 Institute of Management and Computer Studies, Thane (West), India, University of Mumbai, India Abstract:

More information

Report of the case study in Sistemi Distribuiti A simple Java RMI application

Report of the case study in Sistemi Distribuiti A simple Java RMI application Report of the case study in Sistemi Distribuiti A simple Java RMI application Academic year 2012/13 Vessio Gennaro Marzulli Giovanni Abstract In the ambit of distributed systems a key-role is played by

More information

Transparent Redirection of Network Sockets 1

Transparent Redirection of Network Sockets 1 Transparent Redirection of Network Sockets 1 Timothy S. Mitrovich, Kenneth M. Ford, and Niranjan Suri Institute for Human & Machine Cognition University of West Florida {tmitrovi,kford,nsuri}@ai.uwf.edu

More information

Lecture 7: Java RMI. CS178: Programming Parallel and Distributed Systems. February 14, 2001 Steven P. Reiss

Lecture 7: Java RMI. CS178: Programming Parallel and Distributed Systems. February 14, 2001 Steven P. Reiss Lecture 7: Java RMI CS178: Programming Parallel and Distributed Systems February 14, 2001 Steven P. Reiss I. Overview A. Last time we started looking at multiple process programming 1. How to do interprocess

More information

Altiris Task Server 6.0 Help

Altiris Task Server 6.0 Help Altiris Task Server 6.0 Help Notice Altiris Task Server 6.0 Help 2000-2006 Altiris, Inc. All rights reserved. Document Date: December 27, 2006 Information in this document: (i) is provided for informational

More information

Wave IP 3.0. Wave ViewPoint Mobile for Android User Guide

Wave IP 3.0. Wave ViewPoint Mobile for Android User Guide Wave IP 3.0 Wave ViewPoint Mobile for Android User Guide 2012 by Vertical Communications, Inc. All rights reserved. Vertical Communications and the Vertical Communications logo and combinations thereof

More information

What is NetOp Mobile?

What is NetOp Mobile? This White Paper deals with the GPRS usage of NetOp Remote Control and NetOp Mobile. What is NetOp Mobile? NetOp Mobile is an application that allows people on the move to be helped whenever they need

More information

Disclaimer: The contents in this document are only my personal opinions, do not reflect the opinions of my employer or anyone else.

Disclaimer: The contents in this document are only my personal opinions, do not reflect the opinions of my employer or anyone else. Disclaimer: The contents in this document are only my personal opinions, do not reflect the opinions of my employer or anyone else. Android overview From a system design perspective Xiao-Feng Li xiaofeng.li@gmail.com

More information

COMP6700/2140 GUI and Event Driven Programming

COMP6700/2140 GUI and Event Driven Programming COMP6700/2140 GUI and Event Driven Programming Alexei B Khorev and Henry Gardner Research School of Computer Science, ANU April 2016 Alexei B Khorev and Henry Gardner (RSCS, ANU) COMP6700/2140 GUI and

More information

Green Telnet. Making the Client/Server Model Green

Green Telnet. Making the Client/Server Model Green Green Telnet Reducing energy consumption is of growing importance. Jeremy and Ken create a "green telnet" that lets clients transition to a low-power, sleep state. By Jeremy Blackburn and Ken Christensen,

More information

ANDROID APPLICATION DEVELOPER RESUME

ANDROID APPLICATION DEVELOPER RESUME 1 of 5 03/01/2015 20:09 ANDROID APPLICATION DEVELOPER RESUME Java Developers/Architects Resumes Please note that this is a not a Job Board - We are an I.T Staffing Company and we provide candidates on

More information

B) Using Processor-Cache Affinity Information in Shared Memory Multiprocessor Scheduling

B) Using Processor-Cache Affinity Information in Shared Memory Multiprocessor Scheduling A) Recovery Management in Quicksilver 1) What role does the Transaction manager play in the recovery management? It manages commit coordination by communicating with servers at its own node and with transaction

More information

Developing Applications for ios

Developing Applications for ios Developing Applications for ios Lecture 1: Mobile Applications Development Radu Ionescu raducu.ionescu@gmail.com Faculty of Mathematics and Computer Science University of Bucharest Content Key concepts

More information