# Enhancing Sustainable IoT Systems Through a Goal-Oriented Requirements Analysis Framework
## 4 Goal-Oriented Requirements Analysis Approach for IoT Software Systems
### Application Example: IoT System for Monitoring Air Quality
#### 4.2.5 QVT for Model-to-Model Transformations
As a result, the operation produces an effect, such as a reduction in the temperature or the obtaining of CO\({}_{2}\) sensor values. The end user is clearly interested in defining the effect rather than devising the sequence of actions needed on different devices to achieve the desired result. The core concept behind goal-oriented interaction is to empower end users to articulate the overall effect (goal), such as \"obtain air quality information\", rather than requiring users to provide a list of actions resulting in the effect. Therefore, with this proposal, it becomes possible to visually represent the \"big picture\" of an intelligent environment, thereby considering the end user, the software, and the IoT system (devices, etc.) to enhance understanding and analysis of what is necessary to design and implement for satisfying user goals and expectations. ### Limitations

Despite the methodological strengths of GORA, several limitations must be recognized. First, the current implementation relies heavily on the i modeling tool set and EMF-QVT compatibility, which may pose interoperability challenges for teams using alternative modeling tools. Second, while the transformation logic is well defined, the absence of a formal validation mechanism for generated UML diagrams or Python code introduces a risk of semantic misalignment. Third, scalability remains untested beyond small-scale use cases; the framework's ability to handle large, distributed IoT ecosystems with highly heterogeneous devices has yet to be empirically confirmed. Lastly, while GORA supports sustainability by design, it does not yet provide formal guarantees or quantification of metrics, such as carbon footprint or lifecycle resource consumption. ## 5 Empirical Evaluation with a Simulated IoT Environment

To empirically validate the sustainability and performance benefits of the proposed GORA methodology, a simulated smart home environment was constructed and evaluated. The test scenario modeled a typical residential setting in which a homeowner deploys IoT-enabled sensors to monitor indoor air quality and activate control devices in response to hazardous conditions. The system processed the input from simulated environmental sensors measuring carbon dioxide (CO\({}_{2}\)), particulate matter (PM2.5), temperature, and humidity, and it interacted with intelligent actuators, such as air purifiers and thermostats. Two functionally equivalent variants of the system were implemented for comparative benchmarking: (i) a baseline system manually constructed using Node-RED flows and rule-based logic, and (ii) an automated GORA-based implementation using Python code generated from i* goal models via a model-driven development (MDD) pipeline. Both systems were executed under identical simulated conditions to ensure experimental parity. The evaluation focused on five primary metrics: energy efficiency, processing latency, memory usage, development effort, and execution reliability. ### Experimental Setup

The simulation was implemented using a virtualized infrastructure comprising Node-RED, Docker containers, InfluxDB, and Grafana, and it met the acceptance criteria, which are defined in Section 4.2.3. Sensor readings were generated at 5 s intervals over a continuous 2 h period, and both variants of the system operated simultaneously to enable side-by-side comparison. The experiment leveraged the following software and architectural components. * Infrastructure: A host machine running Docker Engine and Docker Compose was used to orchestrate the deployment and networking of all containerized services. * MQTT Broker: The Mosquito MQTT broker facilitated lightweight publish-subscribe messaging between simulated sensors, logic processors, and actuators. * Goal-Oriented Logic: The GORA system generated Python control logic directly from i* models using a two-step transformation process, i.e., model-to-model (M2M) transformation via QVT, which was followed by model-to-text (M2T) transformation using Acceleo.