Chapter

Adopting the Essence Framework to Derive a Practice Library for the Development of IoT Systems

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

Abstract

The Internet of Things (IoT) is a global network of smart devices which enables these objects to collect and exchange data. Research in the IoT is still progressing, and it is now being applied in various domains. One of the key observations is that the development of IoT systems is not trivial and needs to be carefully managed to meet the required functional and quality concerns. Due to the heterogeneous aspects including software, hardware, and communication, developing the IoT systems implies various challenges that need to be explicitly considered in the development process and successfully resolved. Unfortunately, less focus has been provided so far on the development methods for the IoT systems. To address the particular IoT development concerns, we analyze and discuss the existing approaches that target the development of IoT systems. For this purpose, we use the Essence Framework, which has been recently developed as a framework for modeling various kinds of software development practices and methods. We propose an initial practice library, which can be used to develop and/or tailor project-specific IoT system development methods.

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.

... In the analysis, the authors examined and addressed current methodologies for designing IoT systems [16]. Methodologies are important for practical exercises focused on the essence framework [17]. ...
... Exercises in the essence framework for IoT development[16]. ...
Article
Full-text available
Internet of Things (IoT) is a phenomenon involving connecting things or objects with sensors. The IoT market is growing rapidly, and there are strong incentives for companies to follow the trend of IoT growth and development. However, the percentage of IoT measures that are considered successful seems low. The complexity of carrying out an IoT project lies in the need to adjust all the pieces of the puzzle: assets, sensors, communications, technology, coverage, and geographical locations with precision of the measures and regulations. All these requirements determine the economic viability of the business and its benefit. This study, therefore, examines how the project methodology can support the development of the concept and ensure the business value of IoT initiatives. The project methodology developed in this study is called PoC Design. A case study was evaluated, in which defects in street lighting were investigated and carried out. The evaluation of the methodology highlighted the importance of defining problems and solutions based on business value, calculating the potential of an IoT initiative, determining the continuation of the project, involving stakeholders at an early stage, and creating a PoC to validate the concept with stakeholders.
... Essence Language is used in [1] as a metamodel. [47] uses the same idea of having a practice library based on Essence Framework and proposes an initial library after partially analyzing two IoT SDMs. Unlike [1,47], In this work, we extracted method parts from the six IoT SDMs based on ISO/IEC 24744 standard and associated these with situational factors. ...
... [47] uses the same idea of having a practice library based on Essence Framework and proposes an initial library after partially analyzing two IoT SDMs. Unlike [1,47], In this work, we extracted method parts from the six IoT SDMs based on ISO/IEC 24744 standard and associated these with situational factors. ...
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.
... Edge analytics is a prerogative of a few IoT platforms whereas disclosing actionable knowledge bypassing the cloud is a pivotal issue to address [116]. By-design privacy, trust and security mechanisms often partially consider the cyber-physicality of IoT systems, mostly focusing on their software components [117]; the same limitation applies to the adaptation and scaling of Agile, Scrum and Lean frameworks to the IoT scenario [118]- [120]. Interesting but analyzed from few IoT platforms [121] is the Social IoT [122], whereas the concept of social networking applied to smart objects would enable the engineering of even more advanced IoT systems. ...
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.
... In our earlier work, we provided an approach for mapping development methods to the Essence framework and a partial mapping of Nexus to the Essence framework [10]. In [9], we applied this approach to build an initial practice library for Internet of Things system development methods using Essence framework. ...
Article
Full-text available
Although several software product line engineering (SPLE) methods have been described in the literature, adopting these methods in practice is often not straightforward. Thorough understanding of the methods and their artefacts is necessary to apply the methods in a proper manner, and likewise realize the expected goals of SPLE. Recently the Essence framework has been proposed to model the essential elements of a method and to support the modeling of a broad set of software development methods including plan-driven methods and agile methods. So far, the Essence framework has been applied to single system development methods and not yet for SPLE methods. To enhance the understanding of SPLE methods and support a vision for tailoring SPLE methods, we provide a mapping of an SPLE method to the Essence framework. We present experiences about modeling an SPLE method using the Essence framework within the industrial context of Havelsan.
... In our earlier work, we provided an approach for mapping development methods to the Essence framework and a partial mapping of Nexus to the Essence framework [10]. In [9], we applied this approach to build an initial practice library for Internet of Things system development methods using Essence framework. ...
Article
Full-text available
Although several software product line engineering (SPLE) methods have been described in the literature, adopting these methods in practice is often not straightforward. Thorough understanding of the methods and their artefacts is necessary to apply the methods in a proper manner, and likewise realize the expected goals of SPLE. Recently the Essence framework has been proposed to model the essential elements of a method and to support the modeling of a broad set of software development methods including plan-driven methods and agile methods. So far, the Essence framework has been applied to single system development methods and not yet for SPLE methods. To enhance the understanding of SPLE methods and support a vision for tailoring SPLE methods, we provide a mapping of an SPLE method to the Essence framework. We present experiences about modeling an SPLE method using the Essence framework within the industrial context of Havelsan.
Article
Full-text available
Essence is instrumental in moving software development toward a true engineering discipline.
Conference Paper
Full-text available
The Essence framework has been recently defined as a basis for modeling various kinds of software development methods. The framework includes the necessary concepts to instantiate the software development methods. In this way a new method can be better understood, learned and compared with other methods. In practice, it is not straightforward to model a given software development method using the Essence framework. In this paper we provide a systematic approach for mapping methods to the elements of the Essence framework. To illustrate our approach, we use the mapping of the Nexus, a scaled agile approach, to the Essence framework. We report on the lessons learned and provide our conclusions.
Article
Full-text available
This paper shows how Scrum project management practice can be described using Essence kernel and language which has recently been adopted as an official Object Management Group standard for creating and enacting software engineering methods. Practical benefits of using Essence as a common foundation for defining software engineering practices are demonstrated. These practical benefits include the ability to compare practices, assess potential gaps, make needed practice improvements, and assemble select practices into a coherent method to benefit the project team. In addition, by providing practical checklists, as opposed to conceptual discussions, the Essence-powered practice becomes something the team uses on a daily basis. This is a fundamental difference from traditional approaches, which tend to overemphasize method description as opposed to method use
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.
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
software knows it is a complex and risky business, and its participants are always on the lookout for new ideas that will lead to better software. Fortunately, software engineering is still a young and growing profession that sees innovations and improvements in best practices every year. Just look, for example, at the improvements and benefits that lean and agile thinking have brought to software-development teams. Successful software-development teams need to strike a balance between quickly delivering working software systems, satisfying their stakeholders.
Chapter
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.
Conference Paper
In application domains, such as distributed information retrieval, content management and distribution, e-Commerce, the agent-based computing paradigm has been demonstrated to be effective for the analysis, design and implementation of distributed software systems. In particular, several agent-oriented methodologies, incorporating suitable agent models, frameworks and tools, have been to date defined to support the development lifecycle of distributed agent systems (DAS). However, few of them provide effective validation methods to analyze design objects at different degrees of refinement before their actual implementation and deployment. In this paper, ELDAMeth, a simulation-based methodology for DAS, which enables rapid prototyping based on visual programming, validation, and automatic code generation for JADE-based DAS, is presented. ELDAMeth can be used both stand-alone for the modeling and evaluation of DAS and coupled with other agent-oriented methodologies for enhancing them with simulation-based validation. In particular, the proposed methodology, which is based on the ELDA (Event-driven Lightweight Distilled StateCharts-based Agents) agent model, provides key programming abstractions (event-driven computation, multi-coordination, and coarse-grained strong mobility) very suitable for highly dynamic distributed computing and is supported by a CASE tool-driven iterative process seamlessly covering the detailed design, simulation, and implementation phases of DAS. A simple yet effective case study in the distributed information retrieval domain is used to illustrate the proposed methodology.
Essence-kernel and language for software engineering methods, version 1.1. http://www.omg.org/spec/Essence
  • Management Object
  • Group
