presentations the week of the final exams. Anyone who misses the appointment will receive a grade of zero.

Similar documents
TEXAS CHAPTER AMERICAN SOCIETY OF LANDSCAPE ARCHITECTS 2019 PROFESSIONAL AWARDS GUIDELINES

Security System. User Guide for the LED Command Center

design on demand

DryLINK TRAINING Phoenix DryMAX XL and DryLINK

Monitor Alarms and Events

Energy Audit. This guide is for a 6 month Silver Award project. It is suitable for both group and individual volunteering.

EnergyGauge USA Release Notes

ArchestrA Direct Connect

Setting up and Managing Alarms in McAfee ESM 10.x

Monitor Alarms and Events

Before you install ProSeries Express Edition software for network use

Security System. User s Guide for the Text Command Center

DI220 Using the Optional Docking Station The maintenance and operating functions of the Micro IV can be automated with the Micro IV Docking Station.

Manage Alert Rules & Teams

2000 Series. Program Entry Guide. Control Panels

PORTAL USER MANUAL. Mobeye WaterGuard-FS. Float sensor CM2300FS. SW version 5.n

FIR 3305, Fire Protection Structure and Systems Course Syllabus. Course Description. Course Textbook. Course Learning Objectives.

2018 CALL FOR ENTRIES: DESIGN AWARDS

User s Guide. SUB-MA7240O-0001.OG.Solution doc. Created: 6/05/03. Last Updated: 23/09/03. MA7240AO-0001 Version 1.0

ZX1e ZX2e ZX5e. Document No Issue 01 user manual

D6500 reports are shown in typewriter style letters. For example, AC FAILED indicates the report sent when the panel reports an AC power failure.

Energy Conservation. Enterprise Community Partners GREEN & HEALTHY LIVING : Resident Engagement Training in a Box 06

Chapter 6. Alarm History Screen. Otasuke GP-EX! Chapter 6 Alarm History Screen 6-0. Alarm History Screen 6-1. Display Alarm History in List 6-2

TSP-6: Solar Water Heater

7:00AM 1:00AM ET 7:00 AM 12:00AM ET

Fall 2018 ECE608 Computational Models and Methods

FlameGard 5 UV/IR HART

SimpleComTools, LLC 1

Alarm User Guide IGSS Version 9.0

Advanced Digital Signal Processing Part 4: DFT and FFT

DEVELOPMENT OF THE TANGO ALARM SYSTEM

Installing ProSeries 2005

1 In Standby, (Calendar) > Highlight a date > 2 Appointment/ToDo > Select items to set

Halton SAFE / 7.14 user guide and installation instructions

Graded Project. National Electrical Code

AnthropologischeGesellschaftWien. Model Building. Gabriel Wurzer, Vienna University of Technology

Ion Gateway Cellular Gateway and Wireless Sensors

Alarms and Events. Defining Alarm Conditions. Database-Generated Alarms

THERMOSYS 4.3. Getting Started Guide

General The Dryer Programmer for Windows Computers

Operating, Installation and Service Manual W3400H, CLC 41 Clarus Control

Alarms Updated 03/26/2018

WHAT HAPPENS NEXT FOR ADT SMART BUSINESS CUSTOMERS

Avigilon Control Center 5 System Integration Guide

Smart Combiners Installation Guide. For Obvius A89DC-08 sensor modules

Platform Services BACnet Alarm Management

Operating manual. Wascator FOM71 CLS

IMS Operation Manual. Version 1.1. Phonetics, Inc.

All classes begin at 1:00 p.m. and end approximately 4:30 p.m. Eastern Time

Oracle Communications Performance Intelligence Center

Digiplex LED Keypads User s Manual

STUDY AND TEST MATERIAL FOR THE. FA2 and FA4 ASSESSMENTS. (Fire Alarm On-Site and Business Cert. Holder) June 14, 2017

Using ANM Mobile CHAPTER

Lesson #3 Your Energy Budget How much energy are you wasting?

Niagara4 Technical Certification Program Student Guide DAY 1 DAY 2

Experion PKS Operator Course EXP01R201 06/2004 Rev 01

Laptop / PC Programming Manual

