lab 1 - power play product description€¦  · web viewpower play was conceived and developed by...

24
Running head: LAB 1 – POWER PLAY DESCRIPTION 1 Lab 1 - Power Play Product Description Addy Alago Old Dominion University CS411W Janet Brunelle January 8, 2017 Version 1

Upload: others

Post on 29-Feb-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lab 1 - Power Play Product Description€¦  · Web viewPower Play was conceived and developed by the Old Dominion University 2016 CS 410 group. Power Play seeks to provide a gamified

Running head: LAB 1 – POWER PLAY DESCRIPTION 1

Lab 1 - Power Play Product Description

Addy Alago

Old Dominion University

CS411W

Janet Brunelle

January 8, 2017

Version 1

Page 2: Lab 1 - Power Play Product Description€¦  · Web viewPower Play was conceived and developed by the Old Dominion University 2016 CS 410 group. Power Play seeks to provide a gamified

LAB 1 – POWER PLAY DESCRIPTION 2

Contents

1 Introduction.....................................................................................................................3

2 Power Play Product Description ..................................................................................5

2.1 Key Product Features and Capabilities..........................................................................5

2.2 Major Components (Hardware/Software).....................................................................6

Major Functional Components Diagram.........................................................................6

3 Identification of Case Study...........................................................................................7

Current Process Flow.......................................................................................................7

4 Power Play Product Features and Capabilities..........................................................10

4.1 Prototype Architecture (Hardware/Software)..............................................................10

Object Hierarchy............................................................................................................11

4.2 Prototype Features and Capabilities.............................................................................11

4.3 Prototype Development Challenges............................................................................13

5 Glossary.........................................................................................................................14

References..........................................................................................................................15

Page 3: Lab 1 - Power Play Product Description€¦  · Web viewPower Play was conceived and developed by the Old Dominion University 2016 CS 410 group. Power Play seeks to provide a gamified

LAB 1 – POWER PLAY DESCRIPTION 3

1 Introduction

Every major corporation relies on history to make decisions. This can take many forms, from

quarterly earnings reports, to performance metrics. These certainly play a big role in predicting

future behavior and making decisions. A company may make what appears to be a minor change

in a product, only to find that it causes an unexpected downturn in that products sales. Over

many iterations of history, decisions are honed and fine-tuned. The problem, of course, is that

history takes time to play out.

In 2002, the United States Army had an interesting idea. They developed America’s

Army, a video game of the first person shooter genre. The game was built with the intention of

enticing teenagers to consider the Army as a possible career path. Although originally meant as a

recruiting tool, it was quickly realized that this game could be used as a tool for simulation and

training. The Army was able to build multiple scenarios and study multiple iterations of how

that same scenario would play out. They could also add variables to see how it would affect the

outcomes of these scenarios. The result was obviously beneficial. In a relatively short amount a

time, the Army could gather multiple data points about how certain soldiers would handle

different scenarios or how the same soldier would handle similar scenarios. This allowed them

to develop plans which would lead to predictable best outcomes without the time requirement or

resource consumption.

Power Play seeks to be a similar platform for the power industry and other industries with

similar simulation needs. Power Play was conceived and developed by the Old Dominion

University 2016 CS 410 group. Power Play seeks to provide a gamified front end for power

plant management decisions. These decisions will be fed into the Spark Simulation Engine to

provide analyzable results that can be used by power plant managers to determine best practices.

Page 4: Lab 1 - Power Play Product Description€¦  · Web viewPower Play was conceived and developed by the Old Dominion University 2016 CS 410 group. Power Play seeks to provide a gamified

LAB 1 – POWER PLAY DESCRIPTION 4

The simulation allows plant managers to accumulate multiple data points over multiple users,

and through analysis, these data points can guide future decisions.

In order to for this platform to be successful it must be easily accessible and user friendly.

The web based platform chosen for this project allows it to be used across any device with a

browser. The platform will also provide analyzable results and allow for multiple scenarios so

that data can be collected for decisions across a variety of situations.

Power Play is being developed by Team Black composed of project manager Addy Alago

and team mentor Nathapon Songchiakyou. David Heeschen is the database engineer for the

project. The research team consists of Terrel Kittrell, Ryan Rusnak, and Jack Elder. Algorithm

and UI development is spearheaded by Trai Corte and Nicholas Benfield.

Page 5: Lab 1 - Power Play Product Description€¦  · Web viewPower Play was conceived and developed by the Old Dominion University 2016 CS 410 group. Power Play seeks to provide a gamified

