Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Blockchain Technology for IoT Applications
Blockchain Technology for IoT Applications
Blockchain Technology for IoT Applications
Ebook417 pages3 hours

Blockchain Technology for IoT Applications

Rating: 0 out of 5 stars

()

Read preview

About this ebook

This book explores recent advances in the Internet of things (IoT) via advanced technologies and provides an overview of most aspects which are relevant for advance secure, distributed, decentralized blockchain technology in the Internet of things, their applications, and industry IoT. The book provides an in-depth analysis of the step-by-step evolution of IoT to create a change by enhancing the productivity of industries. It introduces how connected things, data, and their communication (data sharing) environment build a transparent, reliable, secure environment for people, processes, systems, and services with the help of blockchain technology.

LanguageEnglish
PublisherSpringer
Release dateMar 16, 2021
ISBN9789813341227
Blockchain Technology for IoT Applications

Related to Blockchain Technology for IoT Applications

Related ebooks

Security For You

View More

Related articles

Reviews for Blockchain Technology for IoT Applications

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Blockchain Technology for IoT Applications - Seok-Won Lee

    © The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd. 2021

    S.-W. Lee et al. (eds.)Blockchain Technology for IoT ApplicationsBlockchain Technologieshttps://doi.org/10.1007/978-981-33-4122-7_1

    Requirement Engineering and Its Role in a Blockchain-Enabled Internet of Things

    Irish Singh¹   and Seok-Won Lee², ³  

    (1)

    Department of Computer Engineering, Ajou University, Suwon, Korea

    (2)

    Department of Software and Computer Engineering, Suwon, Korea

    (3)

    Department of Artificial Intelligence, Ajou University, Suwon, Korea

    Irish Singh

    Email: singhirish@ajou.ac.k

    Seok-Won Lee (Corresponding author)

    Email: leesw@ajou.ac.kr

    Abstract

    This chapter aims to reach a complete understanding of the problems of Internet of Things (IoT), and to have a clear set of IoT requirements via applying the proposed Requirements Engineering (RE) model for Blockchain-enabled IoT, to satisfy customers and stakeholders. The key problems of IoT are ambiguities in requirements, communication gap between stakeholders, which causes poor requirement analysis, lack of IoT domain knowledge, lack of knowledge of RE methods, poor management of Functional Requirements (FRs) and secure Non-Functional Requirements (NFRs), and conflicts in RE practices due to RE methods’ variability. To overcome these challenges, we have found that RE can provide a functional process for Blockchain-enabled IoT. The proposed model is a closed collaborated Blockchain network of IoT customers, IoT business personnel, IoT requirements engineers, and IoT developers to provide a transparent common communication platform, where customers and stakeholders can understand the concepts and terminology of IoT to easily describe their needs, thereafter, their abstract requirements. Then these requirements are analyzed, and refined, by the requirements analysts and only after verification, validation, and mutual consensus, the requirements are added to the Blockchain-enabled IoT. The consensus mechanism in Blockchain ensures mutual trust within nodes, and is used for verifying IoT requirements. The RE model for Blockchain-enabled IoT is a promising solution to improve the transparency, trust, adaptability, traceability, effectiveness, efficiency, and overall quality of the RE process for IoT.

    Keywords

    Blockchain technologyInternet of thingsRequirements engineeringBlockchain characteristicsSoftware engineering

    ../images/478487_1_En_1_Chapter/478487_1_En_1_Figa_HTML.jpg

    Irish Singh

    a Ph.D. researcher specializing in Software Engineering in the Graduate School of Computer Engineering, Ajou University, Republic of Korea. She did her Masters (M. Tech.) in Computer Engineering from Birla Institute of Technology, Mesra, India in July 2015. Her research interests include adaptive security in cloud computing, self-adaptive requirements engineering, and Blockchain.

    ../images/478487_1_En_1_Chapter/478487_1_En_1_Figb_HTML.jpg

    Seok-Won Lee

    , is a Full Professor and Chair of the Dept. of Software and Computer Engineering and Dept. of Artificial Intelligence, and Head of Graduate School of Software at Ajou University, Republic of Korea since 2012. He was a faculty member in the Dept. of Information Systems and Cyber Security at the University of Texas at San Antonio and in the Dept. of Software and Information Systems at the University of North Carolina at Charlotte. He also worked at SAIC and IBM T.J. Watson Research Center as a research scientist. He received M.Sc. in Computer Science from University of Pittsburgh and Ph.D. in Information Technology from George Mason University. His areas of specialization include software requirements engineering, knowledge acquisition, machine learning, and information assurance. He is the corresponding author of this article.

    1 Introduction

    Blockchain is a comparatively emergent technology that has received a lot of attention in the past. Blockchain technology has solved problems in various applications including banking, health care, IoT, real estate, voting, and law enforcement. There has been a growing interest in applying Blockchain for solving problems in software engineering for IoT. However, it has not yet been envisioned whether which and how problems in software engineering for IoT could be solved using Blockchain. Recent research shows two critical trends. First, in many cases, the development of IoT systems does not follow RE best practices. Second, in most cases, existing RE best practices for IoT are not relevant to agile development methods for IoT, which demand trusted, faster, and low-cost requirements elicitation for IoT [1, 2]. In the current scenario of agile development, IoT software developers do not follow the RE process to determine the IoT requirements specification document; instead, they use user stories for continuous deployment [1]. Agile Manifesto’s statement of working software over comprehensive documentation is becoming the trend of agile development [2]. The RE process for IoT completely depends on corroboration between customers and developers while agile methods focus on collaboration between customers and developers to be on the same page of the IoT development process. In this chapter, we have proposed the RE model for Blockchain-enabled IoT which is a close collaboration Blockchain network involving several IoT stakeholders and IoT customers along with IoT requirements engineer, IoT designer, and IoT developers on the same platform to discuss, educate, elicit, refine, design, verify, and validate IoT requirements and add final requirements to the Blockchain after mutual consensus.

    Blockchain is enriched with several characteristics as defined in Table 2 and these characteristics can be utilized to provide trust, transparency, traceability of IoT requirements, and enhance the effectiveness and efficiency of the RE process for Blockchain-enabled IoT. The Blockchain records all communication and requirements transactions in the distributed ledgers (cryptographically secure distributed blocks), and every member of the Blockchain network has the same copy of the ledger maintaining transparency, traceability, and trust in the network [3]. Also, the network creates a common communication platform for all members to discuss, educate customers and stakeholders on IoT domain knowledge and IoT concepts and terminology for them to easily describe their needs, avoid ambiguity, clear conflicts, and mitigate trust issues among themselves. Elicitation of IoT requirements using the RE model for Blockchain-enabled IoT is cheaper, and it consumes less time and effort when compared to the centralized RE process for IoT.

    1.1 Motivation for the Proposed Model

    The RE model for Blockchain-enabled IoT is a close collaboration Blockchain network of IoT customers, stakeholders, IoT requirements engineers, IoT developers, IoT design engineers, and IoT requirements analysts to provide a transparent common communication platform to discuss, educate, elicit, refine, design, verify, and validate IoT requirements and add final requirements to the Blockchain after mutual consensus. The consensus mechanism in Blockchain ensures mutual trust within members of the network, and is used for verifying IoT requirements. The distributed ledger maintains synchronized copies of communication among the members which maintains transparency, consistency, and trust among members.

    The RE model for Blockchain-enabled IoT solves the problem of ambiguities in communication and the communication gap between IoT stakeholders. There is a lack of knowledge of the IoT domain in stakeholders and requirements analysts. Also, there is a lack of knowledge of RE methods and techniques among IoT stakeholders. The Blockchain platform educates customers and stakeholders on IoT and RE concepts and terminology for them to easily describe their needs. There is poor management of IoT FR and secure IoT NFR. Blockchain maintains traceability between stakeholder’s requirements and system/software requirements as each block in the Blockchain records the hash value of the previous block making the chain of blocks automated. Another challenge is the conflicts in RE practices due to RE methods’ variability. All Blockchain members follow the same RE methodology within the Blockchain network. Based on the above advantages, we can say that the RE model for Blockchain-enabled IoT seems a promising approach to improve the transparency, trust, adaptability, traceability, effectiveness, efficiency, and overall quality of the RE process for IoT.

    The rest of the chapter is organized as follows: In Sect. 2 of this chapter, we have discussed the RE process for IoT and have discussed the major challenges in IoT and the centralized RE process for IoT. In Sect. 3, we have proposed the RE model for Blockchain-enabled IoT, showing how our model can solve the existing challenges in the centralized RE process for IoT. In Sect. 4, we have discussed the related works. Finally, in Sect. 5, we have concluded the chapter with final remarks on our proposed idea and possible future work for improvement.

    2 Requirements Engineering Process for IoT and Challenges

    2.1 Requirements Engineering Process for IoT

    RE is a field of the software engineering process, which focuses on gathering, identifying, modeling, communicating, analyzing, and eliciting requirements specification and the context for building an IoT system [4]. Figure 1 shows the RE process, which involves five phases including IoT Scope Definition and Groundwork, IoT System Definition and Analysis, IoT System Requirements Specifications, IoT Specification Verification, and IoT Requirements Management. Traditionally, when a customer specifies his/her primary IoT requirements to the requirements engineer and the team, these IoT requirements are typically reverted back in the form of an IoT requirements specification document, which tells the customer what actually the IoT system will do and how it will work. The five phases of the centralized RE process for IoT are explained as follows:

    ../images/478487_1_En_1_Chapter/478487_1_En_1_Fig1_HTML.png

    Fig. 1

    Requirements engineering process for IoT

    IoT Scope Definition and Groundwork: In this phase, IoT problems, IoT context and parameters are defined, potential IoT stakeholders are identified, and their needs are defined. The feasibility of an IoT system is analyzed based on the IoT problems and needs of the stakeholders. Once the construction of an IoT system is feasible, the IoT problems are defined in detail. The stakeholder’s needs are transformed into stakeholder’s requirements by identifying functions, constraints, and quality characteristics. The stakeholder’s requirements are evaluated to find out whether they are complete, feasible, verifiable, and affordable. At last, a clear agreement is taken from stakeholders, which shows that a common understanding of the IoT system is achieved.

    IoT System Definition and Analysis: In this phase, IoT scenarios are defined and IoT components and activities are identified. Based on stakeholder requirements and defined problem, the IoT solution is suggested.

    The implementation requirements are very complex to elicit due to the usage of different technologies at the hardware and software levels. These technologies characterize an IoT system and therefore must be accounted for in the RE elicitation phase. It is important to describe the hardware and software entities, and the interactions between them, and also to find how their behavior affects when there are changes in context variables.

    IoT System Requirements Specifications: In this phase, an elaborate specification of devices in the IoT components are specified, and every software component in the IoT system is specified including functional, non-functional, and interface requirement. Scenarios are described which is an elaborate description of interaction flow among devices, components, and the alternative flows.

    IoT Specification Verification: This phase targets to evaluate the specification of device components, software components, and use cases of the IoT system to confirm that the specifications are consistent, unambiguous, non-redundant, complete, correct, concise, feasible, understandable, traceable, and possible to implement and test.

    IoT Requirements Management: In this phase, IoT requirements maintenance, evolution, and traceability between stakeholder’s requirements and system/software requirements are achieved. The activities that are performed in this phase are change and version control, tracing IoT requirements, which are subject to change, maintaining traceability, and IoT requirements status tracking.

    2.2 Major Internet of Things and Requirements Challenges

    The key IoT problems are ambiguities in communication, communication gap between stakeholders, which causes poor quality IoT software due to poor requirement analysis, lack of IoT domain knowledge and knowledge of RE methods and techniques in customer, software developer and requirement analyst, poor management of requirement and secure Non-Functional Requirement (NFR) in a dynamic system like IoT where requirements are changing dynamically, and conflicts in RE practices due to RE methods variability [5–7]. Another challenge is that IoT requirements keep on changing with every new demand by the society, trend, and asset added in the IoT system. To provision the new IoT requirements, it is crucial to maintain the old IoT requirements and add new IoT requirements without disturbing the configuration of the IoT system. The self-adaptive requirements [8] can solve this aspect of the IoT problem but as the centralized RE process for IoT involves teams with multiple members who communicate and decide upon the IoT requirements, the process slows down.

    The organizations confront various problems during the RE process, directing to critical inferences, including project failure [9] and the cost to identify and correct RE-related problems escalates throughout the project life cycle [10].

    Chaos Report of the Standish Group on cross-company root causes for project failures shows that most of the project failure causes are related to RE. RE problems are primarily organizational instead of technical [11].

    Survey data from 228 organizations in 10 different countries analyzed to identify RE problems show that the topmost requirements problem in agile and large-sized organizations are Incomplete/hidden requirements, dynamic objectives, miscommunication with the customer, Lacking Time Management, and Underspecified requirements [9].

    The RE problems encountered in Brazil and Germany were analyzed based on the similarities and the differences show that incomplete/hidden requirements and poor communication were among the most critical reported RE problems [12].

    Data from 74 Brazilian organizations was analyzed to identify critical RE problems and their main causes show that the most critical RE problems are related to communication and to incomplete/hidden or underspecified requirements [13].

    3 Proposed RE Model for Blockchain-Enabled IoT

    The Blockchain technology enables moving verified and validated IoT requirements in the Blockchain network, which comprises IoT customers, IoT requirements engineers, IoT design analysts, and other IoT stakeholders required for developing IoT systems. The verification and validation of the IoT requirements could assist as a feasible proof of work by hashing and signing the verified IoT requirements.

    In Fig. 2, we proposed the RE model for Blockchain-enabled IoT. The customer and stakeholder enter the primary IoT requirements and the incentive in the database. The IoT requirements are then broadcasted in the Blockchain network. The interested requirements engineer refines the primary IoT requirements to find a comprehensive set of IoT requirements. These IoT requirements are broadcasted in the Blockchain network for verification and validation check. The requirements analyst in the Blockchain network verifies and validates the IoT requirements. The specified IoT requirements must be unambiguous, not redundant, complete, correct, concise, feasible, understandable, consistent, and traceable. If they find consensus, they add the IoT requirements to the Blockchain.

    ../images/478487_1_En_1_Chapter/478487_1_En_1_Fig2_HTML.png

    Fig. 2

    Overview of the processing steps to reach fast, consistent, accurate, complete, verified, and validated IoT requirements via the RE model for Blockchain-enabled IoT

    The detailed explanations of the steps are as follows:

    In step 1, the customers’ and stakeholders' needs are identified and based on their needs, the feasibility of the IoT system is determined by the requirement analyst. If the IoT system is feasible, then these needs are transformed into requirements determining functions, constraints, and quality characteristics. These requirements are called primary requirements since they are abstract in nature, vague, incomplete, redundant, and inconsistent. These primary requirements are posted in the Blockchain database with some incentive.

    In step 2, the primary IoT requirements are compiled in a block as primary IoT requirements transactions and then that block is broadcasted in the Blockchain network consisting of customers, stakeholders, designers, requirements analysts, and developers. The broadcasted requirements are transparent to every member of the network.

    In step 3, the requirements engineer in the network defines IoT scenarios, IoT components, and activities. The IoT solution is suggested based on stakeholder requirements and problems. These solutions are elaborated as specifications of IoT components and IoT software components that include functional, non-functional, and interface requirements. These specifications are called a Comprehensive set of IoT requirements and they are again broadcasted in the Blockchain network for evaluation.

    In step 4, the requirements analyst in the network evaluates the specifications of IoT device components, IoT software components, and use cases of IoT system to confirm that the specifications are consistent, unambiguous, non-redundant, complete, correct, concise, feasible, understandable, traceable, and possible to implement and test.

    In step 5, when the requirements are verified and validated by the customer and stakeholder and mutual consensus is agreed then finally, the IoT requirements are added to the distributed ledger of each member in the Blockchain network.

    Figure 3 shows the workflow of the model. Initially, in step 1, the IoT customer and stakeholder will work on the context and groundwork to collect IoT domain information and generate IoT primary requirements transactions. In step 2, the IoT customer will broadcast the primary requirement transaction in the network. In step 3, the IoT requirements engineer will refine the IoT requirements and again broadcast them in the network. In step 4, there is a decision box to check whether the IoT requirements are verified or not. If yes, then it will lead to step 5, where there is another decision box, to check whether the IoT requirements are validated or not. If the IoT requirements are not verified and not validated, then in step 6, the IoT requirements analyst will verify and validate the IoT requirements and then broadcast them in the network. If they are already verified and validated then in step 7, the IoT analyst will add final IoT requirements to the Blockchain and the flow will stop.

    ../images/478487_1_En_1_Chapter/478487_1_En_1_Fig3_HTML.png

    Fig. 3

    The simplified workflow of RE validation process for IoT

    3.1 Pros of the Proposed Model

    IoT Customer’s primary IoT requirements are vague, incomplete, redundant, and inconsistent. The IoT customer broadcasts their requirements in the Blockchain network which consists of IoT requirements engineer, IoT developer, and IoT design engineer, and IoT requirements analyst. Everyone in the network can see what the IoT requirements are and can verify their validity and broadcast them using the mining process such as Proof of Work, where, miners compete against each other and validate the refined IoT requirements on the network and get rewarded. Miners are special nodes which can hold the ledger. The first miner to do that will get a financial incentive from the IoT customer. Secondly, miners will find a key by investing computational power as the search for the key is random. The miner which verifies and validates the IoT requirement will publish the verified and validated IoT requirements to the entire network.

    This proposed model alleviates a number of problems of the RE process for IoT.

    Implemented as a distributed system running on the Blockchain, there would no longer be a single point of failure.

    One can add more IoT requirements and the process repeats until all IoT requirements are found and the IoT customer is satisfied.

    Takes lesser time than the centralized RE process for IoT.

    IoT Requirements can be traced in the Blockchain ledger log.

    IoT Requirements can be reused for similar domains or other IoT applications.

    3.2 Smart Contract

    A smart contract is a contractual agreement between the IoT customer and the IoT requirements engineer and is critical for maintaining trust, security, transparency, and Quality of Service for a set of services agreed upon between the IoT customer and the IoT requirements engineer. This set of services comprises functional and non-functional IoT requirements that both parties will agree upon. The smart contract is open and transparent to every member of the Blockchain network for provisioning consistent, accurate, and complete IoT requirements. Table 1 shows the description of the participants in the network and the specification in the smart contract.

    Table 1

    Participant and IoT service agreement specification in the smart contract

    Table 2

    The characteristics of the blockchain technology

    Enjoying the preview?
    Page 1 of 1