ABCDE –agile block chain DApp engineering
Lodovica Marchesi,Michele Marchesi,Roberto Tonelli +2 more
- Vol. 1, Iss: 1, pp 100002
TLDR
ABCDE as discussed by the authors is based on Scrum and is therefore iterative and incremental, where the requirement gathering with user stories, the iterative-incremental approach, the key roles, and the meetings.Abstract:
Blockchain software development is becoming more and more important for any modern software developer and IT startup. Nonetheless, blockchain software production still lacks a disciplined, organized and mature development process, as demonstrated by the many and (in)famous failures and frauds occurred in recent years. In this paper we present ABCDE, a complete method addressing blockchain software development. The method considers the software integration among the blockchain components—smart contracts, libraries, data structures—and the out-of-chain components, such as web or mobile applications, which all together constitute a complete DApp system. We advocate for ABCDE the use of agile practices, because these are suited to develop systems whose requirements are not completely understood since the beginning, or tend to change, as it is the case of most blockchain-based applications. ABCDE is based on Scrum, and is therefore iterative and incremental. From Scrum, we kept the requirement gathering with user stories, the iterative-incremental approach, the key roles, and the meetings. The main difference with Scrum is the separation of development activities in two flows—one for smart contracts and the other for out-of-chain software interacting with the blockchain—each performed iteratively, with integration activities every 2–3 iterations. ABCDE makes explicit the activities that must be performed to design, develop, test and integrate smart contracts and out-of-chain software, and documents the smart contracts using formal diagrams to help development, security assessment, and maintenance. A diagram derived from UML class diagram helps to effectively model the data structure of smart contracts, whereas the exchange of messages between the entities of the system is modeled using a modified UML sequence diagram. The proposed method has also specific activities for security assessment and gas optimization, through systematic use of patterns and checklists. ABCDE focuses on Ethereum blockchain and its Solidity language, but preserves generality and with proper modifications might be applied to any blockchain software project. ABCDE method is described in detail, and an example is given to show how to concretely implement the various development steps.read more
Citations
More filters
Journal ArticleDOI
A Blockchain-Based Traceability System in Agri-Food SME: Case Study of a Traditional Bakery
Luisanna Cocco,Katiuscia Mannaro,Roberto Tonelli,Lorena Mariani,Matteo Bruno Lodi,Andrea Melis,Marco Simone,Alessandro Fanti +7 more
TL;DR: In this paper, a blockchain based system for the supply chain management of a particular Italian bread is presented, where each actor of the chain can verify the quality of the products and the conformity to the normative about the hygienic-sanitary conditions along the chain.
Proceedings ArticleDOI
Raising Sustainability Awareness in Agile Blockchain-Oriented Software Engineering
TL;DR: In this article, the authors present a new Agile method for the development of blockchain-oriented systems that includes sustainability awareness practices within the development phases, in particular in the requirements and the acceptance tests.
Proceedings ArticleDOI
Blockchain in Agri-Food Traceability Systems: a Model Proposal for a Typical Italian Food Product
Luisanna Cocco,Katiuscia Mannaro +1 more
TL;DR: In this article, an implementation model for the supply chain management of a typical Italian food product -Carasau bread -was presented, where the main goal of the model proposal is to guarantee and certify a transparent, secure and auditable traceability in such a way each actor of the supply-chain can verify the quality of the product.
Proceedings ArticleDOI
Automatic Generation of Blockchain Agri-food Traceability Systems
TL;DR: In this paper, a general-purpose approach for the agrifood supply chain management is presented, based on general smart contracts and apps interacting with the same smart contracts, which are configured, starting from the description of the specific system to be managed, given using json files.
Journal ArticleDOI
Studying gas exceptions in blockchain-based cloud applications
TL;DR: This work study the out of gas exceptions on Ethereum empirically for the very first time, aiming at discovering and identifying common causing factors triggering these exceptions, and investigates existing tools in preventing gas exceptions.
References
More filters
Book
Refactoring: Improving the Design of Existing Code
TL;DR: Almost every expert in Object-Oriented Development stresses the importance of iterative development, but how do you add function to the existing code base while still preserving its design integrity?
Book
The unified modeling language reference manual
TL;DR: This title provides expert knowledge on all facets of today's UML standard, helping developers who are encountering UML on the job for the first time to be more productive.
Manifesto for agile software development
Kent Beck,Mike Beedle,A. Van Bennekum,Alistair Cockburn,Ward Cunningham,Martin Fowler,Dave Thomas +6 more
Book
Agile Software Development with SCRUM
Ken Schwaber,Mike Beedle +1 more
TL;DR: This book describes building systems using the deceptively simple process, Scrum, a new approach to systems development projects that cuts through the ocmplexity and ambiguity of complex, emergent requiremetns and unstable technology to iteratively and quickly produce quality software.
Journal ArticleDOI
Blockchain challenges and opportunities: a survey
TL;DR: The blockchain taxonomy is given, the typical blockchain consensus algorithms are introduced, typical blockchain applications are reviewed, and the future directions in the blockchain technology are pointed out.