Home Appliance Control System Use Case - Sequence - Class Diagrams Version 0.4 CS 6359 Project Fall 2006 Author Sudhir V Dachepalli Professor Dr.Lawrence Chung CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ Revision History Name Date Reason For Changes Version Sudhir Dachepalli Sep 20 2006 Initial Draft 0.1 Sudhir Dachepalli Sep 25 2006 Section 3,4,5,6 , Appendix C 0.2 Sudhir Dachepalli Sep 27 2006 Class Diagram, Use case Diagram 0.3 Sudhir Dachepalli Oct 09 2006 Modifications suggested by TA, Use Case Diagrams, Class Diagrams, Sequence Diagrams, Assumptions 0.4 ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 2 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ Table of Contents 1 Introduction ......................................................................................................................................... 4 1.1 Project Scope .............................................................................................................................. 4 1.2 Definitions, Acronyms and Abbreviations- ................................................................................ 5 1.2.1 Definitions........................................................................................................................... 5 1.2.2 Acronyms and Abbreviations ............................................................................................. 5 1.3 References ................................................................................................................................... 5 2 HACS – System Architecture Diagram .............................................................................................. 6 3 CRC Cards .......................................................................................................................................... 7 3.1 Nouns .......................................................................................................................................... 7 3.2 Verbs ........................................................................................................................................... 7 3.3 GarageDoor ................................................................................................................................. 7 3.4 ACThermostat ............................................................................................................................. 8 3.5 AVPlayer..................................................................................................................................... 8 3.6 Microwave .................................................................................................................................. 9 3.7 HACS .......................................................................................................................................... 9 3.8 Administrator ............................................................................................................................ 10 3.9 HomeUser ................................................................................................................................. 10 4 Use Cases .......................................................................................................................................... 11 4.1 Use Case Scenarios ................................................................................................................... 11 4.2 Use Case Diagrams ................................................................................................................... 12 4.2.1 System Login and HACS Operations ............................................................................... 12 4.2.2 Microwave Operations ...................................................................................................... 13 4.2.3 Garage Door Operations ................................................................................................... 14 4.2.4 AV Player Operations ....................................................................................................... 15 4.2.5 AC Thermostat Operations ............................................................................................... 16 5 Class Diagram ................................................................................................................................... 17 6 Sequence Diagrams ........................................................................................................................... 19 6.1 Auto record TV Program .......................................................................................................... 19 6.2 Set AC Thermostat .................................................................................................................... 20 6.3 Microwave – Cook Food .......................................................................................................... 21 6.4 Close Garage Door .................................................................................................................... 22 6.5 Get Overall status of the system ............................................................................................... 23 Appendix A – Assumptions ...................................................................................................................... 24 Appendix B - Student Information ........................................................................................................... 26 Appendix C – Important Dates ................................................................................................................. 26 ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 3 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ 1 Introduction A home appliance control system (HACS) is a system which is controlled by a remote system such as a mobile phone or a palm-top, and at the same time controls, monitors and coordinates home appliances such as air conditioner, microwave oven, garage doors, TV set, VCR, audio controller, indoor/outdoor lights, water sprinkler, home security system, bath tub controller, etc. The intention of this project is to use Object Oriented Analysis Design (OOAD) techniques to design HACS system. The project is split into two phases: 1. First Phase of the project should produce use case diagrams, class diagrams, and sequence diagrams for a home appliance control system (HACS). For the analysis phase CRC cards mechanism should be used as an aid. 2. Second Phase of the project description as of September 20th 2006 is not yet posted on the course website. (Refer [1] for updates) 1.1 Project Scope Analysis should consider at least three different kinds of home appliances. For the scope of this Analysis and Design, following Home Appliances are considered: AC Thermostat Microwave Oven Garage Door Audio Video Recorder / Player ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 4 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ 1.2 Definitions, Acronyms and Abbreviations1.2.1 Definitions Expression Meaning Audio Video Recorder / Player A Tivo kind of device to record Television Programs and Play them when desired. Microwave Oven A microwave oven, or microwave, is a kitchen appliance employing microwave radiation primarily to cook or heat food. Thermostat a regulator for automatically regulating temperature by starting or stopping the supply of heat 1.2.2 Acronyms and Abbreviations 1.3 Acronym or Abbreviation Expansion AC Air Conditioning CS Computer Science HACS Home Appliance Control System OOAD Object Oriented Analysis and Design PDA Personal Digital Assistant References [1] Course Website http://www.utd.edu/~chung/OOAD/syllabus.htm [2] Project Information http://www.utdallas.edu/~chung/OOAD/Project1.doc [3] CRC Card Template http://www.soc.napier.ac.uk/module/op/resources/moduleid/CO72006 ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 5 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ 2 HACS – System Architecture Diagram Laptop Cell Phone PDA Network Cloud PDA AC Thermostat Microwave HACS Audio Video Recorder / Player Garage Door ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 6 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ 3 CRC Cards 3.1 Nouns Following nouns from the Project Information[2] are considered as a starting point to identify classes. Remote system o Pda o Laptop o Cellphone HACS AC Thermostat Microwave GarageDoor AudioVideo Recorder / Player Priority 3.2 Verbs Following verbs from the Project Information[2] are considered as a starting point to identify responsibilities. Controls Monitors Coordinates Automatically Adaptable Manually Adaptable Communication between devices Coordination of various processes running on devices Following are the CRC cards that I have prepared during Analysis Phase and converted them to the table format using template [3] 3.3 GarageDoor Class GarageDoor Responsibility Collaborators Open door Close door Check status ( open / close ) of garage door. Write time of event open door or close door to database. ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 7 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ 3.4 ACThermostat Class ACThermostat Responsibility Collaborators Check temperature Set temperature Set heat or cold mode Set auto off time and temperature Set auto on time and temperature Switch off AC Switch on AC Check status of thermostat Alert Fire department if temperature is more than critical Alert User if temperature is more than critical 3.5 AVPlayer Class AVPlayer Responsibility Collaborators Record TV Program Play Music CD Play Radio Play TV Switch off player Switch on player Sleep timer to auto off Set time for wake up alarm Check status of the player ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 8 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ 3.6 Microwave Class Microwave Responsibility Collaborators Auto Cook with microwave preset Fast Cook with microwave preset Slow Cook with microwave preset Keep the food warm Set max temperature Change cooking mode between auto , fast and slow cooking modes Switch off microwave Check status of microwave 3.7 HACS Class HACS Responsibility Monitor devices Control devices Verify user login info Set user status to athome, vacation or notathome Set date Check date Check overall system status Collaborators GarageDoor ACThermostat AVPlayer Microwave ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 9 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ 3.8 Administrator Class Administrator Responsibility Log into HACS Add User Delete User Modify User Check overall system status Set user status Collaborators HACS 3.9 HomeUser Class HomeUser Responsibility Log into HACS Cook food in fast mode Set home temperature Open garage door Record tv program Add User Delete User Modify User Check overall system status Set user status Collaborators HACS ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 10 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ 4 Use Cases 4.1 Use Case Scenarios Remote login to HACS HACS o Set user status to NotAtHome o Set user status to AtHome o Set user status to Vacation Vacation start date and time Vaction End date and time o Check HACS Date and Time o Set HACS Date and Time o View last 10 login date, time and userid and how long they have logged in o View last 10 failed login, and failure reasons, userid, password,ipaddress o Check overall status of system ( RED, ORANGE, GREEN ) Air conditioner o Check temperature o Set temperature o Switch Off Airconditioner o Switch On Airconditioner o Check status ( RED, ORANGE, GREEN ) Microwave o AutoCook o FastCook o Slow Cook o Keep Warm o Set max temperature o Change cooking mode o Switch off microwave o Check status ( RED, ORANGE, GREEN ) Garage Door o Open Garage Door o Close Garage Door o Check status ( RED, ORANGE, GREEN ) Audio Video Recorder / Player o Switch off the unit o Switch on the unit o Play Music CD o Play TV o Play Radio o Record TV Program ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 11 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ o o o o Check status ( RED, ORANGE, GREEN ) Sleep timer to turn off automatically Set Wakeup Alarm Stop Player 4.2 Use Case Diagrams 4.2.1 System Login and HACS Operations Following diagram shows a subset of use cases that are performed by Home User or System administrator after they are successfully logged into the HACS. “ShowMenu” is only shown after a successful login operation. te n ds >> Home Appliance Control System ShowMenu << ex Login to HACS Modify User hacsAdministrator <<uses>> Add User <<uses>> Delete User <<uses>> hacsUser Check System Status es <<us >> Validate User login homeUser ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 12 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ 4.2.2 Microwave Operations Following diagram shows a subset of use cases that are performed by Home User after they are successfully logged into the HACS and select the Microwave operations menu. hacsUser homeUser Select Microwave Options e << n xte ds >> Validate User login Cook Food in Fast Mode HACS te n << ex Cook Food in Auto Mode ds >> Cook Food in Slow Mode Keep food warm e << nd xte > s> e << n xte >> ds set max temperature change cooking mode Keep food warm ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 13 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ 4.2.3 Garage Door Operations Following diagram shows a subset of use cases that are performed by Home User after they are successfully logged into the HACS and select the Garage Door operations menu. hacsUser Select Garage Door Options e << n xte ds >> Validate User login homeUser Open Garage Door Close Garage Door HACS Check Status ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 14 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ 4.2.4 AV Player Operations Following diagram shows a subset of use cases that are performed by Home User after they are successfully logged into the HACS and select the AV Player Options menu. hacsUser Select AV Player Options e << nd xte > s> Validate User login Play Music CD homeUser Play Radio Play TV Record TV Program Switch Off the player HACS Switch On the player Set sleep timer to auto off Set time for wake up alarm ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 15 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ 4.2.5 AC Thermostat Operations Following diagram shows a subset of use cases that are performed by Home User after they are successfully logged into the HACS and select the AC Thermostat Options menu. Select AC Thermostat Options hacsUser e << n xte ds >> Validate User login Check Temperature homeUser Set Temperature Set heat mode Set cold mode Set Auto off time HACS Set Auto On Time Home User Switch Off Fire Department System Administrator Switch On Check Status e << n xte ds >> Unusual Temperature ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 16 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ 5 Class Diagram The following class diagram shows most of the classes and how they are interrelated. ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 17 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ Hacs «enumeration» UserType UserInfo -userName : string -appliances : Appliance -userInfo : UserInfo -userStatus : UserStatus -sessionId : ulong 1..1 -sessionExpiryTime : string -systemTime : string -userName : string 1..1 -userId : string -password : string -dob : SysTime -secretQuestion : string 1..n -secretAnswer : string -lastSuccesfulLogin : SysTime +login(in userId : string, in password : string) : bool logsinto -lastFailedLogin : SysTime -userStatus : UserStatus +logout() : bool -vacationStart : SysTime +getUserInfo() : UserInfo -vacationEnd : SysTime +modifyUserInfo(in userInfo : UserInfo) -userType : UserType +createUser(in userInfo : UserInfo) -passwordExpiryDate : SysTime +deleteUser(in userInfo : UserInfo) has 1..1 +homeUser = 1 +hacsSupport = 2 «enumeration» UserStatus 1..1 manages SysTime -time : string -date : string +getTime() : string +setTime() +getDate() : string +setDate() User can set the HACS time. various preset cooking modes of microwave. 4..4 «enumeration» cookingMode +autoCook = 1 +slowCook = 2 +fastCook = 3 +keepWarm = 4 Appliance -name : string -description : string +atHome = 1 +notAtHome = 2 +vacation = 3 +powerOn(in appliance : Appliance) +powerOff(in appliance : Appliance) +getStatus(in appliance : Appliance) +writeLog(in log_description : string) «precondition» {vacationStart and vacationEnd are valid only when userStatus=vacation} Microwave -cookingMode : cookingMode -maxTemp : int +setCookingMode(in mode : cookingMode) : cookingMode +changeCookingMode(in mode : cookingMode) : cookingMode +start() : bool +stop() : bool +setCookingTime(in mode : cookingMode) : bool GarageDoor AcThermosta -minThresholdTemp : int -maxThresholdTemp : int -state : doorState -stateTime : SysTime -openThreshold : SysTime +checkTemperature() : int +setMode(in mode : acMode) : bool +setTemperature(in temperature : int) : bool +open() : doorState +close() : doorState AvPlayer «enumeration» acMode «enumeration» doorState +heater = 1 +cooler = 2 +open = 1 +close = 2 User has to set the mode of AC,when changing the temperature. The current status of the garage door. -playerState : avplayerState -autoOffTime : SysTime -wakeUpAlarm : SysTime -recordStart : SysTime -recordStop : SysTime +playMusicCd(in trackNo : int) : bool +playRadio(in stationNo : float) : bool +playTV(in channelNo : int) : bool +recordProgram(in channelNo : int, in start : SysTime, in stop : SysTime) : bool +setAutoOffTime() +setWakeUpAlarm() «enumeration» avplayerState +playing = 1 +recording = 2 +on = 3 +off = 4 The current status of the AV Player. ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 18 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ 6 Sequence Diagrams 6.1 Auto record TV Program Following is the sequence diagram of HACS system automatically recording a TV program for the user according to the settings performed by the user. Top Package::hacs hacsThread hacs aVController database 1 Record TV Show 2 Go back to Sleep 3 Power on AV System 4 Write power on Log to Database 5 AV System Powred On 6 Record TV Program 7 Write record Log to Database 8 Recording activity completed 9 Power off AV System 10 Write power off Log to Database 11 AV System Powred Off ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 19 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ 6.2 Set AC Thermostat Following is the sequence diagram to set the AC Thermostat to “Cooler” mode and “Temperature” to 60. Top Package::homeuser homeuser:userInfo :hacs thermostatForm :AcThermostat 1 login to HACS 2 Show Main Menu 3 Select AcThermostat 4 Select setTemperature 5 set mode=cooler 6 set temperature=60 7 Return status 8 Return status ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 20 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ 6.3 Microwave – Cook Food Following is the sequence diagram to set the Microwave to cook food in a specific mode ( auto, fast, slow, keep warm) and for specific time. Top Package::homeuser homeuser:userInfo :hacs microwaveForm :Microwave 1 login to HACS 2 Show Main Menu 3 Select Microwave 4 Cook Food 5 set cooking mode 6 set cooking time 7 Return status 8 Return status 9 Return status ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 21 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ 6.4 Close Garage Door Following is the sequence diagram to close the Garage Door. Top Package::homeuser homeuser:userInfo :hacs garagedoorForm :GarageDoor 1 login to HACS 2 Show Main Menu 3 Select GarageDoor 4 Select Close Door 5 call close() 6 Return status 7 Return status 8 Return status ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 22 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ 6.5 Get Overall status of the system Following is the sequence diagram to get the overall status of the sytem. Color coded mechanism of green, yellow and red status is returned for each device and finally the status is consolidated and returned to the user in the final color coded status( Green, Yellow, Red ). Top Package::homeuser homeuser:userInfo :hacs :AvPlayer :GarageDoor :Microwave :AcThermostat 1 login to HACS 2 Show Main Menu 3 get overall system status 4 get status 5 Return status 6 get status 7 Return status 8 get status 9 Return status 10 get status 11 Return status 12 Consolidate and Return staus ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 23 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ Appendix A – Assumptions Communication between Appliances and HACS is via a common communication protocol. ( example Bluetooth, 802.11 wireless protocol ) Communication between Appliances is not allowed / turned off. And if two devices need to communicate it should go through the HACS system. Multiple users can access the HACS remotely. For ease of design All the Members of family will have same level off access to the system. For ease of design we will assume that HACS Support team will have same level of access to the HACS system as the family members. All the users of system will have unique userid to differentiate between login’s and access. All users have to enter the User Profile before using the HACS system for the first time. o Name o Userid o Password o Date of Birth o Security questions (city of birth, first pet’s name, best friends name) One or More of the following Security mechanisms will be used o Password o Voice recognition o Security questions specific to login ID to authenticate user. o Reset password every month ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 24 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ Microwave has the following presets which are auto programmed by manufacturer o Auto Cooking Mode o Fast Cooking Mode o Slow Cooking Mode o Keep Warm Mode ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 25 of 26 CS 6359 HACS Phase 1 Sep 20, 2006 ________________________________________________________________________ Appendix B - Student Information Name Sudhir V Dachepalli Primary Email sudheerdv@yahoo.com UTD Email svd021000@utdallas.edu Cell Phone 512-779-5848 Comments I am the Distance Education student from Austin for this course. Appendix C – Important Dates Submission Date Description of deliverable Sep 28 2006 Interim Project 1 Presentation Oct 12 2006 Final Project 1 Submission Nov 9 2006 Interim Project 2 Presentation Nov 22 2006 – Nov 28 2006 Final Project 2 Submission and Demo ________________________________________________________________________ Sudhir V Dachepalli Distance Ed Student Page 26 of 26