LAB 1 – POWER PLAY DESCRIPTION 5

Lab 1 - Power Play Product Description

2.1 Key Product Features and Capabilities

Power Play will be a gamified version of common power plant decisions. The user will

log in as one of three roles: user, analyst and administrator. A user will log in and play the game.

Upon logging in, they will be greeted by a welcome page with gaming statistics and notable

milestones in their play history, otherwise known as “achievements.” Upon starting a scenario,

the user will be provided with scenario details. These details are meant to prepare and guide the

player’s decisions by providing information on what events will be simulated. The player will

then be greeted with a map of power plants under their care. The map can be drilled down to

specific power grid regions or specific power plants. Several changes will need to be made to

the power plants or regions in order to prepare for the provided scenario. Once these changes are

finalized, the player will submit these changes to the simulator, and an outcome will be modeled

by the Spark Engine, the results of which will be fed back to the front end to be displayed to the

player. After one or multiple rounds, the player will be scored on a number of factors including

plant uptime, productivity, profitability, environmental impact and others.

The analyst role will provide reports and data that can be used to analyze the results. The

decisions leading to best outcomes can then be used to guide real life decisions.

The admin role will allow for user creation and deletion as well as other maintenance

tasks. Future versions of this project will add the ability to load different scenarios.

Page 6: Lab 1 - Power Play Product Description€¦  · Web viewPower Play was conceived and developed by the Old Dominion University 2016 CS 410 group. Power Play seeks to provide a gamified

LAB 1 – POWER PLAY DESCRIPTION 6

2.2 Major Components (Hardware/Software)

Power Play is being developed as a web app. This will allow Power Play to be flexible and

operate on any modern browser.

Power Play will use a Flask web framework with a Python back end. Mongo will be used

for our database.

Lastly the Spark Simulation Engine, provided by Dr. Mamadou Seck, will drive all

simulation.

Major Functional Components Diagram.

Page 7: Lab 1 - Power Play Product Description€¦  · Web viewPower Play was conceived and developed by the Old Dominion University 2016 CS 410 group. Power Play seeks to provide a gamified

LAB 1 – POWER PLAY DESCRIPTION 7

3 Identification of Case Study

This product is primarily being built for Dominion Power. They are a power company

headquartered in Richmond, VA with plants in of West Virginia, Ohio, Pennsylvania, eastern

North Carolina, Wisconsin, Indiana, Illinois, Connecticut, Rhode Island, and Massachusetts

(Dominion Power, 2017). The Power Play system can be adopted for other businesses with

similar simulation and training needs. Dominion Power follows an annual planning process.

This process is cyclical in nature. Forecasting is generated based on the previous year’s

performance and historical year over year performance. The previous year’s operational

performance, financial performance, reliability performance, and production efficiency are

measured against the baseline set by historical year over year performance. This information

guides decision making for the following year to improve upon these four categories. Forecasting

creates reports on expected results. The decisions are put into effect, observed, and documented,

before repeating the entire process at the end of the year.

Current Process Flow.

Page 8: Lab 1 - Power Play Product Description€¦  · Web viewPower Play was conceived and developed by the Old Dominion University 2016 CS 410 group. Power Play seeks to provide a gamified

LAB 1 – POWER PLAY DESCRIPTION 8

This system is not necessarily ineffective. In fact, because of its reliance on known

historical outcomes, it is a very safe way to operate. Decisions reached will not have a large

variance in effects from their historical counterparts. The system does, however, preclude the

possibility of experimentation in decision making. This is good because experimentation can also

cost money, and time, and in some cases can be disastrous.

The system is also rigid and inflexible. This system does not deal with rapid changes

particularly well. If new legislation is enacted, it may change the impact of some of the decisions

made for the year, and in these cases decisions must be made ad-hoc to deal with the new

variables. This would render any decision making model obsolete. In a study conducted by

Strategy&, 57 percent of global energy company executives said “current market models are

already broken and the need for new approaches to deal with a rapidly altering and volatile

business landscape is urgent (Earl, Leslie, Shuva, & Daniel, 2015).” A survey conducted by

McKinsey Global actually found that the more decisions in an average corporation are made

outside of any annual process than within one (Garbuio, Lovallo, & Viguerie, 2009).

By moving decisions from an annual process, to a real time simulator, Power Play

presents two main benefits. Several different scenarios can be modeled and tested through many

different variations of decisions in a short amount of time. The old model is reliant upon

historical data. If a new situation comes about (for example a new piece of legislature is passed),

