Table of Contents

IoT System Design Methodologies

The need for system-based IoT design methods

The Internet of Things (IoT) is still in its formative phase, presenting a critical window of opportunity to design and implement IoT systems that are scalable, cost-effective, energy-efficient, and secure. These systems must be developed to deliver acceptable Quality of Service (QoS) while meeting essential requirements such as interoperability and seamless integration across different devices and platforms.

Achieving these ambitious design objectives requires a comprehensive, system-based approach that considers the diverse priorities of various stakeholders, including network operators, service providers, regulatory bodies, and end users. Each group brings its requirements and constraints, and balancing these is essential to ensure the system's overall success.

To support this, there is a significant need for the development of robust formal methods, advanced tools, and systematic methodologies aimed at designing, operating, and maintaining IoT systems, networks, and applications. Such tools and methods should be capable of guiding the process to align with stakeholder goals while minimising potential unintended consequences. This approach will help create resilient and adaptive IoT ecosystems that meet current demands and are prepared for future technological advancements and challenges.

System thinking, design thinking, and systems engineering methodologies provide powerful frameworks for developing formal tools for designing and deploying complex IoT systems. These interdisciplinary approaches enable a comprehensive understanding of how interconnected components interact within a larger ecosystem, allowing for the creation of more resilient, efficient, and effective IoT solutions.

A practical example of leveraging these methodologies can be found in the work referenced in [1], where system dynamics tools were applied to design IoT systems for smart agriculture. Researchers constructed causal loop diagrams in this study to map and analyse the intricate interplay between multiple factors impacting rice farming productivity. By visually representing the causal relationships within the agricultural system, they identified key drivers and dependencies that influence outcomes. This insight allowed them to propose an IoT-based smart farming solution to optimise productivity through data-driven decision-making informed by these interdependencies.

The value of system dynamics and systems engineering tools extends beyond smart agriculture. These methods can simplify the design and analysis of complex IoT systems, networks, and applications across various sectors. They offer a structured way to break down the complexity of interconnected systems, ensuring that the resulting IoT solutions are cost-effective, reliable but also secure, and energy-efficient. This approach ensures that the needs of diverse stakeholders—including developers, network operators, regulatory bodies, and end-users—are met effectively.

Moreover, system dynamics tools have proven beneficial in educational contexts, particularly for teaching IoT courses. Educators can help students grasp the complexity of IoT systems and concepts more intuitively by adopting a system-centric approach. This holistic teaching method supports learners in understanding how various components and processes interact within an IoT ecosystem, thereby fostering a deeper comprehension of the subject matter and preparing them for real-world IoT challenges, as demonstrated in the findings of [2].

While numerous IoT-based systems are being individually developed and tested by practitioners and researchers, these efforts often fall short of addressing the practical reality that IoT systems must ultimately interact with each other and human users. This interconnectedness underscores the need for a holistic, system-centric design methodology to manage IoT systems' complexity and interdependencies effectively. The design of these systems should move beyond isolated functionalities to consider the broader ecosystem in which they operate, including human interaction, cross-system communication, and scalability.

Several studies have ventured into leveraging methods and tools to design IoT systems—for example, research referenced in [3] utilised causal loop diagrams to study the intricate interactions between systems and stakeholders, identifying key feedback loops influencing productivity. This approach provided actionable insights and recommendations on improving efficiency and performance within specific applications, such as smart agriculture. Using causal loop diagrams in such studies highlights the importance of visualising and understanding complex IoT ecosystems' relationships and feedback mechanisms.

However, it is crucial to incorporate both qualitative and quantitative system dynamics tools to advance IoT systems' design and operational robustness. While causal loop diagrams are practical for modelling qualitative interactions and identifying feedback structures, quantitative methods are needed to simulate and analyse the dynamic behaviour of IoT systems under various conditions. Integrating both approaches makes it possible to model the structure and the real-time, data-driven interactions among different IoT components.

This highlights the urgent need to develop a comprehensive, multi-faceted framework that blends system thinking, design thinking, and systems engineering tools. Such an integrated approach would support the end-to-end design, operation, and maintenance of IoT systems, networks, and applications. The goal would be to create systems that align with the objectives of various stakeholders, including developers, service providers, network operators, regulators, and end-users while minimising unintended consequences such as system inefficiencies, vulnerabilities, or user dissatisfaction.

