Rambutan Requirements Management Tool for Busy System Analysts

Total Page:16

File Type:pdf, Size:1020Kb

Rambutan Requirements Management Tool for Busy System Analysts Rambutan Requirements Management Tool for Busy System Analysts Technical Report Sasmito Adibowo Faculty of Computer Science University of Indonesia July 2003 Bibliographical Data Sheet Report No. : UI-CS-2003-xx Report Date : July 2003 Original Language : English Type of Paper : Technical Report Title Rambutan – Requirements Management Tool for Busy System Analysts Keywords requirements management, requirements engineering, extensible markup language, requirements markup language, document object model, handheld application, personal digital assistant, design patterns, PalmOS, PocketPC, Windows CE, SuperWaba, Waba, Java, Swing, XML, RQML, DOM, Xerces. Authors and Their Email Addresses Sasmito Adibowo ([email protected]) Eko K. Budiardjo ([email protected]) Performing Organization Name and Addresses Faculty of Computer Science University of Indonesia Kampus UI, Depok 16424, Indonesia Ph. +6221 7863419 Fax +6221 7863415 http://www.cs.ui.ac.id Abstract Rambutan is a Requirements Management Tool for Busy System Analysts. The application consists of two programs, one for a desktop computer and the other for a handheld computer. The desktop software is programmed as a Java Swing GUI application while its handheld counterpart is coded using SuperWaba and runnable on Palm OS, PocketPC, and Windows CE. Both applications are programmed with the Java programming language using established design patterns to support its evolution. The conceptual foundations of Rambutan are based on Requirements Markup Language (RQML), an XML dialect for storing natural-language requirements document. In turn, RQML is based on a set of best practices in requirements engineering. Therefore, Rambutan is independent of any particular requirements engineering methodologies. Supplementing Rambutan’s source code documentation, this report consists of a general description of the product, example screen shots of both applications, architecture overviews, and several pointers on evolving the system. Total number of pages (including this page and cover page): 35 Table of Contents General Description ...............................................4 Product Functions............................................4 User Characteristics...........................................4 Product Path ................................................4 User Interface Design ..............................................9 Handheld Application..........................................9 Desktop Application..........................................14 System Components .............................................24 Architecture Overviews........................................24 RQML Problem Domain .......................................27 Evolution Management ...........................................32 Evolving RQML .............................................32 Adding missing features.......................................32 Supporting multiple users .....................................33 Upgrade issues to network-based user interface .....................33 Supporting other mobile device platforms..........................34 Bibliography ...................................................35 3 1 General Description 1.1 Product Functions Rambutan – Requirements Management Tool for Busy System Analysts is a set of end- user applications software that assists a system analyst in the gathering and categorization of facts for a requirements specification document. In its current state, the product consists of two programs that perform similar functions. A handheld application is used to gather facts in the client's site while a desktop application is used to edit and further refine the requirement statements in the analyst's office. Both applications allow the user to enter, modify, and display data that make up a requirements specification document. The concepts behind Rambutan lies on RQML 0.9, an XML-based requirements specification document format [Gudg00]. In turn, Requirements Markup Language (RQML) is based on a set of best current practices in requirements engineering. This design decouples Rambutan from any specific methodology for requirements engineering. Both the desktop application and its handheld counterpart are implemented using the Java programming language, allowing them to share some common code. However, it is not possible to code both applications to the same API. The desktop application is programmed for the Java 2 Standard Edition platform, version 1.3. On the other hand, the handheld application is programmed to run under the SuperWaba virtual machine using its own API. Both applications are GUI-based single-user systems. Compared to other requirements management tools, Rambutan offers these competitive advantages: • Convenient client application for use in handheld (PDA-class) computers. • Portability between handheld platforms supported by SuperWaba: PalmOS, Windows CE, and PocketPC. The handheld application may also be run on any Java 1.1-compatible devices. • Portability between desktop platforms supported by Java 2 Standard Edition: Windows, Macintosh, and Unix (including Solaris and Linux). • Extensible pattern-based object-oriented design ([Gamm95]). • Open XML-based document format. • Independent from any specific requirements engineering methodology. • Non-restricting Apache-style open-source license. 1.2 User Characteristics Rambutan is targeted toward mobile system analysts that performs extensive data gathering at the client's site during software development. These users typically use a handheld computer to assist their day-to-day tasks and also a desktop/notebook computer for heavier computing activities. 1.3 Product Path 1.3.1 Handheld and desktop applications 4 Chapter 1 – General Description 5 This initial state of the product consists of a handheld and a desktop application for use by a single user. The handheld application maintains data in its own proprietary format on the device. Its desktop counterpart is able to read, modify, and save documents in the handheld format. Natively, the desktop application uses XML DOM to manipulate the requirements document. The XML format used is a subset of the proposed RQML 0.9 specification. 1.3.2 Desktop conduits The next phase will be the development of conduit components that allow the handheld application to carry only a subset of the data available in the desktop version of the requirements document. This will allow the user to maintain large requirement Figure 1.1 Duet of Handheld and documents yet still minimize memory requirements Desktop Applications on the handheld. These conduits should also provide synchronization facilities between the desktop and the handheld. By synchronizing data, the user will be able to edit the same document both in the desktop and in the handheld computers. At synchronization time, data in both of the modified documents will be merged in a record-by-record basis. This synchronization facility is similar to the one provided by PIM applications such as the Palm Desktop. 1.3.3 Collaborative document editing Having attained a high usability for a single user requirement management tool, the next step of the evolution should be in supporting team members involved in requirements engineering. This support will be in the form of collaborative editing of requirements specification documents. Multiple users will be able to concurrently modify the same document at their own computers. Multi-user functionality should be accomplished by using a central repository that stores the requirements docu- ments. Users work on their desktop computers using data downloaded from this central repository. Occasionally, applications on the desktop connect to the repository to receive updates from other team members as well as to commit its own updates to the repository. Handheld application still synchronizes with its desktop counterpart. Figure 1.2 Collaborative Document Editing Thus, the desktop application acts as a middle-tier be- tween the handheld and the repository. Going multi-user also implies that there will be conflicts among the users of the system. These conflicts may range from simple concurrency problems to contradicting requirements even to modifications made by one user that negates the work of another user. Concurrency problems should be solvable by means common in the operating system and database domains – using techniques such as locking, semaphores, and transactions. While problems beyond concurrency are pertained to the problem domain which is requirements engineering. Conflicts on a level higher than concurrency problems are solvable by providing revision control and history functionalities. Each modification of a requirement Chapter 1 – General Description 6 statement is recorded along with the user who performed the modification. Should conflicts arise, the system will be able to provide historical data that assists in conflict resolution. Furthermore, keeping a history of each requirement allows traceability information between requirements to extend into the dimension of time. Additional "nice-to-have" features in this phase might include: • Discussion/messaging facilities. • Group scheduling tools. • Group polling (decision-making) tools. • Shared contact list data (to keep in touch with stakeholders). 1.3.4 On-line multi-faceted requirements management system Requiring the use of desktop applications for collaborative requirement engineering may prove to be inflexible in the long run. Being a thick client, the application must be installed in the user's computer
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]
  • 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í.
    [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]