CM0256 Pervasive Computing

Size: px
Start display at page:

Download "CM0256 Pervasive Computing"

Transcription

1 CM0256 Pervasive Computing Lecture 17 Software Development Approaches Tom Goodale

2 Lecture Outline In this lecture we: J2ME applications Palm.

3 Device Limitations Limited Power Limited Processing Limited Memory Limits on Connectivity Smaller/no GUI Limited Size/Space for input or output Environment Considerations noise, hands free, day or night.

4 J2ME Games and Applications

5 J2ME J2ME can be divided into three parts: A configuration contains the JVM (not the traditional JVM, but the cut down version) and some class libraries; A profile builds on top of these base class libraries by providing a useful set of APIs; Optional packages, are an optional set of APIs that you may or may not use when creating your applications. Optional packages are traditionally not packaged by the device manufacturers, and you have to package and distribute them with your application. The configuration and profile are supplied by the device manufacturers and they embedded them in the devices.

6 Configurations A J2ME configuration defines an API and a virtual machine optimised to service devices that fall into a particular range of capabilities and resources. Two configurations have been defined: 1. Connected, Limited Device Configuration (CLDC) 2. Connected Device Configuration (CDC)

7 CLDC The Connected, Limited Device Configuration provides a platform for more resource constrained, but still network connected devices. (The network connection may be intermittent.) Limited configurations for example, devices that have only 128 to 512KB of memory available for Java applications. Consequently, the JVM that it provides is very limited and supports only a small number of traditional Java classes. (This limited JVM is actually called the KVM.)

8 CDC The Connected Device Configuration (CDC) expects devices with substantial resources. The CDC is for devices with at least 2MB of memory available and supports a more feature rich JVM (but still not a standard JVM). 128K to 512K total memory available with <= 256K ROM/Flash and <= 256K RAM. In most cases devices will have more ROM than RAM or Flash memory. Most devices with have limited power, often battery operation. Connectivity to some type of network, although with possibly limited (9600/bps or less) bandwidth. User interfaces with varying degrees of sophistication down to and including none. This category of device includes mobile phones, two way pagers, and PDAs.

9 Profiles J2ME Profiles define additional class libraries and APIs needed to enable domain specific applications on a particular configuration. Profiles provide the vertical specialization built upon the horizontal configurations. For instance, the Mobile Information Device Profile requires at least the Connected, Limited Device Configuration. It enables development of applications to provide wireless access to information. The most basic profile is the Foundation Profile. The Foundation Profile requires the Connected Device Configuration. It explicitly supports devices with no user interface whatsoever, but which do have networking support.

10 MIDP The MID profile complements the CLDC configuration very well because it minimizes both the memory and power required for limited devices. It provides the basic API that is used for creating application for these devices. For example, it provides the javax.microedition.lcdui package that allows us to create the GUI elements that can be shown on a (limited) device running the MID profile on top of a CLDC configuration. Note that MIDP cannot be used with CDC devices. CDC devices get their own set of profiles, like the Foundation and Personal profiles (not covered) The most popular profile and configuration that Sun provides is the Connected Limited Device Configuration (CLDC) with the Mobile Information Device Profile (MIDP)

11 The 'K' Virtual Machine Sun has introduced a new Java virtual machine to support J2ME on 16 or 32 bit microcontrollers. Aimed at the Connected, Limited Device Configuration, the KVM is only 40K of object code and needs only "a few tens of kilobytes" at runtime.

12 KVM + The Good KVM is small, in fact, very very small! In its tightest configuration, it requires only about 40 kilobytes. It can also be customized. Several Java language and virtual machine features not required by most applications have been made optional. A particular J2ME configuration defines which of these optional features must be included in the KVM implementation. The follow features are optional: Long, float, and double Multi dimensional arrays Class file verification Recoverable handling of Error classes Threads Event Handling JNI Class loaders Finalization

13 KVM The Bad The KVM weaknesses are directly connected to its biggest strength. In order to make it so small, Sun made some compromises in the Java language and virtual machine. This seems to be the long feared fragmentation of Java s dominance. Programming Java for J2ME is not like programming desktop Java or enterprise Java. More than even, it will be practically impossible for a developer to keep current on "Java Technology" as a whole. Specialization will be more necessary in the future. (Remember this when looking for work!) The KVM does not implement the Java Virtual Machine Specification! It implements a subset of that specification. What does this mean? Do not expect WORA in all J2ME applications. A smart phone application will be extremely unlikely to work on a PalmPilot, or vice versa. This seems like it should be obvious, since the two devices have totally different capabilities, but since portability has been so much a part of the Java message, it pays to note its limitations under the J2ME. In general, J2ME applications will be portable across the profile they were designed for. In many cases, an application will also be portable from one profile to a more capable profile.

14 Java Overview

15 Developing Midlets There are seven steps to develop midlets Designing, coding, compiling, preverification, packaging, testing, and deployment Most of these are familier, but preverification is new.

16 Preverification Before you can deploy your MIDlet class, it needs to be preverified. Verification of byte code is a step performed by the JVM before it runs any class file to ensure that the class file is structurally and conceptually correct as per the JVM specification. If the class file fails this check, it is rejected and the JVM shuts down, indicating either security or integrity violation of the class file. This verification is done by all JVMs, even the tiny JVM contained in a CLDC configuration for a J2ME device. Although this is not a problem for "normal" applications, verification in J2ME devices is a resource and memory constraint that they simply cannot handle (or should not handle). Therefore, the need for preverification.