System thinking enables a broad, interconnected view that helps identify and understand the relationships and dependencies across components. Design thinking ensures that solutions are user-centric, addressing real needs through iterative prototyping and feedback. Systems engineering brings discipline and structure, employing established methodologies and tools to optimise system performance and reliability.

IoT systems can be designed to be technically proficient, adaptable, scalable, and aligned with stakeholder needs by developing a framework that synergises these approaches. This will foster sustainable, resilient IoT ecosystems capable of evolving alongside technological advancements and societal demands, paving the way for a future where IoT seamlessly integrates into everyday life, supporting everything from smart cities to connected healthcare with minimal risk and maximal benefit.

Integrating systems thinking, design thinking, and engineering methodologies into developing IoT systems can significantly enhance their design and implementation. These approaches facilitate the creation of robust, scalable, and efficient IoT solutions tailored to modern applications' complex requirements while addressing the stakeholders' needs.

Linear Thinking in IoT Design Methodologies

Linear thinking is crucial in designing and implementing IoT systems, offering a structured, step-by-step approach to problem-solving and development. In IoT, where multiple components must work seamlessly together, a logical and sequential methodology helps ensure clarity, efficiency, and precision.

Characteristics of Linear Thinking in IoT Design

  1. Sequential Development Process: IoT systems are designed through a series of well-defined stages, such as requirement analysis, device selection, network design, and application integration.
  2. Cause-and-Effect Focus: Every design decision in an IoT system impacts subsequent steps, such as how sensor data influences processing or how network protocols affect data flow.
  3. Rule-Based Implementation: Adherence to industry standards and best practices, like using MQTT for messaging or ensuring data security through encryption protocols, is central to linear IoT design.
  4. Predictability: A linear approach ensures predictable outcomes, such as reliable communication between IoT devices and backend systems.

Applications of Linear Thinking in IoT Design Methodologies

Linear thinking in IoT is applied throughout the design lifecycle, helping teams address specific challenges methodically and systematically.

Structured System Development

In IoT design, linear thinking enables the structured development of systems by organising tasks into sequential phases (figure 1):

Linear Thinking in IoT Design Methodologies - Structured System Development Flow
Figure 1: Linear Thinking in IoT Design Methodologies - Structured System Development Flow
  1. Defining Objectives: Identify the purpose of the IoT solution, such as monitoring energy usage or automating logistics.
  2. Selecting Hardware: Choose sensors, actuators, and devices that align with the objectives.
  3. Designing Network Architecture: Establish connectivity protocols and infrastructure for seamless data transfer.
  4. Developing Applications: Implement data analysis, visualisation, and device control software.
  5. Testing and Deployment: Validate system functionality before deployment and monitor post-deployment performance.

Troubleshooting and Optimisation

Linear methodologies simplify troubleshooting in IoT systems. For example, diagnosing connectivity issues can follow a logical sequence (figure 2):

Linear Thinking in IoT Design Methodologies - Troubleshooting and Optimisation Flow
Figure 2: Linear Thinking in IoT Design Methodologies - Troubleshooting and Optimisation Flow
  1. Check the device functionality.
  2. Verify network configurations.
  3. Analyse communication protocols.
  4. Inspect backend systems and applications.
  5. Integration of IoT Systems

Linear thinking aids in integrating IoT systems with other technologies. For example, a smart home IoT solution might involve sequential integration of sensors, cloud platforms, and mobile applications to ensure a seamless user experience.

Benefits of Linear Thinking in IoT Design

  1. Clarity and Simplicity: Linear thinking provides a clear framework for IoT design, breaking down complex projects into manageable tasks. This clarity is essential when dealing with multidisciplinary teams working on diverse system components.
  2. Efficiency in Development: By following a sequential methodology, teams can avoid redundancies and focus on delivering functional IoT systems on schedule. For instance, designing the network architecture before implementing security protocols ensures that resources are allocated effectively.
  3. Dependability and Predictability: IoT systems designed using linear thinking are reliable and predictable. Following a clear progression from hardware setup to application development ensures that all components work harmoniously.

Limitations of Linear Thinking in IoT Design

