Chapter

IoT System Development Methods

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

Abstract

Abstract. Often, developing IoT systems is not trivial and need to be carefully managed to support the communication between the stakeholders, support the analysis of the design decisions, and to derive the IoT system that meets the required functional and quality concerns. Unfortunately, so far, less focus has been made to the development methods of IoT systems. Several development methods of IoT systems have been provided in the literature; however, an analysis and evaluation of these methods are missing. This chapter provides an overview and a set of evaluation criteria for characterizing IoT system development methods (SDM). The chapter also presents the lessons learned as well as the research directions for further enhancements of the IoT SDMs.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... This helps in reducing the after-effects of wrong requirement elicitation and Mathematics 2022, 10, 1210 2 of 13 specification leading to rework, increase in cost and time of development, and overall user satisfaction [5]. IoT system development is much more complex than traditional software development and presents new challenges to requirements engineering due to the involvement of heterogeneous technologies [6][7][8][9]. However, likewise, traditional software development IoT system development faces higher levels of ambiguity related to market demand, user expectations, working ecosystem (aptitude, tools, intellectual property), and technology. ...
... Understanding, quantifying, and prioritizing threats to organizational assets and operations are all part of risk assessment [9]. However, there is a lack of studies addressing the issue of handling risk in IoT in requirements engineering. ...
... Existing risk-based research indicates that a limited number of studies have addressed anomalies in requirements (also referred to as defects), their discovery, verification, and validation of requirements with existing defect taxonomy, and analysis of dependency between requirements, which is still to be explored for IoT systems [11]. The task of measuring risk becomes challenging as requirements interrelate and can have dissimilar dimensions concerning the integration of software and hardware components in IoT systems [6][7][8][9]. Therefore, multiple criteria should be considered while measuring the risk related to implementing requirements. ...
Article
Full-text available
Internet of Things (IoT) systems are revolutionizing traditional living to a new digital living style. In the past, a lot of investigations have been carried out to improve the technological challenges and issues of IoT and have focused on achieving the full potential of IoT. The foremost requisite for IoT software system developers seeking a competitive edge is to include project-specific features and meet customer expectations effectively and accurately. Any failures during the Requirements Engineering (RE) phase can result in direct or indirect consequences for each succeeding phase of development. The challenge is far more immense because of the lack of approaches for IoT-based RE. The objective of this paper is to propose a requirements risk management model for IoT systems. The method regarding the proposed model estimates requirements risk by considering both customers’ and developers’ perceptions. It uses multiple criteria using intuitionistic fuzzy logic and analytical technique. This will help to handle the uncertainty and vagueness of human perception, providing a well-defined two-dimensional indication of customer value and risk. The validity of the approach is tested on real project data and is supported with a user study. To the best of our understanding, literature lacks the trade-off analysis at the RE level in IoT systems and this presented work fills this prerequisite in a novel way by improving (i) requirements risk assessment for IoT systems and (ii) handling developers’ subjective judgments of multiple conflicting criteria, yielding more concrete and more observable results.
... In contrast, a small number is concentrated in the conception/design (four), negotiation (one), verification (five), validation (three) and management (three) phases. Regarding the conception phase (CON), GSEM-IoT (Zambonelli 2017) (Laplante et al. 2018) and Ignite (Giray et al. 2018) technologies carry out the stakeholders' analysis involved in the system. In addition, the feasibility analysis is partially addressed by IoT Methodology (Giray et al., 2018). ...
... Regarding the conception phase (CON), GSEM-IoT (Zambonelli 2017) (Laplante et al. 2018) and Ignite (Giray et al. 2018) technologies carry out the stakeholders' analysis involved in the system. In addition, the feasibility analysis is partially addressed by IoT Methodology (Giray et al., 2018). Also, the Ignite and CORE (Hamdi et al. 2019) technologies provide business analysis mechanisms. ...
... Ignite (Giray et al. 2018) x x x x x x IoT Methodology (Giray et al. 2018) x x x (Laplante et al. 2018) x x x x IoTReq (Reggio 2018) x x x CORE (Hamdi et al. 2019) x x SCENARIOT (Silva 2019) x x x SCENARIOTCHECK (Souza 2020) x TrUStAPIS (Ferraris and Fernandez-Gago 2020) x For the negotiation phase (NEG), Ignite (Giray et al., 2018) addresses the impact and risk analysis but does not provide further details on conducting this activity. ...
Article
Full-text available
Contemporary software systems (CSS) – such as the internet of things (IoT) based software systems – incorporate new concerns and characteristics inherent to the network, software, hardware, context awareness, interoperability, and others, compared to conventional software systems. In this sense, requirements engineering (RE) plays a fundamental role in ensuring these software systems' correct development looking for the business and end-user needs. Several software technologies supporting RE are available in the literature, but many do not cover all CSS specificities, notably those based on IoT. This research article presents RETIoT (Requirements Engineering Technology for the Internet of Things based software systems), aiming to provide methodological, technical, and tooling support to produce IoT software system requirements document. It is composed of an IoT scenario description technique, a checklist to verify IoT scenarios, construction processes, and templates for IoT software systems. A feasibility study was carried out in IoT system projects to observe its templates and identify improvement opportunities. The results indicate the feasibility of RETIoT templates' when used to capture IoT characteristics. However, further experimental studies represent research opportunities, strengthen confidence in its elements (construction process, techniques, and templates), and capture end-user perception.
... Além disso, as técnicas Ignite e CORE [14] fornecem mecanismos para realizar a análise de negócio. A análise de viabilidade é parcialmente tratada pela técnica IoT Methodology [12]. ...
... No que diz respeito à fase de elicitação (ELI), Lim et al. [24] realizou uma revisão sistemática da literatura com o objetivo de elencar as técnicas de elicitação para sistemas IoT. As técnicas SCENARI OT [6], Ignite [12], IoT Methodology [12], Laplante et al. [13], CORE [14], Curumsing et al. [23], IoTReq [25] e TrUStAPIS [26] oferecem recursos para a coleta dos requisitos. GSEM-IoT, IoTReq e IoT Methodology propõem mecanismos para transformar as necessidades dos usuários em requisitos. ...
... No que diz respeito à fase de elicitação (ELI), Lim et al. [24] realizou uma revisão sistemática da literatura com o objetivo de elencar as técnicas de elicitação para sistemas IoT. As técnicas SCENARI OT [6], Ignite [12], IoT Methodology [12], Laplante et al. [13], CORE [14], Curumsing et al. [23], IoTReq [25] e TrUStAPIS [26] oferecem recursos para a coleta dos requisitos. GSEM-IoT, IoTReq e IoT Methodology propõem mecanismos para transformar as necessidades dos usuários em requisitos. ...
Conference Paper
Full-text available
Sistemas de software contemporâneos (internet das coisas, indústria 4.0, cidades inteligentes, dentre outros) incorporam novas preocupações e características em sua construção e inerentes à rede, software, hardware, sensibilidade ao contexto, e interoperabilidade. Nesse sentido, a engenharia de requisitos (ER) desempenha um papel fundamental para garantir a correta construção desses sistemas na perspectiva das necessidades do negócio e dos usuários finais. Diversas tecnologias de software para apoiar a ER estão disponíveis na literatura, porém nem todas cobrem as atividades e especificidades de sistemas de software contemporâneos, notadamente daqueles baseados em IoT. Nesse sentido, o presente trabalho apresenta a tecnologia REIoT (Requirements Engineering for software systems based on IoT), que tem como objetivo prover apoio metodológico, técnico e ferramental para a ER de sistemas de software IoT. A REIoT apoia a construção do documento de requisitos utilizando uma técnica de descrição de cenários IoT, um checklist para a verificação dos cenários, um processo construtivo e templates ajustados para sistemas de software IoT. As técnicas de descrição e verificação de cenários, bem como os templates, apresentam indicação de viabilidade de sua utilização em projetos de software IoT.
... We can highlight that a high number permeate elicitation (nine), analysis (ten), and specification (eight) phases, while a small number is concentrated in the conception/design (four), negotiation (one), verification (five), validation (three) and management (three) phases. Regarding the conception phase (CON), GSEM-IoT (Zambonelli 2017) (Laplante et al. 2018) and Ignite (Giray et al. 2018) technologies carry out the stakeholders' analysis involved in the system. The feasibility analysis is partially addressed by IoT Methodology (Giray et al., 2018). ...
... Regarding the conception phase (CON), GSEM-IoT (Zambonelli 2017) (Laplante et al. 2018) and Ignite (Giray et al. 2018) technologies carry out the stakeholders' analysis involved in the system. The feasibility analysis is partially addressed by IoT Methodology (Giray et al., 2018). Also, the Ignite and CORE (Hamdi et al. 2019) technologies provide business analysis mechanisms. ...
... Several technologies address the elicitation phase (ELI): Ignite (Giray et al. 2018), IoT Methodology (Giray et al. 2018), (Laplante et al. 2018), IoTReq (Reggio 2018), (Curumsing et al. 2019), CORE (Hamdi et al. 2019), SCE-NARIOT (Silva 2019) and TrUStAPIS (Ferraris and Fernandez-Gago 2020) that offer resources for collecting requirements. GSEM-IoT (Zambonelli 2017), IoTReq, and IoT Methodology propose mechanisms to transform users' needs into requirements. ...
Preprint
Full-text available
Contemporary software systems (CSS), such as the internet of things (IoT) based software systems, incorporate new concerns and characteristics inherent to the network, software, hardware, context awareness, interoperability, and others, compared to conventional software systems. In this sense, requirements engineering (RE) plays a fundamental role in ensuring these software systems' correct development looking for the business and end-user needs. Several software technologies supporting RE are available in the literature, but many do not cover all CSS specificities, notably those based on IoT. This research article presents RETIoT (Requirements Engineering Technology for the Internet of Things based software systems), aiming to provide methodological, technical, and tooling support to produce IoT software system requirements document. It is composed of an IoT scenario description technique, a checklist to verify IoT scenarios, construction processes, and templates for IoT software systems. A feasibility study was carried out in IoT system projects to observe its templates and identify improvement opportunities. The results indicate the feasibility of RETIoT templates' when used to capture IoT characteristics. However, further experimental studies represent research opportunities, strengthen confidence in its elements (construction process, techniques, and templates), and capture end-user perception.
... Aplicar conceitos da engenharia de requisitos (ER) durante a construção do documento de requisitos é primordial. Entretanto, a engenharia de sistemas IoT é complexa quando comparada a sistemas de software tradicionais [11] [17]. Em linhas gerais, sistemas IoT incorporam diversas características de outros sistemas existentes como ciber-físicos, sistemas de software, sistemas em rede e sistemas humano-interativos [17] e também abrangem muitos componentes de software, hardware e comunicação. ...
... Neste sentido, a engenharia de requisitos (ER) apoia a construção do documento de requisitos e representa uma parte fundamental para o desenvolvimento com qualidade de sistemas de software tradicionais e IoT [3] [20]. A literatura técnica apresenta diversas tecnologias de software para apoiar as diferentes atividades da ER de sistemas IoT [11] [14] [21]. Entretanto, muitas delas apresentam lacunas no que tange as diferentes atividades necessárias para construir documentos de requisitos de sistemas de software IoT. ...
... Giray et al. [11] apresentam uma visão geral e avaliação de seis métodos de desenvolvimento de software (SDM) para IoT. Dentre as metodologias apresentadas, apenas Ignite IoT Methodology (Ignite) e IoT Methodology (IoT-Meth) possuem um foco maior quanto a elicitação e especificação de requisitos. ...
Conference Paper
The IoT paradigm seeks to support practical solutions to solve problems in the real world and several domains such as education, health, and mobility. As with traditional systems, requirements engineering represents a fundamental part of the Internet of Things (IoT) based software systems' quality development. However, the IoT systems are complex when compared to traditional software systems. RETIoT (Requirements Engineering Technology for IoT software systems) is a software technology aimed at building IoT software system requirements documents. This paper aims to present a proof of concept of RETIoT regarding its models. The proof of concept was carried out in the context of two real projects, low-cost IoT solutions, to assist health professionals at the Federal University of Rio de Janeiro in coping with the pandemic COVID-19. The results indicate the initial feasibility of using RETIoT to build requirements documents of IoT software systems.
... Como para qualquer outro produto construído com base em princípios de engenharia, uma atividade fundamental do desenvolvimento de sistemas de software IoT é a construção do documento de requisitos. Os defeitos presentes no documento de requisitos podem impactar diretamente no aumento do tempo, custo e esforço para o projeto; clientes e Studies in Engineering and Exact Sciences, Curitiba, v. 3 [15] x x x Mahalank et al. [16] x Kaleem et al. [17] x Takeda et al. [18] x x Touzani et al. [19] x IoT-RML [20] x x x Yamakami [21] x GSEM-IoT [11] x x Naem et al. [22] x Curumsing et al. [23] x x x x Fortino et al. [12] x x x x x Laplante et al. [13] x x x Lim et al. [24] x x x IoTReq [25] x x x CORE [14] x x x x SCENARIOT [6] x x SCENARIOTCHECK [7] x TrUStAPIS [26] x ...
... A Tabela 1 apresenta a comparação desses trabalhos em ordem cronológica). Studies in Engineering and Exact Sciences, Curitiba, v.3, n.4, p. 755-776, oct./dec., 2022Com relação a fase de concepção (CON), as técnicas GSEM-IoT[11], Fortino[12] e a técnica de Laplante et al.[13] realizam a análise das partes interessadas envolvidas no sistema. Além disso, as técnicas Fortino e CORE[14] fornecem mecanismos para realizar a análise de negócio. ...
Article
O aumento da popularidade da IoT em projetos de HealthCare tem possibilitado inúmeras soluções que permitem um aumento da qualidade de vida de quem utiliza os dispositivos e dos profissionais de saúde que os indicam. Entretanto, o seu desenvolvimento tem exigido um conhecimento sobre os processos e técnicas de validação de requisitos existentes tanto no contexto de engenharia de software como no contexto de IoT. Este trabalho propõe a construção de um processo de engenharia de requisitos (ER) para a especificação de sistemas de IoT, implementado para apoiar as equipes de desenvolvimento de software na definição de seus processos e técnicas. A metodologia adotada é a de levantamento de literatura em um survey para investigar as práticas adotadas na indústria e propostas de soluções de HealthCare. Os resultados encontrados revelam que a técnica mais utilizada para a especificação de requisitos são as reuniões com as partes interessadas e brainstorming; e para validar os requisitos utilizados são utilizados os protótipos e os casos de uso.
... Industry 4.0 being a critical infrastructure, application development, security design and implementation is complex, costly, large in scope, involves heterogonous network of things that encompasses dealing with a diverse set of Technological components. So far, researchers, organisations and operational bodies of standards have proposed several industry 4.0 system development and security implementation methodologies as highlighted in [40] and [22] respectively. However, models for requirement engineering of new industrial IoT application development, customization, application fusion or machine/device plugin have not been considered adequately. ...
... Even though, Security and software development implementation process is highly dependent on the clear requirement engineering model. Industry 4.0 requirements include the fusion of Internet of things, machines, computer and people, enabling intelligent using advanced data analytic for transforming business outcomes [40]. For that reason, industry 4.0 requirements specification is proven difficult. ...
Article
Full-text available
The manufacturing and many other critical Infrastructures industries are posed to introduce the initiative popularly known as Industry 4.0 or industrial Internet of things. In developed nations, Industry Internet of thing technologies have already been implemented in varieties of industries like health care, logistics, avionics, waste management, military, smart cities and many other fields. So far, the initiative has provided various benefits that include improved efficiency, productivity and cost reduction. However, the prospective transformation of Internet of things Technology would see some change in the way companies approach manufacturing and other industries in terms of in-house software development, security design and implementation. Considering the fact that Industry 4.0 belong to the family of critical infrastructures, ICT application development, security design and implementation will always be complex, costly, large in scope, involves heterogonous network of things that encompasses dealing with a diverse set of Technological components. This complexity may result in misconfiguration, misappropriation and misconception of facts on part of users, software developer and security architects. For this reason, this paper details information technology component of Industry 4.0 framework with an objective to amplify and clear misunderstanding of key terminologies and the basic composition of industry 4.0 framework. The study also highlights industrial Internet of things prospects and barriers and articulates effective requirement elicitation process for application customization, development, and technological fusion and Security solutions implementation. The methodology of this paper is based on two research techniques namely literature review and a study on application scenarios from research communities and industries. Because of these, simple and effective model for requirement engineering is proposed.
... It is open source and covers all aspects of IoT development. It addresses various IoT stakeholders, namely product managers, project managers, and solution architects [9] [32] [33] [34] [35]. ...
Article
Full-text available
The agile approach is a philosophy that aims to avoid the traditional management approach problems. It concentrates on the collaborative approach, using iterative and incremental development. The client receives a first production version (increment) of his software, faster thanks to agile methodologies. Project needs are influenced by the rapid expansion of technologies, particularly after the emergence of the Internet of Things (IoT). They are becoming larger and more complex. IoT provides a standardization and unification of electronic identities, digital entities, and physical objects. Consequently, interconnected devices can retrieve, store, send, and process data easier from both physical and virtual worlds. Scalable methods such as SAFe, LeSS, SPS, and others are existing methodologies ameliorated and dedicated to large projects. These methods are tough to adopt and do not consider the physical side of the project, according to IoT enterprise teams. Based on their managerial and IoT expertise, they suggest their own methods (Ignite | IoT Methodology and IoT Methodology). Model Driven Architecture (MDA) was coined by the Object Management Group (OMG) in 2000 to develop perpetual models that are independent of the technical intricacies of the execution platforms. The purpose of this paper is to propose a metamodel for each methodology among: Scrum, XP, and Ignite.
... As a recap of all the IoT Roadmap features, we describe it considering the 14 criteria used for IoT Methods established by (Görkem et al., 2017), as exemplified in the Related Work (Section 2.3): ...
Thesis
Full-text available
The Internet of Things (IoT) paradigm brings many expectations, challenges, and a multidisciplinarity of technical knowledge. It involves several knowledge areas or facets that should be combined precisely and coherently to develop more autonomous and smarter software systems. In this work, 117 recommendations distributed in 29 categories were organized in an IoT Roadmap instrument to support IoT development. The IoT Roadmap is an evidence-based artifact to comprise different expertise to deal with IoT in a multi-faceted way. The IoT Roadmap guides what to consider while specifying, designing, and implementing IoT systems. The Systems Engineering Body of Knowledge life cycle (concept definition, system definition, and realization) supports the roadmap elements' organization and temporal dimension to guide IoT systems engineering effectively. The analyses and experimental studies resulted in a large set of information on multidisciplinary IoT, organized into a body of knowledge that can benefit researchers and professionals involved in IoT.
... Some works have been proposed for the modelling of IoT-based applications using UML. Recently, [18] and [19] surveyed studies on the development of IoT applications, and classified them according to the main steps used, such as identifying the actors, the requirements, the implementation of a proof of concept, until the study of technical implementation issues. [5] provides a complete survey about existing work using UML to represent data used by IoT applications. ...
Conference Paper
The design and implementation of agro-ecology IoT applications is a non-trivial task since the data processed in such applications are typically complex and heterogeneous. Moreover, these applications are implemented using different systems and technologies, over complex IoT communication network layers (edge, fog, cloud). The existing system design methods fail to effectively represent data in such a scenario. In this position paper we report and discuss the open issues for a new, dedicated design method, based on our initial experience in implementing an agro-ecology IoT system.
... Based on the Process flow model for Scrum and eXtreme Programming and process [16]. And flow model for Ignite [23] we propose a process flow model of a hybrid method based on the three methods, see Fig. 1. ...
Article
The agile approach, the idea of dividing a project into a set of increments and carrying them out iteratively, comes to solve traditional approach problems. This approach which brings together a set of methods such as Scrum, eXtreme Programming (XP), etc., on the one hand, is becoming too important in the software development industries. On the other hand, the emergence of the Internet of Things poses an obstacle to agile development because the IoT project contains two parts: software, and hardware (i.e., its specificity at the level of project implementation). All this leads the management teams to produce and propose solutions to deal with this type of project. Among these methods, they are scalable methods based on the agile approach, especially Scrum. However, the IoT company teams find them complex, and they offer their own methods later called Ignite | IoT methodology and IoT methodology. These methods are monolithic, and they are based on the traditional approach. Hence, the proposal of a method that meets all requirements of the project and the team remains a major need in the labor market. In this paper, we will propose a hybridization of agile methods and IoT method named Hybrid SIX (Scrum, Ignite, XP). Then we will validate the method Hybrid SIX in a case study "Smart Irrigation", an intelligent system which facilitates irrigation task, that is one of the important cases in Smart Agriculture.
... The monitoring and control process of this system is quite easy because it can be controlled from anywhere and anytime. It is enough to connect the device to a wifi network so that it is connected to the internet [22]. ...
... Generally speaking, survey papers should provide foundation of knowledge on a topic, so to gradually introduce beginners or systematically steer experts. However, with respect to the novel, ever-evolving and crosscutting topic of IoT system engineering, most of the survey papers available in literature [12]- [16] actually provide very vertical studies targeted or, otherwise, exploratory analysis [13] and coarse-grained overviews [14], [15]: the former focus on a particular paradigm (e.g., software agents [17]), class of products (e.g., IoT frameworks [12]) or development technique (e.g., middleware [16]), suitable for a limited, expert audience; the latter are useful only for scratching the surface of the topic but without any practical insight or systematic overview. ...
Article
The Internet of Things (IoT) is the latest example of the System of Systems (SoS), demanding for both innovative and evolutionary approaches to tame its multifaceted aspects. Over the years, different IoT methodologies, frameworks, platforms, and tools have been proposed by industry and academia, but the jumbled abundance of such development products have resulted into a high (and disheartening) entry-barrier to IoT system engineering. In this survey, we steer IoT developers by: 1) providing baseline definitions to identify the most suitable class of development products--methodologies, frameworks, platforms, and tools-for their purposes and 2) reviewing seventy relevant products through a comparative and practical approach, based on general SoS engineering features revised in the light of main IoT systems desiderata (i.e., interoperability, scalability, smartness, and autonomy). Indeed, we aim to lessen the confusion related to IoT methodologies, frameworks, platforms, and tools as well as to freeze their current state, for eventually easing the approach towards IoT system engineering.
... As surveys of the previous comparative studies of IoT methods. The main goal of the work done in [17] is an overview of IoT system development methodologies such as Ignite | IoT methodology, IoT methodology, IoT Application Development, and so on., in order to evaluate them from a set of criteria (14 criteria) based on the characteristics of these methods. The work presented by Christof Ebert et al. [18], is a comparative study of five agile scaling frameworks that appeared to solve all business industry road blocks like telecommunication companies. ...
Article
Full-text available
The Internet of Things or the Internet of Everything is a new and a potentially disruptive technology paradigm. It describes several technologies such as RFID, short range wireless communications, and research disciplines that can connect physical objects from the real world to the internet. To implement IoT solutions, they exist software development approaches like Scrum and Kanban, also, others are adapted viz; Large-Scale Scrum, Scaled Agile Framework and so on., and many methods have proposed such as Ignite | IoT Methodology and IoT Methodology. Most of them have taken agile thinking as a strategy. However, they are monolithic, which are not easy to adopt. Then, a new method is needed to handle the real nature of IoT, particularity, to handle distributed, mobile and human out-of-the-loop concerns, and that can grow as new product evolve and new problems emerge. This research studies and analyses some of the existing IOT methodologies. Particularly, it focuses on these methodologies Scrum, Kanban, Scaled Agile Framework, Ignite | IoT Methodology and IoT Methodology. Our study evaluates their capabilities and compares their main characteristics and behaviors in terms of various methodologies of IoT. The comparison presented in this paper would benefit in selecting an appropriate methodology for the IoT projects. In addition, it identifies their advantages and limits in order to suggest a new approved IoT methodology.
... Giray et al. [8] present an overview and evaluation of six software development methods (SDM) for IoT: Ignite IoT Methodology (Ignite), IoT Methodology (IoT-Meth), IoT Application Development (IoT-AD), ELDAMeth, Software Product Line Process to Develop Agents for the IoT (SPLP-IoT) and General Software Engineering Methodology for IoT ( GSEM-IoT). Ignite has two groups of activities: IoT Strategy Execution and IoT Solution Delivery. ...
Conference Paper
Full-text available
Nowadays there is a great interest in IoT systems and many applications take advantage of this technology. The elicitation, specification and management of requirements for IoT systems present new challenges to requirements engineering. There is a lack of systematic approaches to the development of IoT applications and more specifically for IoT-based requirements engineering. To fill this gap this paper presents the definition of a Requirements Engineering process for IoT systems. This process is a tailored and harmonized version of the following processes of ISO IEC/IEEE 12207:2017 aiming to accomplish the needs of IoT systems: Business or Mission Analysis process, Stakeholder Needs and Requirements Definition process and System/Software Requirements Definition process.
... As illustrated in Table 1, we can unify a list of situation factors from various related disciplines to be associated with the method parts. We also identified six IoT SDMs in the literature [23] that we will use as a basis for the development of the method base. Table 2 lists the names of these six SDMs, the abbreviation used in this paper, the origin of the SDM ("Ind." ...
Chapter
Full-text available
Developing Internet of Things (IoT) systems is not trivial and needs to be performed systematically to derive an IoT system that meets the required functional and non-functional concerns. Since IoT is applied to different heterogeneous domains usually a one-size-fits-all method is less feasible. For some cases a lightweight method with a few method artefacts are sufficient while in other cases a detailed set of method artefacts over the whole lifecycle might be required. So far, a few IoT system development methods (SDM) have been provided that include the steps necessary for guiding the development of IoT systems but these do not explicitly consider the situational needs for the required IoT method. In this paper we propose a situational method engineering (SME) approach for developing a method base that includes a broad set of method fragments which can be reused to develop customized methods. We illustrate the development of the method base using the existing IoT methods that have been proposed in the literature so far. Further we show how the method base can be used to develop methods for two different cases.
Article
Full-text available
Application development in the Internet of Things (IoT) is challenging because it involves dealing with a wide range of related issues such as lack of separation of concerns, and lack of high-level of abstractions to address both the large scale and heterogeneity. Moreover, stakeholders involved in the application development have to address issues that can be attributed to different life-cycles phases. when developing applications. First, the application logic has to be analyzed and then separated into a set of distributed tasks for an underlying network. Then, the tasks have to be implemented for the specific hardware. Apart from handling these issues, they have to deal with other aspects of life-cycle such as changes in application requirements and deployed devices. Several approaches have been proposed in the closely related fields of wireless sensor network, ubiquitous and pervasive computing, and software engineering in general to address the above challenges. However, existing approaches only cover limited subsets of the above mentioned challenges when applied to the IoT. This paper proposes an integrated approach for addressing the above mentioned challenges. The main contributions of this paper are: (1) a development methodology that separates IoT application development into different concerns and provides a conceptual framework to develop an application, (2) a development framework that implements the development methodology to support actions of stakeholders. The development framework provides a set of modeling languages to specify each development concern and abstracts the scale and heterogeneity related complexity. It integrates code generation, task-mapping, and linking techniques to provide automation. Code generation supports the application development phase by producing a programming framework that allows stakeholders to focus on the application logic, while our mapping and linking techniques together support the deployment phase by producing device-specific code to result in a distributed system collaboratively hosted by individual devices. Our evaluation based on two realistic scenarios shows that the use of our approach improves the productivity of stakeholders involved in the application development.
Article
Full-text available
One of the most important challenges of this decade is the Internet of Things (IoT), which aims to enable things to be connected anytime, anyplace, with anything and anyone, ideally using any path/network and any service. IoT systems are usually composed of heterogeneous and interconnected lightweight devices that support applications that are subject to change in their external environment and in the functioning of these devices. The management of the variability of these changes, autonomously, is a challenge in the development of these systems. Agents are a good option for developing self-managed IoT systems due to their distributed nature, context-awareness and self-adaptation. Our goal is to enhance the development of IoT applications using agents and software product lines (SPL). Specifically, we propose to use Self-StarMASMAS, multi-agent system) agents and to define an SPL process using the Common Variability Language. In this contribution, we propose an SPL process for Self-StarMAS, paying particular attention to agents embedded in sensor motes.
Chapter
Full-text available
Software engineering today is heavily focused on the ideas of process maturity and continuous improvement. Processes are designed to deliver products. Process engineering should ideally rest on theoretical foundations of sound product engineering; however the field is currently lacking such foundations. Drawing inspiration from compiler design, we present a systematic framework for software product engineering that develops the product through successive levels of realization. The framework separates the concerns in software development by relating each level to a knowledge domain and localizing exactly on those qualities that become manifest in that knowledge domain. The basis of the framework is a mathematical model for reasoning about the correctness of realization schemes as well as the transformations between levels, so that each level preserves previously created qualities while adding new desired qualities. We also discuss some of the practical aspects of implementing this approach.
Article
Full-text available
This paper proposes the term method engineering for the research field of the construction of information systems development methods and tools. Some research issues in method engineering are identified. One major research topic in method engineering is discussed in depth: situational methods, i.e. the configuration of a project approach that is tuned to the project at hand. A language and support tool for the engineering of situational methods are discussed.
Conference Paper
The Common Variability Language (CVL) is a domain-independent language for specifying and resolving variability. It facilitates the specification and resolution of variability over any instance of any language defined using a MOF-based meta-model. This tutorial will present the results of work done by the Joint Submission Team against the OMG Request For Proposals on CVL. Prototype tooling for CVL will be demonstrated and made available for hands-on use by the participants.
Conference Paper
One of the most important challenges of this decade is the Internet of Things (IoT) or the integration of devices from the real world in the Internet. IoT systems are usually composed of heterogenous and interconnected lightweight devices that support applications that are subject to change in their external environment and in the functioning of these devices. The management of the variability of these changes, autonomously, is a challenge in the development of these systems. Agents are a good option to develop IoT systems due to their distributed nature, context-awareness and self-adaptation. Our goal is to enhance the development of IoT applications using agents and advanced software techniques like Variability Modeling. Specifically, we propose to use Self-StarMAS agents and CVL. In this contribution, we propose a CVL process for the development of Self-StarMAS agents.
Article
Despite the progress in Internet of Things (IoT) research, a general software engineering approach for systematic development of IoT systems and applications is still missing. A synthesis of the state of the art in the area can help frame the key abstractions related to such development. Such a framework could be the basis for guidelines for IoT-oriented software engineering.
Article
Ambient assisted living (AAL) is advocated as the technological solution that will enable the elderly population to maintain their independence for a longer period of time than would otherwise be the case. The inherently heterogeneous nature of AmI environments and special requirements of the elderly population pose new challenges for the design and implementation of AAL systems. Thus, the development of these systems demands a context-aware, open, scalable, and distributed software technology that incorporates both intelligent and autonomic reconfiguration techniques. In this contribution, we focus on the design and implementation challenges of an agent-based AAL system that incorporates self-configuring tasks, by means of applying autonomic computing to software agents’ internal architecture. We use an agent-based system for tracking elderly people’s activity using common commercially available electronic devices as case study. We have validated our approach focusing on response time (a main concern in AAL) using different tests and the results are satisfactory.
Some case studies have been conducted to validate SPLP-IoT, and the results have shown that SPLP-IoT leads to autonomous agent systems for IoT systems
  • Ayala
