PlaTIBART: a platform for transactive IoT blockchain applications with repeatable testing

With the advent of blockchain-enabled IoT applications, there is an increased need for related software patterns, middleware concepts, and testing practices to ensure adequate quality and productivity. IoT and blockchain each provide different design goals, concepts, and practices that must be integrated, including the distributed actor model and fault tolerance from IoT and transactive information integrity over untrustworthy sources from blockchain. Both IoT and blockchain are emerging technologies and both lack codified patterns and practices for development of applications when combined. This paper describes PlaTIBART, which is a platform for transactive IoT blockchain applications with repeatable testing that combines the Actor pattern (which is a commonly used model of computation in IoT) together with a custom Domain Specific Language (DSL) and test network management tools. We show how PlaTIBART has been applied to develop, test, and analyze fault-tolerant IoT blockchain applications.

[1]  Fan Zhang,et al.  Town Crier: An Authenticated Data Feed for Smart Contracts , 2016, CCS.

[2]  Joseph Robert Horgan,et al.  Incremental regression testing , 1993, 1993 Conference on Software Maintenance.

[3]  Gregg Rothermel,et al.  Prioritizing test cases for regression testing , 2000, ISSTA '00.

[4]  Abdellah Ait Ouahman,et al.  Towards a Novel Privacy-Preserving Access Control Model Based on Blockchain Technology in IoT , 2017 .

[5]  Andres Perez-Garcia,et al.  On the Use of Emulab Testbeds for Scientifically Rigorous Experiments , 2013, IEEE Communications Surveys & Tutorials.

[6]  Roman Beck,et al.  Blockchain - the Gateway to Trust-Free Cryptographic Transactions , 2016, ECIS.

[7]  Edward A. Lee,et al.  Actor-Oriented Design of Embedded Hardware and Software Systems , 2003, J. Circuits Syst. Comput..

[8]  M. Iansiti,et al.  The Truth about Blockchain , 2017 .

[9]  Michael Devetsikiotis,et al.  Blockchains and Smart Contracts for the Internet of Things , 2016, IEEE Access.

[10]  Ahmed Banafa,et al.  IoT and Blockchain Convergence: Benefits and Challenges , 2017 .

[11]  Marimuthu Palaniswami,et al.  Internet of Things (IoT): A vision, architectural elements, and future directions , 2012, Future Gener. Comput. Syst..

[12]  Hareton Leung,et al.  A study of integration testing and software regression at the integration level , 1990, Proceedings. Conference on Software Maintenance 1990.

[13]  David E. Bakken,et al.  Decentralized voltage stability monitoring and control in the smart grid using distributed computing architecture , 2016, 2016 IEEE Industry Applications Society Annual Meeting.

[14]  Gabor Karsai,et al.  RIAPS: Resilient Information Architecture Platform for Decentralized Smart Systems , 2017, 2017 IEEE 20th International Symposium on Real-Time Distributed Computing (ISORC).

[15]  Praveen Gauravaram,et al.  Blockchain for IoT security and privacy: The case study of a smart home , 2017, 2017 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops).

[16]  Francesco Buccafurri,et al.  Overcoming Limits of Blockchain for IoT Applications , 2017, ARES.

[17]  Elaine Shi,et al.  Step by Step Towards Creating a Safe Smart Contract: Lessons and Insights from a Cryptocurrency Lab , 2016, Financial Cryptography Workshops.

[18]  Iddo Bentov,et al.  How to Use Bitcoin to Incentivize Correct Computations , 2014, CCS.

[19]  Arne Meeuw,et al.  A Decentralised Sharing App running a Smart Contract on the Ethereum Blockchain , 2016, IOT.

[20]  Jelena Mirkovic,et al.  Teaching Cybersecurity with DeterLab , 2012, IEEE Security & Privacy.

[21]  Gabor Karsai,et al.  Resilience at the edge in cyber-physical systems , 2017, 2017 Second International Conference on Fog and Mobile Edge Computing (FMEC).