Despite its advantages, linear thinking may not address all aspects of IoT design effectively:

  1. Complexity Management: IoT systems often involve interconnected components where feedback loops and dynamic interactions make linear methodologies insufficient.
  2. Inflexibility: Linear thinking may struggle to adapt to evolving requirements or unforeseen changes during development.
  3. Limited Innovation: Focusing solely on predefined steps can hinder creative problem-solving, which is often needed in IoT for innovative use cases.

Complementing Linear Thinking with Non-Linear Approaches

To address these challenges, linear thinking in IoT design can be combined with non-linear approaches like:

  1. Systems Thinking: To understand the interdependencies between IoT components.
  2. Agile Methodologies: To iterate rapidly and adapt to changes.
  3. Design Thinking: To foster user-centric innovations.

Linear thinking provides a strong foundation for IoT design methodologies by ensuring clarity, efficiency, and dependability. It is particularly effective in addressing well-defined problems and structured tasks. However, it should be complemented with flexible, iterative approaches to meet IoT systems' complexity and dynamic nature. This balanced methodology enables organisations to design IoT solutions that are reliable, functional, innovative, and adaptable to future needs.

Design Thinking in IoT Design Methodologies

Design Thinking, a human-centred and innovative methodology, plays a transformative role in developing Internet of Things (IoT) solutions. By focusing on empathy, creativity, and collaboration, Design Thinking allows designers to craft IoT systems that deeply resonate with users, address real-world challenges, and deliver tangible value. This iterative and non-linear approach ensures that solutions remain user-focused while adapting to evolving needs and complexities. Below, we explore the application of Design Thinking to IoT design, breaking down its phases and highlighting its importance. The process is presented in a diagram (figure 3), and each step is described below.

Phases of Design Thinking in IoT Design
Figure 3: Phases of Design Thinking in IoT Design

Phases of Design Thinking in IoT Design

Empathise: Understanding Users in IoT Contexts

The foundation of Design Thinking lies in understanding the users —those who will interact with and benefit from IoT solutions. This phase involves:

  1. Observing User Behavior: Studying how users engage with their environment, existing devices, and technologies.
  2. Conducting Interviews and Surveys: Gathering qualitative insights to uncover user needs, motivations, and pain points.
  3. Analysing Context-Specific Challenges: For IoT, this could mean understanding how users interact with connected devices in smart homes, healthcare, or industrial settings.
  4. Building Empathy Maps: Visual tools to document user behaviours, emotions, and thought processes.

Example: In designing a smart thermostat, empathising involves understanding how users perceive temperature comfort, their schedules, and preferences for energy savings.

Define: Framing IoT Challenges with User-Centricity

With insights from the empathise phase, designers synthesise the data to articulate the problem clearly. This phase involves:

  1. Creating User Personas: Defining archetypes of users to focus on their specific needs.
  2. Drafting Problem Statements: These statements reflect the user's perspective, such as: “How might we design an IoT device that ensures seamless and secure remote control for elderly users unfamiliar with technology?”
  3. Scoping the IoT Problem: Aligning user needs with technical and business constraints to frame achievable goals.

Example: Defining the problem for a wearable health tracker could focus on addressing user concerns about data privacy and ease of use.

Ideate: Generating Creative IoT Solutions

The ideation phase encourages brainstorming innovative solutions for the defined problem. Activities include:

  1. Brainstorming Sessions: Generating a wide range of ideas without judgment.
  2. Mind Mapping: Connecting concepts like device features, usability, and scalability.
  3. Scenario Planning: Envisioning how IoT devices will function in different user contexts.
  4. Leveraging Multidisciplinary Teams: Collaboration between designers, engineers, and data scientists fosters diverse perspectives.

Example: For a smart irrigation system, ideation might explore options like soil-moisture sensors, weather-based predictions, and AI-powered water usage optimisation.

Prototype: Building Tangible IoT Concepts

In this phase, designers create prototypes to bring ideas to life. For IoT, this could involve:

Developing Low-Fidelity Prototypes: Sketches, mock-ups, or digital wireframes to demonstrate the user interface or functionality. Building Hardware Models: Using components like Arduino or Raspberry Pi to test device interactions and connectivity. Simulating IoT Scenarios: Creating controlled environments to test data flow and device responses. Example: A smart refrigerator prototype might include a basic app interface to demonstrate how users can view inventory and set the temperature remotely.

Test: Validating IoT Prototypes with Users