Object Management Group (2015) Essence-kernel and language for software engineering methods, version 1.1. http://www.omg.org/spec/Essence. Accessed 22 Feb 2017
Enterprise IoT strategies & best practices for connected products & services
  • D Slama
  • F Puhlmann
  • J Morrish
  • R M Bhatnagar
Slama D, Puhlmann F, Morrish J, Bhatnagar RM (2016) Enterprise IoT strategies & best practices for connected products & services. O'Reilly Media, Inc
Practice Library. http://practicelibrary.ivarjacobson.com. Accessed 23
  • International Ivar Jacobson
Ivar Jacobson International. Practice Library. http://practicelibrary.ivarjacobson.com. Accessed 23 Feb 2017
Meta object facility, version 2.5.1. http://www.omg.org/ spec/MOF
  • Management Object
  • Group
Object Management Group (2016) Meta object facility, version 2.5.1. http://www.omg.org/ spec/MOF. Accessed 23 Feb 2017
What you need for IoT: smarter methods
  • I Jacobson
Jacobson I (2016) What you need for IoT: smarter methods. IoT World Congress. https://www. ivarjacobson.com/videos/what-you-need-iot-smarter-methods. Accessed 23 Feb 2017
Towards a systems engineering essence
  • I Jacobson
  • H B Lawson
  • P E Mcmahon
Jacobson I, Lawson HB, McMahon PE (2015) Towards a systems engineering essence. In: Jacobson I, Lawson HB (eds) Software engineering in the systems context. College Publications
Software & systems process engineering meta-model specification, version 2
  • Management Object
  • Group
Object Management Group (2008) Software & systems process engineering meta-model specification, version 2. http://www.omg.org/spec/SPEM/2.0. Accessed 23 Feb 2017
High level architecture (HLA), Release 2.1. AIOTI WG03 -loT Standardisation
AIOTI (2016) High level architecture (HLA), Release 2.1. AIOTI WG03 -loT Standardisation. http://www.aioti.org/wp-content/uploads/2016/10/AIOTI-WG3-IoT-High-Level-Architecture-Release_2_1.pdf. Accessed 23 Feb 2017