Some case studies have been conducted to validate SPLP-IoT, and the results have shown that SPLP-IoT leads to autonomous agent systems for IoT systems (Ayala and Amor, 2012; Ayala et al., 2012, 2014). No evaluation or validation cases were reported for IoT-Meth and GSEM-IoT.
High Level Architecture (HLA). Release 2.1. AIOTI WG03-IoT Standardisation
AIOTI [Alliance for Internet of Things Innovation]. (2016). High Level Architecture (HLA). Release 2.1. AIOTI WG03-IoT Standardisation.
An agent platform for self-configuring agents in the Internet of things
  • I Ayala
  • M Amor
  • L Fuentes
Ayala, I., Amor, M., and Fuentes, L. (2012). An agent platform for self-configuring agents in the Internet of things. In 3rd International Workshop on Infrastructures and Tools for Multi-Agent Systems, ITMAS, Valencia, Spain, pp. 65-78.
Methodology for building the Internet of Things
  • T A Collins
Collins, T.A. (2017). Methodology for building the Internet of Things. http://www.iotmethodology.com/ (accessed January 16, 2017).
ELDAMeth: An agent-oriented methodology for simulation-based prototyping of distributed agent systems
  • G Fortino
  • W Russo
Fortino, G., and Russo, W. (2012). ELDAMeth: An agent-oriented methodology for simulation-based prototyping of distributed agent systems. Information and Software Technology 54(6):608-624.
IoT-Meth discusses communication with stakeholders during the idea generation step, with no further detail. GSEM-IoT has a step for identifying and analyzing actors. IoT-AD, ELDAMeth, and SPLP-IoT do not address stakeholders explicitly. strategic component
  • Slama