decisions are effectively made with no baseline. Power Play can create a simulation around the

new piece of legislature, players can then experiment with different ways to tackle the problems

presented. This allows a baseline to be generated in a very short amount of time instead of years.

The other benefit is that experimentation on different scenarios can be done quickly and

with little expense. A power company may not want to make a potentially risky or untried

Page 9: Lab 1 - Power Play Product Description€¦  · Web viewPower Play was conceived and developed by the Old Dominion University 2016 CS 410 group. Power Play seeks to provide a gamified

LAB 1 – POWER PLAY DESCRIPTION 9

decision to tackle a problem due to the cost involved with experimenting in a real environment.

Power Play allows those decisions to be trialed at no expense.

Page 10: Lab 1 - Power Play Product Description€¦  · Web viewPower Play was conceived and developed by the Old Dominion University 2016 CS 410 group. Power Play seeks to provide a gamified

LAB 1 – POWER PLAY DESCRIPTION 10

4 Power Play Product Features and Capabilities

In order to demonstrate the benefits of the Power Play system to corporate decision

makers, the prototype will incorporate the main features and capabilities mentioned in section

2.1 of this document. This will provide proof that the Power Play system can provide results that

can be used in statistical analysis in order to improve decision making. The prototype will

provide the front end of Power Play, and database storage for accumulated data. It will also

demonstrate gameplay behavior for individual rounds played on the system.

4.1 Prototype Architecture (Hardware/Software)

Power Play is being developed on a single virtual machine provided by the Old Dominion

University Computer Science Department. The Virtual Machine will run Ubuntu 14.04 LTS and

host an Apache 2 web server as well as a Mongo Database. In our prototype a single Virtual

Machine will host the database, web front end, and python back end needed for the entire

project.

The front end will be developed using AJAX. The Google maps API will be used for all

mapping functionality (Google, 2017). Design will include a power plant object with several

user modifiable data fields. A region object will be a container of several power plants, and will

include its own variables in order to track several regional changes between simulation rounds. A

state container will hold several regions and track changes at the state level.

Page 11: Lab 1 - Power Play Product Description€¦  · Web viewPower Play was conceived and developed by the Old Dominion University 2016 CS 410 group. Power Play seeks to provide a gamified

LAB 1 – POWER PLAY DESCRIPTION 11

Object Hierarchy.

Algorithms will be simple with getters and setters for these 3 objects. A simulate algorithm will

push these values to the simulation engine and get new values. There will also be algorithms to

verify “achievements,” or personal game milestones, have been reached.

4.2 Prototype Features and Capabilities

The Power Play prototype will demonstrate the following features and capabilities:

Page 12: Lab 1 - Power Play Product Description€¦  · Web viewPower Play was conceived and developed by the Old Dominion University 2016 CS 410 group. Power Play seeks to provide a gamified

LAB 1 – POWER PLAY DESCRIPTION 12

Table 1

Feature List

Features RWP PrototypePlayer FeaturesPlant retirement ✔ ✔ Plant can be deactivatedPlant refurbishment ✔ ✔ Plant can be refurbishedPlant construction ✔ ✔ New plants can be constructed by playerViewable resources ✔ ✔ Resources will be displayed in top info barViewable Environmental Impact ✔ ✔ Viewable by plant, state and region displaysViewable Earnings ✔ ✔ Viewable on top info bar

Administrative FeaturesCreate game scenarios ✔ ! partially implementedCreate and remove player accounts ✔ ✔ Accessible through admin controlsReset collected data ✔ ✔ Accessible through admin controlsAccess player game results ✔ ! partially implementedPlayer update notification ✔ ✔

Analysis FeaturesViewable decision data ✔ ✔ Accessible through Analyst pageViewable event collection data ✔ ✔ Accessible through Analyst pageViewable data collection by type ✔ ✔ Accessible through Analyst pageDownloadable data by region ✔ ✔ Accessible through Analyst pageDownloadable data by date ✔ ✔ Accessible through Analyst page

Note: Creating game scenarios will be partially implemented. The hope is for the final product to

be able to load multiple scenario but for the scope of this prototype there will only be one

preloaded scenario. Accessing game results will also be partially implemented. The finished real

world product will contain robust reporting features with analysis of game results. For the scope

of this prototype, reports will just show raw data with no analysis. The reason for this is that the

analysis will depend on data from our customer, Dominion Power, which will not be made

available in time for this prototype.

Page 13: Lab 1 - Power Play Product Description€¦  · Web viewPower Play was conceived and developed by the Old Dominion University 2016 CS 410 group. Power Play seeks to provide a gamified

