Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Home Appliance Control System (HACS), Summaries of Digital Sound Processing

The home appliance control system (hacs) is a comprehensive system that allows users to remotely operate and manage various home appliances, such as microwave ovens, tvs, and garage doors, through remote devices like mobile phones, desktops, and palm-tops. The system provides a range of functionalities, including the ability to add or remove remote systems, schedule operations, maintain device status, and authenticate users. The hacs utilizes a class-based architecture, with classes representing different types of appliances (e.g., door/window, cooking appliance, av appliance) and their associated responsibilities and collaborators. The system also includes user and administrator roles, with the administrator having the ability to set access permissions for users to specific appliances. A detailed overview of the hacs, including its functional requirements, use cases, and sequence diagrams, making it a valuable resource for understanding the design and implementation of such a system.

Typology: Summaries

2021/2022

Uploaded on 11/22/2022

mohit-kumar-nanda
mohit-kumar-nanda 🇮🇳

1 document

1 / 16

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
HOME APPLIANCE CONTROL SYSTEM
HOME APPLIANCE CONTROL SYSTEM
Duk-Jin Kim
Jeff Dix
Jyotsna Kotur
Warren Pena
Yajing Zhao
Yasaman Haghpanah
October 12, 2006
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Partial preview of the text

Download Home Appliance Control System (HACS) and more Summaries Digital Sound Processing in PDF only on Docsity!

HOME APPLIANCE CONTROL SYSTEM

Duk-Jin Kim

Jeff Dix

Jyotsna Kotur

Warren Pena

Yajing Zhao

Yasaman Haghpanah

October 12, 2006

Table of Contents

    1. Introduction....................................................................................................................................................
    1. Project Overview.............................................................................................................................................
    1. Functional Requirement.................................................................................................................................
    1. Non-Functional Requirement........................................................................................................................
    • 4.1 Adaptability...........................................................................................................................................
    • 4.2 Safety......................................................................................................................................................
    1. Use Case Diagram..........................................................................................................................................
    • 5.1 Actors.....................................................................................................................................................
    • 5.2 Use Cases................................................................................................................................................
    1. Class Diagram.................................................................................................................................................
    • 6.1 UML Class Diagram and Description.................................................................................................
    • 6.2 CRC Cards............................................................................................................................................
    1. Sequence Diagram........................................................................................................................................
    • 7.1 Authentication.....................................................................................................................................
    • 7.2 Operate Garage Door.........................................................................................................................
    • 7.3 Operate TV..........................................................................................................................................
    • 7.4 Operate Microwave...............................................................................................................................

and configure it with HACS or delete an existing one when it is not used. Also the system administrator can create an account for a new user or delete existing account if it is no longer used.

3. Functional Requirement

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. In order to activate home appliances and to allow for different ways of cooking, the HACS needs mechanisms for communication between the different devices in the system, and for coordination among the various processes running on such devices. Note that the HACS needs mechanisms for adapting to different needs of the user as well. For example, when the user is very hungry, the microwave oven may need to respond to the user’s request that it operate maximally to cook the food as fast as it can. For another example, if the user is hungry, tired and may come home late, then the system may be asked to fully cook the meal by the expected arrival time, and periodic warming up every 10 minutes afterwards.

4. Non-Functional Requirement

4.1 Adaptability

The HACS shall be adaptable. Any change is environment shall be detectable, and the HACS shall then be transformable through recognition of the change in HACS needed and the change recognized shall be enacted in the system. The system could be automatically adaptable or manually adaptable. Since speed is of paramount importance for any real-time system, it shall be given a priority comparable to that of the adaptability requirement. This presumably according to the customer needs. Detecting changes in the environment is usually a very time-consuming task, hence hurting speed. Similarly, detection of events could induce significant performance penalty.

4.2 Safety

The HACS shall also be safe. For example, the microwave oven should now blow up or become too hot to touch.

5. Use Case Diagram

Use case diagrams are intended to model the functional requirements of the system. It shows a set of use cases and actors and their relationships. It is always selected to be the start point

of software design. The following figure shows the use case diagram of the HACS system from the end user point of view. Operate Microwave^ Microwave Operate TV TV Garage Door Operate Garage Door Cellphone Palm-top Remote System Add/Remove Remote System Admin Operate <> <> <> Add/Remove Device Schedule Operation Maintain Status Authenticate Users <> <> <> <> <> <> Restart/Redo <> FireDepartme nt PoliceDepartm ent Device User EmergencyDe partment Control <> <> <> User uses a Remote System to communicate with HACS.

5.1 Actors

5.1.1 User User refers to the person who has an account and a password, can log in on HACS, and operate home appliances remotely by HACS. 5.1.2 Admin Admin is a kind of user who has special rights, for example Add/Remove Device and Add/Remove Remote System, other than basic operations. 5.1.3 Device Device refers to computer embedded home appliances that could be added onto HACS, configured, and operated remotely. 5.1.4 TV

