ABSTRACT: The Internet of Things (IoT) has revolutionized various sectors. Despite several years since its inception, developing interoperable smart object environments remains challenging due to hardware and software heterogeneity and the difficulty in applying formal software development methods to ensure quality. The Semantic Web of Things (SWoT), combined with a set of best software development practices, presents a promising solution to ease the development of semantically interoperable IoT environments. This paper conducted a systematic review of tools for SWoT application development to establish the best decisions for developing these environments, while also seeking a proper balance to manage heterogeneity and quality. The findings highlight best practices, emerging trends, and future opportunities in SWoT development. Key trends, approaches, and tools used in SWoT application development were identified. Additionally, it is confirmed that the adoption of international standards and the use of semantic technologies are crucial to overcoming interoperability and quality challenges in IoT applications.
Keywords: Internet of Things, Semantic Web, interoperability, software development, quality assurance.
RESUMEN: La Internet de las Cosas (IoT por sus siglas en inglés) ha transformado diversos sectores. Aunque han pasado varios años desde su creación, aún es difícil desarrollar entornos de objetos inteligentes interoperables debido a la heterogeneidad de hardware y software, así como, la dificultad de aplicar métodos de desarrollo de software formales que aseguren la calidad de los desarrollos. La Web Semántica de las Cosas (SWoT por sus siglas en inglés), unida a un conjunto de buenas prácticas de desarrollo de software, se presenta como una solución prometedora para facilitar el desarrollo de entornos de interoperabilidad semántica de objetos inteligentes de la IoT. Este artículo realizó una revisión sistemática de herramientas para el desarrollo de aplicaciones de la SWoT, con el fin de establecer las mejores decisiones para el desarrollo de dichos entornos, buscando al mismo tiempo un equilibrio adecuado para gestionar la heterogeneidad y la calidad. Los resultados destacan las mejores prácticas, las tendencias emergentes y las oportunidades futuras en el desarrollo de la SWoT. Se identificaron las principales tendencias, enfoques y herramientas utilizados en el desarrollo de aplicaciones de la SWoT. Asimismo, se corrobora que la adopción de estándares internacionales y el uso de tecnologías semánticas son claves para superar los desafíos de interoperabilidad y calidad en aplicaciones IoT.
Palabras clave: Internet de las cosas, Web semántica, interoperabilidad, desarrollo de software, aseguramiento de calidad.
Artículos
TOOLS FOR DEVELOPING APPLICATIONS IN THE SEMANTIC WEB OF THINGS: A SYSTEMATIC LITERATURE REVIEW
Herramientas para el desarrollo de Aplicaciones en la Web Semántica de las Cosas: Una revisión sistemática de la literatura
Received: 03 May 2024
Accepted: 23 July 2024
The proliferation of the Internet of Things (IoT) has created a continuously expanding technological ecosystem, thus revolutionizing the way we interact with the world. The Web of Things (WoT) enables real-world IoT objects to gather contextual information, user data, and processes to generate intelligent behaviors among themselves and interact with users, transforming them into Smart Things.
The vision of a world interconnected by Smart Things represents the pinnacle of Web 4.0 and the Semantic Web of Things. However, achieving this vision requires addressing and developing tools to manage several key challenges:
Heterogeneity of Hardware and Software: The diversity of devices from different manufacturers, with varying capabilities and communication protocols, presents a complex landscape where Smart Things must be context-aware and able to access the meta-information of their peers. This capability is essential to establish a semantic interaction pathway, enabling the creation of joint services.
Diverse Knowledge Models: Addressing the previous challenge involves creating data models and shared knowledge across all nodes in the IoT ecosystem. However, this solution introduces the problem of heterogeneous models, as there is no consensus on the standard vocabularies and ontologies to be used, leading to challenges in achieving uniform interpretation.
Scalability: The IoT generates vast volumes of data, with thousands of devices connecting to the ecosystem daily. This directly impacts data storage repositories and the network's capacity to reduce latency in service responses.
Security and Privacy: The WoT has immense potential to capture sensitive data from individuals and organizations, ranging from real-time heart rate monitoring to spying on behaviors and conversations. Additionally, unauthorized intrusions into critical systems, such as nuclear plant sensors or electrical systems, pose significant risks to individuals' honor and lives. Therefore, establishing mechanisms to protect against unauthorized access while allowing necessary access to create interoperable and context-aware services requires the network of objects to provide robust security mechanisms with minimal impact on scalability.
Reusing the Installed Ecosystem: Integrating IoT technologies into existing systems and technologies is challenging. It requires balancing the need for constant adaptation and updates to maintain reliability while enhancing the usability of already installed technologies and other Smart Things.
Quality of Service: Developing intelligent environments where Smart Things interact demands not only software development knowledge but also expertise in hardware deployment and information networks. The goal is to create intelligent services for users, which must meet adequate quality standards. IoT applications face significant quality challenges, particularly in terms of reliability, robustness, maintenance, and support.
Software Development and Maintenance: Applying formal software development methods to ensure the quality and reliability of IoT systems poses significant challenges. Managing software and firmware updates across a wide variety of geographically dispersed devices presents a significant challenge in establishing a trusted network among Smart Things.
Intelligent Energy Management and Carbon Footprint: One of the critical challenges is energy achieving autonomy for increasingly connected devices. Their dependence on the current energy grid not only overloads the system but also elevates the carbon footprint of these devices contributing to the ecosystem.
Addressing these challenges requires a multidisciplinary approach that integrates software engineering, cybersecurity, data management, and distributed systems design, along with close collaboration among regulators, manufacturers, and developers.
Furthermore, generating semantic interoperability solutions in the WoT is crucial to addressing these challenges, and the SWoT emerges as a promising solution by providing meaning to the information generated by IoT devices and proposing an infrastructure that has proven to be efficient and effective in the current Semantic Web framework.
Moreover, Software Engineering enhances the quality of applications through a series of practices, methodologies, and tools that ensure software is robust, reliable, maintainable, and efficient. Applying these techniques to the development of SWoT applications can effectively manage existing issues in the IoT ecosystem of smart objects.
This research aims to enhance the quality of service, development, and maintenance of semantic interoperability environments for IoT smart objects by utilizing the SWoT in conjunction with established Software Engineering practices. This approach facilitates the creation of more intelligent, context-aware applications.
To achieve this, a systematic literature review has been conducted. This review intends to investigate the practices the tools employed in the development of applications using SWoT, given that SWoT is a relatively recent technology that requires the integration of multiple concepts.
This study employs a systematic mapping methodology following the guidelines of Budgen et al. [1], Petersen et al. [2], and Kitchenham [3]. The PICOC (Population, Intervention, Comparison, Outcome, Context) strategy was used to define the scope of the review. The selected bibliometric databases include Scopus, Web of Science, PubMed, and Dimensions. The search focused on titles, abstracts, and keywords to ensure the relevance of the selected studies. Initially, 69 studies were identified, which were narrowed down to 30 documents after the removal of duplicates and irrelevant studies.
The selection process involved evaluating the quality of the studies using predefined criteria, ensuring that only those with robust methodologies and relevant results were included. Data extraction was performed systematically and results were analyzed to identify emerging patterns and trends in the field of SWoT.
Population (P): Developers and professionals in IoT and Semantic Web who are interested in creating applications for the Semantic Web of Things.
Intervention (I): The proposed framework for developing applications in SWoT, which prioritizes semantic interoperability between devices and applications.
Comparison (C): There is no direct comparison specified in the objectives, but all proposals that generally or specifically apply existing development practices in IoT and Semantic Web, and consider their effects on the development process, will be considered as comparable elements.
Outcomes (O): Identification of best practices for developing applications in SWoT that prioritize semantic interoperability, scalability, and efficiency.
Context (C): Focuses on the convergence of the Semantic Web and the Internet of Things in application development, emphasizing the semantic interoperability of smart objects.
Based on the context and focus derived from the PICOC strategy, key questions and a precise search string were developed to guide the literature review.
The results obtained from the databases are summarized in Table 1. The following results were obtained after applying the search criteria in the selected engines.