LAB 1 – POWER PLAY DESCRIPTION 13

4.3 Prototype Development Challenges

Team Black is facing a number of development challenges. Integration with the simulation

engine may prove to be difficult. Dr. Seck and his team has provided few details as to what data

the engine will be looking for and in what format. It is also possible that the simulation engine

will not be ready in time to integrate with Power Play’s prototype. This challenge is being

mitigated by hardcoding the inputs and outputs of the simulation engine for the prototypes use.

The other development challenge is that we are using several technologies that the team

does not have experience with. Mongo, Google Maps API, and Flask in particular are

technologies that the majority of the team has not used previously. This is being mitigated by

taking boot camp courses on Udemy (Salvatierra, 2017) to learn some of these technologies prior

to the coding phase.

Page 14: Lab 1 - Power Play Product Description€¦  · Web viewPower Play was conceived and developed by the Old Dominion University 2016 CS 410 group. Power Play seeks to provide a gamified

LAB 1 – POWER PLAY DESCRIPTION 14

5 Glossary

Flask: Flask is a micro framework for Python based on Wekzeug and Jinja 2 (Armin, 2017).

Python: Python is an interpreted, object-oriented, high-level programming language with

dynamic semantics. Its high-level built in data structures, combined with dynamic typing and

dynamic binding, make it very attractive for Rapid Application Development, as well as for use

as a scripting or glue language to connect existing components together. Python's simple, easy to

learn syntax emphasizes readability and therefore reduces the cost of program maintenance.

Python supports modules and packages, which encourages program modularity and code reuse.

The Python interpreter and the extensive standard library are available in source or binary form

without charge for all major platforms, and can be freely distributed (Python Software

Foundation, 2017).

PHP: PHP is a widely-used open source general-purpose scripting language that is especially

suited for web development and can be embedded into HTML.

Javascript: an object-oriented computer programming language commonly used to create

interactive effects within web browsers.

MongoDB: MongoDB is an open source, document-oriented database designed with both

scalability and developer agility in mind. Instead of storing your data in tables and rows as you

would with a relational database, in MongoDB you store JSON-like documents with dynamic

schemas (MongoDB, Incorporated, 2017).

Page 15: Lab 1 - Power Play Product Description€¦  · Web viewPower Play was conceived and developed by the Old Dominion University 2016 CS 410 group. Power Play seeks to provide a gamified

LAB 1 – POWER PLAY DESCRIPTION 15

AJAX: AJAX stands for Asynchronous JavaScript and XML. AJAX is a new technique for

creating better, faster, and more interactive web applications with the help of XML, HTML, CSS,

and Java Script. Ajax uses XHTML for content, CSS for presentation, along with Document

Object Model and JavaScript for dynamic content display.

Spark Simulation Engine: Spark Simulation Engine is a system being created to model and

simulate different power distribution scenarios and events. This will provide the back end to the

Power Play Project.

Page 16: Lab 1 - Power Play Product Description€¦  · Web viewPower Play was conceived and developed by the Old Dominion University 2016 CS 410 group. Power Play seeks to provide a gamified

LAB 1 – POWER PLAY DESCRIPTION 16

6 References

Armin, R. (2017). Flask Overview. Retrieved from Flask.org: http://flask.pocoo.org/

Dominion Power. (2017, February 4). Dominion Power company Profile. Retrieved from

https://www.dom.com/about-us/company-profile

Earl, S., Leslie, H., Shuva, C., & Daniel, W. (2015, November 20). Retrieved from Strategy&:

http://www.strategyand.pwc.com/reports/utilities-preparing-for-growth

Garbuio, M., Lovallo, D., & Viguerie, P. (2009, January). Mckinsey & Company Strategy &

Corporate Finance. Retrieved from

http://www.mckinsey.com/business-functions/strategy-and-corporate-finance/our-

insights/how-companies-make-good-decisions-mckinsey-global-survey-results

Google. (2017). Google.com. Retrieved from Google Maps:

https://enterprise.google.com/maps/products/mapsapi.html

MongoDB, Incorporated. (2017). https://www.mongodb.com/. Retrieved from

https://www.mongodb.com/: https://www.mongodb.com/

Python Software Foundation. (2017). What is Python? Executive Summary. Retrieved from

python.org: https://www.python.org/doc/essays/blurb/

Salvatierra, J. (2017). REST APIs with Flask and Python. Retrieved from Udemy.com:

https://www.udemy.com/rest-api-flask-and-python/