Requirements and Issues of V**s for Mobile Terminals

Similar documents
Who am I? Wireless Online Game Development for Mobile Device. What games can you make after this course? Are you take the right course?

Overview of Java 2 Platform, Micro Edition (J2ME )

DAY 3 J2ME Aalborg University, Mobile Device Group. Mobile. Mobile Phone Programming

PennBench: A Benchmark Suite for Embedded Java

DAY 3 J2ME March 2007 Aalborg University, Mobile Device Group Mobile Phone Programming

Java 2 Platform, Micro Edition

Mobile Application Development. Introduction. Dr. Christelle Scharff Pace University, USA

J2ME ARCHITECTURE AND RELATED EMBEDDED TECHNOLOGIES

The Handheld Graphics. Market. Size, needs, and opportunities. Jon Peddie Research

Minne menet, Mobiili-Java?

CM0256 Pervasive Computing

Imperative model of computation

Mobile Station Execution Environment (MExE( MExE) Developing web applications for PDAs and Cellphones. WAP (Wireless Application Protocol)

Java Community Process Program: State of the Community State of the Community December 2003

phoneme: High-performance, product-quality GPLv2 CDC + CLDC stacks Terrence Barr

MIDP3: Mobile device media power train

Future of JRockit & Tools

Bluetooth Scatternet Application. Sun Code for Freedom

History Introduction to Java Characteristics of Java Data types

Developing Mobile Applications

Building Robust Embedded Software

Java Enterprise Edition

ProvideX On Handhelds

DVB-HTML MIDP 2.0 Graphics Architectures for Non-Desktop Devices

Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications

Towards Introducing Code Mobility on J2ME. Laurentiu Lucian Petrea and Dan Grigoras Computer Science Department UCC Cork, Ireland

JavaME TAMZ. Department of Computer Science VŠB-Technical University of Ostrava

MODULE 1 JAVA PLATFORMS. Identifying Java Technology Product Groups

Mobile Information Device Profile (MIDP) Alessandro Cogliati. Helsinki University of Technology Telecommunications Software and Multimedia Laboratory

JAVA ON HANDHELD DEVICES COMPARING J2ME CDC TO JAVA 1.1 AND JAVA 2

Making The Future Java

Java ME Directions. JCP F2F - Austin. Florian Tournier - Oracle May 9, Copyright 2017, Oracle and/or its affiliates. All rights reserved.

Jazelle ARM. By: Adrian Cretzu & Sabine Loebner

Smart Card ICs. Dr. Kaushik Saha. STMicroelectronics. CSME 2002 (Chandigarh, India) STMicroelectronics

Mobile Game Programming

JXTA for J2ME Extending the Reach of Wireless With JXTA Technology

Parley: Federated Virtual Machines

Project Overview. Readings and References. Initial project motivation. Opportunity. References. CSE 403, Winter 2003 Software Engineering

Software Development & Education Center. Java Platform, Micro Edition. (Mobile Java)

1. What is Jav a? simple

Experiences with deploying J2SE class Java technology in large, embedded real-time systems.

Improved Mechanism for Efficient object Pooling in J2ME Based Mobile Phone

CHAPTER 16 - VIRTUAL MACHINES

Embedded Software: Its Growing Influence on the Hardware world

Device Technologies I J2ME & WinCE

Applications and Implementations

Agenda. CSE P 501 Compilers. Java Implementation Overview. JVM Architecture. JVM Runtime Data Areas (1) JVM Data Types. CSE P 501 Su04 T-1

Delft-Java Link Translation Buffer

DEVELOPMENT OF WIRELESS EMBEDDED SYSTEMS USING COMPONENT BASED SOFTWARE

MobileFinance (MF)-- A Component Based Approach to Financial Services

Research on Embedded Java Virtual Machine and its Porting

SDR Forum Meeting Report

DoD Mobile Client- A Comparison between J2ME and Symbian Platforms

Portability and Design Issues in Developing a Mobile Phone Quiz Application Quiz Pro 2006

How many of us own. Mobile markets and development environments. Petri Vesikivi (Erkki Rämö) Fixed Telephone 1.3B TV 1.5B Credit card 1.

Advanced Data Organization for Java-Powered Mobile Devices

JAVA PERFORMANCE. PR SW2 S18 Dr. Prähofer DI Leopoldseder

Expeditor Client for Desktop. Client Platform Overview

CSE P 501 Compilers. Java Implementation JVMs, JITs &c Hal Perkins Winter /11/ Hal Perkins & UW CSE V-1

The Java Mobile and Embedded Platform: Now and the Future

A JVM Does What? Eva Andreasson Product Manager, Azul Systems

Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME)

