Java a Príbuzné Platformy Na

Total Page:16

File Type:pdf, Size:1020Kb

Java a Príbuzné Platformy Na MASARYKOVA UNIVERZITA F}w¡¢£¤¥¦§¨ AKULTA INFORMATIKY !"#$%&'()+,-./012345<yA| Java a pˇríbuznéplatformy na PDA BAKALÁRSKÁˇ PRÁCE Tomáš Gazárek Brno, jaro 2008 Prohlášení Prohlašuji, že tato bakaláˇrskápráce je mým p ˚uvodnímautorským dílem, které jsem vypra- coval samostatnˇe.Všechny zdroje, prameny a literaturu, které jsem pˇrivypracování použí- val nebo z nich ˇcerpal,v práci ˇrádnˇecituji s uvedením úplného odkazu na pˇríslušnýzdroj. Vedoucí práce: Mgr. Tomáš Gregar ii Podˇekování Na tomto místˇebych rád podˇekovalMgr. Tomáši Gregarovi za vedení mé bakaláˇrsképráce a jeho cenné rady a pˇripomínky. iii Shrnutí V první ˇcástitéto práce byla zmapována situace na poli programovacích platforem v jazyce Java, které byly vytvoˇreny pro vývoj aplikací pro mobilní telefony, osobní digitální asistenty a podobné zaˇrízenís omezenou kapacitou pamˇeti,zdrojem energie a procesním výkonem. Hlavní cíl bakaláˇrsképráce spoˇcíváv prostudování platformy SuperWaba, jejích virtuálních stroj ˚u,vytvoˇreníukázkových aplikací a porovnání této platformy s Java ME. iv Klíˇcováslova JAVA, Java Platform, Micro Edition, API, JVM, PDA (Personal Digital Assistant), Smart- Phone, Eve, WebSphere Everyplace Micro Environment, NSIcom CrEme, SuperWaba v Pˇredmluva Již nˇekoliklet m ˚užemeve svˇetˇeinformaˇcníchtechnologií pozorovat trend neustálého zmen- šování vˇetšinyzaˇrízení.D ˚ukazemtoho m ˚užebýt vývoj mikroˇcip˚u,které jsou spolu s pa- mˇet’mi souˇcástítémˇeˇrvšech zaˇrízení,která nás obklopují. V souvislosti s tím roste i obliba mobilních zaˇrízení,jejichž procesní výkony a kapacita pamˇetíse neustále zvyšuje. Mobilní telefony s „otevˇreným“operaˇcnímsystémem (tzv. chytré telefony neboli smartphones) dnes již nejsou žádnou novinkou. Tento segment zaˇrízeníby tedy nemˇelbýt opomíjen u vývo- jáˇr˚usoftwaru. U programovacího jazyka Java není situace v této oblasti zrovna ideální. Co se týˇcemobilních telefon ˚ubez operaˇcníhosystému, má zde Java silné postavení. Pro vývo- jáˇreje v této oblasti primárnˇeurˇcenaJava ME platforma a její CLDC konfigurace (viz 2.1.2). V pˇrípadˇesmartphon ˚ua PDA je k dispozici rozsáhlejší konfigurace než CLDC, a to CDC (viz 2.1.1). Bohužel se Sun Microsystems pˇrestalo tuto oblast zajímat a nevytvoˇrilvirtuální stroje pro operaˇcnísystémy jako Windows Mobile, Palm ˇciSymbian. Pomoc proto musíme hledat u jiných platforem, založených na Javˇe.Vˇetšinaz nich vychází bud’ z CDC konfigu- race nebo z platformy Waba, jejíž vývoj byl v roce 2002 zastaven. Waba slouží jako základ napˇríkladpro platformu SuperWaba (viz 3), Java ME a CDC konfigurace pak pro platformy Eve (viz 2.2), IBM WebSphere Everyplace Micro Environment (viz 2.3), ˇciNSIcom CrEme (viz 2.4). SuperWaba je velmi povedená platforma, která nabízí mnoho možností pro vývoj software. Bohužel je rozdˇelenana dvˇeverze, z nichž jedna je placená a druhá ne. V pˇrípadˇe neplacené verze je klientská podpora od autor ˚umenší a taky nem ˚užemevyužívat všechny knihovny platformy. I pˇresto je tato platforma dobˇrevyužitelná k vývoji aplikací. Vytvoˇril jsem zde dvˇeukázkové aplikace. Jedna se jmenuje English Practise a druhá Screen Sam- ple. English Practise je slovník, který kromˇepˇrekladuumí i testovat uživatele z vložených slovíˇcek.Druhá aplikace jménem Screen Sample je velmi jednoduchá aplikace umožˇnující ovládat objekt po obrazovce pomocí stylusu a dotykové obrazovky. Bakaláˇrskápráce je rozdˇelenana pˇetkapitol. První kapitola se zabývá firmou Sun a jejím postavením na trhu s mobilními zaˇrízeními.Dále jsou zde struˇcnˇevysvˇetlenypojmy, jako virtuální stroj nebo API. V druhé kapitole popisuji ˇctyˇriplatformy založené na jazyce Java. Jako první se zabývám Java Platform, Micro Edition, potom Eve, WebSphere Everyplace Micro Environment a NSIcom CrEme. Ve tˇretíkapitole popisuji platformu SuperWaba. Zmi- ˇnujizde její p ˚uvod, instalaci, postup pˇritvorbˇeprogram ˚u,API a nakonec uvádím i ukázkové aplikace, které jsem vytvoˇril. Ctvrtᡠkapitola obsahuje struˇcnéporovnání platforem Super- waba a Java ME. Souˇcástítéto kapitoly je testování výše zmínˇenýchplatforem pomocí vlast- ního benchmarku, který poˇcítáhodnotu pí. V páté kapitole se vˇenujizávˇeru v nˇemžshrnuji bakaláˇrskoupráci. vi Obsah 1 Úvod ............................................. 1 1.1 JVM (Java Virtual Machine) ............................. 1 1.2 API ........................................... 2 2 Java platformy pro mobilní zaˇrízení ........................... 3 2.1 Java Platform, Micro Edition (Java ME) ...................... 3 2.1.1 CDC (Connected Device Configuration) . 4 2.1.1.1 Foundation Profile . 4 2.1.1.2 Personal Basis Profile . 4 2.1.1.3 Personal Profile . 4 2.1.1.4 CDC HotSpot Implementation Virtual Machine . 5 2.1.2 CLDC (Connected Limited Device Configuration) . 5 2.1.2.1 MIDP (Mobil Information Device Profile) . 5 2.1.2.2 IMP (Information Module Profile) . 5 2.1.2.3 CLDC HotSpot Implementation Virtual Machine . 6 2.1.3 Volitelné knihovny . 6 2.2 Eve ........................................... 8 2.2.1 Ewe (Eve) VM . 8 2.2.2 Eve API a podporované OS . 8 2.3 WebSphere Everyplace Micro Environment .................... 10 2.3.1 IBM J9 virtual machine . 10 2.3.2 API a podporované OS . 10 2.4 NSIcom CrEme .................................... 11 2.4.1 NSIcom CrEme Virtual Machine . 12 2.4.2 API a podporované OS . 12 3 SuperWaba ......................................... 14 3.1 (Super)Waba ...................................... 14 3.2 Vývoj SuperWaba programu ............................. 14 3.3 Instalace a SuperWaba VM .............................. 15 3.4 Podporované OS a licence .............................. 16 3.4.1 Verze a licence . 16 3.4.2 Podporované OS . 18 3.5 Warp, Exegen a Wxgn ................................ 18 3.5.1 Použití Warp . 19 3.5.2 Použití Exegen . 19 3.5.3 Použití Wxgn . 20 3.6 Struktura SuperWaba programu .......................... 20 3.7 API ........................................... 21 3.7.1 Knihovna Waba . 22 3.7.1.1 Tvorba GUI . 22 3.7.1.2 API pro vstup/výstup . 23 vii 3.7.2 Knihovna SuperWaba . 23 3.8 Unicode podpora ................................... 25 3.9 Ukázkové programy ................................. 26 3.9.1 English Practise . 26 3.9.2 Screen Sample . 28 4 Porovnání platforem .................................... 30 4.1 SuperWaba a Java Platform, Micro Edition .................... 30 4.2 Porovnání virtuálních stroj ˚u ............................. 31 4.2.1 Implementace algoritmu . 31 4.2.2 Výsledky benchmarku . 32 5 Závˇer ............................................. 35 Literatura . 37 A Manuální instalace SuperWaby ............................. 38 A.1 Palm OS ........................................ 38 A.2 Windows CE ...................................... 38 A.3 Symbian OS ...................................... 39 A.4 Windows 98 a vyšší .................................. 39 A.5 GNU/Linux ...................................... 40 B Komponenty GUI ..................................... 41 B.1 waba.ui.PushButtonGroup .............................. 41 B.2 waba.ui.Grid ...................................... 41 C Obrázky z ukázkových program ˚u ............................ 42 C.1 English Practise a Screen Sample .......................... 42 D Obsah pˇriloženéhoCD .................................. 47 viii Kapitola 1 Úvod Firma Sun Microsystems, Inc.1, která vznikla v roce 1982, se ve svˇetˇestala známou pˇrede- vším díky programovacímu jazyku Java. Bylo jen otázkou ˇcasu,kdy firma zoptimalizuje svoji platformu i pro nejmenší zaˇrízeníjako jsou mobilní telefony nebo PDA. V ˇcervnu1999 bylo na konferenci JavaOne pˇredstavenoprostˇredíJava Micro Edition (JME, dˇríveozna- ˇcovánojako J2ME). Od této doby se zaˇcínáo Javˇepˇremýšleti jako o úˇcinnémnástroji ke tvorbˇeaplikací pro mobilní zaˇrízení,který s sebou nese mnoho pozitivních vlastností, jako je pˇrenositelnost,bezpeˇcnost,robustnost apod. Vše tehdy vypadalo nadˇejnˇe,dnes je bohu- žel situace taková, že se firma Sun o PDA moc nezajímá, a proto nenajdeme v jejím podání virtuální stroje (viz 1.1) pro operaˇcnísystémy, jako jsou Windows Mobile nebo Palm OS. PDA založené na tˇechtooperaˇcníchsystémech tvoˇrívelkou ˇcásttrhu. Komunita uživatel ˚u u firmy Sun mnohokrát lobovala, aby vytvoˇrilavirtuální stroj pro Pocket PC. Bohužel se dodnes v tomto smˇeru nic nezmˇenilo. Rešeníˇ musíme hledat u jiných platforem, které jsou založené na jazyce Java. Naštˇestínˇekoliktakových existuje a já se pokusím nˇekteréz nich popsat. Nejprve si ale musíme ˇríctnˇekolikzákladních informací týkajících se Java platformy. Javová platforma se skládá z Java Virtual Machine, API, pˇrekladaˇcea dalších nástroj ˚u. Zde se zmíníme jen o prvních dvou. 1.1 JVM (Java Virtual Machine) Jedna z nejd ˚uležitˇejšívlastností Javy je její nezávislost na architektuˇre,respektive na operaˇc- ním systému. To zajišt’ují tzv. virtuální stroje, neboli Java Virtual Machine (JVM). Ve vˇetšinˇe programovacích jazyk ˚use kód programu pˇrikompilaci pˇreloží pˇrímodo strojového kódu procesoru, v Javˇeje tomu však jinak. Kód programu se nejprve pˇreložído tzv. mezikódu neboli byte-kódu, který je ještˇenezávislý na architektuˇre,ale ˇcasovˇenároˇcnéfáze kompilace jsou již provedeny. O pˇrevodmezikódu do strojového kódu procesoru se stará právˇeJVM. V praxi to tedy vypadá tak, že nám pro spuštˇeníprogramu staˇcípouze byte-kód programu a virtuální stroj Javy urˇcenýpro náš operaˇcnísystém. 1. <http://www.sun.com> 1 1.2. API 1.2 API API (Application Programming Interface) neboli rozhraní pro programování aplikací je sada knihoven, které obsahují r ˚uznétˇrídya rozhraní.
Recommended publications
  • Revista Jogospro E-Magazine
    O estado-da-arte do desenvolvimento de jogos no Brasil JogosPROwww.jogospro.com.br Novembro 2004 e-Magazine Entrevista: Artigos: Omarson Costa 2D .NET Parte 2 Colunas: Symbian Java Brew Psicologia OGL/ES XNA e XBOX2 Super Waba Mobile Games Desenvolvendo Jogos para Celulares Especial: Cobertura do evento SBGames 2004 2D: Fim do Jogo: Animações por Tempo Criatividade em Jogos 3D: Projeto: Analises do 3D Studio Max e Maya Palmsoft Tecnologia Edição#2 Clique aqui para acessar o FORUM GERAL desta edição Conteúdo Prezado Leitor, 3 Cartas dos Leitores Antes de mais nada, nós da equipe JogosPRO, gostaríamos de agradecer imensamente a todos que 4 Bonus - Pequenas Grandes Notícias criticaram, enviaram sugestões e mensagens de apoio para a revista. Buscamos atender a todos na medida do possível, visando sempre a qualidade da JogosPRO e-Magazine. Entrevista Nesta edição o assunto principal será Jogos para Mobiles. Esta área do desenvolvimento de jogos vem 5 Omarson Costa crescendo muito nos últimos tempos. Para quem busca montar uma empresa este mercado é um bom por Carlos Caimi começo, pois pode ser uma boa fonte de receita para agüentar os primeiros passos. Existem diversas Projeto: Made in Brasil opções em linguagens de desenvolvimento para mobiles, as quais buscamos abordar um pouco sobre algumas das mais conhecidas, habilitando o caro leitor a analisar e decidir qual é aquela de sua 7 Palmsoft Tecnologia preferência. por Equipe Palmsoft A jogosPRO também foi cobrir o Simpósio Brasileiro de Jogos, o SBGames, que aconteceu em Curitiba Colunas nos dia 20 e 21 de outubro, na Unicenp. Tiramos várias fotos para mostrar como foi o evento.
    [Show full text]
  • Gorazd Porenta Razvoj Mobilne Aplikacije Za Uporabo Na Razlicnih
    UNIVERZA V LJUBLJANI FAKULTETA ZA RACUNALNIˇ STVOˇ IN INFORMATIKO Gorazd Porenta Razvoj mobilne aplikacije za uporabo na razliˇcnihoperacijskih sistemih mobilnih naprav DIPLOMSKO DELO NA UNIVERZITETNEM STUDIJUˇ Mentor: doc. dr. Rok Rupnik Ljubljana, 2012 Rezultati diplomskega dela so intelektualna lastnina Fakultete za raˇcunalniˇstvo in informatiko Univerze v Ljubljani. Za objavljanje ali izkoriˇsˇcanjerezultatov diplom- skega dela je potrebno pisno soglasje Fakultete za raˇcunalniˇstvo in informatiko ter mentorja. Besedilo je oblikovano z urejevalnikom besedil LATEX. IZJAVA O AVTORSTVU diplomskega dela Spodaj podpisani Gorazd Porenta, z vpisno ˇstevilko 24940104, sem avtor diplomskega dela z naslovom: Razvoj mobilne aplikacije za uporabo na razliˇcnihoperacijskih sistemih mo- bilnih naprav S svojim podpisom zagotavljam, da: • sem diplomsko delo izdelal samostojno pod mentorstvom doc. dr. Roka Rupnika • so elektronska oblika diplomskega dela, naslov (slov., angl.), povzetek (slov., angl.) ter kljuˇcnebesede (slov., angl.) identiˇcnis tiskano obliko diplomskega dela • soglaˇsamz javno objavo elektronske oblike diplomskega dela v zbirki "Dela FRI". V Ljubljani, dne 12.6.2012 Podpis avtorja: Zahvala Zahvaljujem se starˇsem,ki so mi ˇstudijomogoˇcili,me spodbujali in podpirali. Hvala gre mentorju doc. dr. Roku Rupniku za pomoˇcin nasvete pri izdelavi diplomske naloge. Zahvala gre tudi prijateljem in sodelavcem, ki so sodelovali pri testiranju aplikacije. Najveˇcjazahvala gre Tini, ki me je spodbujala in mi pomagala pri oblikovanju diplomskega dela. Kazalo Povzetek 1 Abstract 2 1 Uvod 3 2 Opredelitev pojmov in uporabljenih tehnologij 5 2.1 Mobilna naprava . .5 2.2 Mobilna aplikacija . .7 2.3 HTML . .8 2.4 CSS . .8 2.5 JavaScript . .9 2.6 Spletna storitev . .9 3 Razvoj mobilnih aplikacij 10 3.1 Mobilni operacijski sistemi .
    [Show full text]
  • Projectcodemeter Users Manual
    ProjectCodeMeter ProjectCodeMeter Pro Software Development Cost Estimation Tool Users Manual Document version 202000501 Home Page: www.ProjectCodeMeter.com ProjectCodeMeter Is a professional software tool for project managers to measure and estimate the Time, Cost, Complexity, Quality and Maintainability of software projects as well as Development Team Productivity by analyzing their source code. By using a modern software sizing algorithm called Weighted Micro Function Points (WMFP) a successor to solid ancestor scientific methods as COCOMO, COSYSMO, Maintainability Index, Cyclomatic Complexity, and Halstead Complexity, It produces more accurate results than traditional software sizing tools, while being faster and simpler to configure. Tip: You can click the icon on the bottom right corner of each area of ProjectCodeMeter to get help specific for that area. General Introduction Quick Getting Started Guide Introduction to ProjectCodeMeter Quick Function Overview Measuring project cost and development time Measuring additional cost and time invested in a project revision Producing a price quote for an Existing project Monitoring an Ongoing project development team productivity Evaluating development team past productivity Evaluating the attractiveness of an outsourcing price quote Predicting a Future project schedule and cost for internal budget planning Predicting a price quote and schedule for a Future project Evaluating the quality of a project source code Software Screen Interface Project Folder Selection Settings File List Charts Summary Reports Extended Information System Requirements Supported File Types Command Line Parameters Frequently Asked Questions ProjectCodeMeter Introduction to the ProjectCodeMeter software ProjectCodeMeter is a professional software tool for project managers to measure and estimate the Time, Cost, Complexity, Quality and Maintainability of software projects as well as Development Team Productivity by analyzing their source code.
    [Show full text]
  • Analysis of Dynamics in Mobile Ad-Hoc Networks
    Analysis of Dynamics in Mobile Ad-Hoc Networks Student Project Student: JÄorgWagner Advisors: Vincent Lenders, Martin May Professor: Bernhard Plattner 31. July 2005 Task Formulation Summary Small and mobile devices such as handhelds (PDAs) with wireless communication capabilities (e.g. WLAN) are becoming more and more ubiquitous. Nowadays, the use of WLAN with such devices is mostly limited to downloading messages or sur¯ng the Web via a ¯xed access point. Ad hoc networking is a promising communication paradigm where devices form a network in a dynamic and self-organizing manner without any ¯xed infrastructure support such as access points or dedicated routers. Therefore, communication is no more limited to ¯xed places con- trolled by network operators but becomes in principle possible anywhere as long as cooperative nodes are available in the neighborhood. In order to develop protocols for ad hoc networks, researchers have made a set of assumptions on the user mobility. However, very few people have validated these assumptions with real networks. The goal of this thesis is to empirically analyze the mobility behavior of users and the resulting network characteristics. For this purpose, the student should collect data from a testbed consisting of approximately 20 handhelds carried by mobile users . The ¯rst task of the student is to develop the required tools and programs to monitor the desired network characteristics. Then, the student should distribute the hand- helds to test users (e.g. TIK members) and conduct the relevant measurements. When enough data is collected, the student should analyze the collected data and extract characteristics on relevant network metrics.
    [Show full text]
  • Symbian OS from Wikipedia, the Free Encyclopedia
    Try Beta Log in / create account article discussion edit this page history Symbian OS From Wikipedia, the free encyclopedia This article is about the historical Symbian OS. For the current, open source Symbian platform descended from Symbian OS and S60, see Symbian platform. navigation Main page This article has multiple issues. Please help improve the article or discuss these issues on the Contents talk page. Featured content It may be too technical for a general audience. Please help make it more accessible. Tagged since Current events December 2009. Random article It may require general cleanup to meet Wikipedia's quality standards. Tagged since December 2009. search Symbian OS is an operating system (OS) designed for mobile devices and smartphones, with Symbian OS associated libraries, user interface, frameworks and reference implementations of common tools, Go Search originally developed by Symbian Ltd. It was a descendant of Psion's EPOC and runs exclusively on interaction ARM processors, although an unreleased x86 port existed. About Wikipedia In 2008, the former Symbian Software Limited was acquired by Nokia and a new independent non- Community portal profit organisation called the Symbian Foundation was established. Symbian OS and its associated Recent changes user interfaces S60, UIQ and MOAP(S) were contributed by their owners to the foundation with the Company / Nokia/(Symbian Ltd.) Contact Wikipedia objective of creating the Symbian platform as a royalty-free, open source software. The platform has developer Donate to Wikipedia been designated as the successor to Symbian OS, following the official launch of the Symbian [1] Help Programmed C++ Foundation in April 2009.
    [Show full text]
  • Documento Final De Tesis Entrega Final De Ciclo Terminal II Opengl
    Documento Final de Tesis Entrega Final de Ciclo Terminal II OpenGL en Dispositivos Móviles Presentado por: Carlos Eduardo Oviedo Presentado a: Harold Cruz Facultad de Ingeniería Departamento de Sistemas y Computación Universidad de los Andes Bogotá, Febrero 04 de 2005 AGRADECIMIENTOS Harold Cruz Ingeniería de Sistemas, Universidad de los Andes. Director de tesis. A la mi director de tesis por su apoyo incondicional y la oportunidad brindada para la realización de este trabajo. LISTA DE FIGURAS Pág. Figura 1. Rotación en 2 dimensiones (pivote en el origen) 26 Figura 2. Rotación en 2 dimensiones (pivote arbitrario) 27 Figura 3. Proyección en paralela 34 Figura 4. Proyección en perspectiva 35 Figura 5. Instalación SuperWaba en POSE (Pantalla 1) 39 Figura 6. Instalación SuperWaba en POSE (Pantalla 2) 39 Figura 7. Instalación SuperWaba en POSE (Pantalla 3) 39 Figura 8. Instalación de aplicaciones en POSE 40 Figura 9. Instalación SuperWaba en PC 42 Figura 10. GuiBuilder Instalado (Pantalla 1) 46 Figura 11. GuiBuilder Instalado (Pantalla 2) 46 Figura 12. Deshabilitando opciones POSE 48 Figura 13. Estructura de directorios del Proyecto 53 Figura 14. Diagrama de Paquetes 61 Figura 15. Diagrama del paquete GL 62 Figura 16. Diagrama del paquete SYS 64 Figura 17. Diagrama del paquete UTIL 66 Figura 18. Diagrama del paquete TESTS 68 Figura 19-21. Instalación MobileGL sobre POSE 71 Figura 22. Modelo Jerárquico 72 Figura 23. Imagen del Robot 73 Figura 24. Estructura de directorios del proyecto 74 Figura 25. Diagrama de clases Caso de Estudio 79 Figura 26. Instalación MobileGL (Pantalla 1) 81 Figura 27. Instalación MobileGL (Pantalla 2) 81 Figura 28-32.
    [Show full text]
  • Taller: Programando Dispositivos Móviles Con Software Libre
    Taller: Programando dispositivos móviles con software libre David Fernández Vaamonde [email protected] Mobigame 2004 Universidad de Alcalá de Henares Escuela Polit écnica Guión Motivación Instalando el software necesario. Un primer ejemplo. Ciclo de vida de las aplicaciones SuperWaba. Compilación para dispositivos móviles (Palm OS y Windows CE). Sistema de clases Eventos en SuperWaba. Interfaz de usuario. Otras cosas. Emuladores (Palm) Motivación La mia: ¡Quería programar mi palm! Las del resto del mundo: Cada vez más dispositivos móviles PDAs (palm, ipaq...) Móviles Etc... Uso "industrial" de dispositivos móviles Integración de sistemas Motivación Posibilidades para programar un Palm desde Linux: En C -> Muy dificil (prc-tools) En python(pippy) -> De juguete Con j2me -> ¿Donde está la máquina virtual? ... No es software libre... ¿Que uso? Motivación SuperWaba Subconjunto de Java POO Estructurado y conocido Máquina virtual para dispositivos, libre (LGPL) Palm OS Windows CE Similar a programar un Applet. Muchas clases y sistema sencillo. Clases en paquetes independientes (metemos lo que necesitamos) "Waba New Generation" ;) ¡La solución perfecta! Instalando el software necesario: Ingredientes necesarios: Java Cualquier implementación: Compilador: GCJ, Javac Máquina Virtual: Kaffe, GIJ, Java(Sun o IBM) En este taller: Compilador: GCJ Máquina Virtual: Java (En cualquier distribución) Clases SuperWaba http://superwaba.com.br/en/downloads.asp (Registro gratuito) (SuperWabaSDK) export CLASSPATH=$CLASSPATH:/SuperWabaSDK/lib/SuperWaba.jar:/SuperWabaSDK/utils:. Instalando el software necesario. Ejecutables java (incluidos en Superwaba) Antes binarios -> ahora java (más portables) Crearán los "formatos" para cada dispositivo. Clases Exegen y Warp No necesitamos ninguna clase externa de Java. Máquinas virtuales para los dispositivos. Específica para cada uno (Palm o Pocket PC) Palm: Superwaba.prc, SWNatives.prc (lib/palm/PalmOS...) Superwaba.pdb (clases, lib/xplat) WindowsCE: SuperWaba.exe, SuperWaba.pdb, MSW.pdb Instalando el software necesario.
    [Show full text]
  • A Retargetable Optimizing Java-To-C Compiler for Embedded Systems
    A Retargetable Optimizing Java-to-C Compiler for Embedded Systems by Ankush Varma Thesis submitted to the Faculty of the Graduate School of the University of Maryland,College Park in partial fulfillment of the requirements for the degree of Master of Science 2003 Advisory Committee: Professor Shuvra Bhattacharyya, Chair Professor Bruce Jacob Professor Manoj Franklin A Retargetable Optimizing Java-to-C Compiler for Embedded SystemsSeptember 10, 2003 1 Abstract Title of Thesis: “A Retargetable Optimizing Java-to-C Compiler for Embedded Systems” Degree candidate: Ankush Varma Degree and year: Master of Science, 2003. Thesis directed by: Professor Shuvra S. Bhattacharyya Department of Electrical and Computer Engineering University of Maryland, College Park The Java programming language is achieving greater acceptance in high-end embedded systems such as cellphones and PDAs. However, low- end embedded platforms, such as DSPs or microcontrollers, often have no more than a C compiler, and this prevents Java applications from being run on such systems. Applications must either be re-written in C, or a Java Vir- tual Machine must be ported to each such system. This paper discusses a compiler that converts portable Java bytecode to C code, allowing applications written in Java to run on embedded systems which may lack a Java Virtual Machine. This is also applicable to bare- bones embedded systems running without an operating system. We briefly describe code generation strategies, run-time data structures and optimiza- tion algorithms used to generate efficient C code. The code size and execu- tion time of the C code were compared with interpreted Java, just-in-time compiled Java, and executables generated directly from Java.
    [Show full text]
  • A Retargetable Optimizing Java-To-C Compiler For
    Java-through-C Compilation: An Enabling Technology for Java in Embedded Systems Ankush Varma and Shuvra S. Bhattacharyya University of Maryland, CollegePark {ankush,ssb}@eng.umd.edu Abstract ality is preserved, and the source code of most Java applications The Java programming language is acheiving greater accep- need not be modified to run them on embedded platforms. Stan- tance in high-end embedded systems such as cellphones and dard Java classes and utilities can be supported to a high degree. PDAs. However, current embedded implementations of Java 2. Related Work impose tight constraints on functionality, while requiring signifi- Various alternative Java implementations have been explored cant storage space. In addition, they require that a JVM be ported recently. TurboJ [4] speeds up execution by compiling bytecode to each such platform. to native code ahead of time, but using a JVM for some functions. We demonstrate the first Java-to-C compilation strategy that is Harissa [5] generates C code from Java, but uses a JVM for suitable for a wide range of embedded systems, thereby enabling some functionality. The JVM allows Java to be fully supported, at broad use of Java on embedded platforms. This strategy removes the cost of increased code size. many of the constraints on functionality and reduces code size Jove [22] is a native compiler targeted at large server/work- without sacrificing performance. The compilation framework station programs. It creates executables that are aggressively opti- described is easily retargetable, and is also applicable to bare- mized for speed, not for code size, and thus generates relatively bones embedded systems with no operating system or JVM.
    [Show full text]
  • Session 9: Connected Devices Development Environments
    Extreme Java G22.3033-007 Session 9 - Sub-Topic 1 Connected Devices Development Environments Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1 Part I Background Information 2 1 Recommended Textbook Q Learning Wireless Java by Qusay Mahmoud O’Reilly, December 2001 ISBN#: 0-59600-243-2 http://www.oreilly.com/catalog/wirelessjava/ 3 Glossary & FAQs Q Profile “A layer on top of a configuration that adds additional APIs to make a complete toolkit for a specific type of consumer device” Q Configuration “Either the KVM or CVM combined with a minimal set of APIs that define the expected features for a broad category of consumer devices” Q FAQs 4 2 Java-enabled XML Technologies Q XML provides a universal syntax for Java semantics (behavior) Q Portable, reusable data descriptions in XML Q Portable Java code that makes the data behave in various ways Q XML standard extension Q Basic plumbing that translates XML into Java Q parser, namespace support in the parser, simple API for XML (SAX), and document object model (DOM) Q XML data binding standard extension 5 XML and Java Standards Q XML includes is a family of technologies Q XSL, XML Schema, XML Query, XPath, XPointer, XLink, DOM, RDF, CSS, XSL, XHTML, XML Signature, MathML, SMIL, SVG, etc. Q Review the current state of the XML standards at http://www.w3c.org/XML Q Review the current state of Java Technology and XML (JAXP) standards at http://java.sun.com/XML Q Review the Java binding to DOM 2.0 at http://www.w3.org/TR/2000/REC-DOM-Level-2-
    [Show full text]
  • Plataformas E Adaptativas Para Dispositivos Móveis
    Universidade Federal do Ceará Departamento de Computação Mestrado em Ciência da Computação Dissertação de Mestrado Um Ambiente de Desenvolvimento de Aplicações Multi- Plataformas e Adaptativas para Dispositivos Móveis Windson Viana de Carvalho Fortaleza-CE, 2005 Um Ambiente de Desenvolvimento de Aplicações Multi-Plataformas e Adaptativas para Dispositivos Móveis Este exemplar corresponde à redação final da Dissertação devidamente corrigida e defendida por Windson Viana de Carvalho e aprovada pela Banca Examinadora. Fortaleza, 14 de junho de 2005 Rossana Maria de Castro Andrade (Orientadora) Dissertação apresentada ao Mestrado de Ciência da Computação da Universidade Federal do Ceará (UFC), como requisito parcial para a obtenção do título de Mestre em Ciência da Computação RESUMO A heterogeneidade dos dispositivos móveis e a integração com as tecnologias de comunicação sem fio impõem desafios para o desenvolvimento de aplicações e de serviços, dos quais podemos citar os seguintes: a descrição, independente de dispositivo e plataforma, da interface com usuário; a adaptação do conteúdo acessado pelas aplicações; e o desenvolvimento de aplicações multi-plataformas. Diversos trabalhos foram propostos para solucionar cada um desses desafios. Contudo, não foi encontrada na literatura nenhuma abordagem satisfatória que permitisse a um engenheiro de software construir aplicações multi-plataformas utilizando uma descrição inicial da interface e dos seus dados, de forma que essa descrição seja independente de um dispositivo específico ou de uma plataforma de programação. Ressalta-se, ainda, que nenhuma solução facilita a descrição da aplicação e a sua integração com as arquiteturas de adaptação de conteúdo. Portanto, é necessária a criação de um ambiente para integrar e aprimorar essas soluções existentes para os desafios expostos.
    [Show full text]
  • Som-5282EM Users Manual
    2390 EMAC, Way Carbondale, IL 62902 Phone: (618) 529-4525 Fax: (618) 457-0110 http://www.emacinc.com SoM-5282EM Users Manual © Copyright 2005 EMAC, Inc. www.emacinc.com SoM-5282EM Users Manual rev1.2 Copyright EMAC. Inc. 2005 Table of Contents 1. Introduction ................................................................................................................................... 3 1.1. Features......................................................................................................................................................................3 2. Hardware ........................................................................................................................................ 4 2.1. Specifications.............................................................................................................................................................4 2.2. Real Time Clock ........................................................................................................................................................4 2.3. External Connections ...............................................................................................................................................5 2.3.1. External Bus.......................................................................................................................................................5 2.3.2. BDM – Module specific interface ....................................................................................................................6
    [Show full text]