HOME APPLIANCE CONTROL SYSTEM Kunal Patel Arun Immaneni

HOME APPLIANCE
CONTROL SYSTEM
Kunal Patel
Arun Immaneni
Saurabh Kapoor
Meghna Atluri
Akila Muthuveeraganapathy
Today’s Topic on HACS
•
•
•
•
•
•
Introduction
System Design
User Interaction
Use Case Diagram
Sequence and Collaboration Diagram
Class Diagram
What is HACS?
•
Home Appliance Control System
accessed by a remote device such as
mobile phone or a palm-top to allow a
home owner to control, monitor and
coordinate home appliances.
How it happens
Why HACS ???
1.
2.
3.
4.
5.
Saves time
Save money (Long run)
Self Maintenance
Security
When: you are in a traffic jam on
the highway
Makes life easy
What: You set microwave oven
in a slow cooking mode
Slow cooking mode
Overview of HACS System
Cellphone,
Laptop, PDA
Temp Controller
Microwave
Server or HACS
System
Database
Security System
Accessing It
• Input device
• User Interface – Login, Initial Settings,
Operations, Logout
Interaction with HACS
The user can interact through any input device such as the
Laptop, Palmtop, Cell phone etc..
• The user interface allows the user to enter or tell the user
name and password.
• The user can also provide fingerprint or retinal scan for
authentication.
• The system then transfers the details to the authentication
server and the authentication server allows or denies the
user according to the information provided.
• After Authentication, the user is allowed access into the
system
System Design
• HACS is a system which is controlled by a remote system
such as a cell phone, and controls home appliances such as
VCR
• In case of emergency such as fire, the user or an
organization such as Fire Department should be notified.
• Also, HACS should have a database of information about
the users and appliances.
Use Case Diagrams
Use Case Diagram - User
In case of f ire,user and
the Fire Department
are notif ied
FireDepartment
Options of the
HACS Sy stem
Alarm Alert
Database
User is an authenticated
user checked by HACS
while login process.
Operate Microwave
Manage Appliances
<<uses>>
CommonUser
Monitor Appliances
Operate Temperature
Controller
Operate Doors
HACS Appliance Controller
reports
Security System
Log Out
User
Administrator
Operate Garage Doors
<<uses>>
In case of a break-in,
the Police Department
& user are notif ied
Security Sy stem includes
all doors, windows and
garage door
Break Entry
Manage Accounts
Police
Department
Use Case Diagram - Primary User
Manage Account
Adminstrator
Manage Appliance
Monitor Appliance
Common User
Database
Login
User
Logout
Modify Account
Sequence & Collaboration
Diagrams
Sequence Diagram-Login
aUser : User
aUserInterface :
UserInterface
aLoginForm :
LoginForm
aDatabase :
Database
1: SelectLogin()
2: CreateForm()
3: login()
4: Query(username,password)
5: GetResult()
6: SetAccStatus()
7: DisplayResult()
This case can be i niti ated by User or
Adminstrator
Collaboration Diagram - Login
1: SelectLogin()
aUserInterface :
UserInterface
aUser : User
3: login()
2: CreateForm()
6: SetAccStatus()
7: DisplayResult()
4: Query(username,password)
aLoginForm :
LoginForm
5: GetResult()
aDatabase :
Database
Sequence Diagram – Logout
aUser : User
1: SelectLogout()
aUserInterface :
UserInterface
aLogoutForm :
LogoutForm
2: CreateForm()
3: Input()
4: SetAccStatus(username, "logout")
This Use case can either be
initiated by User or Admin
5: DisplayResult()
Collaboration Diagram Logout
aUser : User
1: SelectLogout()
3: Input()
aUserInterface :
UserInterface
4: SetAccStatus(username, "logout")
5: DisplayResult()
aLogoutForm :
LogoutForm
2: CreateForm()
Sequence Diagram - Manage
Account
aUserInterface :
UserInterface
aMaintainAccControl :
MaintainAccControl
anAccForm :
AccForm
anAdminstrator :
Adminstrator
aDatabase :
Database
It wil l make a call to the
database fro
authentci ation
1: SelectManageAcc
2: CreateControl
3: call Check Login
Operations of manage account
include Add Account, Remove
Account, Modi fy Account
4: [not login] Exit()
5: Create Form()
6: Select Operation
7: Input
8: Update D B (an Acc Form)
9: Get Result()
10: DisplayResult()
11: Continue or Exit
12: Continue or Exit
13: [Continue] repeat step 5
Collaboration Diagram - Manage
Account
10: DisplayResult()
6: Select Operation
7: Input
11: Continue or Exit
anAccForm :
AccForm
anAdminstrator :
Adminstrator
1: SelectManageAcc
8: Update D B (an Acc Form)
9: Get Result()
aUserInterface :
UserInterface
5: Create Form()
12: Continue or Exit
2: CreateControl
3: call Check Login
4: [not login] Exit()
13: [Continue] repeat step 5
aMaintainAccControl :
MaintainAccControl
aDatabase :
Database
Sequence Diagram - Modify
Account
aUserInterface :
UserInterface
aModifyAccControl :
ModifyAccControl
anModifyAccForm :
ModifyAccForm
aUser : User
1: SelectModifyAcc()
2: Create Control()
aDatabase :
Database
It will make a call to the
database fro
authentciation
3: Call Check Login()
4: [not login] Exit()
5: Create Form()
6: Input()
7: Update DB(an ModifyAccForm)
8: GetResult()
9: DisplayResult()
Collaboration Diagram Modify Account
3: Call Check Login()
4: [not login] Exit()
1: SelectModifyAcc()
2: Create Control()
aUserInterface :
UserInterface
aModifyAccControl :
ModifyAccControl
aUser : User
6: Input()
5: Create Form()
9: DisplayResult()
anModifyAccForm :
ModifyAccForm
7: Update DB(an ModifyAccForm)
8: GetResult()
aDatabase :
Database
Sequence Diagram - Manage
Appliance
aUser : User
aAppControl :
AppControl
aAppInterface :
AppInterface
aAppForm :
AppForm
aDatabase :
Database
1: SelectManageApp()
2: Create Control()
The operations of managing this
appliance include AddAppliance,
Remove Appliance and M odify
Appliance
It will make a call to the
database fro
authentciation
3: call Check Login()
4: [not Login] Exit()
5: Create Form()
6: SelectOperation()
7: Input()
8: Update()
9: GetResult()
10: DisplayResult()
11: Continue or Exit()
12: Continue or Exit()
This use case can be
initiated both User and
Adminstrator
13: [continue] repeat step 5
Collaboration Diagram - Manage
Appliance
3: call Check Login()
4: [not Login] Exit()
13: [continue] repeat step 5
1: SelectManageApp()
2: Create Control()
aAppInterface :
AppInterface
aAppControl :
AppControl
aUser : User
6: SelectOperation()
7: Input()
11: Continue or Exit()
5: Create Form()
12: Continue or Exit()
10: DisplayResult()
9: GetResult()
aDatabase :
Database
8: Update()
aAppForm :
AppForm
Microwave Oven
Sequence Diagram -Microwave Oven
User
HACS
Microwave
1: login
A user can check
the status and
change the
m ode,tem p,ti m e at
any poi nt of ti m e
2: acknowledge and display operations
3: select microwave
4: retrive available options
5: display available options
6: check status
7: show status
8: set mode(cook,warm,defrost)
9: update mode
10: set temperature
11: update temperature
12: set time
13: update time
turni ng off the
m i crowave oven can
be done anyti m e
14: turn off
15: turning off
Collaboration Diagram Microwave Oven
1: login
3: select microwave
6: check status
8: set mode(cook,warm,defrost)
10: set temperature
12: set time
14: turn off
4: retrive available options
User
HACS
2: acknowledge and display operations
5: display available options
7: show status
9: update mode
11: update temperature
13: update time
15: turning off
Microwave
Sequence Diagram – Fire Alarm
:FireAlarm
:HACS
:Oven
The system maintains the
information about the users
phone number and Fire
Department's number.
1: detect fire
2: fire alert
3: call fire dept
The Fire Alarm is reset
once the situation is
under control.
4: call owner
5: switch off the oven
Collaboration Diagram – Fire Alarm
3: call fire dept
4: call owner
1: detect fire
2: fire alert
:FireAlarm
:HACS
5: switch off the oven
:Oven
Security System
Sequence Diagram – Security System ( Doors )
User is an
authenticated
user.
: HACS
: User
: Controller
check status()
checkStatus()
return results()
openDoor()
openDoor()
opens door()
closeDoor()
closeDoor()
closes door()
Collaboration Diagram – Security System (Doors)
1: check status()
4: openDoor()
7: closeDoor()
: HACS
: User
3: return results()
6: opens door()
9: closes door()
: Controller
2: checkStatus()
5: openDoor()
8: closeDoor()
Sequence Diagram – Motion Sensor
: MotionSensor
hacs : HACS
User is an
authenticated
user.
: User
select garage system
switchOnSensor()
switchSensorOn()
sensorOn
returnResults
switchOffSensor()
switchSensorOff()
sensorOff
returnResults
Collaboration Diagram – Motion
sensor
1: select garage system
2: switchOnSensor()
6: switchOffSensor()
hacs :
HACS
: User
5: returnResults
9: returnResults
4: sensorOn
8: sensorOff
: MotionSensor
3: switchSensorOn()
7: switchSensorOff()
Sequence Diagram – Garage Door
hacs : HACS
: GarageDoor
: User
User is an
authenticated User
select garage system
checkStatus()
checkStatus()
returnResults()
openGarage()
openGarage( )
lightOn()
closeGarage()
closeGarage( )
lightsOff()
: GarageLight
Collaboration Diagram – Garage Door
1: select garage system
2: checkStatus()
5: openGarage()
8: closeGarage()
hacs : HACS
: User
User is an
authenticated User
4: returnResults()
3: checkStatus()
6: openGarage( )
9: closeGarage( )
: GarageDoor
: GarageLight
7: lightOn()
10: lightsOff()
Sequence Diagram – Break Entry
:BreakEntryDetector
: DetectorHandling
: HouseBreakEntry
: BreakEntryNotice
: PoliceDepartment
: user
User is an
authenticated user
detectHouseBreakEntry()
Emergency ie Police
departments phone number
and users number are stored
in the devices
Once the situation is under
control, the detector is reset
createControl()
setEmergencyStatus()
createBreakNotice()
notify(Police Department)
notify(user)
Collaboration Diagram - BreakEntry
1: detectHouseBreakEntry()
:BreakEntryDetector
: DetectorHandling
2: createControl()
3: setEmergencyStatus()
: BreakEntryNotice
: HouseBreakEntry
4: createBreakNotice()
5: notify(Police Department)
6: notify(user)
: PoliceDepartment
: user
Temperature Control
Sequence Diagram – Set Temperature
Control
HACS is the controller class which will
handle the UI events
oHACS : HACS
oTempratureController :
CTempratureController
oUser : User
1: IssueCommand ( T empratureDevi ce, setTemprature, desi re_temp )
2: Command(SetTemprature, desire_temp)
3: SetTemprature(desire_temp)
Collaboration Diagram - Set
Temperature
1: IssueCommand ( TempratureDevice, setTemprature, desire_temp )
oUser : User
oHACS :
HACS
2: Command(SetTemprature, desire_temp)
3: SetTemprature(desire_temp)
oTempratureController :
CTempratureController
Collaboration Diagram – Set Mode of
Temperature Controller
HACS is the controller class which will
handle the UI events
oHACS : HACS
oUser : User
oTempratureController :
CTempratureController
1: IssueCommand ( TempratureDevice, setMode, desire_temp )
2: Command(SetMode, iMode)
3: SetMode(iMode)
Collaboration Diagram - SetMode
oUser : User
1: IssueCommand ( TempratureDevice, setMode, desire_temp )
oHACS :
HACS
2: Command(SetMode, iMode)
3: SetMode(iMode)
oTempratureController :
CTempratureController
Class Diagrams
Class Diagram - HACS
Thank You
Any Questions???