New

Learn smart - Learn online. Upto 88% off on courses for a limited time. View Courses

Securing Higher Grades Costing Your Pocket? Book Your Assignment at The Lowest Price Now!
loader
Add File

Error goes here

Files Missing!

Please upload all relevant files for quick & complete assistance.

Guaranteed Higher Grade!

Stuck on Your Question?

Get 24x7 live help from our Top Tutors. All subjects covered.

loader
250 words

Error goes here

Files Missing!

Please upload all relevant files for quick & complete assistance.

Students Who Viewed This Also Studied

13 Pages
WEB230 JavaScript 1

in this assignment we will write a JavaScript program to calculate the average of a set of quiz marks.Instructions1. Create variable containing an array that will contain five or more numbers that rep ...

Subject

Programing

University

St Clair College

8 Pages
COMP115 Introduction to Computer Science

You set a constant globally at the VERY TOP, as:final int N_PARTITIONS = 10;and use it (N_PARTITIONS) throughout the program. your program should work even if the marker changes the value of N_PARTITI ...

Course

COMP115

Type

Programming

Subject

Programing

University

Macquarie University

86 Pages
cs 210 Data Structures and abstractions

Note1.The marks distribution for programming questions: 50% for comments, 40% for coding, and 10% for formatting (indentation/spacing). Your code must run. Submit cppfiles, pdf filesand screen shots o ...

Course

cs 210

Type

Programming

Subject

Programing

University

University of Regina

8 Pages
BISM7233 Data Analytics for Business

Task: 1. Executive Summary: An executive summary is a short summary of the key information in the document and is written for a businessperson. It should contain clear, well-structured, evidence-b ...

Course

BISM7233

Type

Home Work

Subject

Programing

University

The University of Queensland

ELEC 470 Computer System Architecture

Question

Answered

Task

Assignment - Description

A2 – Smart Home Controller

In this assignment, you will continue working on the Smart Home Controller challenge playing the role of "Smart Builders", i.e., a bunch of developers who develop custom smart homes by putting together various components. You will now face three challenges:
 
•Adapting an Old Sensor. You are given an temperature sensor driver that does not satisfy the Simple Smart Device Collaboration Standard (SSDCS). You will need to use the adapter pattern so that you bring it up to SSDCS standards.
 
•Adapting a Sensor with inverted control. You are also given a temperature sensor that not only does not support SSDCS but it generates messages in response to temperature events, following the observer pattern. You will need to combine observer and adapter pattern to use this new sensor in your project.
 
•A Customizable Furnace. You are building your own family of SSDCS-compliant furnaces with various extra's and components. You will need to apply the  decorator pattern in order to makes sure that the furnace always initializes the appropriate components when it is turned on.
 
Recall: 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 (zip).

Meanwhile the files below represent your work on the controller:

•Controller.java [you will need to rename the file or class], as in the exercise the controller device collects data from sensors and sends commands to actuators. Here it is simplified to exclude Rooms, Buildings etc.
 
•Main.java [you will need to rename the file or class], a test bed where various sensors can be created and controlled/tested.

For this assignment you will need to complete the following exercises:

Exercise 1 (30%)

OldTemp Inc. is a company that was developing sensors before Ssdcs existed. You need to use one of their sensors OldyTempSensorOld3 which obviously does not comply with Ssdcs. The company offers you a jar of the sensor driver and a JavaDoc for the Driver. Use the adapter pattern to use OldyTempSensorOld3 in your integration project so that it complies with Ssdcs. Name your Adapter OldyTempSensorAdapter;

Submit:

1.A run of scenario 1 (see Main.java).
 
2.A 2-3 minute uninterrupted video presenting your solutions and demonstrating the code.

The video should be staged to show:

(i) How you set up your Eclipse project from scratch and import the Java files,
 
(ii) How you import the driver in the project (including showing that it does not work without the import), and
 
(iii) How you run it.
 
3.The Java files relating to your solution.

4.A link to a JavaDoc describing your classes.
 
5.A class diagram demonstrating your solution.

Exercise 2 (40%)

NewTemp Inc. is a company that is developing sensors just ignoring SSDCS. Instead they implement part of an observer pattern in which the sensor is a Subject generating notifications. The company offers you a JAR of the sensor driver and a JavaDoc where the observer implementation is described. Use the adapter pattern to comply with the observer pattern that NewTemp imposes. [hint: simply let the adapter keep track of the latest temperature it received]. Name your Adapter Newly Temp Sensor Adapter.

Submit:

1.A run of scenario 2 (see Main.java)

2.A 2-3 minute uninterrupted video presenting your solutions and demonstrating the code.

The video should be staged to should show:

(i) How you set up your Eclipse project from scratch and import the Java files,
 
(ii) How you import the driver in the project (including showing that it does not work without the import), and
 
(iii) How you run it.
 
