UCOSPJohnZwiepSemesterProject

Kevin Brightwell edited this page Aug 26, 2015 · 2 revisions
Clone this wiki locally

Overview

This semester my work was focused around the Umplificator and various services that we could use to collect, display, and analyze data about the Umplification process.

Deployment Instructions

Get Prerequisites

1. Set UMPLIFY_DIR environment variable on the target machine

  • Set the an environment variable, UMPLIFY_DIR, with an absolute path to the directory where you want all the Github projects downloaded to

2. Build dlproj

  • Grab the code: git clone https://github.com/umple-ucsop/dlproj
  • Build the project: cd ./build && ant -Dmyenv=local
  • Copy dist/dlproj.jar to your desired destination directory on the target machine

3. Build the Umplificator

  • Grab the code: svn checkout http://umple.googlecode.com/svn/trunk/ umple-read-only
  • Build the Umplificator: ant -Dmyenv=local -f build.umple.xml build-umplificator
  • Copy the Umplificator from the dist directory the desired destination directory on the target machine

4. Setup the Web UI

  • Grab the code: git clone https://github.com/umple/umplifyonline.git
  • Use your preferred web server to serve up the public directory
    • For testing I use PHP's builtin server: php -S localhost:8080

Run

1. Download a set of Github projects

  • Copy the script from the UmplifyProjectList page
  • Paste it into a text editor on the desired host, and save it
  • To run the downloader, simply run the script. It will download all the projects into the directory specified by UMPLIFY_DIR

2. Get Umplificator scores for each project

  • Find the script the the checkedout Umple source here: <umple_dir>/cruise.umplificator/scripts/umplificator_all_projects.sh
  • Start the script with the following command: umplificator_all_projects.sh ~/umplificator.jar (Where ~/umplificator.jar is the path to your umplificator jar)
    • The script will score all the projeccts found in your UMPLIFY_DIR directory

What I Did

Next Steps

  • Create an Umple (java) service to replace the project download script
    • i.e. a service to find, schedule, and execute projects to download
  • Create an Umple (java) service to replace the scoring script
  • Add more features to umplify online
    • Misc. UI improvements
    • Trends
    • Access to Umplificator logs for each project
    • Data visualization tools
  • Continual improvements to the Umplificator using the test data collected from this project