Simulation and Optimization User Interface:A Flex Application

Total Page:16

File Type:pdf, Size:1020Kb

Simulation and Optimization User Interface:A Flex Application Henry Efor Simulation and Optimization User Interface: A Flex Application Helsinki Metropolia University of Applied Sciences Bachelor of Engineering Information Technology Bachelor’s Thesis 4 March 2011 Author Henry Efor Title Simulation and Optimization UI (A Flex Application) Number of Pages 54 pages + 10 appendices Date 4 March 2011 Degree Bachelor of Engineering Degree Programme Information Technology Specialisation option Software Engineering Jaana Holvikivi, Principal Lecturer Instructors Taru Sotavalta, Language Instructor Jussi Rasinmaki, Instructor The goal of this project was to explain the steps taken to create a Graphical user interface (GUI) for the SIMO forest management-planning framework. This was achieved using the Flex Flash builder. The SIMO UI was built as a client-server. The method used in the project was to devise an experimental model that would make it easy to build the GUI with fewer codes and still makes it flexible and easy to maintain in the near future.Mapping the XML directly with the components model was finally used since it is the only popular method used frequently in encoding and decoding XML documents. The results obtained showed that the Flex Adobe datagrid was not fully developed for the project and as such, I had to create a custom datagrid, the datasheet. Furthermore, as at the time of building the GUI, there was no credible way to work with namespaced XML. This problem was later solved through a series of research and writing custom-components to suit the application.In conclusion, the goal of the project was achieved, flexibility and maintainability, but at the expense of excess codes. Keywords SIMO, XML, FXG, MXML, RIA, VM, GUI, DOM, AVM, UI, UX 3 Contents 1 Introduction............................................................................................................................... 4 2 Theoretical Background.......................................................................................................... 5 2.1 Flex Overview.................................................................................................................................................... 5 2.2 Rich Internet Application (RIA)................................................................................................................. 7 2.3 ActionScript 3.0 ................................................................................................................................................ 8 2.4 MacroMedia XML and MXML...................................................................................................................... 9 3 Flex 4 Features ........................................................................................................................11 3.1 Themes...............................................................................................................................................................11 3.2 Spark Components ........................................................................................................................................12 3.3 Flash XML Graphics (FXG) .........................................................................................................................13 3.4 States...................................................................................................................................................................13 3.5 Groups and Layout ........................................................................................................................................14 3.6 Skins ....................................................................................................................................................................14 3.7 Localization ......................................................................................................................................................15 3.8 Events..................................................................................................................................................................17 3.9 Architecture .....................................................................................................................................................19 4 Flex 4: Controls and Containers...........................................................................................20 4.1 Containers.........................................................................................................................................................20 4.2 Controls..............................................................................................................................................................21 5 SIMO User Interface Development Cycle and XML Documents ....................................22 5.1 The SIMO DataSheet .....................................................................................................................................24 5.2 The Model..........................................................................................................................................................26 5.2.1 Mapping XML Documents Using XML Schema Documents......................................................26 5.2.2 Mapping XML Documents Using A Mapper As Library ........................................................30 5.2.3 Mapping XML Documents Directly As Data Source ...............................................................31 5.3 Parameter Table UI.......................................................................................................................................32 6 Discussion ................................................................................................................................50 7 Conclusion................................................................................................................................54 References ...................................................................................................................................55 Appendices ..................................................................................................................................59 Appendix 1-The SIMO UIs MECHANISM .....................................................................................................59 Appendix 2- The parameterWindow.mxml ...............................................................................................60 4 1 Introduction In the summer of 2010, I started my internship with simosol Oy. Simosol Oy is a company established in 2008 that helps its clients in better decision-making about forests by building software that adapts to the needs of the client. The company is into the consulting and training of farmers so that they would increase their investment and reduce operation costs. In achieving these goals, I was faced with the task of building the User Interface of the simulation and optimization (SIMO) framework. SIMO is a forest management-planning framework that helps the client to build different forest growth and yield simulators coupled with optimization methods and applying the combination to the management of forestry. The SIMO framework project was first developed at the department of Forest Resource Management at the University of Helsinki. The project is a joint one with other agencies such as UPM-KYMMENE LTD, Tornator Oy, Metsämannut Oy, and Metsähallitus Forestry Development Center Tapio. SIMO is an open-source project that is written in Python and as such, runs on various platforms as Windows, Linux and OS X.Simosol Oy is now the maintainer and main developer of SIMO. The goal of this project is to explain the steps taken to create a Graphical user interface (GUI) for the SIMO forest management-planning framework. This will be achieved using the Flex Flash builder and Action script. The SIMO UI is built as a client-server. The server would be responsible for the management of XML documents by serving the XML documents to the client and will store them once the client returns the modified XML document. It will also do structural and content validation for the XML documents. The server part is outside the scope of this project. The project will concentrate on the client side development. 5 2 Theoretical Background Before the steps taken to build the SIMO UI are explained, it is worthwhile to discuss the tool used in achieving the task. Simosol Oy wanted to use the same codebase for both web and desktop applications. In addition, the company wanted to do this quickly using a framework that already has a rich set of ready UI controls and components a framework that is extensible and design-friendly. There was only one framework that could do that – Flex. I had never worked with Flex but I soon realized that it is easy to use and it is convenient to build a Rich Internet Application (RIA) that can be deployed on both web and desktop. In this chapter, I will explain the Flex framework. The Flex framework is a stack of classes that makes it easy to build rich-client side applications on top of the Action script implementation. Action script classes are compiled into byte code that runs within flash virtual machine (VM). The framework has already built-in containers, layouts, and controls that are all implemented in Action script. The framework gives the programmer access to the source code for the entire Flex framework and extend those components if the programmer has a special need since the source
Recommended publications
  • Advances in the Application of Information and Communication Technologies in Healthcare at the Patient's Home
    Advances in the application of information and communication technologies in healthcare at the patient's home Valentina Isetta Aquesta tesi doctoral està subjecta a la llicència Reconeixement- CompartIgual 3.0. Espanya de Creative Commons. Esta tesis doctoral está sujeta a la licencia Reconocimiento - CompartirIgual 3.0. España de Creative Commons. This doctoral thesis is licensed under the Creative Commons Attribution-ShareAlike 3.0. Spain License. ADVANCES IN THE APPLICATION OF INFORMATION AND COMMUNICATION TECHNOLOGIES IN HEALTH CARE AT THE PATIENT'S HOME Memòria presentada per Valentina Isetta per optar al títol de Doctora Director de la tesi: Dr. Ramon Farré Ventura Unitat de Biofísica i Bioenginyeria Facultat de Medicina Universitat de Barcelona If you put your mind to it, you can accomplish anything. Marty McFly, “Back to the future”, 1985 ACKNOWLEDGMENTS I would like to thank all the people that supported me in these intense years of work. First of all, my gratitude goes to Prof. Ramon Farré, for his solid trust since my early beginning in Barcelona and for seeing in me a researcher that I never imagined I could be. Many thanks to Dr. Josep M. Montserrat, for his irreplaceable mentoring in the clinical world and for his advice and affection. Thanks also to all his medical and nursing staff of the Sleep Lab of the Hospital Clinic of Barcelona, where I have learned a lot and I have felt as another team member. A special thank to Carmen Lopez, for her affectionate help and splendid work to create “Petits a casa”. Without her tenacity and the collaboration of all nursing and medical staff of the Hospital de Sant Pau Neonatology department this successful service to the community would not exist.
    [Show full text]
  • Modern Javascript: Develop and Design Larry Ullman
    TEMPORAry SPINE WIDTH: 0.000” Designer-Developers are hot commodities today. But how do you build your development chops fast enough to join their ranks? With Peachpit’s Develop and Design series for visual learners. Modern Modern JavaScript DEVELOP AND DESIGN Modern JavaScript JavaScript IT’S TIME FOR A CURRENT, DEFINITIVE JAVASCRIPT BOOK, “A breath of fresh air in the over-complicated and in this comprehensive beginner’s guide, bestselling author world of JavaScript books. This is one I’ll keep DEVELOP AND DESIGN close by!” Larry Ullman teaches the language as it is implemented today. Jay Blanchard Larry demonstrates how to build upon JavaScript’s ease of use, Web developer and consultant and author of while demystifying its often-cryptic syntax, especially for those Applied jQuery: Develop and Design who have not programmed before. This book enforces modern JavaScript’s best practices and embraces key Web development THIS BOOK INCLUDES: approaches such as progressive enhancement and unobtrusive J Easy step-by-step instruction, ample scripting. The author demonstrates loads of real-world code illustrations, and clear examples DEVELOP and makes it freely available for download. J Real-world techniques to build your You’ll learn about JavaScript itself and the relationship between skills JavaScript and HTML. Next you’ll explore variables, common J Insight into best practices from a operators, and control structures. Then you’ll create functions, veteran Web expert AND handle events, and do more with HTML forms. You’ll master J Emphasis on strategies for creating Ajax, work with frameworks, and use JavaScript with PHP to reliable code that will work on all of create a complete example.
    [Show full text]
  • Marketing Cloud Published: August 12, 2021
    Marketing Cloud Published: August 12, 2021 The following are notices required by licensors related to distributed components (mobile applications, desktop applications, or other offline components) applicable to the services branded as ExactTarget or Salesforce Marketing Cloud, but excluding those services currently branded as “Radian6,” “Buddy Media,” “Social.com,” “Social Studio,”“iGoDigital,” “Predictive Intelligence,” “Predictive Email,” “Predictive Web,” “Web & Mobile Analytics,” “Web Personalization,” or successor branding, (the “ET Services”), which are provided by salesforce.com, inc. or its affiliate ExactTarget, Inc. (“salesforce.com”): @formatjs/intl-pluralrules Copyright (c) 2019 FormatJS Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    [Show full text]
  • Rich Internet Applications
    Rich Internet Applications (RIAs) A Comparison Between Adobe Flex, JavaFX and Microsoft Silverlight Master of Science Thesis in the Programme Software Engineering and Technology CARL-DAVID GRANBÄCK Department of Computer Science and Engineering CHALMERS UNIVERSITY OF TECHNOLOGY UNIVERSITY OF GOTHENBURG Göteborg, Sweden, October 2009 The Author grants to Chalmers University of Technology and University of Gothenburg the non-exclusive right to publish the Work electronically and in a non-commercial purpose make it accessible on the Internet. The Author warrants that he/she is the author to the Work, and warrants that the Work does not contain text, pictures or other material that violates copyright law. The Author shall, when transferring the rights of the Work to a third party (for example a publisher or a company), acknowledge the third party about this agreement. If the Author has signed a copyright agreement with a third party regarding the Work, the Author warrants hereby that he/she has obtained any necessary permission from this third party to let Chalmers University of Technology and University of Gothenburg store the Work electronically and make it accessible on the Internet. Rich Internet Applications (RIAs) A Comparison Between Adobe Flex, JavaFX and Microsoft Silverlight CARL-DAVID GRANBÄCK © CARL-DAVID GRANBÄCK, October 2009. Examiner: BJÖRN VON SYDOW Department of Computer Science and Engineering Chalmers University of Technology SE-412 96 Göteborg Sweden Telephone + 46 (0)31-772 1000 Department of Computer Science and Engineering Göteborg, Sweden, October 2009 Abstract This Master's thesis report describes and compares the three Rich Internet Application !RIA" frameworks Adobe Flex, JavaFX and Microsoft Silverlight.
    [Show full text]
  • THE FUTURE of SCREENS from James Stanton a Little Bit About Me
    THE FUTURE OF SCREENS From james stanton A little bit about me. Hi I am James (Mckenzie) Stanton Thinker / Designer / Engineer / Director / Executive / Artist / Human / Practitioner / Gardner / Builder / and much more... Born in Essex, United Kingdom and survived a few hair raising moments and learnt digital from the ground up. Ok enough of the pleasantries I have been working in the design field since 1999 from the Falmouth School of Art and onwards to the RCA, and many companies. Ok. less about me and more about what I have seen… Today we are going to cover - SCREENS CONCEPTS - DIGITAL TRANSFORMATION - WHY ASSETS LIBRARIES - CODE LIBRARIES - COST EFFECTIVE SOLUTION FOR IMPLEMENTATION I know, I know, I know. That's all good and well, but what does this all mean to a company like mine? We are about to see a massive change in consumer behavior so let's get ready. DIGITAL TRANSFORMATION AS A USP Getting this correct will change your company forever. DIGITAL TRANSFORMATION USP-01 Digital transformation (DT) – the use of technology to radically improve performance or reach of enterprises – is becoming a hot topic for companies across the globe. VERY DIGITAL CHANGING NOT VERY DIGITAL DIGITAL TRANSFORMATION USP-02 Companies face common pressures from customers, employees and competitors to begin or speed up their digital transformation. However they are transforming at different paces with different results. VERY DIGITAL CHANGING NOT VERY DIGITAL DIGITAL TRANSFORMATION USP-03 Successful digital transformation comes not from implementing new technologies but from transforming your organisation to take advantage of the possibilities that new technologies provide.
    [Show full text]
  • Making Speech Recognition Work on the Web Christopher J. Varenhorst
    Making Speech Recognition Work on the Web by Christopher J. Varenhorst Submitted to the Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degree of Masters of Engineering in Computer Science and Engineering at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY May 2011 c Massachusetts Institute of Technology 2011. All rights reserved. Author.................................................................... Department of Electrical Engineering and Computer Science May 20, 2011 Certified by . James R. Glass Principal Research Scientist Thesis Supervisor Certified by . Scott Cyphers Research Scientist Thesis Supervisor Accepted by . Christopher J. Terman Chairman, Department Committee on Graduate Students Making Speech Recognition Work on the Web by Christopher J. Varenhorst Submitted to the Department of Electrical Engineering and Computer Science on May 20, 2011, in partial fulfillment of the requirements for the degree of Masters of Engineering in Computer Science and Engineering Abstract We present an improved Audio Controller for Web-Accessible Multimodal Interface toolkit { a system that provides a simple way for developers to add speech recognition to web pages. Our improved system offers increased usability and performance for users and greater flexibility for developers. Tests performed showed a %36 increase in recognition response time in the best possible networking conditions. Preliminary tests shows a markedly improved users experience. The new Wowza platform also provides a means of upgrading other Audio Controllers easily. Thesis Supervisor: James R. Glass Title: Principal Research Scientist Thesis Supervisor: Scott Cyphers Title: Research Scientist 2 Contents 1 Introduction and Background 7 1.1 WAMI - Web Accessible Multimodal Toolkit . 8 1.1.1 Existing Java applet . 11 1.2 SALT .
    [Show full text]
  • Zen Flash Gallery Userguide
    Zen Flash Gallery version 1.1 User Guide 0 Contents Starting the Work 2 Publishing the gallery on your website 2 Configuring the Gallery 4 XML File Format 5 Gallery Parameters 6 Localization 8 1 Starting the Work To start working simply paste object’s HTML into your page and setup xml configuration file. You can place configuration file anywhere on your server. Publishing the gallery on your website To ensure smooth operation of a gallery on your website you need to have the following files: 1. SWF-file (GalleryName.swf) – flash gallery file 2. XML-file (gallery.xml) – gallery configuration file 3. HTML-file (GalleryName.html) – this file shows how to paste the gallery code into the HTML-page on your site where you plan to use the gallery. 4. <Images> folder where you should place your images. 5. SWFObject.js – a special JavaScript for the correct display of your gallery. In the gallery distribution file (the downloaded archive) there is already a working example for which you can change the settings as you see fit and upload it to your site. Let’s analyze the gallery publishing procedure step by step: 1. On your computer open the folder where you extracted the gallery distribution file. 2. Copy an image that you want to use in your gallery to <Images> folder (some sample images are saved there already, which you may delete). 3. Set the appearance of your gallery, define the path to the images in your gallery and write the names of the files with your images in the settings file (XML-file).
    [Show full text]
  • Slideshowpro for Flash Customization Guide
    SlideShowPro for Flash Customization Guide (Version 1.8.x) Contents Introduction.......................................................................................................................................................................................3 Customization.basics....................................................................................................................................................................4 How.to:.SlideShowPro.for.Flash.Button.Packs..................................................................................................................5 How.to:.Custom.navigation.buttons...................................................................................................................................... 7 How.to:.Embed.SWF.in.a.separate.HTML.document.....................................................................................................9 How.to:.External.navigation.....................................................................................................................................................12 How.To:.Change.default.English.text....................................................................................................................................13 How.to:.Prevent.XML.caching................................................................................................................................................. 14 How.to:.Dynamically.assign.an.XML.file..............................................................................................................................15
    [Show full text]
  • Enterprise Development with Flex
    Enterprise Development with Flex Enterprise Development with Flex Yakov Fain, Victor Rasputnis, and Anatole Tartakovsky Beijing • Cambridge • Farnham • Köln • Sebastopol • Taipei • Tokyo Enterprise Development with Flex by Yakov Fain, Victor Rasputnis, and Anatole Tartakovsky Copyright © 2010 Yakov Fain, Victor Rasputnis, and Anatole Tartakovsky.. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://my.safaribooksonline.com). For more information, contact our corporate/institutional sales department: (800) 998-9938 or [email protected]. Editor: Mary E. Treseler Indexer: Ellen Troutman Development Editor: Linda Laflamme Cover Designer: Karen Montgomery Production Editor: Adam Zaremba Interior Designer: David Futato Copyeditor: Nancy Kotary Illustrator: Robert Romano Proofreader: Sada Preisch Printing History: March 2010: First Edition. Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of O’Reilly Media, Inc. Enterprise Development with Flex, the image of red-crested wood-quails, and related trade dress are trademarks of O’Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information con- tained herein.
    [Show full text]
  • Third Party Library Attributions
    Third Party Library Attributions Table of Contents 1. Summary 2. PureWeb® Software Third Party Library Attributions 3. PureWeb iOS Client Libraries 3.1. Cocoa Lumberjack Framework 3.2. Sodium Crypto Library 4. ResolutionMD Server Libraries 4.1. Apache Commons 4.2. Apache PDFBox 4.3. Apache HttpComponents 4.4. Arial Unicode Font 4.5. Auto 4.6. Boost 4.7. Bootstrap 4.8. Cairo 4.9. CanJS 4.10. Curl 4.11. dcm4che2 4.12. dcm4che3 4.13. dcm4che5 4.14. DCMTK 4.15. Drools Expert 4.16. Eclipse Implementation of JAXB 4.17. Eclipse Metro 4.18. Eclipse ORB 4.19. Eclipse Project for JAX-WS 4.20. FFmpeg 4.21. FreeMarker 4.22. Freetype 4.23. FTGL 4.24. Glew 4.25. google-api-java-client 4.26. google-api-java-client-services 4.27. google-code-prettify 4.28. google-http-java-client 4.29. google-oauth-java-client 4.30. grcp-java 4.31. guava 4.32. html5shiv 4.33. HAPI 4.34. ICU 4.35. ITK 4.36. Java implementation of JSON Web Token (JWT) 4.37. Jersey 4.38. Joda-Time 4.39. jQuery 4.40. jQuery File Upload Plugin 4.41. jQuery Hashchange 4.42. jQuery UI 4.43. JSON Web Token support for the JVM 4.44. jsoup Java HTML Parser 4.45. Lo-Dash 4.46. libpng 4.47. llvm 4.48. logback 4.49. Mesa 3D Graphics Library 4.50. minizip 4.51. PixelMed 4.52. opencensus-java 4.53. requirejs 4.54. SLF4J 4.55. wysihtml5 4.56. zlib 5.
    [Show full text]
  • Flex Create Application
    FFLLEEXX -- CCRREEAATTEE AAPPPPLLIICCAATTIIOONN http://www.tutorialspoint.com/flex/flex_create_application.htm Copyright © tutorialspoint.com We'll use Flash Builder 4.5 to create Flex Applications. Let's start with a simple HelloWorld application: Step 1 - Create Project The first step is to create a simple Flex Project using Flash Builder IDE. Launch project wizard using the option File > New > Flex Project. Now name your project as HelloWorld using the wizard window as follows: Select Application Type Web runsinAdobeFlashPlayer if not selected and leave other default values as such and click Finish Button. Once your project is created successfully, you will have following content in your Project Explorer: Here is brief description of all important folders: Folder Location table table- bordered Source code mxml/asclasses files. We've created com/tutorialspoint/client folder structure containing the client-side specific java classes responsible for client UI display. bin-debug This is the output part, it represents the actual deployable web application. history folder contains support files for history management of Flex application. framework_xxx.swf, flex framework files to be used by flex application. HelloWorld.html, wrapper/host HTML File for flex application. HelloWorld.swf, our flex based application. playerProductInstall.swf, flash player express installer. spark_xxx.swf, library for spark component support. swfobject.js, javascript responsible to load HelloWorld.swf in HelloWorld.html. It checks flash player version and passes initialization parameter to HelloWorld.swf file. textLayout_xxx.swf, library for text component support. html- template This represents the configurable web application. Flash Builder compiles files from html-template to bin-debug folder. history folder contains support files for history management of Flex application.
    [Show full text]
  • Sample Chapter
    Sample Chapter Hello Flex 4 Peter Armstrong MANNING Hello! Flex 4 by Peter Armstrong Chapter 3 Copyright 2010 Manning Publications Brief contents 1GETTING STARTED 1 2ACTIONSCRIPT 3, XML, AND E4X 25 3HELLO SPARK: PRIMITIVES, COMPONENTS, FXG AND MXML GRAPHICS, AND EVEN VIDEO 50 4SPARK CONTAINERS, VIEW STATES, EFFECTS, AND STYLING 89 5HALO FLEX 4: USING DATAGRID, NAVIGATOR CONTAINERS, AND POPUPS 121 6BUILDING USER-FRIENDLY FORMS USING FLEX FORMATTERS AND VALIDATORS 136 7CAIRNGORM IN ACTION: SOCIALSTALKR (TWITTER + YAHOO! MAPS)157 3 Hello Spark: primitives, components, FXG and MXML graphics, and even video n this chapter, you’ll start learning Spark, which is the new set of components, containers, and I graphics primitives in Flex 4. This will be a “how- to” chapter: we’ll save diving into the Spark component model until the next chapter (which discusses view states, containers, CSS styling, and skinning). This chapter provides enough examples of using Spark that when it comes time to tackle the theory you’ll have plenty of examples in your head. In four of the five workshop sessions in this chap- ter, we’ll build a fairly small, self-contained Tes- ter.mxml app that has all the code in the example. In session 14, however, I’ll mix things up a little: we’ll build an “Only Connect” game (that bears strong resemblance to a certain trademarked game). We’ll start with a game board that I drew in Adobe Illustrator and saved as FXG. (I’m pro- viding the FXG file I created, so you don’t need to have Adobe Illustra- tor.) We’ll then build a fully functioning game based on this FXG, before 50 SESSION 11 Spark primitives 51 refactoring it and then adding logic for detecting victory.
    [Show full text]