Nicolas Herbaut

CR
4papers
75citations
Novelty28%
AI Score19

4 Papers

SEJan 17, 2022
Harmonica: A Framework for Semi-automated Design and Implementation of Blockchain Applications

Nicolas Six, Nicolas Herbaut, Camille Salinesi

Designing blockchain-based applications is a tedious task. Compared to traditional software engineering, software architects cannot rely on previous experiences or proven practices, often formalized as software patterns. Also, the selection of an adequate blockchain technology is difficult without deep knowledge of the technology. This paper introduces Harmonica, a framework for the design and implementation of a blockchain-based application. This framework is divided in three parts: a decision-making engine to recommend a blockchain technology and blockchain-based software patterns relying on requirements, a configurator to generate code stubs and configuration files, and a knowledge base to support those tools.

SEJan 12, 2022
Blockchain software patterns for the design of decentralized applications: A systematic literature review

Nicolas Six, Nicolas Herbaut, Camille Salinesi

A software pattern is a reusable solution to address a commonly occurring problem within a given context when designing software. Using patterns is a common practice for software architects to ensure software quality. Many pattern collections have been proposed for a large number of application domains. However, because of the technology's recentness, there are only a few available collections with a lack of extensive testing in industrial blockchain applications. It is also difficult for software architects to adequately apply blockchain patterns in their applications, as it requires deep knowledge of blockchain technology. Through a systematic literature review, this paper has identified 120 unique blockchain-related patterns and proposes a pattern taxonomy composed of multiple categories, built from the extracted pattern collection. The purpose of this collection is to map, classify, and describe all available patterns across the literature to help readers make adequate decisions regarding blockchain pattern selection. This study also shows potential applications of those patterns and identifies the relationships between blockchain patterns and other non-blockchain software patterns.

CRJan 22, 2021
A blockchain-based pattern for confidential and pseudo-anonymous contract enforcement

Nicolas Six, Claudia Negri Ribalta, Nicolas Herbaut et al.

Blockchain has been praised for its capacity to hold data in a decentralized and tamper-proof way. It also supports the execution of code through blockchain's smart contracts, adding automation of actions to the network with high trustability. However, as smart contracts are visible by anybody on the network, the business data and logic may be at risk, thus companies could be reluctant to use such technology. This paper aims to propose a pattern that allows the execution of automatable legal contract clauses, where its execution states are stored in an on-chain smart-contract and the logic needed to enforce it wraps it off-chain. An engine completes this pattern by running a business process that corresponds to the legal contract. We then propose a pattern-based solution based on a real-life use case: transportation of refrigerated goods. We argue that this pattern guarantees companies pseudonymity and data confidentiality while ensuring that an audit trail can be reconstituted through the blockchain smart-contract to identify misbehavior or errors. This paper paves the way for a future possible implementation of the solution described, as well as its evaluation.

CRApr 9, 2020
Which Blockchain to choose? A decision support tool to guide the choice of a Blockchain technology

Nicolas Six, Nicolas Herbaut, Camille Salinesi

Companies trying to build new solutions using blockchain are confronted with a plethora of available concurrent technologies that have many control knobs which require fine-tuning by experts. Exiting studies that build decision models for blockchain adoption or selection lack an automated way to use non-functional requirements to provide recommendations. In this paper, we build a knowledge base for blockchain solutions by analyzing whitepapers and studies, but also our benchmark results performed in a controlled environment. Then, we implement a Multi-Criterion Decision Analysis method to determine the most suitable blockchain solution from companies provided requirements and preferences. Finally, we illustrate our approach by running the decision process on a realistic supply-chain use case. This paper provides a rationale for blockchain deployment choices. While still limited in scope, we plan to include more blockchain alternative and more flexible requirements inputs in future work.