Stand: File: gengler_java_e. Java Community Process: Not perfect, but operating very successfully

JUGAT meeting. Roman Waitz Development. MATERNA Information & Communications

Distributed Gaming using J2ME. By Rekha Vaddepalli

Just-In-Time Compilation

Java and C Performance Comparison on Palm OS. Zhi-Kai Xin

JSM: A small Java Processor Core for Smart Cards and Embedded Systems

Untyped Memory in the Java Virtual Machine

Outline. Introduction to Java. What Is Java? History. Java 2 Platform. Java 2 Platform Standard Edition. Introduction Java 2 Platform

Learning objectives. The Java Environment. Java timeline (cont d) Java timeline. Understand the basic features of Java

A Look Into the Future: SVG and related XML standards. Jon Ferraiolo Jon Ferraiolo Consulting 15 July 2002

Performance Per Watt. Native code invited back from exile with the Return of the King:

Introduction. CS 2210 Compiler Design Wonsun Ahn

JavaOne Topics. Keynotes Talks overview Interoperability, jini Real-time and Embedded XML and Java Cool Recommendations

Introduction to JAVA Programming Language

Project Overview. CSE 403, Spring 2003 Software Engineering.

Project Overview. Readings and References. Opportunity. Initial project motivation. References. CSE 403, Spring 2003 Software Engineering

Hardware Support for a Wireless Sensor Network Virtual Machine

Jaguar: Enabling Efficient Communication and I/O in Java

Advanced programming for Java platform. Introduction

JSR 248: Taking Java Platform, Micro Edition (Java ME) to the Next Level

All about the new SCMAD Certification Exam

Introduction to Visual Basic and Visual C++ Introduction to Java. JDK Editions. Overview. Lesson 13. Overview

The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams.

Azul Systems, Inc.

Virtual Execution Environments: Opportunities and Challenges

Overview. 1/13/ Preliminary Product Brief

Lecture 5: February 3

Unit 5: Distributed, Real-Time, and Multimedia Systems

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

TAMZ. Department of Computer Science VŠB-Technical University of Ostrava

Overview. 3//5/ Preliminary Product Brief

Copyright Khronos Group, Page 1

CSE543 - Computer and Network Security Module: Virtualization

Mobile Application Design and Development With the use of J2ME Technology & UML m.khlaif Computer Science Dept Garyounis University

The Embedded System Design Process. Wolf Text - Chapter 1.3

Virtualization. ...or how adding another layer of abstraction is changing the world. CIS 399: Unix Skills University of Pennsylvania.

Application Development using J2ME Architecture for Device Independence

The killer app of UMTS (Mobile devices)

Transcription:

Requirements and Issues of V**s for Mobile Terminals Workshop on the Future of Virtual Execution Environments Armonk, NY, USA 15-17.09.2004 Kari Systä Nokia Research Center 1 NOKIA Presentation_Name.PPT / DD-MM-YYYY / Initials

A short background; what and why Topics About our requirements Role of standards and specifications Role of VEE Execution speed (is more needed?) Memory footprint issues More hardware abstractions User interface issues Security Resource management 2 NOKIA Presentation_Name.PPT / DD-MM-YYYY / Initials

Background At the moment we mostly use Java as VEE Preferred choice for third-party applications if Portability Security are important. Nokia has been active in JCP standardization process A smaller research effort on Phyton for Series60-based smart phones 3 NOKIA Presentation_Name.PPT / DD-MM-YYYY / Initials

Status today Almost all of our phones have MIDP Java in Nokia Next communicator (9500) implements Personal Profile Multimedia Home Platform (MHP) is used some digital TV receivers [ and like in most companies used as programming language for all kind of desktop and server programming] The platform is developing More API s been added Especially for multimedia and graphics Interest to bigger (based on CDC ) is increasing 4 NOKIA Presentation_Name.PPT / DD-MM-YYYY / Initials