17 Preverification Preverification is one part of a special two step verification process, especially designed for constrained devices, such as the ones running CLDC based JVMs. The idea is to let a developer preverify his classes, which limits the amount of work needed to be performed when the classes are verified in the device. This preverification process adds special information to the classes that identifies them as preverified and makes the process on the device much more efficient.

18 ktoolbar The J2ME comes with a applications ktoolbar which helps with developing applications for generic devices. Ktoolbar provides an integrated environment for creating, testing and packaging a midlet.

19 Palm OS Overview Developing for the Palm OS is in some ways similar to other platforms and in other ways strikingly different. Two important similarities are as follows: Applications are event driven. You can use anything from C++, to standard C code, to assembler, to scripting.

20 Overview Differences tend to center around features crucial to the device size and purpose. These include how the Palm OS handles: Memory requirements Application and data storage Connectivity of the device to the desktop

21 Overview Most importantly, you should remember that the relationship between the device and the OS is extremely tight. Further, everything has been built on the premise that the handheld is an extension, not a miniature version, of the desktop. It specializes in ensuring that mobile tasks are simple and fast.

22 Interaction Between an Application and the OS The Palm OS runs on top of a preemptive multitasking kernel. One task runs the UI, while other tasks handle things like monitoring input from the stylus. The UI permits only one application to be open at a time. Thus, when your application is open, it (more or less) has control of the entire screen. Because applications run within the single user interface thread and can't, themselves, be multithreaded, the multitasking provided by the kernel is for the operating system's use only, and isn't available to you.

23 Memory Memory is handled in an unusual fashion. The RAM on a Palm OS device is used for two purposes: Dynamic memory allocation This is memory your application or the system needs while it is running. It also includes the stack your application requires. On a reset, this memory is cleared. This portion of memory is analogous to RAM in a traditional OS. Permanent storage This includes downloaded applications as well as data that the user will view, create, and/or edit. To dos, names and phone numbers, memos, and all the other data for built in applications also use this memory. On a reset, it is not cleared. This portion of memory is analogous to files on a hard disk in a traditional OS.

24 Memory For both kinds of memory, allocation is done as chunks. The permanent storage holds databases, with related chunks kept in a single database. For example, all the memos are stored (each as a separate chunk or database record) in a single database. Another database holds all records from the Address application. A database that has been copied to the desktop is stored with a.pdb extension often called PDB files.

25 Memory Unlike in a traditional desktop operating system, data and code are not copied from permanent storage to dynamic memory; they are used inplace. For example, when your code executes, it is executing in place from the permanent storage. Since the permanent store itself is in RAM, it can be read by the CPU like any other RAM. Similarly, data can be read (and displayed) directly from storage.

26 Memory Palm has been careful to protect permanent storage against accidental overwrites. Palm reasoned that users would be unhappy if one bug in a single application caused all their data to be lost. So while the permanent storage can be read like any other RAM, it is write protected by the device. In order to write to specific chunks within permanent memory, you have to use the operating system's mechanism, which includes a check against attempts to write to places outside the chunk.

27 Events A Palm OS application is event driven; everything it does is an event. Events arrive, like pendownevent or keydownevent, and your application responds to them. Some events are handled by your application; others are handled by the operating system. Once your application gets started, it enters an event loop, repeatedly getting, then handling event after event. The loop continues until the user launches another application, which causes your application to quit.

28 Resources An application on the Palm OS is a resource database that contains many different resources. A resource is simply a database record that has a type and an ID. Stored within these resources are the guts and skin of your application. On the desktop, these resource databases have.prc extensions. You'll often find them referred to as PRC files.

29 Resources Examples of the types of things stored in resources are as follows: Your code UI elements Text strings Forms Icons

30 Resources The UI elements that appear on the Palm device are initialized based on the contents found in these resources. Because the initialization is not embedded within your code, you can change the appearance of your application (for instance, to localize it for another language) without modifying the code itself. Another advantage is that you can use visual editors to display and edit the UI portions of your application. Such editors allow you to tweak the look or presentation of data easily without recompiling and re downloading your application.

31 Forms and Controls The Palm OS has built in support for various controls and for managing forms. Forms are similar to windows on a desktop operating system. Because of the simpler UI on the Palm OS, only one form is active even though several forms may be displayed. The Palm OS provides a rich API for forms that includes many UI elements (form objects). E.g.: Checkboxes,Radio buttons,push buttons,pickers (pop up lists),lists (one column),tables (multicolumn),scrollbars,static text labels,editable text fields,menus

32 Forms and controls Because these elements are stored as resources rather than in your code, you can create a prototype of your application very quickly. The simplicity of adding the UI elements and the variety of them that are available makes it easy to try out various application designs.

33 Communications The Palm OS supports a variety of communication methods. As communicating is an essential aspect of the Palm's success, you should expect this area of the OS to be critical in both current and future applications. Some communication pathways are: Serial communication. TCP/IP with a socket interface. Infrared. Low level infrared support is via Infrared Data Association (IrDA) protocols. Bluetooth Obex A higher level object exchange that allows exchanging information between Palm devices and other devices. Obexcurrently runs over IrDA, BlueTooth and SMS.

