Home Appliance Control System

Home Appliance Control System

Home Appliance Control System Ann K George Nithya Inbamani Shilpa Maddi Block Diagram of HACS System Thermostat System Home Owner Hacs Controller Bath tub System Sprinkler

System Use Case Diagram Shows a set of use cases, actors and relationships Addresses static use case view of a system. Use Case Diagram This is used for connecting and disconnecting appliances to the Hacs Controller The Owner can access the appliances using wireless device Add/Remove Appliance <>

<> User This is used for controlling appliances in the house Set Appliance Logout This is used to log out of the system after the user finishes using it. Set Bathtub Set Sprinkler Set Thermostat

Login Login Use Case Template Use Case 1.LOGIN History created 5/7/2005 Description User uses this use case to establish a session with the HACS controller Actors User Assumptions The user has to first log on to the HACS before he can have

control over the appliances. The validation should be performed and only then can the session with the HACS Controller be established Steps 1.User enters the UserID and Password and submits to HACS. Issues What is the mode of communication between User and HACS controller. Logout Use Case Template Use Case 2.LOGOUT History created 5/7/2005 Description

User uses this use case to end a session with the HACS controller. Actors User Assumptions The user is logged in. Steps 1.User clicks LOGOUT button and the session is ended. Issues What is the mode of communication between User and HACS controller.

ADD/Remove Appliance Use Case Template Use Case 3.ADD/Remove Appliance uses 1.LOGIN History created 5/7/2005 Description User uses this use case to add or remove appliances from already existing set of appliances. Actors User Assumptions The user is logged into the system and established a session

with HACS controller. Steps 1.User clicks on add/remove appliance option . 2. The appliance menu is displayed 3. The user selects the appliance to be added or removed 4. That particular appliance is added or removed from the list of appliances Issues What is the mode of communication between User and HACS controller. Set Appliance Use Case Template Use Case 4.Set Appliance uses 1.LOGIN History created 5/7/2005

Description This use case is a generalization of the three systems Set Bath tub,Set Sprinkler, Set Thermostat. Actors User Assumptions The user is logged into the system and established a session with HACS controller. Steps 1.The user clicks on the Set Appliance. 2.The appliance menu is displayed. 3. The user selects the desired appliance

4. Based on the selection of the appliance, the control is transferred to the appropriate appliance Issues What is the mode of communication between User and HACS controller. Set Thermostat Use Case Template Use Case 4.Set Thermostat Uses 1.LOGIN History created 5/7/2005 Description This use case is used to control the settings of the Thermostat. Actors

User Assumptions The user is logged into the system and established a session with HACS controller. Steps 1.The user selects the thermostat system . 2.The user gets the current status of the system . 3.Then he selects the temperature, heat or ac, auto or fan options to set the settings of the system. Issues What is the mode of communication between User and HACS controller.

Interaction Diagrams Sequence Diagram Emphasizes the time-ordering of messages. Collaboration Diagram Emphasizes structural organization of objects that send and receive messages. Sequence Diagram for Login :User 1: Login() app:Hacs Controller 2: Validate user 3: Correct-Session Establised/ Incorrect-Repeat Login

User is prompted if userid or password is incorrect Collaboration Diagram for Login 2: Validate user 1: Login() :User app:Hacs Controller 3: Correct-Session Establised/ Incorrect-Repeat Login User is prompted if userid or password is incorrect

Sequence Diagram for Logout :User 1: Logout() app:Hacs Controller 2: Take action 3: Session Ends Collaboration Diagram for Logout 2: Take action 1: Logout() app:Hacs Controller :User

3: Session Ends Sequence Diagram for Add/Remove Appliance app:HacsCo ntroller :User addrem:AddR emoveApp 1: Select add/remove appliance option 2: Select Appliance 3: Send Add/Remove appliance command 4: Take action Collaboration Diagram for Add/Remove Appliance

:User 1: Select add/remove appliance option 2: Select Appliance app:HacsCo ntroller 4: Take action addrem:AddRe moveApp 3: Send Add/Remove appliance command Sequence Diagram for Bath Tub Controller :User

app:HacsController bathtub:BathTub Controller 1: Select bath tub system 2: Get bath tub status 3: Send bath tub status 4: Display bath tub status 5: Enter temperature,level,start time 6: setBathTub() 7: Take action 8: Send feedback 9: D isplay feedback User selects bath tub ,enters the settings and specified action takes place

Collaboration Diagram for Bath Tub Controller :User 1: Select bath tub system 5: Enter temperature,level,start time 4: Display bath tub status 9: Display feedback app:HacsContro ller 3: Send bath tub status 8: Send feedback 7: Take action 2: Get bath tub status 6: setBathTub() bathtub:BathTub

Controller User selects bath tub system,enters the settings and specified action takes place Sequence Diagram for ThermostatController :User app:HacsContr oller thermostat:Thermostat Controller 1: Select thermostat system 2: Get thermostat status 3: Send thermostat status 4: Display thermostat status

5: Enter temperature,heat/ac, startTime 6: Set thermostat 7: setThermostat() 8: Take action 9: Send feedback 10: Display feedback User selects thermostat system,enters the settings and specified action takes place Collaboration Diagram for ThermostatController :User 1: Select thermostat system 5: Enter temperature,heat/ac, start... 6: Set thermostat 4: Display thermostat status