An Introduction to NetLogo

Students will engage in presentations, readings, and hands-on activities to make positive changes in their daily lives.

ite the correct module for the programme for which they have registered. 1 April in first semester and 1 September in second semester

Installing ProSeries software for stand-alone use

Control System Studio - CSS - Alarm Handling

COMP201: Software Engineering I. Assignment 1, Part 1 (2017/2018) (100% mark for Assignment 1 is 10% of COMP201 grade)

Monitoring Operator Guide. Access Control Manager Software Version

Student Exploration: Seed Germination

Signing Up... 1 Logging in for the First Time... 2 The Search Panel... 3

Fusion Alarm System USER GUIDE

Theory And Technology Of Materials. professor CARLO CONVERTINI

[ [ ADMIN PANEL USER GUIDE

Network Hardware and wiring (quiz)...

Alarm Manager Plug-in

Reciprocating Chiller

ALARM SYSTEM USER S MANUAL Rev

DOD FIRE SERVICE CERTIFICATION SYSTEM LESSON PLAN 7. Fire Alarm and Communication

Friends and Family Test

Storage Basics. P. J. Denning For CS471/ , P. J. Denning

Table of Contents. i-vu CCN Standard 4.2

Alarm System Example

VEEDER-ROOT CURRENT DATA STORAGE INTERFACE MANUAL. for. TLS-300 and TLS-350 UST Monitoring Systems. and

COMPUTER ENGINEERING PROGRAM

LARC160 Introduction to Landscape Architecture (3 credits)

Temperature Controller CC24-7 UNIBOX USER S MANUAL Legion Dr. Mason, MI USA October 2010 Ph. (517) Fax (517)

A: The last radiators might not be able to heat the rooms they serve on the coldest days of the year. Your system would be out of balance.

Font should be size 12 and Times New Roman or Arial.

CONFERENCE TORONTO

Evaluation of the Incon TS-LLD Line Leak Detection System

Section 9 System Operation

Construction Set: Smart Home

D Implementation of a DEMO system related to Smart Fault Management in LV network (normal/storm conditions)

Smoke Layer Height and Heat Flow through a Door

PageOne 2-way Pager Assured 2-way messaging for critical communications

Recognizing excellence in landscape architectural design, planning and analysis, communications, and research.

Avigilon Control Center 5 System Integration Guide

STEMSEL Beginners Project 1: Alarm System

EXPERT TRI-STAR. Temperature controller. User s Manual

Operation Manual Fighter ProVision Software. Version: 0.0 Revision: 1

The Bonsai Handbook. The Bonsai Handbook

Time and Place Monday/Wednesday/Friday 10:10-11:00 Spaulding 230 Lab: Mondays 1:10-4:00 James Hall G45

Pack Calculation Pro. Users guide. Version Morten Juel Skovrup

Contents. Introduction. Basic use... pg 3. App settings: Main Menu... pg 6. App settings: Profile Sub-menu... pg 7

Transcription:

CS 116 Section 4 PROJECT Spring 2016 Grade: Up to 12 points. Rules: To be worked on individually. Must be presented to the instructor in person in order to be graded. Similar projects will both receive a grade of zero regardless as to who did the actual work. Therefore giving your files to someone else will cost you the grade also. Due Date: 04/28 11:59PM on Blackboard Presentation in person on Friday 4/29 as per the times slots schedule to be decided during the second week of April. You will pick a slot during the class times on 04/11 and 04/13. Time slots are awarded on first come first served basis. Your presentation will last about 10 minutes. If you cannot make any of the available slots, then let the instructor know before 04/15. After that date no accommodations will be made. During the presentation to the grader, you will be asked to run the program on your laptop. If it runs, then present a hard copy of the program and other documentation required to the grader and be prepared to answer questions about your coding. Lack of understanding of the design and the code presented will result in a zero grade! You can get partial credit based on your design and your code even if your classes are not compiled or the project is not producing the correct result ( in this case your presentation could last slightly longer). You should be able to explain your work. No project presentations the week of the final exams. Anyone who misses the appointment will receive a grade of zero. Upload all files on Blackboard two hours minimum before your presentation session starts. You can t make any changes after the submission. You must work this project by yourself. No groups are allowed. Ask for help early enough. You can work with me the TAs and/or ARC. There will be lectures devoted to the project intermittently over the weeks of April 11 th and April 18 th. 1

WHAT TO PRESENT AND SUBMIT A PowerPoint file that has a diagram that shows your classes and their relationships and other information required (as described in the deliverables section) The source code files. The compiled files (unless your program does not compile). PROJECT DESCRIPTION Design a multi-object application using inheritance. 1 1. Requirements Document for a Power Usage Simulation System - Read this article on "Smart appliances learning to save power grid" to get the context for this project. http://www.msnbc.msn.com/id/21760974/ 2. You will consider two types of appliances in your power usage simulation system; Regular and Smart appliances. Regular appliances can have two states: on and off states. These states are self-explanatory. Whereas the Smart appliances can have three states: on, low, off states. In the Low state, the smart appliances is more energy efficient and uses a lower wattage than in the On state. The appliances will use zero wattage in their off state. Note that appliances that are on or low, can be switched to off state only by doing a brown out which is explained below. This means that a regular appliance can be turned off only if the location is being browned out. 3. An appliance consists of a type (string), the "on" wattage used (integer), the "low" wattage used (integer; only for smart appliances), the probability (floating point, i.e..01=1%) that the appliance is "on" at any time, the location (represented by an 8 digit numeric account number), and a unique, system-generated appliance ID. Multiple appliances are at each location, and duplicate appliances can be at the same location (each appliance with its own unique appliance ID). Appliances can either be regular or smart. Smart appliances (if "on") can sense the load on the power grid and reduce their average wattage used by switching to the low state, which uses lower power. Note: The file ApplianceDetail.txt provided with the project has a sample list of different types of appliances. The code ApplianceGenerator.java (also provided with the project) uses this file, to generate an input file which your application should use to read in the appliances their location information. 4. A Power Usage Simulation System needs to be able to manage a collection of appliances (both regular and smart). A user should be allowed to find, add and delete an appliance, or 1 Acknowledgement: Originally prepared by Matt Bauer 2

use an input file to add appliances. Note these options are for users to manually add appliances. Once the simulation starts, the user will not have an option to change their devices. 5. A user also should be able to view subsets of appliances (all appliances for a location, or all appliances of a particular type across all locations). The user should be able to view a summary report of the total number of locations, and total number of each appliances of each type. 6. Finally, using the Power Usage Simulation System, the user will be able to run a simulation loop for a user specified time length. This simulation loop will determine in each time interval the total wattage on the power grid by summing the wattage used by each appliance (if an appliance is "on" or not is determined by its probability). If the total wattage exceeds the user defined warning level for the grid, the simulation must determine which "on" smart appliances to low (reduce the power) for that interval, while minimizing the noticeable effect on each location. In extreme cases, turning off the power to particular locations for an interval may be necessary (a brown out). When the next interval starts, each appliance's "on"/"off" status is again determined by its probability of being on. The simulation system must publish a report of which appliances/locations were effected during each interval. Implement (and create additional Test Cases for this class) the simulation part of the Power Usage Simulation System o Prompt the user for a wattage warning level for the grid. o Allow the user to take (or change) the default simulation time length (24 hours), and the default simulation timing interval (5 minutes). o Run the simulation and apply your algorithm to manage the appliances to keep the usage below the wattage warning level. o When the simulation is complete, output the following: A summary report to the screen the total number of locations effected in each interval for the entire simulation run, and the max effected location. A detailed report to a file containing the appliances/locations were effected during each interval. Idea for a power control algorithm: Note: you are not required to use this idea. You can come up with your own. However your power control idea should make sense it should not randomly pick appliances and turn them to low and off state. Step1: Sort the on smart appliances in a decreasing order of its power consumption and start changing their state to low until the maximum allowed power is reached. If this is possible, then you are done. Otherwise you need to do the brown out in step 2 3

Step 2: Sort the locations in an increasing order based on the number of appliances in the locations. Now start browning out the locations starting with the locations that have the smallest number of appliances. Continue doing this until you reach the maximum allowed power. Some background: Discrete Event Simulator You will be using the concept of discrete event simulation to simulate the power usage. A Discrete Event Simulator uses a computer program (basically a loop counting some time intervals, minutes for example) to simulate time moving forward and random arrival and handling of some sort of event. So every iteration of the loop is equal to one time interval, and we will randomly generate the time the next event will occur. When we reach that time, we will handle the event (here just count it and output it) and generate the time for the next event. A random exponential integer will tell us how many minutes till the next event, the interval between events time (this time can be zero!). A sample code for discrete simulation is provided along with the project in EventSimulator.java. Use this code for your project as you see fit. Sample run of EventSimulator.java How many minutes long is the simulation? 100 Minute:0 Event#1 Minute:2 Event#2 Minute:6 Event#3 Minute:6 Event#4 Minute:17 Event#5 Minute:17 Event#6 Minute:22 Event#7 Minute:36 Event#8 Minute:42 Event#9 Minute:42 Event#10 Minute:42 Event#11 Minute:43 Event#12 Minute:45 Event#13 Minute:57 Event#14 Minute:58 Event#15 Minute:58 Event#16 Minute:73 Event#17 Minute:96 Event#18 Number of events = 18 4

Deliverables 1. Create slides in Powerpoint with the following information o Design info: A design for the project using class diagram designs Create Class Diagrams for all the requirements. Show the associations between the classes Add Attributes to the Class Diagrams. Create appropriate test cases (tables with short descriptions; as you did for lab 6). o A description of your algorithm to change the status from on to low for smart appliances and strategy to brown out locations. 2. Source code 3. Compiled code Submission Zip all files mentioned in the deliverables section and name the zip file using your last name followed by your first name followed by the name of the assignment i.e. Doe_Jane_Project.zip Upload the zip file on the Project folder on Blackboard. Q & A for the project Updated 04/07 (Will update if I get more questions) 1. How do we know where the appliances are located? Where do we get location from? (data not in generator) The input file contains the location of each 5

appliance, the location (represented by an 8 digit numeric account number). 2. In the simulation report, does the final report need to list appliance affected individually or as a final number? Both a detail report and summary report of which appliances/locations were effected during each interval is required. 3. Do you have an algorithm to determine the brown-out location? or do we code that? You have to come up with an algorithm to determine the brown-out location. 4. What are the restrictions on the amounts of appliances we need to use? What is the limit on how many appliances? Default 10,000 appliances, but also allow the user to set differently when simulation starts. 5. What should be the upper/lower bound limit for the time interval of the simulation length? Let's just do one day, 24 hours. Default interval length is 5 minutes, but also allow the user to set differently when simulation starts. 6. How will the input file be formatted, what delimiter? See the ApplianceGenerator.java with its input file ApplianceDetail.txt. This generates a comma delimited input file. 7. Should the user be allowed to set wattage limit to zero? no 8. What is the report for and how detailed should it be? The user should be able to view a summary report of the total number of locations, and total number of each appliances of each type. Also, the simulation system must publish a report of which appliances/locations were effected during each interval. Both a detail report and summary report of which appliances/locations were effected during each interval is required. 9. How do we know the time interval of "off"? At the start of each interval, get the "probability on" number from each appliance (for example.2 or 20% on), call the random number generator, if it returns a number <=.2, the appliance is on during that interval, otherwise it is off during that interval. 10. Should user be allowed to set different values on appliances? Yes 11. Is there user-defined time movement? Yes, the simulation interval is user defined, take a default of 5 minutes. 12. How would the user delete/add objects during simulation? All add/deletes need to be completed before a simulation run. 13. What criterion should be used for adding input; ApplianceId, location or Appliancetype? See the ApplianceGenerator.java with it's input file ApplianceDetail.txt. This generates a comma delimited input file. Also, therequirements Document specifies data types, any probabilities should be between 0 and 1, any wattage usages should be >=0. 6

14. Is it ok to just make the appliancetype static in each class so that everytime an Appliance object or SmartAppliance object is created, it automatically has its type set. No, Appliance Types are read in from the input file 15. How is the probability determined for each smart device for each new run of the simulator? The on / off probabilites and percentage saved by smart are read in from the input file, and can be changed by the user before a simulation run. But are not changed within the simulation run. 16. How will each appliance have a unique system id? Your system must assign the appliance IDs as they are created. We know one method to do this using a static counter. 17. How do we decide whether to turn off the power to a smart device, or it is just going to be a random choice? That is up to you to determine. A random choice is one approach, but there are other systematic ways that might do a better job. 18. How is the report supposed to be published? Write to a text file. 19. How are we supposed to know the load the plant can handle? User input 20. Do we have to read an input file or insert it manually? Yes you will need to support both reading the input file and allowing the user to add/delete/update appliances manually. 21. Are we supposed to make a sub class for regular appliances Yes you should use inheritance 22. Can we find subsets of appliances i.e form a new array every time or write a search algorithm? Yes, but you may start to see problems with memory limits. 23. The range of time length should be pre-defined or prompt the user to define it at the beginning of the program? Let's just do one day, 24 hours. Default interval length is 5 minutes, but also allow the user to set differently when simulation starts. 24. What about the range of interval? the integer interval should be allowed to be as short as 1 minute and as long as 15 minutes 25. What is the maximum number of appliances available at a certain time? Default 10,000 appliances, but also allow the user to set differently when simulation starts. 26. If the total wattage exceeds the user defined warning level, the system will turn off, then should system send the detail information of the grid (like which is the highest wattage consumer)? No, the system should just determine which smart appliances or brown outs are necessary to bring the demand down (and record what was done for reporting) 27. When the total wattage get closed to the user-defined warning level, should the system prompt the user for reaction, or should a precaution procedure to be 7

innate built inside the program? Messages are nice, but no user interaction should be necessary within the simulation run. 28. Do all smart appliances decrease power by the same amount? How do we know what each appliance decreases by when turns to smart power if they all don't decrease by the same amount? No, each smart appliance type has its own reduction in wattage used percentage. This is given in input file, or user defined if an appliance is manually added/changed. 29. When is a 'Brown Out' necessary? It is for your system to determine if you think it is "better" to shut an entire location off, or to just try to manage with smart appliance control. 30. Can Smart Appliance be turned to off status? Only if you "brown out" the location. 31. Should the report being published at the end of the simulation contain the wattage the appliance used before it was caused to turn off and its new off wattage, etc. or just what appliances and locations wattages were decreased? just what appliances and locations wattages were decreased 32. Should the user be able to modify an existing appliance's information? Yes 33. Since a user can add/delete appliances, would it be a good idea to have a few smart appliances that are permanent so that way a user can't try to create regular appliance only locations? Not necessary to control this, let the user change appliances as they want. 34. It states that a brown out is possible in extreme cases, is it possible to cause all the locations to turn off, 'black out' or should it be coded in a way to prevent the situation? No it is not necessary to handle this special case 35. How many types of appliances are being used and what are they? Default 10,000 appliances, but also allow the user to set differently when simulation starts. See the ApplianceGenerator.java with it's input file ApplianceDetail.txt. This generates a comma delimited input file. 36. It is mentioned that the Power Usage Simulation System tells which Smart Appliances to change to low status due to the data found in the simulation. If this process is supposed to minimize the noticeable effect on each location, does each appliance have a different tolerance that should be associated with it or is it assumed that all Smart Appliances relatively use the same amount of power so all minimized effects are standardized? It is up to you to determine if certain appliance types should have different tolerance levels for being turned down. See the ApplianceGenerator.java with it's input file ApplianceDetail.txt to see the list of available appliance types. 37. Is the goal to keep as many appliances on at each location possible or would it be just as acceptable to completely shutdown all appliances at a single location in order to keep appliances on in another? It is for your system to determine 8

if you think it is "better" to shut an entire location off, or to just try to manage with smart appliance control. 38. It is understood that the user specifies the total length of the simulations but does the user also specify the time intervals or are those randomly decided by the simulator? Let's just do one day, 24 hours. Default interval length is 5 minutes, but also allow the user to set differently when simulation starts. the integer interval should be allowed to be as short as 1 minute and as long as 15 minutes 39. Can regular appliances be turned from on to off if required? Only if you 'brown out' the location. 9