A Mobile Application for Power System Analysis

A Mobile Application for Power System Analysis

A MOBILE APPLICATION FOR POWER SYSTEM ANALYSIS A Project Presented to the faculty of the Department of Computer Science California State University, Sacramento Submitted in partial satisfaction of the requirements for the degree of MASTER OF SCIENCE in Computer Science by Sarang Satish Deshpande FALL 2016 © Fall 2016 Sarang Satish Deshpande ALL RIGHTS RESERVED ii A MOBILE APPLICATION FOR POWER SYSTEM ANALYSIS A Project by Sarang Satish Deshpande Approved by: __________________________________, Committee Chair Dr. Pinar Muyan-Ozcelik __________________________________, Second Reader Dr. Mahyar Zarghami ____________________________ Date iii Student: -Sarang Satish Deshpande I certify that this student has met the requirements for format contained in the University format manual, and that this project is suitable for shelving in the Library and credit is to be awarded for the project. __________________________, Graduate Coordinator ___________________ Dr. Ying Jin Date Department of Computer Science iv Abstract of A MOBILE APPLICATION FOR POWER SYSTEM ANALYSIS by Sarang Satish Deshpande The purpose of this project is to design an educational software that teaches the design and analysis of electric power systems using mobile platforms. To the best of our knowledge, no mobile platform exists for this purpose yet. This project examines the desktop-based application used by CSUS-EEE students (called RadiRing) for electric power systems and makes a subset of the functionalities of this application available on mobile devices. Some of the existing functionalities of RadiRing [14] app include drawing components of an electric power system such as bus, branch and shunt elements and connecting these components to each other. The app also allows user to move the connected components on screen. To implement similar application using mobile technology, a Java-based cross- platform mobile application environment called Codename One (CN1) is used. The advantage of CN1 is that the application written in this framework can run on various v mobile devices with different operation systems (i.e., Android, iOS, Windows). Hence using CN1 shortens the development time of the project and increases the usability of the educational app in this project. The project uses several different implementation techniques including Model View Controller architecture, Observer design pattern, and event-driven and interactive techniques such as pointer handling and component repainting. _______________________, Committee Chair Dr. Pinar Muyan-Ozcelik _______________________ Date vi ACKNOWLEDGEMENTS I would like to express gratitude to my advisor Dr. Pinar Muyan-Ozcelik for the opportunity to work on this project, providing guidance and constant supervision. This project significantly broadened my knowledge on Java and CodeName One Development. I, again, thank her for continuously providing the feedback, help and support to complete the project successfully. In addition, I would like to thank Dr. Mahyar Zarghami for his willingness to serve on the committee and give me the opportunity to work on this project. I would like to thank my family and friends, for their co-operation and encouragement. I would also like to thank the entire faculty and staff of the Department of Computer Science Engineering at California State University, Sacramento. vii TABLE OF CONTENTS Page Acknowledgements ..................................................................................................... vii List of Figures ………………………………………………………………………x Chapter 1. INTRODUCTION .....................................................................................................1 2. RADIRING DESKTOP APPLICATION ..................................................................3 3. CODENAME ONE ....................................................................................................5 3.1 Codename One Development Basics ..................................................................5 3.1.1 Why Build Servers? ..................................................................................7 3.1.2 Lightweight UI ..........................................................................................7 3.1.3 Installation of Codename One in Eclipse ..................................................7 3.2 Access Native Device Functionality ...................................................................9 3.3 Creating Project with Codename One ...............................................................10 4. TECHNIQUES ........................................................................................................14 4.1 Implementing Project with Codename One ......................................................14 4.2 MVC Architecture .............................................................................................15 4.3 Observer Pattern ................................................................................................17 4.4 Component Repainting .....................................................................................20 4.5 Pointer Handling ...............................................................................................21 5. ORGANIZATION – UML DIAGRAM ..................................................................24 6. EXECUTION RESULTS ........................................................................................26 viii 6.1 Screen Shots of the app on iOS Skin ................................................................26 6.2 Screen Shots of the app on Android Skin .........................................................29 7. CONCLUSION ........................................................................................................32 8. FUTURE WORK .....................................................................................................33 References ....................................................................................................................34 ix LIST OF FIGURES Figures Page 1. RadiRing Application ..................................................................................................... 3 2. Main Components of Codename One framework .......................................................... 6 3. Install Plugin ................................................................................................................... 8 4. Add Repository ............................................................................................................... 8 5. Setup Wizard Codename One ......................................................................................... 9 6. New Project ................................................................................................................... 10 7. New Project Wizard ...................................................................................................... 11 8. Select Project Name ...................................................................................................... 11 9. Setting a Package Name................................................................................................ 12 10. Default Project Structure............................................................................................. 12 11. Default HelloWorld Codename One App ................................................................... 13 12. MVC Architecture ...................................................................................................... 15 13. General Structure of MVC .......................................................................................... 17 14. Code Snippet of HPSPodel that extends Observable .................................................. 18 15. Code Snippet of HPSView that implements Observer ............................................... 19 16. Code Snippet of HPSController that Registers the Observer ..................................... 19 17. Code Snippet of paint() Method ................................................................................. 21 18. Code Snippet that Shows Implementation of pointer press Event .............................. 22 19. Code Snippet that Shows Implementation of pointer dragged Event ......................... 23 20. UML Diagram ............................................................................................................. 25 x 21. Initial View On iOS .................................................................................................... 26 22. Placing Components on Screen (iOS)......................................................................... 27 23. Dragging these Components to Different Location (iOS) .......................................... 28 24. Initial View on Android .............................................................................................. 29 25. Placing Components on Screen (Android) ................................................................. 30 26. Dragging these Components to Different Location (Android) ................................... 31 xi 1 Chapter 1 INTRODUCTION A Power System Analysis application or similar tool is not available on Play Store [1], App Store [2] or Windows Store [3] based on search options used on respective stores. There are only some basic electric circuit design applications, which can be useful to power related courses. RadiRing is a desktop-based application used for power system analysis at Sacamento State. This app has been used for educational purposes in courses such

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    47 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