OKL4 HYPERVISOR SOFTWARE DEVELOPMENT KIT PLUGIN By

OKL4 HYPERVISOR SOFTWARE DEVELOPMENT KIT PLUGIN By

OKL4 Hypervisor Software Development Kit Plugin Item Type text; Electronic Thesis Authors Wolfe, Ryan Joseph Publisher The University of Arizona. Rights Copyright © is held by the author. Digital access to this material is made possible by the University Libraries, University of Arizona. Further transmission, reproduction or presentation (such as public display or performance) of protected items is prohibited except with permission of the author. Download date 25/09/2021 15:58:26 Item License http://rightsstatements.org/vocab/InC/1.0/ Link to Item http://hdl.handle.net/10150/632646 OKL4 HYPERVISOR SOFTWARE DEVELOPMENT KIT PLUGIN By RYAN JOSEPH WOLFE ____________________ A Thesis Submitted to The Honors College In Partial Fulfillment of the Bachelors degree With Honors in Electrical and Computer Engineering THE UNIVERSITY OF ARIZONA M A Y 2 0 1 9 Approved by: ____________________________ Professor Gary Redford UA ENGR 498 Coordinator ABSTRACT The General Dynamics Open Kernel Labs (OKL4) Hypervisor group had the problem of designing a program that will enable users of the OKL4 hypervisor to easily create a hypervisor system. The current method of creating a system was tedious, requiring extensive knowledge of the OKL4 software development kit (SDK) and hard coding Extensible Markup Language (XML) files. To solve this problem, an Eclipse plugin was designed and developed that consolidates, automates, and error-proofs the process of creating an OKL4 hypervisor system. Primarily coded in Java, the developed plugin met all the requirements laid out by General Dynamics. A set of living documents: Technical Data Package (TDP), System Requirements Document (SRD), Software Design Document (SDD), and Acceptance Test Procedure (ATP), were all created to track the functionality and results of the plugin. On top of these documents, the plugin was upkept and version controlled within a GitLab repository, which also contains a comprehensive wiki on how to run and further develop the Eclipse plugin. ROLES & RESPONSIBILITIES Daniel Flores – Contributed to documentation. Xianjun Li – No notable contribution. Victor Reyes – Contributed to documentation and software development namely XML parsing and writing. Ryan Wolfe – Team Lead, responsible for assigning tasks to other group members, contributing to and reviewing documentation, communicating with sponsor, and a large portion of software design and development including creating the initial Eclipse wizard, plugin functionalities, and project management. Kinsleigh Wong – Contributed to documentation, internal organization and communication, and software development namely dynamic VM configuration for the wizard. Table of Contents: 1.0 Scope 1 2.0 System Block Diagram 1 3.0 Technical Data Package 2 4.0 Acceptance Test Procedure 2 5.0 Models / Analysis 2 6.0 Acceptance Test Results 3 7.0 Final Budget 5 8.0 Lessons Learned 5 Appendix 7 A1.0 Introduction 10 ​ A2.0 System Description 10 ​ A3.0 System Architecture and Requirements Traceability 12 ​ A3.1 System Architecture 12 ​ A3.2 File Parser subsystem 12 ​ A3.3 Error Checker subsystem 13 ​ A3.4 Project Management subsystem 13 ​ A3.5 Graphical User Interface subsystem 13 ​ A3.6 System Requirements Decomposition 13 ​ A4.0 Drawings 14 ​ A5.0 Schematics 15 ​ A6.0 System Requirement Document 16 ​ A7.0 Software Design Document 25 ​ A7.1.0 Scope 27 ​ A7.2.0 Referenced Documents 27 ​ A7.3.0 CSCI-wide design decisions 27 ​ A7.4.0 CSCI architectural design 29 ​ A7.5.0 CSCI detailed design 31 ​ A7.6.0 Requirement traceability 37 ​ A7.7.0 Notes 38 ​ A8.0 ATP 39 ​ A5.0 Demonstration Verification 45 ​ A9.0 Models 47 ​ i 1.0 Scope This project meets General Dynamic’s need for a more end-user friendly interface to the Open Kernel Labs 4(OKL4) hypervisor. The proposed design is an Eclipse plug-in that allows the user to configure an OKL4 hypervisor system via a Graphical User Interface (GUI) and produce a bootable image. Major features for the plug-in include the ability to pick and choose configuration options based on a set of valid configurations, requiring real-time error detection. Furthermore, the plug-in provides a project management workspace for OKL4 hypervisor users, allowing them to create new projects, customize previous projects, and import and export. The design developed to meet General Dynamic’s requirements allows for a portable and scalable product. The following sections of the final report will detail the design choices and modules made to complete this project. The ATP will document how the test requirements will be verified. 2.0 System Block Diagram The system is an Eclipse plug-in within Eclipse. The interfaces are between the user, the plug-in, and Eclipse. The user starts by opening up the plugin using Eclipse. The GUI submodule takes in user input such as where the OKL4 SDK directory is located. With this information, the File Parser submodule parses the boards directory and xml schema. Then the GUI populates its list of 1 available user-defined options. As the user enters in their options, the Error Checking submodule does real-time error checking to make sure the user enters valid data. When the user completes customizing their hypervisor system, the XML writer produces a System xml file and the OK Weaver program is run. From these the user receives a bootable image file and the System xml file which can be manually edited. 3.0 Technical Data Package The Technical Data Package(TDP) is a document that describes the design choices made in this ​ project and how these choices verify the requirements. It contains a Top-Level Assembly ​ ​ Drawing, the System Requirements Document(SRD), a Software Description Document(SDD), and the Acceptance Test Procedure(ATP). The ATP will be summarised in the next section. The TDP itself can be found in the appendix. 4.0 Acceptance Test Procedure The Acceptance Test Procedure(ATP) documents the equipment and procedures needed to verify the project’s test system requirements. See the appendix for the complete document. 5.0 Models / Analysis The following is a summary of the models done for the project. The complete models can be found in the appendix. OKL4 Hypervisor Model Summary Name Ref Tool Inputs Outputs Error Checking 4.1.3 Microsoft Word ● User entered ● Error Model Drawing #100,410 configurations message EDM 2.0 ● .rng files FPM 1.0 User Interaction 4.1.2 Microsoft Word ● Configuration ● Bootable file Model Drawing #100,420 options ● system xml FPM 2.0 file File parser model Drawing #100,430 Microsoft Word ● Board .xml files ● Configuration FPM 1.0 ● Example .xml files options ● xml schema 2 Project Drawing #100,440 Microsoft Word ● User selection ● Create new Management model 4.1.1 ● File system project PMU 1.0 ● Open existing PMU 2.0 project ● Save project ● Create project from example xml 6.0 Acceptance Test Results Test requirement 4.4.1 Configuration Retrieval Speed has been tested and passed. The limit is less than 2 seconds and the measured value was 0.248 seconds. Test requirement 4.4.1 was tested by running the Timer.java class to measure the time it took for the selected Machine xml file (imx6ul.xml) to be parsed. It then shows the results on the console. The respective data sheet is shown below: OKL4 Hypervisor SDK Acceptance Test Data Sheet Referenced ATP Paragraph Number: 2.1 - System shall supply user with configuration options in under two seconds. Analysis Referenced: N/A Name of Test: OKL4 error notification speed tests Results (Pass/Fail): Pass Date of Test: 2/10/19 ​ Recording of Test Measurement: Requirement: T = 0.248 seconds < 2 seconds Computations: None needed Signatures: Tester _____Victor Reyes_______ ​ ​ Customer ______Angel Diaz________ ​ ​ 3 Test requirement 4.4.2 Error Notification Speed has been tested and passed. The limit is less than 2 seconds and the measured value was .018 seconds. Test requirement 4.4.2 was tested by running the Timer.java class to measure the time it took to detect erroneous configuration attempts, with the largest time being recorded. It then shows the results on the console. The respective data sheet is shown below: OKL4 Hypervisor SDK Error Notification Speed Test Data Sheet Referenced ATP Paragraph Number: 2.2 - System design portion shall be interactive and notify users of errors in under two seconds. Analysis Referenced: N/A Name of Test: OKL4 error notification speed tests Results (Pass/Fail): Pass Date of Test: 5/5/19 ​ Recording of Test Measurement: Requirement: T = .018 seconds < 2 seconds Computations: None needed Signatures: Tester _____Kinsleigh Wong_______ ​ ​ Customer ______Angel Diaz________ ​ ​ 4 7.0 Final Budget Category Item Sourcing Cost Output Files Freescale Mouser $850 MCIMX6UL-EVKB Single Board Computer (5) Output Files 8 GB SD Card (3) Amazon $16 Team UA Polos (10) University of Arizona $200 Pictures Design Day Design Day Presentation FedEx $50 Materials (Poster) Total Cost $1216 Total Budget $4000 Margin $2884 (72.1%) 8.0 Lessons Learned The major lessons learned throughout the senior design process would be the importance of communication, the importance of making and keeping to a detailed schedule, as well as the importance of producing detailed documentation. Communication was a major issue the first half of the semester, due to the app chosen for communication and our unfamiliarity with each other. The app GroupMe was the initial communication method chosen, which proved to be a subpar decision. Since the project primarily focuses on developing software, most of our time will be spent in front of a computer. Unfortunately, the online desktop version of GroupMe is very clunky and unorganized, and as such, the GroupMe was rarely used. By making communication difficult, people naturally shy 5 away from it, which drops productivity dramatically since nobody feels inclined to put in work if they think nobody else is working. This manifested itself in how we treated the project the first semester, with the latter half of the semester ending with flames for presentations like Critical Design Review, so the decision was made to switch to Slack.

View Full Text

Details

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