The testing phase ensures IoT solutions align with user expectations and functional requirements. This involves:

  1. User Feedback: Observing how real users interact with the prototype and collecting qualitative and quantitative feedback.
  2. Iterative Refinement: Using feedback to refine design elements, such as device form factors, UI/UX, or data processing logic.
  3. Performance Testing: Evaluating factors like connectivity, latency, and reliability in real-world conditions.

Example: Testing a smart door lock might involve scenarios where users remotely unlock doors via a mobile app, identifying issues like connectivity lag or interface confusion.

Iterative Nature of Design Thinking in IoT

Design Thinking is inherently iterative, requiring designers to revisit previous phases as new insights emerge. This flexibility is crucial for IoT systems, where user needs, technological advancements, and environmental factors can evolve rapidly.

Example Iterations

  1. Returning to Ideation: Incorporating user feedback to explore alternative solutions.
  2. Refining Prototypes: Addressing hardware compatibility or improving battery life based on test results.

Benefits of Design Thinking in IoT Design

  1. User-Centric Solutions: Ensures IoT systems are intuitive, accessible, and aligned with real user needs.
  2. Enhanced Innovation: Encourages creative problem-solving to develop unique, competitive IoT solutions.
  3. Flexibility: Adapts to changing requirements, making it ideal for dynamic IoT environments.
  4. Improved Adoption Rates: User-focused designs are more likely to gain acceptance and trust.
  5. Cross-Functional Collaboration: Facilitates teamwork across disciplines, leveraging diverse expertise.

Challenges of Applying Design Thinking to IoT

  1. Complexity in Empathy: Understanding user interactions with IoT systems often involves multiple stakeholders and diverse use cases.
  2. Technical Constraints: Translating user needs into viable IoT solutions requires balancing feasibility, cost, and scalability.
  3. Data Privacy and Security: Designing user-centric IoT solutions must address data protection and compliance concerns.

Design Thinking is an invaluable methodology for IoT design. It enables teams to create solutions that prioritise users while addressing technical and business challenges. Its iterative and collaborative nature ensures that IoT systems remain adaptable, innovative, and effective. By integrating empathy, creativity, and feedback into the design process, Design Thinking helps organisations deliver IoT solutions that resonate deeply with users and stand out in a competitive landscape.

Systems Thinking in IoT Design Methodologies

Systems Thinking is a holistic approach to analysing and solving complex problems by understanding a system's relationships, interactions, and interdependencies. In the context of Internet of Things (IoT) design, Systems Thinking becomes crucial because IoT systems are inherently complex, comprising interconnected devices, networks, data flows, and user interactions. By adopting Systems Thinking, IoT designers can address the challenges of scalability, interoperability, and sustainability while ensuring that solutions align with user needs and broader organisational goals.

What is Systems Thinking?

Systems Thinking views an IoT system as an integrated whole rather than isolated components. It emphasises:

  1. Interconnections: Understanding how different devices, networks, and software interact.
  2. Feedback Loops: Identifying how system outputs affect inputs, creating dynamic behaviours.
  3. Emergent Properties: Recognising that the whole system often exhibits behaviours and capabilities that individual components cannot achieve alone.
  4. Context Awareness: Considering the system's environment, including social, economic, and technological factors.

For IoT, Systems Thinking ensures that solutions are robust, scalable, and adaptable to changing environments.

Key Principles of Systems Thinking in IoT Design Fundamental principles of systems thinking in IoT design are presented in figure 4 and discussed below:

Key Principles of Systems Thinking in IoT Design
Figure 4: Key Principles of Systems Thinking in IoT Design

Holistic Perspective

Understanding Interdependencies

Feedback Loops and Adaptability

Focus on Context and Environment

Emergent Behaviour Analysis

Steps to Apply Systems Thinking in IoT Design Methodologies

Figure 5 presents a workflow for the systems thinking approach for IoT design methodologies. Details are discussed below.

Systems Thinking in IoT Design Methodologies
Figure 5: Systems Thinking in IoT Design Methodologies

Define the System's Purpose and Boundaries

Example: For a smart factory, the purpose might be to optimise production efficiency, and the boundaries might include connected machinery, inventory systems, and supply chain interactions.

Identify Components and Stakeholders

Example: In an IoT-based energy management system, stakeholders might include utility companies, building managers, and end-users monitoring their energy consumption.

Map Interconnections and Data Flows

