1 / 31

H.A.C.S.

H.A.C.S. The Home Appliance Control System. Presented by The Awesome Group. Presented by The Awesome Group. What is HACS?.

meris
Télécharger la présentation

H.A.C.S.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. H.A.C.S. The Home Appliance Control System Presented by The Awesome Group Presented by The Awesome Group

  2. What is HACS? A home appliance control system which uses a remote system such as a mobile phone or PDA to monitor, control, and coordinate home appliances such as your security system, oven, TV, etc.

  3. Assumptions and Dependencies • Infallibility • No Power Failures • No Network Failures • Each Appliance has Sufficient Power and a Dedicated CPU • Wireless Network is the same as LAN • HACS has an Internet Connection • Perfect Cellular Reception • Sufficient Hardware

  4. Requirements • HACS should • Allow users to check the status of their appliances, even when not at home • Activate and deactivate appliances • Alert users and emergency departments to critical malfunctions • Be able to accept any HACS compatible appliance

  5. Requirements List • (1) Appliance Control – Appliances, devices such as an oven, microwave, air conditioner, or sprinkler, can be controlled by a home owner in a remote location. That is the user may set the different attributes (e.g. oven temp, AC fan speed, sprinkler settings etc.) for each appliance from a wireless device • (2) Adaptability/Detection – The system will be able to detect changes within the home and maintain the user settings. • (3) Manually Adaptable – The user can set system set the status of different appliances manually and user commands have precedence over automatic commands. • (4) Communication – HACS should be able to communicate with all appliances. • (5) Safety – HACS should maintain the safety of the user’s home and person at all times. Devices should be maintained in non-hazardous states.

  6. The Big Picture User Interface HACS User

  7. Bad! Use Case Diagrams(for traceability)

  8. Use Case Diagram: Over All Use Case Diagram for Hacs Register Wireless <<extends>> Add Appliance <<extends>> Register Appliance <<uses>> Remove Appliance User Login <<uses>> Get Status <<extends>> <<extends>> PoliceDept Set Status Manage Status Appliance FireDept Emergency Alert

  9. Use Case: Log In • HACS must be secure! • Nobody other than the owner should be able to modify an appliance’s status • What if your neighbor down the street decided to “play a joke” and turn on your oven!

  10. Sequence Diagrams: Log In :UserInterface :HACS :UserRecord User : User issuesCommand connect(id) verify(id) returnVerification

  11. Use Case: Get Status Manage Status <<extends>> User Appliance GetStatus • Is the garage door open? • Did you leave the oven on? • The user wants to know how the appliances are operating at any given time!

  12. :UserInterface :HACS :Appliance User: User selectApp getStatus(app,uid) Login getStatus() returnStatus returnStatus displayStatus Sequence Diagrams: Get Status In general, this should represent a simple sequence of events

  13. Sequence Diagrams: Get Status But what if access is denied?

  14. Use Case: Set Status Manage Status <<extends>> User Appliance Set Status • Now that you know what the appliance is up to, don’t you want to change what it is doing?

  15. Sequence Diagrams: Set Status :UserInterface :HACS :Appliance : User selectApp setStatus(app,uid,attribute, value) Login setStatus(attribute,value) returnStatus returnStatus displayStatus

  16. Use Case: Register Appliance Add Appliance Register Appliance <<extends>> <<extends>> Appliance Remove Appliance User • Register Appliance is extended by Add/Remove appliance use cases to handle registration interactions within the HACS system.

  17. Sequence Diagram: Add Appliance :Interface :HACS xyz:Appliance User : User setup appliance provide appliance identification details configure appliance settings detect appliance provide ACK add appliance provide response set range limits store range limits

  18. Sequence Diagram: Remove Appliance :appliance :UserInterface :Hacs User : User request remove appliance request remove appliance remove appliance notify Send new status notify

  19. Use Case: Register Wireless register wireless Wireless User • The user registers a wireless device with HACS.

  20. Sequence Diagram: Register Wireless :HACS xyz:Appliance User : User add user provide identification details add device send confirmation

  21. Use Case: Emergency Alert notify Fire_Department Intruder_Detector Alert_controller Emergency_Dept Fire_Detector • Reuse! Police_Department

  22. Use Case: Evolved Emergency Alert PoliceDept Emergency Alert Appliance FireDept

  23. Sequence Diagram: Alert System abc:Alert_contr emergency: :Police :Fire :Hacs :Device_interfac oller Emergency_dept e create_sockets() Here it is assumed devices communicate on start_threads() sockets start_sensing() Hacs notified on socket forward request on socket Demultiplex_request() Hacs notified on socket connect to data base connect to data base Notify_request() will use some api or sockets for communication wid specific department

  24. Class Diagram: Alert System

  25. CRC Cards: Appliance Appliance Object • Interface between HACS and specific appliances • HACS

  26. CRC Cards: Oven Oven Appliance • Report Exceptions • Change Temperature • Change Mode • Set Timer • Turn On/Off • HACS • Alert Controller

  27. CRC Cards: Garage Door Garage Door Appliance • Open • Close • Report Exceptions • HACS • Alert Controller

  28. CRC Cards: Light Light Appliance • On • Off • Set Intensity • Report Exceptions • HACS • Alert Controller

  29. CRC Cards: Alert Controller Alert Controller Object • Control Alerts • Pass Exceptions to HACS • Alert Emergency Departments • HACS • Appliance • Appliance subclasses • Emergency Department

  30. Class Diagram: HACS System Note hid will contain perhaps an internet address for the Hacs system HACS hid UserInterface userRecords currentWindow apps uid EMservices UserRecord hid connections user_id Connect(uid) displayWindow(window) getStatus() setId(user_id) getStatus(hid, appliance) setStatus() getId() setStatus(hid, appliance, attribute, value) addAppliance() getAppliances(hid) delAppliance() notify() Login() <<actor>> appliance appId attributes hid get(attribute) set(attribute, value) alert(hid) lights Windows GarageDoor FireAlarm open() on() setSecurity(on_off) close() detect() off() detectMotion() setIntensity(value)

  31. The END! • Questions? • Comments? • Praise for our greatness?

More Related