Duplicate references were filtered, resulting in 35 references plus 2 conference papers found via Scopus, which were manually reviewed:
1. 10th Annual International IEOM Conference, IEOM 2020: Articles related to this event were not available through open bibliographic resources or accessible libraries.
2. 2016 IEEE 3rd World Forum on Internet of Things, WFIoT 2016: Information was accessible due to its organization by IEEE. Four relevant documents for Question 2 were selected according to Scopus.
From the reviewed databases, 3 publications could not be accessed, and 6 were excluded due to confusion with the term SWoT, which is associated with Strengths, Weaknesses, Opportunities, and Threats. Finally, 30 documents were evaluated. Fig. 1 summarizes the process.

Research Question 1: What are the best development practices for the Semantic Web of Things in IoT?
Total results: 5, see Table 2.

The results predominantly feature publications by Dr. Amelie Gyrard, who has actively worked in the Semantic Web field. Her articles highlight the evolution of her proposed best practices for ontology design [6], summarized in the following 16-step list:
1. Find a good name for the ontology.
2. Choose a good namespace for the ontology.
3. Share the ontology online.
4. Add metadata to the ontology.
5. Add rdfs:label, rdfs:comment, and dc:description for each concept and property.
6. Name classes with an initial capital letter and properties with an initial lowercase letter.
7. Submit the ontology-to-ontology catalogs.
8. Reuse and link to other ontologies.
9. Ensure the URI is dereferenceable; when pasting the ontology namespace URL into a web browser, it should return the code.
10. Validate the ontology with a syntax validator.
11. Add documentation to the ontology.
12. Include visualization of the ontology.
13. Improve the design of the ontology.
14. Enhance URI dereferencing and content negotiation.
15. Ensure the ontology can be loaded into ontology editors (e.g., Protegè).
16. Register the ontology in prefix catalogs.
In the article [5], the same author proposes.
In the article [5], the same author proposes the M3 framework, which -when complemented with the previously mentioned best practices- results in a highly useful set of tools for implementing Semantic Web in an IoT application defined by this set of layers:
1. Perception Layer: Comprised of sensors and actuators.
2. Data Acquisition Layer: Raw data from the sensors is collected and transformed into RDF (Resource Description Framework ) or XML (extensible Markup Language) data compliant with the M3 ontology, which is an extension of the W3C SSN (Semantic Sensor Network) ontology.
3. Persistence Layer: The formatted data is stored in a semantic database like SPARQL.
4. Knowledge Management Layer: Data is semantically enriched by considering the context.
5. Reasoning Layer: The enriched data gains reasoning capabilities by applying the framework's rules, allowing for sensor data inference.
6. Knowledge Query Layer: Enables the execution of SPARQL queries to infer data.
7. Application Layer: Presentation of information and results.
Finally, this proposal includes the online tool PerfectO [8] that was designed to facilitate the accessibility and classification of domain-based ontologies. This tool, along with the LOV4IoT repository [9], is highly convenient for ensuring the reuse of existing ontologies applied to IoT, thereby enabling the interoperability of future applications.
Total results: 10, see Table 3.
Semantic interaction between heterogeneous devices is fundamental in developing Semantic Web of Things (SWoT) applications. To address this challenge and prioritize such interaction, various approaches and techniques leveraging Semantic Web technologies have been proposed. These approaches aim to facilitate semantic interoperability, enabling devices from different manufacturers and platforms to interact and share data meaningfully. The main strategies include:
Use RDF constraint languages like SHACL and ShEx to model and validate IoT device capabilities and variations [16].
Implement automatic generators for semantically enriched device description templates (Thing Descriptions) based on SHACL/ShEx constraints [16] [18].
Employ and extend iot.schema.org with RDF shapes to represent device capabilities and interaction patterns [16] [18].
Apply Model-Driven Engineering (MDE) techniques to handle the diversity of IoT devices [14].
Reuse existing ontologies from relevant domains (smart cities, agriculture, etc.) in catalogs like LOV4IoT [10] [11] [15].
Apply methodologies such as KE4WoT to automatically extract key topics/concepts from existing IoT ontologies using machine learning techniques (word2vec, K-means) [17].
Enrich catalogs with new application ontologies that meet quality criteria (OWL serialization, documentation, etc.) [15].
Promote interconnection and linking between datasets and ontologies to enhance interoperability [15].
Implement middlewares based on the MAPE-K model to monitor, analyze, plan, and execute dynamic adaptations in response to device changes [13].
Utilize AI-based planning techniques and ontologies like OWL-S to derive adaptable workflows [13].
Apply policy-based orchestration and control loops to achieve semantic interoperability in heterogeneous IoT environments [14].
Adopt distributed and flexible architectures that allow component integration based on specific needs [12].
Semantically annotate real-time IoT sensor data streams using lightweight ontologies (SSN, OWL-S, etc.) [12]. Process RDF streams using languages like CSPARQL and CQELS for event detection and adaptive reasoning [12].
Integrate multiple data sources (weather, regulations, etc.) using semantic processing pipelines [12].
Utilize dynamic knowledge bases that allow constant revision and correction of information [14].
Develop a semantic interoperability layer that combines information models and ontologies [14].
Apply a hybrid approach using models for representation and ontologies for reasoning about facts [14].
Implement a semantic mapping level with lexicons, first-order logic, and ontologies to ensure interoperability [14].
Adopt W3C standards such as Web of Things (WoT) and http://www.iot.schema.org to describe IoT devices [16] [18].
Use rapid development tools like Node-RED extended with semantics and predefined 'recipes' [18].
Follow ontology design best practices, detecting issues with tools like OOPS [15].
Employ visualization (WebVOWL), documentation (LODE), and validation (TripleChecker) tools [15].
Implement interoperability proxies that translate messages between different IoT platforms (oneM2M, OCF, etc.) [19].
Use rule engines (e.g., Drools) to automatically identify registered devices and apply semantic rules [19].
Build web applications to visualize and interact with data from heterogeneous platforms [19].

