Automation involves setting up devices to trigger one another. You can utilize the latest smart gadgets to enhance your daily routine, for instance, blinds opening at a particular time to start your morning which triggers certain lights to turn on around your house. All home automation devices are Internet of things (IoT) devices, and many of these IoT devices have sensors that monitor changes in motion, temperature, and light so the user can gain information about the device’s surroundings.

GET THIS ANSWER AT ESSAYLINK.NET

UNIVERSITY OF TECHNOLOGY, JAMAICA

SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY

THEORY OF COMPUTATION (CIT3006)

GROUP PROGRAMMING PROJECT

Available: May 18, 2022

Weight: 20%

Due: June 24, 2022

Group Size: 3

Home Automation

Automation involves setting up devices to trigger one another. You can utilize the latest smart gadgets to enhance your daily routine, for instance, blinds opening at a particular time to start your morning which triggers certain lights to turn on around your house. All home automation devices are Internet of things (IoT) devices, and many of these IoT devices have sensors that monitor changes in motion, temperature, and light so the user can gain information about the device’s surroundings.

Automata theory is a cutting-edge theoretical branch of computer science. The word automaton, derived from “automation” and “automatic”, refers to processes that automatically execute to create specific procedures (Hasan, 2022). Automatons are abstract models of machines that perform computations on input by moving through a series of states or configurations (Engati, 2021). A transition function determines the next configuration for each state based on a finite portion of the present configuration. As a result, it accepts that input once the computation reaches an accepting state. There are four major families of automaton:

  • Finite-state machine (FSM)

  • Pushdown automata (PDA)

  • Linear-bounded automata (LBA)

  • Turing machine

For this project, you will design and implement an FSM to model the automation of a living room. Using FSM, the programming is simplified, but it creates a flexible, robust system to manage all aspects of the automation process. The FSM is an abstract machine that can be in exactly one of a finite number of states at any given time. It can change from one state to another in response to some inputs; the change from one state to another is called a transition. An FSM is defined by a list of its states, its initial state, and the inputs that trigger each transition. There are two types of FSMs: deterministic finite state machines, often called deterministic finite automata (DFA), and non-deterministic finite state machines, often called non-deterministic finite automata (NFA).

Automation Detail

Three entities in the living room will require automation: window, air conditioner (AC), and lamp. The initial state of the window is closed, and the initial state of the AC and lamp are both off. The window’s state can be opened if a person is detected in the room, and it is daytime. It then closes if no one is detected in the room, AC is on, or it is nighttime. The AC should only turn on if a person is detected in the room and the temperature is hot (80 degrees or higher). It turns off when no one is detected in the room, the window is open, or the temperature is cold (32 degrees or lower). Light switches on when a person enters a room, and it is dark (note: dark does not have to be night). It switches back off if a person is no longer detected or the surrounding is bright.

Page 1 of 2

Each group should be no more than three (3) persons and with three entities to automate each group member should take responsibility for one. Individually each group member will

  1. design and label a state diagram for their chosen entity [window, AC, or lamp]

ii.

write the formal definition for your FSM, clearly listing the five-tuple =

,Σ,,0,

and its elements, including the complete transition function.

  1. provide the formal description of the language that your FSM recognizes

The three individual FSMs should then be merged, and the group should provide an extended transition function for the merged FSM using a string that involves visiting all the states in your FSM at least once. In the project report, you should also describe how your final automaton works. The group must implement the final automaton ensuring all the functions described. A group can also implement additional functionality, as a bonus, if the exact functionality described above is maintained.

Marking Scheme:

Each group member should have an individual component that they are solely responsible for.

Project Report

State diagram (Individual)

5mks

Formal definition (Individual)

with transition function

9mks

function missing

less 4mks

Merged FSM with detailed computation

15mks

Extended transition function

10mks

Description of your final automaton works

6mks

Total Marks for Project Report

45mks

Project Implementation

Efficient and Effective Application

an appropriate representation of states in code

15mks

appropriate representation of alphabet in code

10mks

correctly accept string belonging to the language

5mks

correctly reject string not belonging to the language

5mks

graphical user interface including required displays

5mks

appropriate error handling

5mks

innovation and creativity (bonus) – 10mks

Effective Implementation on computer platform

15mks

Total Project Implementation Grade

60mks

Project Presentation – 10mks

Submission & Penalties:

  1. The project should be done in groups with NO MORE than three (3) students per group. Failure to comply will result in the assessment not being accepted and group members receiving 0(NS).

No individual projects will be accepted.

  1. Completed implementation must run and source code submitted with project report. Projects which do not run will not receive a passing grade.

  1. Students will be graded for their contribution; therefore, ALL reports MUST specify who completed specified individual component

  1. A 5–7-minute presentation should be done during your tutorial session (July 7, 2022) to complete the grading of the project.

  2. 3 marks per day will be deducted for late submission. 3 days late – project will not be accepted.

  1. Plagiarism is considered a very serious offence by the university and will be penalized as outlined in the Student Handbook (see Regulation 5).

References

Engati. (2021). Automata theory. Retrieved from Engati: https://www.engati.com/glossary/automata-theory

Hasan, S. (2022, March 25). Defining the Roots of Automation: Finite State Machines. Retrieved from

Dataconomy: https://dataconomy.com/2022/03/what-is-a-finite-state-machine/

Page 2 of 2

GET ORIGINAL SOLUTION AT ESSAYLINK.NET

GET HELP WITH YOUR HOMEWORK PAPERS @ 25% OFF

For faster services, inquiry about  new assignments submission or  follow ups on your assignments please text us/call us on +1 (251) 265-5102

Write My Paper Button

WeCreativez WhatsApp Support
We are here to answer your questions. Ask us anything!
👋 Hi, how can I help?
Scroll to Top