3.The JAVA files relating to your solution.

4.A link to a JavaDoc describing your classes.
 
5.A sequence diagram  showing what happens when newTemperature(0) is called from Main.

Exercise 3 (30%)

Smart Builders also decided to start building furnaces. They call their family of furnaces OurFurnace and they are SSDCS compliant. The basic furnace (which includes the basic components of a furnace) can be augmented with a Humidifier and a WiFi (for smartphone control). Depending on whether the furnace has these components, they must turn on when the furnace turns on. As it stands they only have one model PlainGasF1, and when it turns on it simply prints "PlainGasF1: Up and Running". The WiFi component prints "Wifi: Initialized" and the Humidifier prints "Humidifier: On".
 
Depending on what, if any, add-ons are considered, the start sequence will print different messages. For example, PlainGasF1 with Wifi will print:

"Wifi: Initialized".
"PlainGasF1: Up and Running".
 
... when turned on (i.e. method turnOn()).
 
Implement the product family using the decorator pattern, and show that turnOn() behaves accordingly.

Submit:

1.A 2-3 minute uninterrupted video presenting your solutions and demonstrating the code.

The video should be staged to should show:

(i) How you set up your Eclipse project from scratch and import the Java files,
 
(ii) How you import the driver in the project (including showing that it does not work without the import), and
 
(iii) How you run it.
 
2.The java files relating to your solution.
 
3.A link to a JavaDoc describing your classes.

ELEC 470 Computer System Architecture

Answer in Detail

Solved by qualified expert

Get Access to This Answer

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Hac habitasse platea dictumst vestibulum rhoncus est pellentesque. Amet dictum sit amet justo donec enim diam vulputate ut. Neque convallis a cras semper auctor neque vitae. Elit at imperdiet dui accumsan. Nisl condimentum id venenatis a condimentum vitae sapien pellentesque. Imperdiet massa tincidunt nunc pulvinar sapien et ligula. Malesuada fames ac turpis egestas maecenas pharetra convallis posuere. Et ultrices neque ornare aenean euismod. Suscipit tellus mauris a diam maecenas sed enim. Potenti nullam ac tortor vitae purus faucibus ornare. Morbi tristique senectus et netus et malesuada. Morbi tristique senectus et netus et malesuada. Tellus pellentesque eu tincidunt tortor aliquam. Sit amet purus gravida quis blandit. Nec feugiat in fermentum posuere urna. Vel orci porta non pulvinar neque laoreet suspendisse interdum. Ultricies tristique nulla aliquet enim tortor at auctor urna. Orci sagittis eu volutpat odio facilisis mauris sit amet.

Tellus molestie nunc non blandit massa enim nec dui. Tellus molestie nunc non blandit massa enim nec dui. Ac tortor vitae purus faucibus ornare suspendisse sed nisi. Pharetra et ultrices neque ornare aenean euismod. Pretium viverra suspendisse potenti nullam ac tortor vitae. Morbi quis commodo odio aenean sed. At consectetur lorem donec massa sapien faucibus et. Nisi quis eleifend quam adipiscing vitae proin sagittis nisl rhoncus. Duis at tellus at urna condimentum mattis pellentesque. Vivamus at augue eget arcu dictum varius duis at. Justo donec enim diam vulputate ut. Blandit libero volutpat sed cras ornare arcu. Ac felis donec et odio pellentesque diam volutpat commodo. Convallis a cras semper auctor neque. Tempus iaculis urna id volutpat lacus. Tortor consequat id porta nibh.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Hac habitasse platea dictumst vestibulum rhoncus est pellentesque. Amet dictum sit amet justo donec enim diam vulputate ut. Neque convallis a cras semper auctor neque vitae. Elit at imperdiet dui accumsan. Nisl condimentum id venenatis a condimentum vitae sapien pellentesque. Imperdiet massa tincidunt nunc pulvinar sapien et ligula. Malesuada fames ac turpis egestas maecenas pharetra convallis posuere. Et ultrices neque ornare aenean euismod. Suscipit tellus mauris a diam maecenas sed enim. Potenti nullam ac tortor vitae purus faucibus ornare. Morbi tristique senectus et netus et malesuada. Morbi tristique senectus et netus et malesuada. Tellus pellentesque eu tincidunt tortor aliquam. Sit amet purus gravida quis blandit. Nec feugiat in fermentum posuere urna. Vel orci porta non pulvinar neque laoreet suspendisse interdum. Ultricies tristique nulla aliquet enim tortor at auctor urna. Orci sagittis eu volutpat odio facilisis mauris sit amet.