10: Display feedback app:HacsContro ller 3: Send thermostat status 9: Send feedback 8: Take action 2: Get thermostat status 7: setThermostat() thermostat:Thermostat Controller User selects thermostat system,enters the settings and specified action takes place Sequence Diagram for SprinklerController :User

app:HacsContr oller sprinkler:Sprinkler Controller 1: Select sprinkler system 2: Get sprinkler status 3: Send sprinkler status 4: Display sprinkler status 5: Enter start time, duration, zones 6: Set sprinkler on 7: setSprinkler() 8: Take action 9: Send feedback 10: Display feedback User selects sprinkler system,enters the

settings and specified action takes place Collaboration Diagram for SprinklerController :User 1: Select sprinkler system 5: Enter start time, duration, z... 6: Set sprinkler on 4: Display sprinkler status 10: Display feedback app:HacsContro ller 3: Send sprinkler status 9: Send feedback 8: Take action

2: Get sprinkler status 7: setSprinkler() sprinkler:Sprinkler Controller User selects sprinkler system,enters the settings and specified action takes place Class Diagram Shows a set of classes, interfaces and collaborations and their relationships. Static view of a system. Class Diagram AddRemoveApp appliance[] addApp()

removeApp() Users userid password The HacsController class calls either the AddRemoveApp class or one of the 3 ApplianceController classes which are the specializations of the class ApplianceController, based on the user selection. HacsController userid password appliance[] ApplianceController appId

status appName login() logout() menuDisplay() appListDisplay() getAppStatus() addRemoveApp() getName() getStatus() updateStatus() switchOn() switchOff() BathTubController temp startTime level

ThermostatController temp heatOrAc startTime SprinklerController zoneSelect[] startTime duration setTemp() setStartTime() setLevel() getTemp() getStartTime() getLevel() setBathTub() setTemp()

setHeatOrAc() setStartTime() getTemp() getHeatOrAc() getStartTime() setThermostat() setZone() setStartTime() setDuration() getZone() getStartTime() getDuration() setSprinkler() State Chart Diagrams Shows a state machine, consisting of states, transitions, events and activities. Address the dynamic view of a system.

State Chart Diagram for HacsController State Chart Diagram for AddRemoveApp Add/Remove appliance request Idle This diagram shows the states the AddRemoveApp object goes through in its lifetime Add/Remove appliance - Active Selecting Appliance Adding/Removing Appliance

State Chart Diagram for BathTubController Bathtub Status Displayed getStatus[ ] Idle Set BathTub This state diagram depicts the states the BathTubController object can go through in its lifetime. Cancel setBathtub[temp,level,startTime] at startTime failure

BathTub On current level reaches "level" BathTub Off State Chart Diagram for ThermostatController Thermostat Status Displayed getStatus[ ] startTime] Idle This diagram depicts the states the ThermostatController object

goes through in its lifetime. setThermostat[temp,heatOrAc, Set Thermostat at specified startTime failure Cancel Heat/Ac On Maintain temp room reaches specified temp switchOff[ ]

Heat/Ac Idle State Chart Diagram for SprinklerController Sprinkler Status Displayed setSprinkler[zoneSelect, startTime,duration] getStatus[ ] Idle Set Sprinkler This diagram depicts the states the SprinklerController object goes through in its lifetime.

C ancel at specified startTime failure Sprinkler On job done Sprinkler Off Activity Diagram Shows the flow from activity to activity within a system. Dynamic view of the system.

Activity Diagram for HacsController Activity Diagram for AddRemoveApp Receive Add/Remove Appliance Request Get name of appliance to be added or removed Perform Add/Remove Appliance Activity Diagram for BathTubController Receive command to get status of Bathtub Display Status

Receive command to set Bathtub [at specified time] Switch on Bathtub This diagram depicts the flow of activities in BathTubController. [at specified level] Switch off Bathtub Activity Diagram for SprinklerController Receive command to get status of sprinkler Display

Status Receive command to set sprinkler [at specified time] Switch on Sprinkler [job done] Switch off sprinkler The diagram depicts the flow of activities in the SprinklerController Activity Diagram for ThermostatController Receive command to get status of system

Display Status Receive command to set Thermostat This diagram depicts the flow of activities of the ThermostatController. [at specified startTime] Switch on Heat/AC [Maintain temp] [at specified temp] Make Heat/Ac Idle [switch off] Package Diagram

Package A general purpose mechanism for organizing elements into groups. Static view of the system. Purely conceptual. Package Diagram User Services Hacs Controller Database <> Device Controller

The Device Controller consists of SprinklerController, BathtubController and ThermostatController Component Diagram Shows the organizations and dependencies among a set of components Static implementation view of the system. Component Diagram Web Component (html, jsp pages) HacsController .exe AddRemove App.class

Database Sprinkler. class Thermostat. class Bathtub .class Deployment Diagram Shows the configuration of run-time processing nodes and the components that live on them. Addresses static deployment view. Deployment Diagram W eb Server

HACS Application Server W eb Browser On a Mobile Phone Database Server Implementation Planning to implement using J2EE. JSP, HTML for providing the visual interfaces for the user. Servlets, Beans Cloudscape - database.

Recently Viewed Presentations