Download presentation
Presentation is loading. Please wait.
Published byPierce Ferguson Modified over 9 years ago
1
H.A.C.S. The Home Appliance Control System 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
7
Use Case Diagrams (for traceability) Bad!
8
Use Case Diagram: Over All Use Case Diagram for Hacs PoliceDept FireDept Register Wireless Emergency Alert Login User Set Status Get Status Manage Status > Remove Appliance Add Appliance Appliance Register Appliance >
9
Use Case: Log In What if your neighbor down the street decided to “play a joke” and turn on your oven! HACS must be secure! Nobody other than the owner should be able to modify an appliance’s status
10
Sequence Diagrams: Log In User : User :UserInterface:HACS:UserRecord issuesCommand connect(id) verify(id) returnVerification
11
Use Case: Get Status User GetStatus Appliance 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! Manag e Status >
12
Sequence Diagrams: Get Status In general, this should represent a simple sequence of events User: User :UserInterface:HACS:Appliance selectApp getStatus(app,uid) Login getStatus() returnStatus displayStatus
13
Sequence Diagrams: Get Status But what if access is denied?
14
Use Case: Set Status Now that you know what the appliance is up to, don’t you want to change what it is doing? User Set Status Appliance Manag e Status >
15
Sequence Diagrams: Set Status :HACS : User :UserInterface:Appliance selectApp displayStatus setStatus(app,uid,attribute, value) Login setStatus(attribute,value) returnStatus
16
Use Case: Register Appliance User Remove Applianc e Appliance Register Applianc e > Register Appliance is extended by Add/Remove appliance use cases to handle registration interactions within the HACS system. Add Applianc e >
17
Sequence Diagram: Add Appliance :Interface:HACSxyz:Appliance setup appliance provide appliance identification details configure appliance settings detect appliance provide ACK add appliance provide response set range limits store range limits User : User
18
Sequence Diagram: Remove Appliance :UserInterface:Hacs :appliance request remove appliance remove appliance notify Send new status notify User : User
19
Use Case: Register Wireless User register wireles s Wireless The user registers a wireless device with HACS.
20
Sequence Diagram: Register Wireless :HACSxyz:Appliance add user provide identification details add device send confirmation User : User
21
Use Case: Emergency Alert Fire_Department Police_Department Emergency_Dept notify Intruder_Detector Alert_controller Fire_Detector Reuse!
22
Use Case: Evolved Emergency Alert PoliceDept FireDept Emergency Alert Appliance
23
Sequence Diagram: Alert System :Hacs:Device_interfac e abc:Alert_contr oller emergency: Emergency_dept :Police:Fire create_sockets() start_threads() start_sensing() forward request on socket Demultiplex_request() connect to data base Notify_request() will use some api or sockets for communication wid specific department Hacs notified on socket Here it is assumed devices communicate on sockets Hacs notified on socket
24
Class Diagram: Alert System
25
CRC Cards: Appliance ApplianceObject Interface between HACS and specific appliances HACS
26
CRC Cards: Oven OvenAppliance Report Exceptions Change Temperature Change Mode Set Timer Turn On/Off HACS Alert Controller
27
CRC Cards: Garage Door Garage DoorAppliance Open Close Report Exceptions HACS Alert Controller
28
CRC Cards: Light LightAppliance On Off Set Intensity Report Exceptions HACS Alert Controller
29
CRC Cards: Alert Controller Alert ControllerObject 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 FireAlarm detect() GarageDoor open() close() Windows setSecurity(on_off) detectMotion() lights on() off() setIntensity(value) UserInterface currentWindow uid hid Connect(uid) displayWindow(window) getStatus(hid, appliance) setStatus(hid, appliance, attribute, value) getAppliances(hid) UserRecord user_id setId(user_id) getId() HACS hid userRecords apps EMservices connections getStatus() setStatus() addAppliance() delAppliance() notify() Login() appliance appId attributes hid get(attribute) set(attribute, value) alert(hid) >
31
The END! Questions? Comments? Praise for our greatness?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.