Tellus molestie nunc non blandit massa enim nec dui. Tellus molestie nunc non blandit massa enim nec dui. Ac tortor vitae purus faucibus ornare suspendisse sed nisi. Pharetra et ultrices neque ornare aenean euismod. Pretium viverra suspendisse potenti nullam ac tortor vitae. Morbi quis commodo odio aenean sed. At consectetur lorem donec massa sapien faucibus et. Nisi quis eleifend quam adipiscing vitae proin sagittis nisl rhoncus. Duis at tellus at urna condimentum mattis pellentesque. Vivamus at augue eget arcu dictum varius duis at. Justo donec enim diam vulputate ut. Blandit libero volutpat sed cras ornare arcu. Ac felis donec et odio pellentesque diam volutpat commodo. Convallis a cras semper auctor neque. Tempus iaculis urna id volutpat lacus. Tortor consequat id porta nibh.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Hac habitasse platea dictumst vestibulum rhoncus est pellentesque. Amet dictum sit amet justo donec enim diam vulputate ut. Neque convallis a cras semper auctor neque vitae. Elit at imperdiet dui accumsan. Nisl condimentum id venenatis a condimentum vitae sapien pellentesque. Imperdiet massa tincidunt nunc pulvinar sapien et ligula. Malesuada fames ac turpis egestas maecenas pharetra convallis posuere. Et ultrices neque ornare aenean euismod. Suscipit tellus mauris a diam maecenas sed enim. Potenti nullam ac tortor vitae purus faucibus ornare. Morbi tristique senectus et netus et malesuada. Morbi tristique senectus et netus et malesuada. Tellus pellentesque eu tincidunt tortor aliquam. Sit amet purus gravida quis blandit. Nec feugiat in fermentum posuere urna. Vel orci porta non pulvinar neque laoreet suspendisse interdum. Ultricies tristique nulla aliquet enim tortor at auctor urna. Orci sagittis eu volutpat odio facilisis mauris sit amet.

Tellus molestie nunc non blandit massa enim nec dui. Tellus molestie nunc non blandit massa enim nec dui. Ac tortor vitae purus faucibus ornare suspendisse sed nisi. Pharetra et ultrices neque ornare aenean euismod. Pretium viverra suspendisse potenti nullam ac tortor vitae. Morbi quis commodo odio aenean sed. At consectetur lorem donec massa sapien faucibus et. Nisi quis eleifend quam adipiscing vitae proin sagittis nisl rhoncus. Duis at tellus at urna condimentum mattis pellentesque. Vivamus at augue eget arcu dictum varius duis at. Justo donec enim diam vulputate ut. Blandit libero volutpat sed cras ornare arcu. Ac felis donec et odio pellentesque diam volutpat commodo. Convallis a cras semper auctor neque. Tempus iaculis urna id volutpat lacus. Tortor consequat id porta nibh.

34 More Pages to Come in This Document. Get access to the complete answer.

MyAssignmenthelp.com is a noted academic help provider that offers custom essay help. We provide step-by-step essay assistance to ensure that students receive needed online essay help in the manner that they expect. We receive requests like can experts help me with my essay and fulfil those requests. Despite providing highest quality essay writing help, we have kept our prices to a minimum in order to help maximum students.

More ELEC470 ELEC 470 Computer System Architecture: Questions & Answers

Q
icon

We aren't endorsed by this University

WEB230 JavaScript 1

in this assignment we will write a JavaScript program to calculate the average of a set of quiz marks.Instructions1. Create variable containing an array that will contain five or more numbers that represent themarks on quizzes. It is assumed that all quizzes will be out of 10 so the numbers must be ...

View Answer
Q
icon

We aren't endorsed by this University

COMP115 Introduction to Computer Science

You set a constant globally at the VERY TOP, as:final int N_PARTITIONS = 10;and use it (N_PARTITIONS) throughout the program. your program should work even if the marker changes the value of N_PARTITIONS to 5 or 8 or 15 or. (obviously, when N_PARTITIONS changes to 15, there should be 15 rows and 15 ...

View Answer
Q
icon

We aren't endorsed by this University

cs 210 Data Structures and abstractions

Note1.The marks distribution for programming questions: 50% for comments, 40% for coding, and 10% for formatting (indentation/spacing). Your code must run. Submit cppfiles, pdf filesand screen shots of the outputs (as described in the class) to UR Courses.Question 1[20].Write a struct Studentthat ha ...

View Answer
Q
icon

We aren't endorsed by this University

BISM7233 Data Analytics for Business

Task: 1. Executive Summary: An executive summary is a short summary of the key information in the document and is written for a businessperson. It should contain clear, well-structured, evidence-based summary of your findings for Telecom managers on what to consider in order to effectively addre ...

View Answer

Content Removal Request

If you are the original writer of this content and no longer wish to have your work published on Myassignmenthelp.com then please raise the content removal request.

Choose Our Best Expert to Help You

icon

5% Cashback

On APP - grab it while it lasts!

Download app now (or) Scan the QR code

*Offer eligible for first 3 orders ordered through app!

screener
ribbon
callback request mobile
Have any Query?