Android Multimodal Framework for Warehouse Management Application

Android Multimodal Framework for Warehouse Management Application

` Long Hoang Vu Android Multimodal Framework for Warehouse Management Application Metropolia University of Applied Sciences Bachelor of Engineering Information Technology Bachelor’s Thesis 27 October 2019 Abstract Long Hoang Vu Author Android Multimodal Framework for Warehouse Management Title Application Number of Pages 69 pages + 0 appendixes Date 27 October 2019 Degree Bachelor of Engineering Degree Program Bachelor of Information Technology Professional Major Mobile Solutions Instructors Jarkko Vuori, Project Supervisor Tuomas Reunanen, Software Developer The objective of this final year project was to create an Android framework that supports building mobile applications in warehouse environment which can be controlled through both tradition screen display and voice commands. From there, another goal was to create a proof a concept (POC) of a selected warehouse process to evaluate the quality of imple- mented framework. Finally, profound insights were collected from participants in order to decide whether the project was worth continuing. To carry out the work, practical information was gathered from meetings which involved people from different departments in the company. The intention was to discover what the company anticipates in such framework and what criteria it should have to fulfill the require- ments. Then, theoretical knowledge to enforce the framework’s implementation was assem- bled from developers’ experience, programming community’s best practices, and books and blogs from well-known experts. As a result of this study, the framework became one of the top priority projects in company’s milestones. It was expected to be an official development tool for developers to build robust and testable features with both screen and voice interaction. Consequently, the company would be able to distribute stable products in less time while earning more profit, and thus become more competitive in the market. Keywords Android, voice, multimodal, framework, warehouse, logistics Contents 1 Introduction 1 2 Current State Analysis 2 3 Material and Methods 3 3.1 Approach to Project 3 3.2 Multimodal Framework Criteria 4 3.3 Summary 5 4 Theoretical Background 5 4.1 Language and Architecture Criteria 5 4.2 Kotlin 6 4.2.1 What is Kotlin? 6 4.2.2 A Better Alternative to Java 7 4.2.3 Summary 10 4.3 Software Architecture 10 4.3.1 Clean Architecture 10 4.3.2 Model-View-Controller Architecture 13 4.3.3 Flux Architecture 17 4.3.4 Clean, MVC, and Flux Comparison 29 4.3.5 Summary 30 4.4 State Machine 31 4.4.1 State Interface 31 4.4.2 State Classes 32 4.4.3 Delegation to States 34 4.4.4 Summary 34 4.5 Domain Specific Language (DSL) 34 4.5.1 Definition 35 4.5.2 Why DSL? 36 4.5.3 DSL In Kotlin 41 4.5.4 Summary 48 4.6 Reactive Extensions (ReactiveX) 48 4.6.1 Observer Pattern and Reactive Behavior 48 4.6.2 Functional Programming and Composable Behavior 50 4.6.3 Asynchronousity and Threading in Android 51 4.6.4 Summary 58 5 Implementation 58 5.1 Overview 58 5.2 State Input 59 5.3 State Machine 60 5.4 States 61 5.5 Views and Voice 62 5.5.1 State Fragments 62 5.5.2 Voice Interfaces 63 5.6 Summary 64 6 Conclusion 65 References 66 List of Abbreviations WMS Warehouse Management System. A software application that is designed to support and optimize warehouse functionality and distribution center management. UI User Interface. The means by which the user and a device interact. POC Proof of Concept. An evidence that shows a business proposal, design idea, etc. will work, usually based on an experiment or a pilot project. OOP Oriented-object programming. A programming paradigm that bases on concept of objects encapsulating data, logic, functionalities within them- selves. IDE Integrated Development Environment. A software suite that consolidates basic tools required to write and test software. ORM Object-relational Mapping. A technique that converts data between object- oriented model and relational database. MVC Model-View-Controller. An architectural pattern that separates an applica- tion into three main logic components: model, view and controller. MVP Model-View-Presenter. An architectural pattern that separates an applica- tion into three main logic components: model, view and presenter. MVVM Model-View-View Model. An architectural pattern that separates an appli- cation into three main logic components: model, view and view model. SQL Structured Query Language. A domain specific language that is used in programming for managing data held in a relational database management system. XML Extensible Markup Language. A markup language that is used to share data across different system, such as Internet. TLS Transport Layer Security. A cryptographic protocol that provides end-to- end security of data sent between applications over the Internet. JSSE Java Secure Socket Extension. A set of Java packages that enable secure Internet communications. IO Input / Output. A communication between an information processing sys- tem, such as computer, and the outside world, possibly a human or another information processing system. FRP Functional Reactive Programming. A language paradigm that is used for describing dynamic information. JVM Java Virtual Machine. A virtual machine that enables a computer to run Java as well as programs written in other languages that are also compiled to Java bytecode. 1 1 Introduction Optiscan is a company who provides Warehouse Management System (WMS) based on Voice and barcode technologies to optimize logistics processes in warehouse, man- ufacturing and post operations. With over 30 years of experience in logistics business, the company has been succeeding in delivering high quality solutions that mainly focus on customer’s productivity. However, since the customer base has grown quite rapidly in recent years and customization requirements are different from one warehouse pro- cess to another, continuously providing qualified, maintainable and fully tested software has become a problem that needed to be addressed. From a technology perspective, a solid and comprehensible architecture should be im- plemented so that developers could utilize to build robust and testable application. In order to achieve this goal, it was crucial for the architecture to contain a business-driven workflow separating visual part, or what user see and interact with, from business logic, or rules that constrains software functionalities. Also, from a business rationale, including a demand for increased profitability and flexibility in deliveries, a new technology was required to improve operators’ work in warehouse. This technology should consist of a possibility to use voice recognition as additional user interface (UI) in traditional handheld application, a possibility to use wearable technologies such as smart glasses or smart watch as augmented UI devices and a possibility to deploy business logic to new, evolv- ing technology innovations, as they come available in the market. Therefore, the objec- tive of this final year project was to create a proof of concept (POC) of a selected ware- house process to evaluate the quality of implemented framework. As a result, a written report was conducted to analyze key design patterns of the archi- tecture followed by strengths and weaknesses that the architecture has offered in terms of business goals and development productivity. Finally, recommendations based a list of findings would be added for future development and enhancements. 2 2 Current State Analysis As mentioned above, software quality is one of the essential factors that lead to the de- velopment of the project since there are quite a few problems regarding this area that needs to be addressed. It is well known that business logic is the backbone of an app that provides actual benefits to users and Android is somewhat a tool to deliver it. There- fore, it is vital for the company to ensure the logics behave correctly and hence needs several tests to cover as many use cases as possible. However, the very first problem preventing that from happening is a lack of proper architecture, which leads to a lack of testing. In fact, without a well-defined plan, every part of the code is highly tied together and cause writing test immensely complex. Consequently, instead of creating small and specific tests focusing on individual use cases, developers now must integrate unrelated Android platform codes involving external resources such as real devices and addition libraries into those tests. This not only introduces a large learning curve to new develop- ers but also makes even experienced developers, who have already been familiar to the project, either miss an edge case or break an existing feature when dealing with a mas- sive change. Besides, it is such an exhausted job to have someone perform manual testing every time completed feature or bug fix is completed and be sure all functionalities are still working as before. Apart from technical details, competitive market is also the reason why the project is strongly pushed forward. That said, Global eCommerce business has put new requirements for logistics industry, including demand for increased profitability and flexibility in deliveries. For WMS, this means, among others, need to introduce new technologies to improve human operator work in warehouses, including smart glasses and wrist displays. However, it will be a challenge for the company if they want to bring some of the functionalities to such devices because the code base is only implemented for handheld applications and not customizable enough to move to another platform and for some solutions such as voice, the product often ends up including expensive external licensed software and exclusive hardware devices. Thus, with an early adoption of An- droid platform, the company has decided to use this advantage by starting an in-house Android multimodal project that will not only fit the demands nicely but also offer devel- opers a chance to have their hands on new and evolving technologies.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    75 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us