34 Support is provided for converting from native time format (minutes since midnight, January 1, 1904) to printable format, and to separate day/month/etc. In addition, there are APIs that allow the user to select a day or a time. Miscellaneous The Palm OS has various other APIs for features such as: Strings There are APIs for searching within strings, copying, and converting to and from numbers. Date and time

35 Miscellaneous Alarms Your application can set an alarm for a particular date and time. Your application is then notified when that date and time are reached (even though it may not be running at the time). Find The Palm OS provides a device wide Find that allows the user to search for a string anywhere within the device. Each application does its part by searching for the specified string within its own databases.

36 Lecture Summary In this lecture we have: Looked at two different development environments for mobile devices.

37 End of Lecture

Device Technologies I J2ME & WinCE

Device Technologies I J2ME & WinCE Device Technologies I J2ME & WinCE Patrick J. Stockreisser p.j.stockreisser@cs.cardiff.ac.uk Lecture Outline In the lecture we will: Look at considerations needed to run applications on mobile or pervasive

More information

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

Who am I? Wireless Online Game Development for Mobile Device. What games can you make after this course? Are you take the right course? Who am I? Wireless Online Game Development for Mobile Device Lo Chi Wing, Peter Lesson 1 Email: Peter@Peter-Lo.com I123-1-A@Peter Lo 2007 1 I123-1-A@Peter Lo 2007 2 Are you take the right course? This

More information

Overview of Java 2 Platform, Micro Edition (J2ME )

Overview of Java 2 Platform, Micro Edition (J2ME ) CHAPTER2 Overview of Java 2 Platform, Micro Edition (J2ME ) 2.1 Java 2 Platform Recognizing that one size does not fit all, Sun Microsystems has grouped Java technologies into three editions, each aimed

More information

J2ME ARCHITECTURE AND RELATED EMBEDDED TECHNOLOGIES

J2ME ARCHITECTURE AND RELATED EMBEDDED TECHNOLOGIES J2ME ARCHITECTURE AND RELATED EMBEDDED TECHNOLOGIES Pradip Lamsal Abstract: Java 2 Platform Micro Edition (J2ME ), a flavour of Java architecture, is aimed at low memory consumer devices, typically less

More information

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

DAY 3 J2ME March 2007 Aalborg University, Mobile Device Group Mobile Phone Programming DAY 3 J2ME Mobile Phone Programming Module 2 Micro (J2ME) Overview Introduction J2ME architecture Introduction 1 J2ME Key Factors Portability: Write once run anywhere Security: Code runs within the confines

More information

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

Mobile Application Development. Introduction. Dr. Christelle Scharff Pace University, USA Mobile Application Development Introduction Dr. Christelle Scharff cscharff@pace.edu Pace University, USA Objectives Getting an overview of the mobile phone market, its possibilities and weaknesses Providing

More information

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

DAY 3 J2ME Aalborg University, Mobile Device Group. Mobile. Mobile Phone Programming DAY 3 J2ME Mobile Phone Programming Java 2 Micro Edition (J2ME) Overview Introduction J2ME architecture MIDlets Application development Introduction J2ME Key Factors Portability: Write once run anywhere

More information

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