Total results: 10, see Table 4.
The development of large-scale Semantic Web of Things (SWoT) applications involves addressing significant scalability challenges due to the distributed, heterogeneous, and dynamic nature of the devices, data, and networks involved. This review identifies various approaches proposed to achieve scalability in SWoT application development. These approaches range from distributed architectures and the use of caching proxies to semi-automatic annotation techniques, optimized databases, semantic search engines, blockchain technologies, distributed fog reasoning, parallel rule propagation, rule deployment optimization, and evaluation through large-scale simulations and use cases. These approaches are detailed below:
The use of a distributed P2P network to extend and scale the SWoT without requiring proportional infrastructure adjustment [20] would allow organic network growth as more P2P nodes are added.
The 'Smart Service Proxy' (SSP) is proposed as an intermediary between devices/sensors and clients [20] [21]. The SSP implements a caching mechanism to store resource representations, improving availability and scalability.
The cache can convert representations from one format to another without loss of information, distributing the computational load from the application core.
It is advantageous to use a triple store as a cache in the SSP that is compatible with multiple engines such as JENA and Luposdate [20]; the latter supports GeoSPARQL for scalable spatial queries.
The use of graph databases is proposed for efficient and scalable storage of the RDF knowledge graph [23].
Semi-automatic semantic annotation based on entity linking models [22] enhances scalability by partially automating the extraction of semantics from structured resources.
Implementing a semantic search engine that enables scalable SPARQL queries over the constructed knowledge base [22].
Using blockchain and smart contracts for registration enables the discovery and selection of annotated services/resources [24], ensuring data integrity in a distributed computing and storage architecture.

