Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

In this assignment you will work on developing a Smart Home controller. The Controller receives data and notifications from several sensors spread around a building,

In this assignment you will work on developing a Smart Home controller. The Controller receives data and notifications from several sensors spread around a building, and based on these in controls several actuators, i.e., devices that change the state of the house. A major challenge is integrating various devices from different vendors so that they all work together with the controller.
Sensors. Sensors are objects that collect information from the environment. In our case these will be Temperature Sensors and Temperature Preference Sensors. The latter are devices that let users define the desired temperature (we most commonly call them thermostats).
Actuators. Actuators are objects that can perform changes in the environment. In our case, these are heaters and coolers that can turn on and off and heat or cool the environment. In this assignment we will work with Air Conditioners (A/C), which are appliances that cool forced air for it to circulate in the building.
Controller. A controller is a device which receives events and data from Sensors and issues commands to the Actuators based on programmed logic.
Sensors, Controllers and Actuators of various vendors are able to work together through the use of interfaces. Specifically a consortium of smart home vendors, called "ITEC3030 Smart Home Consortium worked together to produce the Simple Smart Device Collaboration Standard (SSDCS) in form of a set of Java Interfaces. The Interfaces can be freely downloaded from here (jar) and the JavaDoc-generated Documentation can be found here.
What to do
For this assignment you will need to complete the following exercise. A Smart Home installations contractor Smart Builders needs to put together a small smart apartment using a Controller that they build. The apartment consists of two rooms:
A Kitchen, which contains two sensors OmniTempSensorXS3 by OmniTemp Inc.
A Bedroom, which contains one OmniTempSensorXS3 by the same brand.
An SSDCS-compliant driver for OmniTempSensorXS3 can be found here (JAR) and documentation here.
The apartment also has an SSDCS-compliant A/C by a very well reputed brand called ArcticCool GmbH. The specific model used is ArcticCool FA-15 and the driver can be found here (JAR) and documentation here.
The developers of Smart Builders have developed some starter code as follows:
Room.java, which they use to model the room, as well as keep track of all the devices that are installed there.
Building.java, which is a collection of Rooms and also includes the furnace.
Controller.java, which models the controller device which collects data from sensors and sends commands to actuators via the Room, Building classes, depending on where the devices are installed.
Main.java, in which the apartment in question is built.
QuickThermostat.java, which is a stub of a temperature preference sensor for running this exercise.
You will also need a Scenario.jar plug-in, provided to you by the instructor. Here is a temporary Scenario.jar to assist you with building your solution. Your final submission should operate under a scenario provided by the instructor at a later time [Develop a dependency class diagram, showing all classes listed in the previous question and syntactic dependencies. This diagram has the exact same classes as the structural diagram but relationships are now dependencies. Use the following dependencies:
<> when a class refers to another class or interface.
<> when a class creates another class.
<> when a class calls methods of another class or interface.
<> and <> when a class/interfaces, implements (class only) or extends some class or interface.
Mix and match when needed, e.g.<>. Note, though, that both <> and <> imply <>.more in class].

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

SQL Instant Reference

Authors: Gruber, Martin Gruber

2nd Edition

0782125395, 9780782125399

More Books

Students also viewed these Databases questions