their concerns. IoT-Meth discusses communication with stakeholders during the idea generation step, with no further detail. GSEM-IoT has a step for identifying and analyzing actors. IoT-AD, ELDAMeth, and SPLP-IoT do not address stakeholders explicitly. strategic component (Slama et al., 2016).
which defines the method by providing information from real-world projects. IoT-Meth is only documented through a website (Collins, 2017), which includes a high-level process flow with a presentation giving some information on the method. The main document for IoT-AD is a PhD thesis
  • Slama
Ignite is documented via a book (Slama et al., 2016), which defines the method by providing information from real-world projects. IoT-Meth is only documented through a website (Collins, 2017), which includes a high-level process flow with a presentation giving some information on the method. The main document for IoT-AD is a PhD thesis (Patel, 2014), along with a journal article (Patel and Cassou,
whose outputs are presented on the website* and in some academic articles (Fortino and Russo
  • Fortino
ELDAMeth is a result of a research project, whose outputs are presented on the website* and in some academic articles (Fortino and Russo, 2012; Fortino et al., 2014, 2015). SPLP-IoT is documented by some journal articles (Ayala and Amor, 2012; Ayala et al., 2015) and conference papers (Ayala et al., 2012, 2014). Some conference papers (Zambonelli, 2016, 2017) have been published on GSEM-IoT.
A compilation framework for macroprogramming networked sensors
  • L M Pathak
  • A Bakshi
  • V Prasanna
  • G Picco
Pathak, L. M., Bakshi, A., Prasanna, V., and Picco, G. (2007). A compilation framework for macroprogramming networked sensors. Distributed Computing in Sensor Systems 4549:189-204.
Enterprise IoT Strategies and Best Practices for Connected Products and Services
  • D Slama
  • F Puhlmann
  • J Morrish
  • R M Bhatnagar
Slama, D., Puhlmann, F., Morrish, J., and Bhatnagar, R. M. (2016). Enterprise IoT Strategies and Best Practices for Connected Products and Services. Sebastopol, CA: O' Reilly Media.
Towards a discipline of IoT-oriented software engineering
  • F Zambonelli
Zambonelli, F. (2016). Towards a discipline of IoT-oriented software engineering. In 17th Workshop " From Objects to Agents," Catania, Italy, July 29-30, pp. 1-7.