Example: A connected vehicle system requires mapping interactions between GPS devices, onboard diagnostics, traffic data servers, and driver interfaces.

Analyse Feedback Loops

Example: In a smart thermostat, a feedback loop might ensure that when the temperature exceeds a set point, cooling systems are activated, and adjustments are logged for future optimisation.

Consider Scalability and Interoperability

Example: A smart city IoT platform must handle a growing number of sensors, from traffic cameras to air quality monitors, while integrating with diverse protocols like MQTT and CoAP.

Address Security and Privacy Holistically

Example: In healthcare IoT, secure patient data transmission requires end-to-end encryption, secure APIs, and robust access control mechanisms.

Monitor and Iterate

Example: A smart logistics platform might adjust its route optimisation algorithms based on real-time traffic patterns and delivery delays.

Benefits of Systems Thinking in IoT Design

  1. Enhanced Resilience: By understanding interdependencies, designers can create systems that withstand failures and adapt to changing conditions.
  2. Scalability: Systems Thinking helps design IoT architectures that can grow seamlessly with increased demand.
  3. Improved Efficiency: Holistic optimisation ensures that resources like bandwidth, power, and computational capacity are used effectively.
  4. Innovation: By analysing emergent behaviours, Systems Thinking can uncover novel opportunities for functionality and value.
  5. Sustainability: Considering environmental and social impacts ensures IoT solutions align with broader sustainability goals.

Challenges of Systems Thinking in IoT Design

  1. Complexity Management: Mapping all interactions and interdependencies can be time-consuming and resource-intensive.
  2. Balancing Focus: Maintaining a high-level perspective while addressing detailed technical issues can be challenging.
  3. Dynamic Environments: IoT systems often operate in rapidly changing contexts, requiring frequent reassessment and adaptation.

Stakeholder Alignment: It can be challenging to ensure that all stakeholders understand and agree on the system's purpose and design.

Systems Thinking is an indispensable methodology for IoT design, offering a comprehensive framework to tackle the inherent complexity of interconnected systems. Systems Thinking enables designers to create robust, scalable, and user-focused IoT solutions by focusing on interdependencies, feedback loops, and the broader context. Its emphasis on holistic analysis and adaptability ensures IoT systems meet current needs and evolve gracefully with emerging challenges and opportunities.

System Dynamics Modeling for IoT Systems

System dynamics is a practical application of Systems Thinking, originally developed at MIT in the 1950s. It provides a framework for understanding and modelling the complex behaviour of systems by emphasising the interconnections, feedback loops, and time delays inherent in such systems. Practitioners and researchers in system dynamics employ various modelling and simulation tools to explore the implications of hypothesised causal relationships and understand system dynamics over time. Sample closed-loop system dynamics modelling methodology is present in figure 6.

Closed-loop System Dynamics Modelling Methodology
Figure 6: Closed-loop System Dynamics Modelling Methodology

Closed-system thinking methodology can be applied to overcome the limitations of open-loop or linear thinking approaches. Linear thinking typically involves problem identification, information gathering, evaluating alternative solutions, selecting the best option, and implementing the policy. However, this approach often generates unintended consequences because it operates in silos, addressing isolated issues without considering the broader goals or interactions within the system.

IoT systems are often designed to interact with other information systems, cyber-physical systems in industries, critical infrastructures (energy, water distribution, heating, health care, and transportation systems), and people (management systems). The interaction between IoT systems and other existing systems may create unintended consequences that must be considered at the design stage. There are also interactions between the various components of the IoT system that need to be considered. These interactions need to be modelled, and their impact evaluated and factored into the design of IoT systems and strategies devised to deal with possible unintended consequences that may arise.

System dynamics provides a modelling framework for analysing the complex interactions between IoT systems. IoT systems consist of multiple interconnected components (such as sensor networks, data processing units, communication infrastructures, management systems, and stakeholders like policymakers and users) that work together to achieve the diverse goals of the stakeholders as shown in Figure 6. Each IoT system comprises numerous interdependent parts interacting to perform their intended functions, and any modification in one part can affect the overall system performance. The effectiveness of IoT systems relies on the seamless interaction of all constituent components. However, these interactions, including stakeholder involvement, may lead to unintended consequences. Therefore, a system-centric approach is critical for designing and operating IoT systems to meet design objectives and address the expectations of all stakeholders.