Server MIDP Technology Overview J2EE Desktop J2SE Set-top boxes... profiles CDC PDAs... profiles CLDC Mobile phones... MIDP Smart cards J2ME JavaCard Configuration: JVM spec + basic APIsCDC: Connected Device Configuration Profile: extra APIs for vertical segmentcldc: Connected, Limited Device Configurat MIDP: Mobile Information Device Profile 5 NOKIA Presentation_Name.PPT / DD-MM-YYYY / Initials

What next? KVM-based MIDP was developed because it did fit to the target devices Devices are resource constrained especially in available memory Desktop UI APIs are not suitable for small devices In the future devices will have more resources => increased interest to full virtual machine (CDC) More interest in making the development environment more similar to desktop Java The amount of new APIs is increasing rapidly => how to keep existing devices up to date => problems in version management => cannot install all libraries just in case somebody uses We need mechanisms for handling dependencies and managing of the VXE in the device. JSR232 and OSGi MEG are addressing this issue 6 NOKIA Presentation_Name.PPT / DD-MM-YYYY / Initials

7 NOKIA Presentation_Name.PPT / DD-MM-YYYY / Initials About the requirements

The problems in adding new feature (we all know this, but) Few users Many users Few developers Few tools Many developers Many tools But including a new run-time feature is a big investment Standardization The players of the industry are used to (formal) standards. Devices are different portability should not be based on implementation 8 NOKIA Presentation_Name.PPT / DD-MM-YYYY / Initials

About the role of Java Java is mainly for Portability between devices Portability between manufactures Portability between Java is isolated from rest of the device Makes development easier Improves security It is important to have a virtual execution environment 9 NOKIA Presentation_Name.PPT / DD-MM-YYYY / Initials

Execution speed is more needed? Introduction: fast response is assumed hour-glass is for PC users Slowness of Java is a common pre-assumption, but developers of current applications do really complain about bytecode execution speed. At the moment the issues are rather in Start-up times Graphics speed GC pauses But, I trust that in the future the speed requirements will increase HW or SW (JIT) acceleration? There are different opinions 10 NOKIA Presentation_Name.PPT / DD-MM-YYYY / Initials

Memory footprint issues Although the footprint is expanding, the issues do not fade a way Because of computer inheritance very few technologies are optimized for minimal memory footprint Two different factors Storage & flash usage RAM usage during execution Examples Java classes contain a lot of metadata (only 20% bytecode) Standard Java application packaging contain multiple copies of same data For dynamic compilers it is not only important to find hot-spots but also recognize cooling down 11 NOKIA Presentation_Name.PPT / DD-MM-YYYY / Initials

How virtual - about hardware abstraction Hardware abstraction is not just about instruction set of the CPU Support for different dedicated accelerators is needed A little-bit different issue that support for multi-core cpu s Many people believe on several and specialized execution units What kind of VEE provides a single, simple and efficient virtual execution environment 12 NOKIA Presentation_Name.PPT / DD-MM-YYYY / Initials

Embedded devices are not PCs User interface issues Mobile devices differ in Physical characteristics Users Use context Variations in Screen size and shape Input devices How much we can assume the developer to consider the device diversity What is the virtual UI API? 13 NOKIA Presentation_Name.PPT / DD-MM-YYYY / Initials

Security is an obvious concern Security Always a compromise between security and functionality&flexibility It is good to see progress in technology, but I would also like to see developments on how trust is presented to the users. The questions are asked from the user, but does she/he understand? 14 NOKIA Presentation_Name.PPT / DD-MM-YYYY / Initials

Resource management Today Java is a second-class citizen Most devices run only one Java application at a time The only issue is the allocation of persistence storage (RMS in MIDP) But things will change in the future: If Java applications can do more, they need to coordinate resources with native SW Java applications should be protected from each other 15 NOKIA Presentation_Name.PPT / DD-MM-YYYY / Initials

16 NOKIA Presentation_Name.PPT / DD-MM-YYYY / Initials Questions?