> For the complete documentation index, see [llms.txt](https://docs.idew.org/project-internet-of-things/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.idew.org/project-internet-of-things/project-instructions/2-design-and-build-solution/2.2-system-model.md).

# 2.2 System Model

{% tabs %}
{% tab title="✓ TASK" %}
Similar to robotic devices, IoT devices follow a "Sense-Think-Act" cycle to interact with the physical world. IoT devices also "communicate" through an internet or network connection.

![](/files/-LMTc-SVYeUv_rF4Pxih)

* **SENSE:** IoT devices typically have one or more **physical inputs** (such as sensors, etc.) that gather data from the physical environment.
* **THINK:**  IoT devices are programmed to analyze data from their inputs to make decisions and respond to certain conditions by acting through their outputs.
* **ACT:** IoT devices typically have one or more **physical outputs** (such as motors, etc.) that can do something in the physical environment.
* **COMMUNICATE:**  IoT devices send and/or receive data by communicating with other apps, databases, or other devices through an **internet or network connection** (which is often a wireless signal such as cellular, Wi-Fi, Bluetooth, etc.). This data communication can serve as a digital input ("sense") or as a digital output ("act").

Your team will create a **system model** of your smart device and web app to show how the different parts of your solution will work together to "Sense-Think-Act-Communicate". This system model will help your team better understand how to build your smart device and program its apps.

{% hint style="warning" %}
**REFINE PROJECT CONCEPT:**  Before your team finalizes its system model, your team might need to revise or refine its project concept based on the feedback you received during your proposal presentation.

Be sure you can build a functional prototype of your smart device that can be demonstrated to the public. If necessary, you can simulate certain parts or actions as long as the main task of your smart device can still be demonstrated.
{% endhint %}

{% hint style="success" %}
**REMINDER:**  The project challenge requires that your smart device prototype uses **at least one** [**physical input**](https://docs.idew.org/code-internet-of-things/references/physical-inputs) (sensor, button, etc.) and **at least one** [**physical output**](https://docs.idew.org/code-internet-of-things/references/physical-outputs) (motor, LED light, etc.) from the provided IoT electronics kit.
{% endhint %}

Make a copy of this [system model template](https://drive.google.com/open?id=1Wa-XA72NDHxgGPw4mj6zXwWaNHRrPBw-Rec8z4Cy5k8), and then modify it:

1. Identify the name of each **physical input** (sensor, push button, etc.) that your smart device will use, and describe how each input will be used.
2. Identify the name of each **physical output** (motor, LED light, etc.) that your smart device will use, and describe how each output will be used.
3. Describe each task or feature of the **web app** that interacts with your smart device.

**NOTE:**  Although this system model won't directly list the "Think" steps performed by your smart device's apps, these "Think" steps should be clearly implied by your descriptions for the inputs, outputs, and web app.

### **❏ Deliverable**

Submit your team's system model for your smart device solution.
{% endtab %}

{% tab title="➤ EXAMPLE" %}
![](/files/-LMhDlh3xhTYHRUBbaSC)
{% endtab %}

{% tab title="★ RUBRIC" %}

| **✓- Below Standard** | **✓ Meets Standard** | **✓+ Exceeds Standard** |
| --------------------- | -------------------- | ----------------------- |
| Description           | Description          | Description             |
| {% endtab %}          |                      |                         |
| {% endtabs %}         |                      |                         |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.idew.org/project-internet-of-things/project-instructions/2-design-and-build-solution/2.2-system-model.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