The stakeholders involved may have conflicting priorities. For example, the main goal of system users might be to optimise operational efficiency, while the aim of technology developers could be to maximise data integration capabilities, and policymakers may focus on ensuring privacy, security, and environmental sustainability. Using the Systems Thinking framework, these stakeholders can apply tools such as causal loop diagrams to map the interconnections, feedback loops, and relationships (including nonlinear and causal dependencies) within the IoT ecosystem. Additionally, stock-and-flow models can be employed to simulate resource utilisation (e.g., data processing capacity or energy consumption) and to monitor accumulations such as system load or greenhouse gas emissions in IoT-supported applications. These models enable the creation of predictive frameworks that management teams or policymakers can leverage to design interventions, ensuring that the goals of diverse stakeholders are met effectively and sustainably.

System Dynamics Modeling Framework
The system dynamics modelling process involves several key steps (figure 7):

System Dynamics Modelling Process
Figure 7: System Dynamics Modelling Process
  1. Development of a Reference Model: Establishing a baseline representation of the system to understand its current structure and behaviour.
  2. Causal Loop Diagrams (CLDs): Creating diagrams that capture the structure of the complex system, identify causal relationships, and highlight feedback loops.
  3. Stocks and Flows: Representing the accumulation of resources (stocks) and their changes over time (flows) within the system.
  4. Mathematical Modeling: Developing equations to describe the relationships between system components quantitatively.
  5. Dimensional Analysis: Ensuring consistency in the units and scales of all variables and parameters used in the model.
  6. Computer Simulations: Using computational tools to simulate system behaviour under different scenarios and over time.
  7. Sensitivity Analysis: Assessing how changes in key parameters or assumptions impact system outcomes.
  8. Policy and Design Testing: Simulating various policies, design, or optimisation changes to evaluate their potential effectiveness and identify unintended consequences.

Core Assumptions of System Dynamics
System dynamics is based on the premise that a system's underlying structure determines its observed behaviour or trends. It emerges from the interaction of key elements, including physics, information availability, and decision-making rules.

The following structural elements are considered in modelling IoT systems:

1. Accumulations:

2. Causal Structures:
Identifying cause-and-effect relationships between components in the system.

3. Delays:
Recognising that the effects of actions or interventions often manifest after a time lag may impact decision-making.

4. Perceptions:
Correct or biased views of cause-and-effect relationships influence how problems are approached.

5. Pressures:
External or internal pressures resulting from perceptions of system challenges or opportunities.

6. Affects, Emotions, and Irrationalities:
Accounting for human factors that drive behaviours and decisions, often deviating from purely rational models.

7. Policies:
Rules and protocols, such as energy management policies or data prioritisation schemes, govern decisions.

8. Incentives:
Motivations that drive individual or system-level actions, such as minimising energy use or optimising throughput.

Defining Dynamics in IoT Systems

The system's dynamics are represented through graphs over time, capturing the variation of key variables and performance metrics as the system evolves. These graphs help to visualise the following:

By leveraging simulation results, we aim to plot and analyse these variations, providing actionable insights into how IoT systems behave under different conditions.

Why System Dynamics for IoT Systems?

System dynamics modelling offers a comprehensive approach to understanding the complexities of IoT systems, mainly when dealing with interactions between diverse components, feedback loops, and time-dependent behaviour. This methodology is especially relevant for IoT systems, where challenges such as data congestion, resource constraints, and dynamic user behaviour can significantly impact system performance. This is also very important in IoT systems that monitor and control industrial processes or critical systems.

By integrating system dynamics with IoT-specific considerations, we can:


[1] M. G. S. Wicaksono, E. Suryani, and R. A. Hendrawan. Increasing rice plant productivity based on IoT (Internet of Things) is needed to realise smart agriculture using a system thinking approach. Procedia Computer Science, 197:607–616, 2021.
[2] N. Silvis-Cividjian. Teaching Internet of Things literacy: A systems engineering approach. In Proceedings of the 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET), Montreal, QC, Canada, 2015. IEEE.
[3] M. G. S. Wicaksono, E. Suryani, and R. A. Hendrawan. Increasing rice plant productivity based on iot (internet of things) is needed to realise smart agriculture using a system thinking approach. Procedia Computer Science, 197:607–616, 2021.