5.2.3 Operate Microwave The use case Operate Microwave is a service provided for the users to operate on the microwave that is connected to HACS through remote systems. Users can send messages of cooking, defrosting, stopping, etc. 5.2.4 Operate Garage Door The use case Operate Garage Door is a service provided for the users to operate on the garage door that is connected to HACS through remote systems. Users can send messages of opening and closing it. 5.2.5 Operate TV The use case Operate TV is a service provided for the users to operate on the TV that is connected to HACS through remote systems. Users can send messages of turning it on, turning it off, increasing the volume, decreasing the volume, and changing channels. 5.2.6 Check/Update Status The use case Check/Update Status means that the HACS keeps a record of the state of all the connected devices. It keeps updating their states from time to time. When users require the state information of some device through remote systems, the HACS send the latest state of that device to the remote system that requested. 5.2.7 Control Sometimes the device may malfunction. For example, the microwave may keep cooking for an hour, which is not required by the users. The use case Control means it can detect such malfunctioning by updating the state of the devices, stop it (using operate use case), and inform the user what happened. Another case there might be some emergency happens, for example, a break in through the garage door or fire starts, the HACS shall detect them and notify police department and fire department respectively. 5.2.8 Add/Remove Device The use case Add/Remove Device is a service for the users to add a device, for example, microwave, TV, and garage door, onto the HACS to be controlled remotely and automatically, as well as remove a device from the HACS that is no longer to be controlled. When a device is connected to HACS, both the HACS and the device are configured in order to collaborate with each other. 5.2.9 Add/Remove Remote System The use case Add/Remove Remote System is a service for the users to add or remove a remote control system, for example, cell phone and palm-top, onto the HACS, so that the remote system can be used to communicate with the HACS and control the devices.

6. Class Diagram

6.1 UML Class Diagram and Description

6.1.1 Appliance Class The Appliance class shall act as a common parent class to all of the different types of appliances. The use of a common parent class allows for a certain interface between the HACS controller and the appliances to be enforced. Enforcing a common interface ensures that the entire system does not need to be recompiled to add a device to the system, but rather that appliances can be added or removed from the system dynamically simply by adding the appliance’s compiled class file to the system’s directory and then instructing the system to add the appliance to the system. 6.1.2 Door/Window, Cooking Appliance, and AV Appliance Class The Door/Window, Cooking Appliance, and AV Appliance classes serve as an example of the appliance type layer of classes. These classes will directly inherit from the Appliance class, but will not themselves represent physical appliances. Rather, this layer serves to enforce a common interface and common properties among a given type of appliance. 6.1.3 Garage Door, Microwave, and Device Classes The GarageDoor, Microwave, and Device classes are examples of the classes the represent actual physical appliances. These classes inherit from their respective appliance type class, and thus from the Appliance class. These classes will contain the actual implementation of the appliance function. Because all these classes inherit from the same Appliance class, all can be indexed by the HACS system and can be sent commands in the same manner. 6.1.4 HACS Controller Class

  • get name and password of the user
  • set name and password of the user
  • set permission to become an administrator
  • get whether the user is an administrator HACS Controller Permission Device 6.2.3 Administrator Administrator RESPONSIBILTIES COLLABORATORS
  • get name and password of the user
  • set name and password of the user
  • set permission to become an administrator
  • get whether the user is an administrator
  • set access permission of a user to an appliance HACS Controller Permission Device 6.2.4 Appliance Appliance RESPONSIBILTIES COLLABORATORS
  • get name of the appliance
  • set name of the appliance
  • get current command (state) the appliance is executing
  • execute a command HACS Controller Permission 6.2.5 Door/Window Door/Window RESPONSIBILTIES COLLABORATORS
  • get name of the appliance
  • set name of the appliance
  • get current command the appliance is executing
  • get current state (open or closed)
  • set attributes, i.e. height and weight
  • execute a command HACS Controller Permission 6.2.6 Cooking Appliance Cooking Appliance RESPONSIBILTIES COLLABORATORS
  • get name of the appliance
  • set name of the appliance
  • get current command (state) the appliance is executing
  • execute a command HACS Controller Permission
  • set attributes of the appliance, i.e. size
  • get attributes of the appliance 6.2.7 AV Appliance AV Appliance RESPONSIBILTIES COLLABORATORS
  • get name of the appliance
  • set name of the appliance
  • get current command (state) the appliance is executing
  • execute a command HACS Controller Permission 6.2.8 Garage Door Garage Door RESPONSIBILTIES COLLABORATORS
  • get name of the appliance
  • set name of the appliance
  • get current command the appliance is executing
  • get current state (open or closed)
  • set attributes, i.e. height and weight
  • execute a command
  • set horsepower of the garage door
  • get horsepower of the garage door HACS Controller Permission 6.2.9 Microwave Microwave RESPONSIBILTIES COLLABORATORS
  • get name of the appliance
  • set name of the appliance
  • get current command (state) the appliance is executing
  • execute a command
  • set attributes of the appliance, i.e. size
  • get attributes of the appliance
  • turn on/off the microwave
  • set power of the microwave
  • set timer for the microwave HACS Controller Permission 6.2.10 TV TV RESPONSIBILTIES COLLABORATORS

Flow of events:

  1. After user connects the remote system, user needs to log on to the system using valid username and password.  A logon attempt shall limited to 3 times for security precaution.
  2. After all use of the system, user shall log out the system and communication between user and remote system is disconnected.

7.2 Operate Garage Door

Flow of events:

  1. After user log onto the system, remote system asks HACS controller a list of appliances.
  2. User simply chooses the garage door from the appliance list.
  3. Remote system asks the command list of a garage door.
  4. HACS controller asks a garage door a list of commands.
  5. A garage door returns the list of commands to the HACS controller then HACS controller returns the list to the remote system, then remote system displays the command list
  6. User chooses one of command list and HACS controller do the operation.

7.3 Operate TV

7.4 Operate Microwave

Flow of events:

  1. After user log onto the system, remote system asks HACS controller a list of appliances.
  2. User simply chooses the microwave from the appliance list.
  3. Remote system asks the command list of a microwave.
  4. HACS controller asks a microwave a list of commands.
  5. A garage door returns the list of commands to the HACS controller then HACS controller returns the list to the remote system, then remote system displays the command list
  6. User chooses one of command list and HACS controller do the operation.