Total results: 4, see Table 5.

The findings related to this question have been the most interesting in the mapping, as they involve the practical application of SWoT. Consequently, it is possible to combine them and identify key concepts for achieving efficiency and effectiveness:
Employ distributed computing architectures.
Intelligent use of communication protocols, combining RESTful and CoAP to minimize network latency without information loss.
Network management using visual tools like Node-RED, facilitating extension and replication.
Prefer RDFa over JSON-LD for semantic description, as it is more efficient in terms of lines and characters.
In distributed computing, semantic enrichment of IoT devices can be applied at various network points, reducing workload in areas where information from the entire network is concentrated, stored, and reasoned.
Application automation, which facilitates deployment and extension, uses Semantic Web Rule Language (SWRL) business rules executed on the ontology reasoner.
Total results: 1.
The article Lemons: Leveraging Model-Based Techniques to Enable Non-Intrusive Semantic Enrichment in Wireless Sensor Networks [34] presents a study detailing the benefits of implementing best practices using the LEMONS approach. The results reveal significant improvements in efficiency, quality, and interoperability. The author's approach to measuring and comparing the obtained benefits is particularly noteworthy, which is why this article was considered to answer this question. In summary, the qualitative criteria used to determine the margin of improvement are:
Reduction of effort and complexity in configuring Wireless Sensor Networks (WSN).
Acceleration of WSN deployment.
Ease of extension and adjustment of WSNs.
Integration of development and maintenance processes.
Reduction of errors in configuration and deployment.
Improved maintainability and reusability of WSNs.
Enhanced interpretability of measured data.
Applicability to a wide range of WSNs.
From a quantitative perspective, the following indicators were used to measure improvement when applying the LEMONS approach:
The lack of comparative studies between applications with semantic technologies that measure improvements in interoperability and information availability makes an objective evaluation challenging. However, this study serves as a useful reference for comparison in sensor network applications, which are among the most common in IoT.
The systematic literature review reveals that, contrary to initial expectations, the development of applications for the Semantic Web of Things is not currently as active an area of research and development as anticipated. Factors such as the COVID-19 pandemic and the growing focus on artificial intelligence development and application have diverted researchers' attention to other areas.
While Semantic Web technologies represent an excellent proposal to address interoperability challenges on the Internet of Things ecosystem, it is necessary to consider the current situation. Major technology companies control a significant portion of Internet traffic, and the availability of Platform as a Service (PaaS) solutions that facilitate interoperability between services, e.g., Zapier, have resulted in a form of silent centralization of the Internet, moving away from the concept of an open and decentralized web.
Furthermore, Semantic Web technologies have a complex learning curve, which reduces the possibilities for widespread adoption and extension. However, recent advances in Large Language Models (LLMs) represent an opportunity to simplify the design and implementation of some SWoT service layers, reducing complexity for developers.
Despite the mentioned challenges, the findings of this review demonstrate that various approaches and solutions have been proposed to address the main challenges in SWoT application development, such as semantic interoperability, scalability, and efficiency. These solutions include the adoption of international standards, reuse of existing ontologies, automatic generation of device descriptions, use of adaptable middlewares, combination of models and ontologies, and implementation of distributed architectures and scalability techniques.
Nevertheless, the widespread adoption of SWoT faces significant obstacles due to the inherent complexity of the technologies involved and the growing centralization of the Internet by large technology companies. In this context, LLMs could play a key role in facilitating the design and implementation of SWoT services, reducing the learning curve and promoting greater adoption.
The Semantic Web of Things presents itself as a promising solution to address quality and interoperability challenges on the Internet of Things ecosystem. Through this systematic review, we have identified the main trends, approaches, and tools used in SWoT application development.
We conclude that the adoption of international standards, such as those promoted by the W3C, and the use of semantic technologies, like ontologies and rule languages, are key to overcoming interoperability and quality challenges in IoT applications. Additionally, the implementation of distributed architectures, scalability, and optimization techniques, and the application of best practices in design and development contribute to improving the efficiency and performance of SWoT applications.
"Fig. 2" highlights the trends and indicate that distributed reasoning and data handling are the most significant factors of interest. These factors facilitate the integration of these services into the cloud. While significant advances have been made in the SWoT, there are still opportunities for future research and development. Some areas to explore include improving integration between heterogeneous devices and platforms, developing more accessible methodologies and tools for professionals not experts in semantics, and evaluating and validating proposed solutions in large-scale, real-world scenarios.







