The second generation of cyber-physical systems (CPS) consider different aspects of artificial intelligence aimed at self-awareness and/or self-adaptation between CPS resources. There is a lot of research in the areas of mobile robotics [1
], unmanned vehicles [3
], wearable electronics [5
] and others that are required by second generation CPS for effective operation. This paper considers the problem of dynamical decentralized coalition formation by heterogeneous CPS resources for joint task performing. For this purpose, resources should not only exchange information with each other but also have to understand the semantics in CPS, take into account the current situation for self-adaptive behavior, and recognize compromised situations.
Tasks distribution and assignment among the coalition participants requires a special method. An example of such a method is the sensor assignment to missions approach, based on knowledge representation using ontologies and reasoning techniques to distribute tasks among coalition participants [7
]. However, the participants of the coalition do not have a full picture of how the tasks were distributed. They can get an approximate idea of this, only by making full reasoning among the knowledge of all coalition members. This behavior is more typical for swarm interaction models and reduces overall efficiency of the coalition. Usually the existing method is characterized by the absence of a central or distributed processing log, in which results or coalition participants’ work are displayed. Such a log allows us to reduce the number of calculations on the coalition formation stage and to distribute tasks taking into account the capabilities and characteristics of all the participants in the coalition. At the same time, with such a log each participant at any time will have a view of task distribution as well as when it is expected to receive the result from other participants and what resources are involved in solving the overall problem. The overall view makes it possible to reconfigure the coalition on the fly by adding or replacing participants who will know what they should do from the very beginning.
The paper presents a blockchain-oriented approach to coalition formation of CPS resources that is based on context management methodology and publish/subscribe-based semantic interoperability mechanism as well as utilization of a distributed, decentralized, immutable transaction log technology, also known as a blockchain for creation of the coalition working log. These technologies allow us to implement self-adaptive behavior of CPS resources for coalition formation. Its distinctive feature is the combination of private transactions in a block of a given length (defined by the developer of a particular block) using hash functions, as well as the connection of each new block with the last block in the chain that is also provided by using the hash function. It is proposed to use two types of transactions. The first one contains task assignment for coalition participants. It can be used to control the overall progress of the coalition participants and adjust CPS resource’s ratings, as well as adjusting coalition structure by replacing the resource that cannot complete the assigned task. The second type of transaction contains the facts of the system’s consumables spending. Each CPS resource can use consumables to process the assigned task. The fact of spending is written to the distributed ledger and can be checked by the CPS manager. Each transaction in the block is signed by the private key of the transaction owner. Such a mechanism makes it possible to unequivocally determine who entered the information in the block, track its sequence of changes, and ensure the immutability of information contained in the log.
The main contribution of the paper is an extension of the classical multi-agent approach to resource interaction by the ontology-based smart space and blockchain technology. The main features of the approach are usage of context management techniques for determination of the resources knowledge as well as its competencies that are related to the current task. The smart space technique used supports ontology-based publish/subscribe mechanism that allows to create the actual for the task model of physical space in the information space. This model provides interoperability support for CPS resources. Based on resource interaction in information space, the coalitions are formed to perform the task. Every resource is described by the rating, as well as its competencies. Ratings are taken into account for decision about the resource participation in a coalition. To support the immutability of the resource ratings the blockchain technology is used for keeping the history of resources interaction, as well as consumables spending, and preventing compromised situations.
For the approach evaluation, a case study has been presented that considers the scenario of heterogeneous mobile robots collaboration work for obstacles overcoming. The scenario is based on the proposed approach and Smart-M3 semantic interoperability platform that implement concept of smart spaces and provides possibilities of ontology-based mobile robots interaction organization for their semantic interoperability. The platform makes possible to significantly simplify further development of CPS, include new information sources and services, and to make the system highly scalable. Smart-M3 assumes that devices and software entities can publish their embedded information for other devices and software entities through simple, shared information brokers. The platform is open source and accessible for download at Sourceforge (Smart-M3 at Sourceforge, URL: http://sourceforge.net/projects/smart-m3
). There are two types of mobile robots that have been developed for participation in the case study: manipulating robots and measuring robots. The task is aimed at cargo delivery by the manipulating robot with increased passability. During the delivery, several obstacles should be overcome. For obstacle overcoming, the manipulating robot should form a coalition with the measuring robot and knowledge base service to get the appropriate overcoming algorithm.
The prototype of the manipulating robot has been assembled for this scenario based on Lego Mindstorms EV3 kit. EV3 control block has been re-flashed for LeJOS operating system that allows to connect it to Wi-Fi network and Smart-M3 information sharing platform. The robot consists of four motors, four pair of wheels, and an ultrasonic sensor. The measuring robot has been assembled based on the Makeblock robotics kit. The Raspberry Pi 3 Model B single-board microcomputer was connected to the control board to expand its computation power. The main task of the Raspberry Pi is to connect the robot to the Smart-M3 platform, as well as to process data from sensors and calculate the further robot actions.
The rest of the paper is organized as follows. The next section describes related work in the area of mobile robot interaction and blockchain technology utilization for next generation CPS. Then the authors present a blockchain-oriented approach to coalition formation in CPS. After that the CPS ontology is described. Next, the authors propose a case study that is aimed at heterogeneous mobile robots collaboration work for the overcoming of obstacles. Finally, the conclusion summarizes the paper.
2. Related Work
The section presents the related work analysis in the area of interaction between CPS resources on the example of mobile robots and blockchain technology utilization for next generation CPS. The following main technologies are actively used for CPS resources coalition formation in the considered research papers: smart space, ontology management, context management. The usage of blockchain technologies for CPS resources coalition formation is a rather new research field despite the great potential of the technology in distributed trustless systems. However, there are several research works aiming to utilize blockchain technology in the field of coalition operation and Internet of Things (IoT).
2.1. Related Work Analysis in the Area of Interaction between CPS Resources on the Example of Mobile Robots
The aim of the RoboEarth project is building the Internet of robots. Authors determine the Internet of robots as a web community that autonomously shares descriptions of tasks they have learned, object models they have created, and environments they have explored [8
]. Authors developed a formal language for encoding this information and propose methods for solving the inference problems related to finding information, to determining if information is usable by a robot, and to grounding it on the robot platform; the infrastructure for using this representation to reason about the applicability of information in a given context and to check if all required robot capabilities are available, and mechanisms for creating and uploading shared knowledge.
The authors of the paper [9
] deal with an intelligent system of robot and human interaction. This system uses adaptive learning mechanisms to account for the behavior and preferences of a human. It includes algorithms for speech and face recognition, natural language understanding, and other ones that provide the robot possibility of recognition the human actions and commands. A robot used in this paper (Pioneer 3-AT) is equipped with multiple sensors, scanners and a camera. The paper focuses on the process of teaching the robot and its mechanisms of interaction with a human.
In the paper [10
] authors describe a coordinated process for the agents (in particular, mobile robots) jointly perform a task, using the knowledge about the environment, their abilities and possibilities for communication with other agents. The effective use of knowledge about the agents’ capabilities is implemented by using suitability rates which allow agent to choose the most appropriate action. This approach was tested during a football match between mobile robots. The interaction in this article is considered in terms of the choice of an agent to perform an action.
The authors of the paper [11
] propose a methodology for coordination of autonomous mobile robots in jams in congested systems. The methodology is based on reducing a robot’s speed in jams and congested areas, as well as in front of them. Thus, the robots slow down if detecting other robots in front of themselves. The effectiveness of the methodology was tested in a simulation of a congested system with a jam.
The paper [12
] discusses the combining of wireless sensor networks and mobile robots. Authors suggest layered swarm framework for the interaction of decentralized self-organizing complex adaptive systems with mobile robots as their members. This framework consists of two layers (robots and wireless LAN) and communication channels within and between layers. During the experimental verification of framework mobile robots independently reached the destination.
The paper [13
] is devoted to the problem of robots group control in non-deterministic, dynamically changing situations. The authors propose a method for solving formation task in a group of quadrotors. The method makes it possible to ensure accurate compliance with distances between quadrotors in the formation, as well as featuring low computational complexity.
The authors of the paper [14
] shows a system of robots interaction based on BML—Battle Management Language. This language is intended for expressing concise, unambiguous orders read by both humans and robots. The orders are transmitted from the system of multiple robots and processed for further distribution specific commands between them.
In the paper [15
], design of the human-robot interaction, improving human situational awareness on the basis of an agent-oriented approach is described. The approach is applied when mobile agents move (autonomous robots and astronauts in protective gear) on the Moon’s surface in a limited geographically area.
The paper [16
] presents the concept of the learning factory for cyber-physical production systems (LVP) and presents robotics and human-robot collaboration. Authors use ontologies in the context of flexible manufacturing scenarios to equip autonomous robots with the necessary knowledge about their environment, opportunities and constraints. They discuss the use of semantic technologies together with cyberphysical systems for integrating decision making into smart production machinery.
The paper [17
] presents extensions to a core ontology for the robotics and automation field. Authors of the paper proposed ontological approach aims at specifying the main notions across robotics subdomains.
The paper [18
] defines the current issues and solutions possible with ontology development for human-robot interaction. It describes the role of ontologies in robotics at large, provide a thorough review of service robot ontologies, describe the existing standards for robots, along with the future trends in the domain, and defines the current issues and solutions possible with ontology development for human-robot interaction.
The paper [19
] evaluates the proposed ontology through a use case scenario involving both heterogeneous robots and human-robot interactions, showing how to define new spatial notions using an ontology. It discusses experimental results, presenting the ontology strengths. The paper is concerned with the development of model-based systems engineering procedures for the behavior modeling and design of CPS. Three independent but integrated modules compose the system: CPS, ontology and time-reasoning modules. This approach is shown to be mostly appropriate for CPS or which safety and performance are dependent on the correct time based prediction of the future state of the system. Consequently, the ontological approach applicability for modeling the problem area is justified.
The approaches described by [9
] require a well-defined functionality of robots, so the set of tasks undertaken is restricted. The paper [10
] describes the knowledge of the capabilities of robots that is generated dynamically during the execution of tasks what allows to manage the robots effectively. Thus, no limitation to robots’ functionality and dynamic determination of the options available can provide the widest range of tasks to execute. Authors of the paper [12
] show the effectiveness of the indirect interaction of robots, that is, the interaction through an intermediary that is Smart-M3 platform in the paper. The paper [13
] discusses a formal model that can be used for interaction. In the paper [14
] the effectiveness of using specialized language for robots control is shown. Authors of the paper [15
] demonstrate the applicability of the multi-agent systems approach for robot and human interactions in various fields. Many researches inherit the idea of ontologies usage for modelling context in social-cyber physical systems. An ontology should include description of physical components, agents, model of problem area. It consists of classes, subclasses, properties, and relationships between classes.
2.2. Related Work Analysis in the Area of Blockchain Technology Utilization for Next Generation CPS
The paper [7
] considers the use of blockchain technology to create a logically centralized system for managing the distribution of tasks among coalition members. The blockchain technology itself is considered as a mechanism for recording and tracking transactions between participants performing control over the distribution of tasks. At the same time, it is possible to create a virtual log that contains all distributions of the assets available among the coalition participants.
The paper [20
] provides an example of the E-Business model for decentralized autonomous corporations based on IoT and blockchain. The blockchain network is used here to create smart contracts and perform payment transactions using Bitcoin and the system’s own currency—IoTcoin. The approach presented provides the following advantages: internal resources of the system are presented in the form of payment system tokens; distributed ledger for transactions, built-in mechanism of digital signature; and protection of transactions by linking blocks with a hash function of a given complexity. Interaction between elements is carried out by transactions passing through four phases: preparing a transaction, negotiating, signing a contract, and fulfilling the terms of the contract.
A similar method is considered in relation to a Smart Home scenario in [21
]. Also, there is an unchanged transaction log as an advantage of integrating IoT and Blockchain technologies. The proposed framework provides the following transaction processing functions: transaction storage, access to the transactions history and real-time monitoring. Also, due to the adaptation of the hierarchical structure of the proposed framework (which includes three levels: the smart home, overlay network, and cloud storage), optimization of resource consumption is achieved, and scalability of the network is increased. The functions of the blockchain are focused on the level of interaction of elements in the overlay network.
It is also noted that the combination of the peer-to-peer network and the cryptographic algorithms that are underlying the blockchain technology allow for a negotiation process and consensus building without the presence of any controlling authorities. The distributed nature of the blockchain can be used in swarm robotics to store global knowledge about swarm actions [22
]. At the same time, due to blockchain, the security of the transmitted data is ensured (garbage data can affect the achievement of a common goal), distributed decision making (creating a distributed voting system for the solution and use of the multi-signature), separation of robots behavior (switching between behavior patterns depending on the role in the swarm), the emergence of new business models using the swarm. In addition, the availability of a distributed transaction ledger allows new robots to join the swarm and gain all the knowledge they have gained prior to the moment of inclusion by downloading and analyzing the transaction history.
The results of the research presented can be summarized in the following way. The blockchain is mostly used as immutable storage for information exchange between robots. Information stored in the blockchain could contain records about task and assets distribution [7
], smart contracts and payment transactions [20
], or global knowledge about coalition actions [22
]. In combination with IoT, concept blockchain technology can provide more trust for transaction through IoT, due to the storing information about transactions in immutable log that can be verified by every IoT participant. In contrary to existing approaches, blockchain does not require a central authority that provides trust for all nodes. All nodes negotiate with each other and come to consensus using one of the possible mechanisms: Proof of Work, Proof of Stake, or practical Byzantine fault tolerance [23
]. Assuming that robots are forming a coalition without any control center, the blockchain can be used for safe and trustiness logging of robots’ task distribution and reward for task solving.
3. A Blockchain-Oriented Ontological Approach to Coalition Formation
For coalition formation in CPS it is required to support the semantic interoperability between resources, as well as providing infrastructure for information & knowledge sharing between them and keeping agreements between resources made in scope of interaction in the system. The CPS concept is aimed at tight integration of the physical and cyber spaces based on interactions between these spaces in real time. Resources are exchanging the information with each other in information space while their physical interaction occurs in physical space. For interoperability support, it is needed to create the model of CPS and support the interaction of resources based on this model. One of the possible approaches to problem domain modelling is ontology management. The ontology formally represents knowledge as a set of concepts within a domain, using a shared vocabulary to denote the types, properties, and interrelationships of those concepts. For current situation modelling and reducing the search space of potential coalition members, the utilization of context management technology is proposed. The aim of this technology is a context model creation that is based on the ontology of problem domain and information about current situation in physical space. Context is defined as any information that can be used to characterize the situation of an entity. An entity is a person, place or object that is considered relevant to the interaction between a user and an application, including the user and application themselves [24
]. Context is suggested to be modeled at two levels: abstract and operational. These levels are represented by abstract and operational contexts, respectively. The process of coalition formation based on abstract and operational contexts is shown in Figure 1
(enhanced based on [25
Abstract context is an ontology-based model of a potential coalition participant related to the current task. Abstract context is built based on integrating information and knowledge relevant to the current problem situation. Operational context is an instantiation of the domain constituent of the abstract context with data provided by the contextual resources. Thereby, coalition formation is implemented with the following phases. In the first phase the resources are waiting to participate in the process of task performing. Every resource is described by an ontology. For the second phase the abstract context is created based on the resource ontology, a task appeared in CPS, and current situation. Abstract context includes all accessible knowledge relevant to the task. For the third phase, the process of concretization of these knowledge by information accessible in information space for operational context formation is implemented. The operational context is published in information space and becomes accessible for other potential coalition participants. The coalitions of resources are created based on their operational context intersections (see Figure 2
For information space organization, a semantic interoperability platform is used that is based on blackboard architecture that provides possibilities for potential coalition participants to implement indirect interaction with each other. Thereby, a virtual coalition is created in information space and then a physical coalition appears in physical space (CPS resources implement the joint task). Interaction of potential coalition participants in information space is implemented using the ontology-based publish/subscribe mechanism that provides possibilities for resources publishing their information and knowledge, and subscribing to interesting information using ontologies. When a resource registers to be a potential coalition participant it uploads its own ontology to the semantic interoperability platform. This resource ontology formalizes the main resource capabilities and constraints that have to be satisfied to use the capabilities. Thereby, the interoperability is supported based on open information space and ontology-based publish/subscribe mechanism. A potential coalition participant can participate in a joint task if the operational context in information space is matched with its abstract context. More details about the ontology matching can be found in the paper [26
Simultaneously with the publishing of the operational context to the semantic interoperability platform the signed transaction is writing to the blockchain network. The transaction consists of the information published to the platform by a particular resource on each stage of the joint task performance, signed by a private key of the resource. The transaction is created on the coalition participant hardware and includes the new block that writes to the local copy of the blockchain. Then the blockchain spreads the new block among the other coalition participants that can verify block’s source as well as transactions inside it using the public key.
shows the resource profile model that is aimed at automating the process of coalition creation and takes into account the ratings of the resources considered for coalition formation. Every time the resource participated in the coalition, other resources and users have the possibility to estimate their competencies’ ratings and the overall rating of the resource. The model consists of the following components: basic resource information, its competence & constraints, and resource interaction history. Basic resource information includes the following information about the resource: identifier, name, description, and rating. Competence and constraints of resource is aimed at description of the tasks the resource can perform and constraints that have to be satisfied to perform these tasks. Competence and constraints of resource includes: basic competencies, extended competencies, and constraints. Basic competencies and extended competencies can be estimated with ratings by another resource, and users. The blockchain network is used for the following purposes. First is a coalition formation. During the coalition formation process the potential resources share their competencies and get subtasks that are parts of the task. Each subtask assignment is stored in the blockchain network. In this case for other resources it is easy to check who is responsible for a certain subtask. If some resource fails in the subtask, its competence rating is decreased, and the resource can be replaced by another one with a higher competence rating. In the case of a subtask performed successfully, the ratings of competencies related to this subtask are increasing. All rating changes are stored in the blockchain network and can be tracked for preventing the unauthorized changes. The second purpose is aimed at information exchange and consumables tracking. During the subtask performance, each resource can spend some of the system’s consumables (e.g., power, time or task-specific resource, like seeds for planting). The details of consumables spending is stored in the blockchain network. Every resource can check at any time the value of consumables that was spent by another resource for subtask performance. It is helpful to track the task performance as well as for in-time consumables supplying and increasing the efficiency of joint work by adjusting the coalition. In these cases the blockchain network is used to prevent the submitting and use of malicious information. Only signed information from coalition members can be used in joint task performance. The immutability property of the blockchain allows us to track actions performed by each resource and detect the guilty resource that causes the failure and decrease its competence rate. Unlike existing approaches, the blockchain can provide an immutable log with distributed trustiness between robots without any central point. In cases when robots are acting only with each other, without any central node, the blockchain can simplify trustiness providing.
4. CPS Ontology
Developed CPS ontology is based on definitions and abbreviations from Suggested Upper Merged Ontology (SUMO), proposed in [27
]. The model is built for CPS, where the mobile robots are interacting with each other for joint task performance. The ontology includes description of the main processes that occur when coalitions of robots are created to solve problems in cooperation. The protégé editor has been used to create the ontology. The ontology classification consists of two main classes: “Physical Space” and “Information Space”.
Class “Physical Space” described all physical entities which participated in a coalition (devices, sensors, motors, end etc.). “Information Space” refers to computational resources and processes for coalition formation. Considering the classification of “Physical Space” in more detail (see Figure 4
), it contains classes “Object”, “Environment”, and “Process”. Class “Object” describes the physical facilities and collections. Class “Device” describes the physical entities and their parts participated in the task performing: “Battery”, “Hull”, “Motor”, “Sensor”, “Switch”, “Whell”. Class “Motor” is divided into subclass of motor drives—«ServoMotor». «Sensor» consists of subclasses specifying sensors installed on the device: “DistanceSensor”, «HeatSensor», «LightSensor». Class “Wheel” includes two subclasses “LeftWheel” and “RightWheel”.
The class “Object” specifies physical characteristics of devices depending on the scenario. For example, in the case study considered it is important to formalize what types of hull, motor, and wheels are used, since it is necessary to overcome obstacles. For all scenarios the class “Collection” joins together several devices to making the complex device.
Class “Process” consists of subclasses “Action” and “Interaction”. “Action” consists of “Movement”, “Interaction”, “Photo”, “Grip”, “Fly”, “Clean”, “Check” and includes a route options “Route” (“IndoorRoute”; “OutdoorRoute”). It means that the class «Action» represents the description of a physical object. The class “Interaction” consists of the interaction types “HumanInteraction” and “RobotInteraction” (“InterGroupInteraction”, “IntraGroupInteraction”).
Now consider the information space (see Figure 5
). Class “InformationSpace” consists of “CompetenceProfile”, “Configuration”, “Context”, “Policy”, and “Process_Model”. Class “CompetenceProfile” includes classes “BasicInformation” (“User_account”, “Robot_description”), class “Competency” (“Basic_competencies”, “Special_competencies”), and classes “History” and “Constraints”. The robot competency determines the robot’s ability to perform certain tasks. The basic information contains a description of the robot and information about its characteristics. Basic competencies include motion in space, turns, and the special ones are the ability to overcome obstacles, take photos, to do cleaning of the space and to execute the gripping of components in the process of object assembly. Class “History” is aimed at resources interaction history keeping using the blockchain network. Restrictions allow to provide options, when a task cannot be implemented due to initial or emerging condition while fulfilling the process. Class “Context” includes “Device Context” and “Environment Context” that can be “Spatial” (“Left”, “Off”, “On”, “Right”), “Temporal” (“Distance”: “Far”, “Near”), and “Interface” (“Wireless interface”: “Bluetooth”, “WiFi”).
Class “Interface” demonstrates the way of interaction between the robots through a wireless link. Class “Policy” defines the access rights, including authorization, standard definitions, opportunities and application limits. Class “Configuration” defines settings and components that have to be taken into account in the physical space. Class “Process_model” describe scenarios that need to be implemented.
5. Case Study
To evaluate to approach to CPS resource coalition formation presented, the scenario of heterogeneous mobile robots’ collaboration work for the overcoming of obstacles is proposed in the paper. The scenario presented is a good example of next generation CPS that includes two heterogeneous automated robots (manipulating robot and measuring robot) that are set to perform a task together, taking into account the current situation. The task is aimed at cargo delivery by the manipulating robot, which is a 6WD robot with lifting front and back chassis. During the delivery, obstacles can be met and the manipulating robot should overcome them. Before overcoming, the measuring robot should scan and measure the obstacle to create the obstacle model. Based on this model the manipulating robot should decide if it can overcome this obstacle and which overcoming algorithm should be used for these purposes.
For the interaction between robots, a Smart-M3 platform [28
] is used for providing possibilities of CPS participants interact in the information space. The Smart-M3 is an open source semantic interoperability platform, it is accessible for downloading and testing, supported by a development community, and supports modern mobile platforms (Android, Symbian, Windows Phone). The key idea of the platform is that robots can publish their information for each other through simple, shared information brokers. Information exchange in smart space is implemented via HTTP using Uniform Resource Identifier (URI). Semantic Web technologies have been applied for interoperation purposes.
The prototype of the manipulating robot has been developed for this scenario based on the 6WD robot with increased passability developed by the Science and Technology Center “ROCAD” (http://rocad.ru/en/gallery/
). The Lego Mindstorms EV3 kit has been used for assembling the robot prototype. This kit allows us to easily design robots with the required functionality for education purposes. At the same time, there is the possibility to use electronic units, motors and sensors and program them in Java. The Lego Mindstorms EV3 kit supports connection Bluetooth wireless network. For Wi-Fi network connection the USB module Netgear WNA1100 has been used. The authors installed the LeJOS (http://www.lejos.org/
) operation system to EV3 control block that allows us to connect the manipulating robot Smart-M3 platform. The manipulating robot prototype is shown in Figure 6
In real life, the measuring robot is a helicopter that flies to the obstacle and implements scanning and measuring. For the research prototype the measuring robot has been assembled based the Makeblock robotics kit. The control board of this set is based on a scheme compatible with Arduino, which allows equipping the robot by a wide range of sensors and motors, as well as to develop and connect own equipment for interacting with the physical world. For the control board it is possible to connect to Wi-Fi and Bluetooth wireless networks. However, the microcontroller provides low computation power as well as highly limited memory. The Raspberry Pi 3 Model B single-board microcomputer was connected to the control board to expand it computation power. The main task of the Raspberry PI is to connect the robot to the Smart-M3 platform, as well as to process data from sensors and calculate further robot actions. The interaction between Raspberry Pi and the robots’ control board is implemented through the serial port on both devices. The microcontroller of the robot has official firmware, which provides the functions to control sensors and motors. For Raspberry Pi, the MegaPi library is used to develop code for controlling robot functions via a serial port using Python programming language. The measuring robot prototype is presented in Figure 7
During the scenario (see Figure 8
) the manipulating robot should deliver cargo to a destination. If the robot finds an obstacle that has to be overcame to complete the task, it publishes the operational context to Smart-M3 (e.g., location, available time to wait). The measuring robots get a notification about the obstacle found and decides who can create a coalition with the manipulating robot to perform the obstacle overcoming task together. Decision making robots find who can perform the task, as well as checking their ratings stored in blockchain. The robots with the highest ratings and appropriate hardware are selected to perform the task. The ID of the selected robot is assigning with the task ID and writing into the blockchain network. Then the measuring robot participating in the coalition moves to the obstacle, implements scanning and measuring, and publishes the operational context (obstacle parameters) to Smart-M3. Based on the operational context from the measuring robot, the knowledge base service finds an algorithm for overcoming the obstacle and publishes it in Smart-M3. The manipulating robot is notified by the Smart-M3 platform that the algorithm for obstacle overcoming is found and implements it in physical space. If the measuring robot has provided correct measurements and the coalition has performed a task, the ratings of the measurement and manipulating robots increase. These changes are stored in the blockchain network. If the robots should spend the consumables to perform the task, it requests the value of this consumables from the blockchain network. If the robot has these consumables enough it reserve them by creating a new transaction with the consumable identifier and the needed consumables’ value. Each transaction in the blockchain network is stored to the block that is linked to the last existing one. Transactions are verified by other robots using Byzantine fault tolerance [29
] consensus mechanism and stored into blockchain in case of reaching consensus.
Providing transaction information to the blockchain allows for all coalition participants at any time to check the information authorship in Smart-M3 as well as prevent the malicious information to be used in joint task performance. Due to participants being able to check the source of the information, it becomes possible to ignore information from unauthorized sources that are not coalition participants.
An interaction between participants on the Smart-M3 platform is implemented on top of their operational contexts represented by RDF (Resource Description Framework) triples. A simple example of a triple published in Smart-M3 platform is <“robot”, “task”, “goToLocation”>. The subject “robot” describes a robot, which the information in the triple relates to, the predicate “task” defines what this information is, and the object “goToLocation” is a particular “task” for the subject “robot”. At the same time “goToLocation” is also a subject in the triple <“goToLocation”, “coordinates”, “40; 200”>. Devices connected to the information space based on Smart-M3 platform are able to subscribe to a triple to get a notification when the needed information is published in the information space. In the case of a new triple satisfying pattern, all devices that are subscribed to triples of this pattern are notified.
The proposed case study has been evaluated for two types of obstacles: the first one has emulated the stairs; and the second one has a higher stair first and then a smaller one (see Figure 9
). During the evaluation, the measuring robot recognizes these stairs and the manipulating robot implements the algorithm for the overcoming of obstacles, based on this recognition. For the stairs recognition the ultrasonic sensor has been used. The results of measurements for two different obstacles (the first is one higher stair first and then the smaller one, and the second one is regular stairs) are shown in Figure 10
. The measurement robot publishes the information determined about the obstacle to the smart space, the knowledge base services find the appropriate algorithm to overcome the obstacle, and the manipulating robot overcomes the obstacle using the algorithm found. The knowledge base service uses the comparison function that is based on the standard deviation calculation. Based on the measurement accuracy the successfulness of the obstacle identification the manipulating robot adjusts the rating of the measurement robot as well as rating of the competencies related to the obstacle searching and measurement.
The blockchain network for the case study has been implemented based on the Hyperledger Fabric platform that is provided by community of software and hardware companies leading by IBM [30
]. The platform provides possibilities of wide range configurations: changing of a core database for transactions and block storing, changing of consensus mechanisms, and changing signature algorithms for peers’ interaction with the blockchain. For the case study presented in this paper, the default configuration has been used that includes Byzantine Fault Tolerate consensus mechanism based on BFT-SMaRT core [31
], Apache CouchDB as a database and an internal solution for peer certification. This configuration provides the ability to process more than 3500 transactions per second with latency of a hundred ms. Also, the platform provides the possibility to create smart-contracts called chaincodes (program code that describes interaction between resources) using Go or Java programming languages. The chaincodes are running in isolated containers of core peers of Hyperledger based on the Docker technology stack. Figure 11
shows a system log snapshot from the blockchain during the task performance process.
The paper presents an ontological approach and case study for blockchain-oriented coalition formation by CPS resources. For these purposes, the model of abstract and operational contexts for CPS resources coalition formation, the blockchain-oriented conceptual model for CPS resources interaction, CPS ontology that is used for interoperability support between CPS resources, and the case study for evaluating the proposed approach, have been presented. The approach presented develops existing multi-agent-based approaches by providing a two-level interaction model based on abstract and operational contexts, as well as providing immutable transaction logs based on the blockchain technology that allows us to track task assignation, task performance process, resource’s rating changes, and consumables allocation between resources. Utilization of the semantic interoperability platform (smart space) for ontology-based information & knowledge exchange between CPS resources provides possibilities of ontology-based information and knowledge exchange between participants for joint task performance. Utilization of the blockchain technology for CPS participants allows us to confirm authorship for information such as ratings, and support its immutability. At any time, every resource has the possibility to check the trustiness of the information and decide if it should use it or not. The information such as ratings is stored at the blockchain database. In this case it is possible to simplify checking that a resource rating, accessible at the semantic interoperability platform, corresponds to this resource or not. The blockchain network does not provide the possibility to edit such information without agreement between all resources. The case study presented has been implemented for the scenario of heterogeneous robots’ collaboration work for the overcoming of obstacles. Two types of robots and information services participate in the scenario. During the task performance, robots adjust ratings of each other and store this information in the blockchain network. The experiments show that the proposed approach is applicable for the presented class of scenarios. The blockchain network for the proposed case study is based on the Hyperledger Fabric platform that provides high possibilities of configuration as well as a high speed of transaction processing, that is more than 3500 transactions per second with latency of a few hundred ms.