Mobile Station Execution Environment (MExE( MExE) Developing web applications for PDAs and Cellphones. WAP (Wireless Application Protocol) Developing web applications for PDAs and Cellphones Mobile Station Execution Environment (MExE( MExE) MExE is a standard for defining various levels of wireless communication These levels are called classmarks

More information

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

JavaME TAMZ. Department of Computer Science VŠB-Technical University of Ostrava TAMZ 1 Contact Information Office: A-1007 Address: Dept. of Computer Science, FEECS 17. listopadu 15 708 33 Ostrava-Poruba Phone: +420 59 699 4219 E-mail: pavel.moravec@vsb.cz Web: http://wiki.cs.vsb.cz/index.php/moravec/cz

More information

PennBench: A Benchmark Suite for Embedded Java

PennBench: A Benchmark Suite for Embedded Java WWC5 Austin, TX. Nov. 2002 PennBench: A Benchmark Suite for Embedded Java G. Chen, M. Kandemir, N. Vijaykrishnan, And M. J. Irwin Penn State University http://www.cse.psu.edu/~mdl Outline Introduction

More information

Java 2 Platform, Micro Edition

Java 2 Platform, Micro Edition Java 2 Platform, Micro Edition ArchitectureOverview Jon Courtney Senior Staff Engineer Sun Microsystems JavaOne203 Sesion316 Overall Presentation Goal Learnaboutthearchitectural features ofthejava 2Platform,MicroEdition(J2ME

More information

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

Project Overview. Readings and References. Initial project motivation. Opportunity. References. CSE 403, Winter 2003 Software Engineering Readings and References Project Overview CSE 403, Winter 2003 Software Engineering http://www.cs.washington.edu/education/courses/403/03wi/ References» What will people pay for? Dan Bricklin.» Accessing

More information

Imperative model of computation

Imperative model of computation 12 Imperative model of computation Peter Marwedel TU Dortmund, Informatik 12 Graphics: Alexandra Nolte, Gesine Marwedel, 2003 2010/10/28 These slides use Microsoft clip arts. Microsoft copyright restrictions

More information

Requirements and Issues of V**s for Mobile Terminals

Requirements and Issues of V**s for Mobile Terminals 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

More information

Mobile Operating Systems Lesson 04 PalmOS Part 2

Mobile Operating Systems Lesson 04 PalmOS Part 2 Mobile Operating Systems Lesson 04 PalmOS Part 2 Oxford University Press 2007. All rights reserved. 1 PalmOS Memory Support Assumes that there is a 256 MB memory card(s) The card RAM, ROM, and flash memories

More information

JXTA for J2ME Extending the Reach of Wireless With JXTA Technology

JXTA for J2ME Extending the Reach of Wireless With JXTA Technology JXTA for J2ME Extending the Reach of Wireless With JXTA Technology Akhil Arora Carl Haywood Kuldip Singh Pabla Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303 USA 650 960-1300 The Wireless

More information

ProvideX On Handhelds

ProvideX On Handhelds ProvideX On Handhelds Presented by: Jarett Smith Presentation Overview Landscape of Mobile Computing Wireless Connections to Internet Challenges of Mobile Computing Why We Chose Java 2 Micro Edition Java

More information

Developing Mobile Applications

Developing Mobile Applications Developing Mobile Applications J2ME Java 2 Micro Edition 1 Virtual machines portable apps virtual machine native apps operating system hardware 2 Java - important issues Symbolic language not a random

More information

Lesson 5: Software for embedding in System- Part 2

Lesson 5: Software for embedding in System- Part 2 Lesson 5: Software for embedding in System- Part 2 Device drivers, Device manager, OS, RTOS and Software tools 1 Outline Device drivers Device manager Multitasking using an operating system (OS) and Real

More information

Project Overview. CSE 403, Spring 2003 Software Engineering.

Project Overview. CSE 403, Spring 2003 Software Engineering. Project Overview CSE 403, Spring 2003 Software Engineering http://www.cs.washington.edu/education/courses/403/03sp/ 2-Apr-2003 Cse403-02-ProjectOverview 2003 University of Washington 1 References Readings

More information

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

Project Overview. Readings and References. Opportunity. Initial project motivation. References. CSE 403, Spring 2003 Software Engineering Readings and References Project Overview CSE 403, Spring 2003 Software Engineering References» What will people pay for? Dan Bricklin.» Accessing a whole new world via multimedia phones. Dan Gillmor.»

More information

TAMZ I. (Design of Applications for Mobile Devices I) Lecture 1. Introducing Mobile Platforms.

TAMZ I. (Design of Applications for Mobile Devices I) Lecture 1. Introducing Mobile Platforms. TAMZ I (Design of Applications for Mobile Devices I) Lecture 1 Introducing Mobile Platforms http://goo.gl/pze5o Contact Information Office: EA-409 Address: Dept. of Computer Science, FEECS VSB-TU Ostrava

More information

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

TAMZ. Department of Computer Science VŠB-Technical University of Ostrava TAMZ 1 Contact Information Office: A-1007 Address: Dept. of Computer Science, FEECS 17. listopadu 15 708 33 Ostrava-Poruba Phone: +420 59 732 4219 E-mail: pavel.moravec@vsb.cz Web: http://wiki.cs.vsb.cz/index.php/moravec/cz

More information

Introduction CHAPTER1. Strongly Recommend: Guidelines that, if not followed, could result in an unusable application.

Introduction CHAPTER1. Strongly Recommend: Guidelines that, if not followed, could result in an unusable application. sg-midp20.book Page 1 Wednesday, May 14, 2003 1:27 PM CHAPTER1 Introduction MOBILE Information Device Profile (MIDP) defines the Java application environment for mobile information devices (MIDs), such

More information

White Paper: Delivering Enterprise Web Applications on the Curl Platform

White Paper: Delivering Enterprise Web Applications on the Curl Platform White Paper: Delivering Enterprise Web Applications on the Curl Platform Table of Contents Table of Contents Executive Summary... 1 Introduction... 2 Background... 2 Challenges... 2 The Curl Solution...

More information

Airo National Research Journal October, 2016 Volume V, ISSN:

Airo National Research Journal October, 2016 Volume V, ISSN: 1 A STUDY ON SECURITY OF WIRELESS FINANCIAL ARCHITECTURE Abstract MAHINDER JIT SINGH KHANNA RESEARCH SCHOLAR OF SRI SATYA SAI UNIVERSITY MADHYA PRADESH (INDIA) Mobile commerce (m-commerce) offers a practical

More information

JUGAT meeting. Roman Waitz Development. MATERNA Information & Communications

JUGAT meeting. Roman Waitz Development. MATERNA Information & Communications JUGAT meeting Roman Waitz Development MATERNA Information & Communications 22/04/2002 Agenda +What the J2ME Platform is +How to build and deploy J2MEbased wireless applications +J2ME programming techniques

More information

Improved Mechanism for Efficient object Pooling in J2ME Based Mobile Phone

Improved Mechanism for Efficient object Pooling in J2ME Based Mobile Phone Abstract Nowadays mobile phones are expected to handle huge volume of multimedia data which is very challenging due to the small memory size of the mobile phone sets. J2ME services play an important role

More information

Computer Software. Lect 4: System Software

Computer Software. Lect 4: System Software Computer Software Lect 4: System Software 1 What You Will Learn List the two major components of system software. Explain why a computer needs an operating system. List the five basic functions of an operating

More information

Minne menet, Mobiili-Java?

Minne menet, Mobiili-Java? Minne menet, Mobiili-Java? Java Platform, Micro Edition Status and Future Directions Antero Taivalsaari Sun Microsystems, Inc. December 2005 Growth Continues (2005 vs. 2003) 1 Billion Installed Base as

More information

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

Software Development & Education Center. Java Platform, Micro Edition. (Mobile Java) Software Development & Education Center Java Platform, Micro Edition (Mobile Java) Detailed Curriculum UNIT 1: Introduction Understanding J2ME Configurations Connected Device Configuration Connected, Limited

More information

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

Mobile Application Design and Development With the use of J2ME Technology & UML m.khlaif Computer Science Dept Garyounis University Garyounis University Press Journal of Science and Its Applications Vol. 3, No. 1, pp 83-93, April 2009 83 Mobile Application Design and Development With the use m.khlaif Computer Science Dept Garyounis

More information

Overview. 1/13/ Preliminary Product Brief

Overview. 1/13/ Preliminary Product Brief aj--102 Diispllay Evalluattiion Kiitt aj--102dek Overview The ajile aj-102dek is a compact and versatile display evaluation kit for the aj-102 SOC that directly executes both Java bytecode instructions,

More information

Mensch-Maschine-Interaktion 2

Mensch-Maschine-Interaktion 2 Mensch-Maschine-Interaktion 2 Übung 5 (12./14./15. Juni 2007) Arnd Vitzthum - arnd.vitzthum@ifi.lmu.de Amalienstr. 17, Raum 501 Dominic Bremer - bremer@cip.ifi.lmu.de Java ME Overview (I) Java ME slim

More information

1. What is Jav a? simple

1. What is Jav a? simple 1. What is Jav a? Thanks to Java is a new programming language developed at Sun under the direction of James Gosling. As far as possible it is based on concepts from C, Objective C and C++. Java is interpreted

More information

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

Towards Introducing Code Mobility on J2ME. Laurentiu Lucian Petrea and Dan Grigoras Computer Science Department UCC Cork, Ireland Towards Introducing Code Mobility on J2ME Laurentiu Lucian Petrea and Dan Grigoras Computer Science Department UCC Cork, Ireland www.mccg.ucc.ie Mobile Ad Hoc Networks Heterogeneous mobile devices No fixed

More information

OPERATING SYSTEMS. Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne

OPERATING SYSTEMS. Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne OPERATING SYSTEMS Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne OVERVIEW An operating system is a program that manages the

More information

GrinderBench for the Java Platform Micro Edition Java ME

GrinderBench for the Java Platform Micro Edition Java ME GrinderBench for the Java Platform Micro Edition Java ME WHITE PAPER May 2003 Updated April 2006 Protagoras, the leading Greek Sophist, was quoted as saying, "Man is the measure of all things," by which

More information

Java Embedded on ARM

Java Embedded on ARM Java Embedded on ARM The Embedded Market Evolving Rapidly Internet of Things 2.3B Internet Users Cloud for Embedded Devices Med-Large Embedded Multi-function Devices Enterprise Data and Applications Up

More information

CSE 4/521 Introduction to Operating Systems. Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018

CSE 4/521 Introduction to Operating Systems. Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018 CSE 4/521 Introduction to Operating Systems Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018 Overview Objective: To explore the principles upon which

More information

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

JAVA ON HANDHELD DEVICES COMPARING J2ME CDC TO JAVA 1.1 AND JAVA 2 JAVA ON HANDHELD DEVICES COMPARING J2ME CDC TO JAVA 1.1 AND JAVA 2 Mikko Laukkanen Abstract: The current trend is towards having Java applications run on handheld mobile devices. Sun Microsystems, Inc.

More information

Software Development for Mobile Devices

Software Development for Mobile Devices Software Development for Mobile Devices Operating System Diversity Many Operating Systems Google Android Apple ios Microsoft Windows Phone Nokia Symbian Linux RIM BlackBerry OS HP/Palm WebOS BREW Differences

More information

Multiprocessor scheduling

Multiprocessor scheduling Chapter 10 Multiprocessor scheduling When a computer system contains multiple processors, a few new issues arise. Multiprocessor systems can be categorized into the following: Loosely coupled or distributed.

More information

Introduction to Computers. Joslyn A. Smith

Introduction to Computers. Joslyn A. Smith Introduction to Computers Joslyn A. Smith March 9, 2010 5/18/2011 1 What is a Computer? An electronic device that has the capability of performing the following tasks: Responds to input. Processes the

More information

Windows 7 Overview. Windows 7. Objectives. The History of Windows. CS140M Fall Lake 1

Windows 7 Overview. Windows 7. Objectives. The History of Windows. CS140M Fall Lake 1 Windows 7 Overview Windows 7 Overview By Al Lake History Design Principles System Components Environmental Subsystems File system Networking Programmer Interface Lake 2 Objectives To explore the principles

More information

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

Outline. Introduction to Java. What Is Java? History. Java 2 Platform. Java 2 Platform Standard Edition. Introduction Java 2 Platform Outline Introduction to Java Introduction Java 2 Platform CS 3300 Object-Oriented Concepts Introduction to Java 2 What Is Java? History Characteristics of Java History James Gosling at Sun Microsystems

More information

PROCESS VIRTUAL MEMORY. CS124 Operating Systems Winter , Lecture 18

PROCESS VIRTUAL MEMORY. CS124 Operating Systems Winter , Lecture 18 PROCESS VIRTUAL MEMORY CS124 Operating Systems Winter 2015-2016, Lecture 18 2 Programs and Memory Programs perform many interactions with memory Accessing variables stored at specific memory locations

More information

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 03 From Programs to Processes Hello. In

More information

CMSC 1513 Lecture 1.2

CMSC 1513 Lecture 1.2 Key Point: A computer is an electronic device that stores and processes data. Hardware Software Hardware comprises the visible, physical elements of the computer. Software provides the invisible instructions

More information

Lab Assignment Each team will independently implement the launch interceptor specification For this assignment, you re writing portable C code

Lab Assignment Each team will independently implement the launch interceptor specification For this assignment, you re writing portable C code Lab Assignment Each team will independently implement the launch interceptor specification For this assignment, you re writing portable C code We ll worry about I/O later Lab Assignment You are allowed

More information

Praktikum Mobile Productivity

Praktikum Mobile Productivity LFE Medieninformatik Albrecht Schmidt, Alexander De Luca, Gregor Broll Praktikum Mobile Productivity Introduction 10/17/2006 Outline Outline: Basic Information Organizational Stuff Technology SVN Java

More information

Wireless Java-enabled MIDP devices as peers in Grid infrastructure

Wireless Java-enabled MIDP devices as peers in Grid infrastructure Wireless Java-enabled MIDP devices as peers in Grid infrastructure Miika Tuisku Miika.Tuisku@cern.ch Helsinki Institute of Physics, CERN Abstract. Combining Mobile Internet and Grid technologies could

More information

Bluetooth Scatternet Application. Sun Code for Freedom

Bluetooth Scatternet Application. Sun Code for Freedom Bluetooth Scatternet Application Sun Code for Freedom Submitted for Code For Freedom Contest 2009 By Ravi D Suvarna Ananth V Sandeep Jain Index Topic Page No. 1. Introduction ---------------------------------------------

More information

Memory management. Last modified: Adaptation of Silberschatz, Galvin, Gagne slides for the textbook Applied Operating Systems Concepts

Memory management. Last modified: Adaptation of Silberschatz, Galvin, Gagne slides for the textbook Applied Operating Systems Concepts Memory management Last modified: 26.04.2016 1 Contents Background Logical and physical address spaces; address binding Overlaying, swapping Contiguous Memory Allocation Segmentation Paging Structure of

More information

Chapter 2 Operating-System Structures

Chapter 2 Operating-System Structures This chapter will discuss the following concepts: 2.1 Operating System Services 2.2 User Operating System Interface 2.3 System Calls 2.4 System Programs 2.5 Operating System Design and Implementation 2.6

More information

ThinAir Server Platform White Paper June 2000

ThinAir Server Platform White Paper June 2000 ThinAir Server Platform White Paper June 2000 ThinAirApps, Inc. 1999, 2000. All Rights Reserved Copyright Copyright 1999, 2000 ThinAirApps, Inc. all rights reserved. Neither this publication nor any part

More information

Operating Systems. Designed and Presented by Dr. Ayman Elshenawy Elsefy

Operating Systems. Designed and Presented by Dr. Ayman Elshenawy Elsefy Operating Systems Designed and Presented by Dr. Ayman Elshenawy Elsefy Dept. of Systems & Computer Eng.. AL-AZHAR University Website : eaymanelshenawy.wordpress.com Email : eaymanelshenawy@yahoo.com Reference

More information

LabVIEW ON SMALL TARGET

LabVIEW ON SMALL TARGET LabVIEW ON SMALL TARGET Silviu FOLEA *, Marius GHERCIOIU **, Horia HEDESIU *, Crisan GRATIAN **, Ciprian CETERAS **, Ioan MONOSES ** * Technical University of Cluj-Napoca, ** National Instruments USA,

More information

Overview. 3//5/ Preliminary Product Brief

Overview. 3//5/ Preliminary Product Brief Overview aj--200 Mullttiimediia Evalluattiion Kiitt aj--200mek The ajile aj-200mek is a compact and versatile multimedia evaluation kit for the aj-200 SOC that directly executes both Java Virtual Bytecode

More information

Adafruit Feather nrf52840 Express

Adafruit Feather nrf52840 Express Adafruit Feather nrf52840 Express PRODUCT ID: 4062 The Adafruit Feather nrf52840 Express is the new Feather family member with Bluetooth Low Energy and native USB support featuring the nrf52840! It's our

More information

Operating Systems Memory Management. Mathieu Delalandre University of Tours, Tours city, France

Operating Systems Memory Management. Mathieu Delalandre University of Tours, Tours city, France Operating Systems Memory Management Mathieu Delalandre University of Tours, Tours city, France mathieu.delalandre@univ-tours.fr 1 Operating Systems Memory Management 1. Introduction 2. Contiguous memory

More information

An overview of mobile and embedded platforms

An overview of mobile and embedded platforms ES3 Lecture 2 An overview of mobile and embedded platforms Basic Classes Embedded devices: These are in toasters, cars, mice, etc. Usually very real-time focused (us accuracy) Very small memory, not usually

More information

System Software. System software

System Software. System software System Software 1 System Software 2 System Software System software o Consists of all the programs that enable the computer and its peripheral devices to function smoothly o Divided into two main categories:

More information

Four Components of a Computer System

Four Components of a Computer System Four Components of a Computer System Operating System Concepts Essentials 2nd Edition 1.1 Silberschatz, Galvin and Gagne 2013 Operating System Definition OS is a resource allocator Manages all resources

More information

J2ME Games with MIDP 2

J2ME Games with MIDP 2 J2ME Games with MIDP 2 CAROL HAMER APress Media, LLC J2ME Games with MIDP 2 Copyright ~ 2 0 0 4 by Carol Hamer Originally published by Apress in 2004 All rights reserved. No part of this work may be reproduced

More information

MOBILE COMPUTING Unit V

MOBILE COMPUTING Unit V MOBILE COMPUTING Unit V 1 UNIT V MOBILE PLATFORMS AND APPLICATIONS Mobile Device Operating Systems Special Constrains & Requirements Commercial Mobile Operating Systems Software Development Kit: ios, Android,

More information

Standards,Tools, & Best Practices Editor: Sumi Helal University of Florida

Standards,Tools, & Best Practices Editor: Sumi Helal University of Florida Standards,Tools, & Best Practices Editor: Sumi Helal University of Florida helal@cise.ufl.edu Pervasive Java, Part II Sumi Helal, University of Florida In the first issue, I covered Java 2, Micro Edition

More information

BVRIT HYDERABAD College of Engineering for Women Department of Information Technology. Hand Out

BVRIT HYDERABAD College of Engineering for Women Department of Information Technology. Hand Out BVRIT HYDERABAD College of Engineering for Women Department of Information Technology Hand Out Subject Name: Mobile Application Development Prepared by: 1. S. Rama Devi, Assistant Professor, IT Year and

More information

2 Introduction to Java. Introduction to Programming 1 1

2 Introduction to Java. Introduction to Programming 1 1 2 Introduction to Java Introduction to Programming 1 1 Objectives At the end of the lesson, the student should be able to: Describe the features of Java technology such as the Java virtual machine, garbage

More information

In examining performance Interested in several things Exact times if computable Bounded times if exact not computable Can be measured

In examining performance Interested in several things Exact times if computable Bounded times if exact not computable Can be measured System Performance Analysis Introduction Performance Means many things to many people Important in any design Critical in real time systems 1 ns can mean the difference between system Doing job expected

More information

Architectural Styles I

Architectural Styles I Architectural Styles I Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2015-01-07 Roman Kern (KTI, TU Graz) Architectural Styles I 2015-01-07 1 / 86 Outline 1 Non-Functional Concepts

More information

31268_WEB SYSTEMS LECTURE 1. Operating Systems Part 1

31268_WEB SYSTEMS LECTURE 1. Operating Systems Part 1 31268_WEB SYSTEMS LECTURE 1 Operating Systems Part 1 What is an operating system? - A piece of software that sits between all programs and the computer s hardware - Manages computer - Runs programs - Interface

More information

Chapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition

Chapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition Chapter 8: Memory- Management Strategies Operating System Concepts 9 th Edition Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation

More information

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed. CHAPTER 2: SYSTEM STRUCTURES By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 2: System Structures Operating System Services User Operating System Interface System Calls Types of System

More information

OPERATING SYSTEMS & UTILITY PROGRAMS

OPERATING SYSTEMS & UTILITY PROGRAMS OPERATING SYSTEMS & UTILITY PROGRAMS System Software System software consists of the programs that control the operations of the computer and its devices. Functions that system software performs include:

More information

Using JavX Running Applications in a Web Browser or WinCE Device. Presented by: Jarett Smith Eric Vanpaeschen

Using JavX Running Applications in a Web Browser or WinCE Device. Presented by: Jarett Smith Eric Vanpaeschen Using JavX Running Applications in a Web Browser or WinCE Device Presented by: Jarett Smith Eric Vanpaeschen Presentation Outline Rich Internet Applications (RIA) Examples of Java Applets ProvideX JavX

More information

Software. CPU implements "machine code" instructions. --Each machine code instruction is extremely simple. --To run, expanded to about 10 machine code

Software. CPU implements machine code instructions. --Each machine code instruction is extremely simple. --To run, expanded to about 10 machine code Software Software - code that runs on the hardware I'm going to simplify things a bit here CPU implements "machine code" instructions --Each machine code instruction is extremely simple --e.g. add 2 numbers

More information

Chapter 2: Operating-System Structures

Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

This lecture will take you through simple and practical approach while learning Java Programming language.

This lecture will take you through simple and practical approach while learning Java Programming language. JAVA TUTORIAL GENERAL Java is a high-level programming language originally developed by Sun Microsystems and released in 1995. Java runs on a variety of platforms, such as Windows, Mac OS, and the various

More information

Chapter 3: Operating-System Structures

Chapter 3: Operating-System Structures Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1

More information

Operating Systems. Operating Systems

Operating Systems. Operating Systems The operating system defines our computing experience. It is the first software we see when we turn on the computer, and the last software we see when the computer is turned off. It's the software that

More information

Chapter 1 Introduction to Computers, Programs, and Java. What is a Computer? A Bit of History

Chapter 1 Introduction to Computers, Programs, and Java. What is a Computer? A Bit of History Chapter 1 Introduction to Computers, Programs, and Java CS170 Introduction to Computer Science 1 What is a Computer? A machine that manipulates data according to a list of instructions Consists of hardware

More information

Download from Powered By JbigDeaL

Download from  Powered By JbigDeaL 1. If a word is typed that is not in Word s dictionary, a wavy underline appears below the word. (A) red (B) green (C) blue (D) black 2. The button on the quick access Toolbar allows you to cancel your

More information

Introduction to Operating Systems (Part II)

Introduction to Operating Systems (Part II) Introduction to Operating Systems (Part II) Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/24 1 / 45 Computer

More information

Lecture 2 - Fundamental Concepts

Lecture 2 - Fundamental Concepts Lecture 2 - Fundamental Concepts Instructor : Bibhas Ghoshal (bibhas.ghoshal@iiita.ac.in) Autumn Semester, 2015 Bibhas Ghoshal IOSY 332C & IOPS 332C: OS Autumn Semester, 2015 1 / 43 Lecture Outline Operating

More information

Selected Topics in Computer Engineering ENC-360

Selected Topics in Computer Engineering ENC-360 Selected Topics in Computer Engineering ENC-360 Dr. Feda AlShahwan Computer Section Electronic Engineering Department College of Technological Studies Public Authority for Applied Education and Training

More information

Operating System Concepts Rab Nawaz Khan Jadoon

Operating System Concepts Rab Nawaz Khan Jadoon Operating System Concepts Rab Nawaz Khan Jadoon DCS COMSATS Institute of Information Technology Lecturer COMSATS Lahore Pakistan Operating System Concepts Operating System Operating System It is a system

More information

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

phoneme: High-performance, product-quality GPLv2 CDC + CLDC stacks Terrence Barr phoneme: High-performance, product-quality GPLv2 CDC + CLDC stacks Terrence Barr Senior Technologist and Community Ambassador Java Mobile & Embedded Community Sun Microsystems 1 Platform Scalability and

More information

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

Java and C Performance Comparison on Palm OS. Zhi-Kai Xin Java and C Performance Comparison on Palm OS Zhi-Kai Xin zxin@cs.columbia.edu Abstract This paper investigates the performance comparisons of Java and C on Palm OS PDA device. The performance comparison

More information

Middleware-Integration of Small Devices

Middleware-Integration of Small Devices Middleware-Integration of Small Devices Michael Mock Fraunhofer-Institute Autonomous Intelligent Systems 53754 St. Augustin michael.mock@ais.fraunhofer.de Stefan Couturier B-IT Bonn-Aachen International

More information

Lecture 1: Introduction to Java

Lecture 1: Introduction to Java Lecture 1: Introduction to Java 1 Programs Computer programs, known as software, are instructions to the computer. You tell a computer what to do through programs. Without programs, a computer is an empty

More information

Java Card 3 Platform. Peter Allenbach Sun Microsystems, Inc.

Java Card 3 Platform. Peter Allenbach Sun Microsystems, Inc. Java Card 3 Platform Peter Allenbach Sun Microsystems, Inc. Agenda From plastic to Java Card 3.0 Things to know about Java Card 3.0 Introducing Java Card 3.0 Java Card 3.0 vs. Java SE Java Card 3.0 vs.

More information

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc. Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: Java platform. Applets and applications. Java programming language: facilities and foundation. Memory management

More information

JHDF5 (HDF5 for Java) 14.12

JHDF5 (HDF5 for Java) 14.12 JHDF5 (HDF5 for Java) 14.12 Introduction HDF5 is an efficient, well-documented, non-proprietary binary data format and library developed and maintained by the HDF Group. The library provided by the HDF

More information

Phony Programming (Series 60 Symbian Phones)

Phony Programming (Series 60 Symbian Phones) Phony Programming (Series 60 Symbian Phones) Larry Rudolph MIT 6.883 & SMA 5508 March 6, 2006 1 What s so special about phones? Ignorant Operator really ignorant operator Scarce Resources Power -- slow

More information

Chapter 2: Operating-System Structures. Operating System Concepts Essentials 8 th Edition

Chapter 2: Operating-System Structures. Operating System Concepts Essentials 8 th Edition Chapter 2: Operating-System Structures Operating System Concepts Essentials 8 th Edition Silberschatz, Galvin and Gagne 2011 Chapter 2: Operating-System Structures Operating System Services User Operating

More information

Q.1 Explain Computer s Basic Elements

Q.1 Explain Computer s Basic Elements Q.1 Explain Computer s Basic Elements Ans. At a top level, a computer consists of processor, memory, and I/O components, with one or more modules of each type. These components are interconnected in some

More information

Embedded Java Security

Embedded Java Security Embedded Java Security Mourad Debbabi, Mohamed Saleh, Chamseddine Talhi and Sami Zhioua Embedded Java Security Security for Mobile Devices Mourad Debbabi, Full Professor and CU Research Chair Tier I Mohamed

More information

Downloaded from various sources on the NET

Downloaded from various sources on the NET Overview Computers. Hardware components of a Computer. Purpose and functions of computer operating systems. Evolution of computer operating systems. Operating systems available today. Downloaded from various

More information

Welcome to COMP 388 Tutorial on:

Welcome to COMP 388 Tutorial on: Welcome to COMP 388 Tutorial on: 5.0 By: Chris Abplanalp TABLE OF CONTENTS 1. What are the ways to go back to the originally working window when accidentally switched to another program by pushing some

More information