GithubHelp home page GithubHelp logo

egamonal / msthesis Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 0.0 10.68 MB

Master's Thesis "Reengineering a content manager for humanoid robots with web technology" - Eduard Gamonal

TeX 74.79% Shell 0.19% JavaScript 3.35% CSS 0.09% HTML 21.57%

msthesis's Introduction

Master thesis

Author: Eduard Gamonal

Degree: Master in Information Technology

University Facultat d'Informàtica de Barcelona, Universitat Politècnica de Catalunya

Dec 18, 2013

Reengineering a Content Manager for Humanoid Robots with Web Technology

UPC Commons http://hdl.handle.net/2099.1/20166

Gamonal Capdevila, Eduard. "Reengineering a Content Manager for Humanoid Robots with Web Technology". Castell, Núria. 2013. http://hdl.handle.net/2099.1/20166. [query: 08-06-15].

Supervisor: Dr Núria Castell Arinyo

Department: former LSI (systems and languages, 2013). currently Department of Computer Science http://www.cs.upc.edu/

This project aims to reengineer a content manager for humanoid robots with web technology at PAL Robotics in order to abandon the current Adobe Flash implementation. This software runs in the robot, displays content applications and handles user interaction.

PAL Robotics humanoid robot REEM-H3. 1.8m, 90Kg: PAL Robotics REEM-H3

Abstract

Software products do not degrade with time or with external factors, but they are continually corrected and extended. Using third-party packages is a common practice and creates a dependency with a vendor, who might stop supporting a product. After a certain amount of time, changes become harder to implement and reengineering might be necessary.

This project aims to reengineer a content manager for humanoid robots with web technology at PAL Robotics in order to abandon the current Adobe Flash implementation. This software runs in the robot, displays content applications and handles user interaction. Users create contents with an external RIA. These might contain buttons, images or text, and have an XML representation. The content manager in the robot loads the content, interprets that XML in order to build a GUI with HTML, and interoperates with the robot's system from the browser.

This thesis formally addresses the reengineering of the software based on Pressman's work, in 6 successive steps: software inventory, documentation restructuring, reverse engineering, code restructuring, data restructuring, and forward engineering.

Firstly, it identifies the functional and non-functional requirements of the project. Secondly, it presents the specification emphasising the first three steps, including a conceptual model, system use cases and sequence diagrams. Thirdly, it describes the internal design of the system in the context of the last three steps. It starts by highlighting the system's architecture, its context and the software patterns. Then, it provides a static view with class and packages diagrams, a dynamic view with sequence diagrams and a physical view with a deployment diagram. Fourthly, it illustrates relevant parts of the implementation with code examples. Lastly, it outlines the testing strategy and implementation.

In conclusion, this master's thesis addresses the reengineering of the content manager and develops the new system with accuracy, creativity and consistency. It applies a systematic approach and uses proven techniques like software patterns and a widely-known architecture.

Acknowledgments

It has been a long journey since the first year at this university. I would like to thank my parents and my sister for their enduring support, understanding and guiding.

This thesis is the work done at PAL Robotics. I owe many thanks to the team that helped me understand the system and a field, robotics, that was new to me. My colleague Eric Marcos and my director Daniel Pinyol guided and supported me specially in the first weeks of this project, and Dr Ricardo Tellez reviewed part of this document and provided valuable insights.

The generous support of my friends during the last weeks is greatly appreciated. They challenged my ideas and suggested changes that have made this document much clearer: Daniel Andersson, Oriol Arcas, Margaux Bigotte, Oriol Collell, Clara Cowley, Jordi Francès, Manuela Hürlimann, Roger Llorens, José Manuel López, Hèctor Manrique, Àlvaro Martínez, Kamilla Nyborg, Marc Rodríguez, and Anna Rosich.

I would like to express my deepest gratitude to the professors in high-school and university that inspired me, showed me that hard work pays off, encouraged me to always pursue bigger challenges, and gave me the opportunity to take semesters at the University of Aberdeen (Scotland) and Northeastern University (Boston, MA).

Finally, I would like to thank my professor Núria Castell for her guidance and support while I completed this work.

License

This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/

msthesis's People

Contributors

egamonal avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.