Recently, Blockchain technology adoption has expanded to many application areas due to the evolution of smart contracts. However, developing smart contracts is non-trivial and challenging due to the lack of tools and expertise in this field. A promising solution to overcome this issue is to use Model-Driven Engineering (MDE), however, using models still involves a learning curve and might not be suitable for non-technical users. To tackle this challenge, chatbot or conversational interfaces can be used to assess the non-technical users to specify a smart contract in gradual and interactive manner. In this paper, we propose iContractBot, a chatbot for modeling and developing smart contracts. Moreover, we investigate how to integrate iContractBot with iContractML, a domain-specific modeling language for developing smart contracts, and instantiate intention models from the chatbot. The iContractBot framework provides a domain-specific language (DSL) based on the user intention and performs model-to-text transformation to generate the smart contract code. A smart contract use case is presented to demonstrate how iContractBot can be utilized for creating models and generating the deployment artifacts for smart contracts based on a simple conversation.
Recently, Blockchain technology adoption has expanded to many application\nareas due to the evolution of smart contracts. However, developing smart\ncontracts is non-trivial and challenging due to the lack of tools and expertise\nin this field. A promising solution to overcome this issue is to use\nModel-Driven Engineering (MDE), however, using models still involves a learning\ncurve and might not be suitable for non-technical users. To tackle this\nchallenge, chatbot or conversational interfaces can be used to assess the\nnon-technical users to specify a smart contract in gradual and interactive\nmanner.\n In this paper, we propose iContractBot, a chatbot for modeling and developing\nsmart contracts. Moreover, we investigate how to integrate iContractBot with\niContractML, a domain-specific modeling language for developing smart\ncontracts, and instantiate intention models from the chatbot. The iContractBot\nframework provides a domain-specific language (DSL) based on the user intention\nand performs model-to-text transformation to generate the smart contract code.\nA smart contract use case is presented to demonstrate how iContractBot can be\nutilized for creating models and generating the deployment artifacts for smart\ncontracts based on a simple conversation.\n
The Ethereum blockchain enables executing and recording smart contracts. The smart contracts can facilitate, verify, and implement the negotiation between multiple parties, also guaranteeing transactions without a traditional legal entity. Many tools supporting the smart contracts development in different areas are flourishing because in Ethereum blockchain valuable assets are often involved. Some of the tools help the developer to find security vulnerabilities via static and/or dynamic analysis or to reduce the Gas fees consumption. Despite the plethora of such tools, there is no tool supporting smart contracts evaluation and analysis via a graphical representation for expert developers.The paper embraces this way to facilitate the developers’ analysis activity, by proposing a graphical representation model to visualize smart contract source code. The paper makes available a tool via a web interface, which accepts the smart contract address as an input and produces a graphical representation of the smart contract as an output. The graphical representation can help developers to better understand the structure of smart contracts and share it with other developers. Moreover, some metrics, such as the relations among smart contracts, are easier to be understood via "spatial" than "tabular" representation. Indeed, representing smart contracts’ metrics via visual representation facilitates the developers, who are used to analyse the source code by directly inspecting it or using other tools that provide the metrics in a table format. Finally, the paper provides detailed data regarding a smart contract to the developers and proposes a graphical representation of the smart contracts without obscuration of details, also highlighting areas of the code that are possibly too big in size and/or too complex via a diagram displaying their connections.
A well-governed DAO of DAOs can provide technological and community solutions for the evolution of the DAO ecosystem. Through its technological infrastructure designs, a DAO of DAOs can create, improve and expand well-functioning and well-governed networks of DAOs. That DAO infrastructure, in turn, improves most of the applications and uses of digital assets and decentralized commerce for the greater good of society. This article examines the core features of a possible DAO of DAOs design, its ability to expand the DAO ecosystem, and the design’s uses in business and society.
In this contribution we extend an ontology for modelling agents and their interactions, called Ontology for Agents, Systems, and Integration of Services (in short, OASIS), with conditionals and ontological smart contracts (in short, OSCs). OSCs are ontological representations of smart contracts that allow to establish responsibilities and authorizations among agents and set agreements, whereas conditionals allow one to restrict and limit agent interactions, define activation mechanisms that trigger agent actions, and define constraints and contract terms on OSCs. Conditionals and OSCs, as defined in OASIS, are applied to extend with ontological capabilities digital public ledgers such as the blockchain and smart contracts implemented on it. We will also sketch the architecture of a framework based on the OASIS definition of OSCs that exploits the Ethereum platform and the Interplanetary File System.
In this contribution we extend an ontology for modelling agents and their interactions, called Ontology for Agents, Systems, and Integration of Services (in short, OASIS), with conditionals and ontological smart contracts (in short, OSCs). OSCs are ontological representations of smart contracts that allow to establish responsibilities and authorizations among agents and set agreements, whereas conditionals allow one to restrict and limit agent interactions, define activation mechanisms that trigger agent actions, and define constraints and contract terms on OSCs. Conditionals and OSCs, as defined in OASIS, are applied to extend with ontological capabilities digital public ledgers such as the blockchain and smart contracts implemented on it. We will also sketch the architecture of a framework based on the OASIS definition of OSCs that exploits the Ethereum platform and the Interplanetary File System.
Giovanni Ciatto, Stefano Mariani, Alfredo Maffi, Andrea Omicini
A common use case for blockchain smart contracts (SC) is that of governing interaction amongst mutually untrusted parties, by automatically enforcing rules for interaction. However, while many contributions in the literature assess SC computational expressiveness, an evaluation of their power in terms of coordination (i.e., governing interaction) is still missing. This is why in this paper we test mainstream SC implementations by evaluating their expressive power in coordinating both inter-users and inter-SC activities. To do so, we exploit the archetypal Linda coordination model as a benchmark—a common practice in the field of coordination models and languages—by discussing to what extent mainstream blockchain technologies support its implementation. As they reveal some notable limitations (affecting, in particular, coordination between SC) we then show how Tenderfone, a custom blockchain implementation providing for a more expressive notion of SC, addresses the aforementioned limitations.
When actions by one agent force another to deviate from their agreements with a third, "victim" turns into "injurer" in the chain's subsequent steps. Should the chain's initiator be responsible only for the direct harm they cause or also bear some of the indirect losses they trigger? Through an axiomatic approach, we<br/>characterize the class of fixed-fraction rules, which strike a balance between incentives for accident prevention on the one hand and fairness in terms of how liabilities are assigned on the other. Their simple design make the rules ideal for practical implementation through smart contracts, enabling automated conflict resolution.
We propose a novel way of embedding functional smart contract languages into the Coq proof assistant using meta-programming techniques. Our framework allows for developing the meta-theory of smart contract languages using the deep embedding and provides a convenient way for reasoning about concrete contracts using the shallow embedding. The proposed approach allows to make a connection between the two embeddings in a form of a soundness theorem. As an instance of our approach we develop an embedding of the Oak smart contract language in Coq and verify several important properties of a crowdfunding contract. The developed techniques are applicable to all functional smart contract languages.
While global sourcing arrangements are highly complex and usually represent large value to the partners, little is known of the use of e-contracts or smart contracts and contract management systems to enhance the contract management process. In this paper we assess the potential of emerging technologies for global sourcing. We review current sourcing contract issues and evaluate three technologies that have been applied to enhance contracting processes. These are (1) semantic standardisation, (2) cognitive technologies and (3) smart contracts and blockchain. We discuss that each of these seem to have their merit for contract management and potentially can contribute to contract management in more complex and dynamic sourcing arrangements. The combination and configuration in which these three technologies will provide value to sourcing should be on the agenda for future research in sourcing contract management.
In this paper, we describe LUNES-Blockchain, an agent-based simulator of blockchains that is able to exploit Parallel and Distributed Simulation (PADS) techniques to offer a high level of scalability. To assess the preliminary implementation of our simulator, we provide a simplified modelling of the Bitcoin protocol and we study the effect of a security attack on the consensus protocol in which a set of malicious nodes implements a filtering denial of service (i.e. Sybil Attack). The results confirm the viability of the agent-based modelling of blockchains implemented by means of PADS.
This review presents and evaluates various formalisms for the purpose of modelling the semantics of financial derivatives contracts. The formalism proposed by Lee is selected as the best candidate among those initially reviewed. Further examination and evaluation of this formalism is done.
Intelligent Cyber-physical systems can be modelled as multi-agent systems\nwith planning capability to impart adaptivity for changing contexts. In such\nmulti-agent systems, the protocol for plan execution must result in the proper\ncompletion and ordering of actions in spite of their distributed execution.\nHowever, in untrusted scenarios, there is a possibility of agents not\nrespecting the protocol either due to faults or due to malicious reasons\nthereby resulting in plan failure. In order to prevent such situations, we\npropose to implement the execution of agents through smart contracts. This\npoints to a generic architecture seamlessly integrating intelligent\nplanning-based CPS and smart-contracts.\n
Introduction: \nThe study work focuses on designing a smart contract language (named "Lazo") for the Bazo blockchain. The Bazo blockchain is a research blockchain to test different mechanisms and algorithms. In the current version, a Proof of Stake consensus algorithm and a virtual machine to execute Bazo intermediate language(opcodes) are integrated. However, writing smart contracts in Bazo opcodes is time \nconsuming and error-prone. The goal of this study work is to design a high-level language which is easier to read and write smart contracts. \n \nProcedure / Result: \nBefore designing Lazo, 24 existing smart contract languages are collected and roughly analyzed to identify the key characteristics of a language for the blockchain. Thereafter, three popular and well elaborated languages, namely Solidity, Vyper and Scilla, were analyzed in great detail. Their supported features, syntax and contract examples were also documented. With the acquired knowledge about smart contracts, Lazo language was designed in an agile manner. \n \nResult: \nAs a result, Lazo is designed to be a statically typed, imperative and non-turing complete programming language. All language features are documented with illustrative code snippets. The Lazo grammar is also written in ANTLR and \nverified with Java. Furthermore, contract examples from Solidity are translated to Lazo in order to prove that the real-world use cases can be programmed with Lazo \nas well. \n \nIn a follow-up thesis, a compiler could be developed to compile Lazo programs into Bazo virtual machine instructions.
Intelligent Cyber-physical systems can be modelled as multi-agent systems with planning capability to impart adaptivity for changing contexts. In such multi-agent systems, the protocol for plan execution must result in the proper completion and ordering of actions in spite of their distributed execution. However, in untrusted scenarios, there is a possibility of agents not respecting the protocol either due to faults or due to malicious reasons thereby resulting in plan failure. In order to prevent such situations, we propose to implement the execution of agents through smart contracts. This points to a generic architecture seamlessly integrating intelligent planning-based CPS and smart-contracts.
Blockchain technology has provided a platform for the decentralized execution of smart contracts. A smart contract is an agreement that is automatically executed when certain conditions have been met. The immutability, decentral nature, and consensus mechanisms that are characteristic to blockchain technology make the smart contract and its development cycle a new field of study in software engineering. A novel economic and defensive thinking is needed to develop workable, secure smart contracts. Motivated by the need for a novel approach to development, this thesis proposes a model-driven approach to smart contract development.\nModel-Driven Engineering (MDE) is an approach to information system development in which models and model technologies are applied to raise the level of abstraction at which developers create and evolve software, with the goal of both simplifying and formalizing the various activities and tasks that comprise the Software Development Life Cycle (SDLC). Model-Driven Architecture (MDA) is a framework for this approach. This thesis aims to apply this framework to create a method which describes the development phase from domain knowledge to smart contract foundation.\nThe creation of a method has two main aims, namely (i) to bridge the semantic gap between domain knowledge and smart contract by lowering the threshold for domain experts, and (ii) support developers in creating less vulnerable smart contracts that accurately represent the problem domain. This is done by constructing a model-driven method based on existing research that applies MDE to smart contract development. A literature study into this field yields the requirements and techniques for the method, which is consequently constructed based on these requirements and techniques.\nThe method is evaluated in twofold. First, the value is assessed through a case study, which shows that the developer benefits from a structured approach and the reduction of manual programming. Second, by an experiment which shows that people are better able to comprehend and communicate about models containing functional aspects of the smart contract if a computational independent model is included. By doing so it fulfills the aim of lowering the threshold for domain experts to participate in the smart contract development cycle.
This paper reports on the development and verification of a novel formal symbolic process virtual machine (FSPVM) for verifying the reliability and security of Ethereum smart contracts, denoted as FSPVM-E, completely in Coq proof assistant. It adopts execution-verification isomorphism (EVI), an extension of Curry-Howard isomorphism (CHI), as its fundamental theoretical framework. The current version of FSPVM-E is constructed on a general, extensible, and reusable formal memory (GERM) framework, an extensible and universal formal intermediate programming language Lolisa, which is a large subset of the Solidity programming language using generalized algebraic datatypes, and the corresponding formally verified interpreter of Lolisa, denoted as FEther. It supports the ERC20 standard and can automatically simultaneously symbolically execute the smart contract programs of Ethereum and verify their reliability and security properties using Hoare logic in Coq. In addition, this work, contributes to solving the problems of automation, inconsistency and reusability in higher-order logic theorem proving.
Multi-agents systems communication is a technology, which provides a way for multiple interacting intelligent agents to communicate with each other and with environment. Multiple-agent systems are used to solve problems that are difficult for solving by individual agent. Multiple-agent communication technologies can be used for management and organization of computing fog and act as a global, distributed operating system. In present publication we suggest technology, which combines decentralized P2P BOINC general-purpose computing tasks distribution, multiple-agents communication protocol and smart-contract based rewards, powered by Ethereum blockchain. Such system can be used as distributed P2P computing power market, protected from any central authority. Such decentralized market can further be updated to system, which learns the most efficient way for software-hardware combinations usage and optimization. Once system learns to optimize software-hardware efficiency it can be updated to general-purpose distributed intelligence, which acts as combination of single-purpose AI.
Self-organization provides a suitable model for developing self-managed complex distributed systems, such as grid computing and sensor networks. Unlike current related studies, which propose only a single principle of self-organization, this mechanism synthesizes the three principles of self-organization: cloning/ spawning, resource exchange and relation adaptation. Based on this mechanism, an agent can autonomously generate new agents when it is overloaded, exchange resources with other agents if necessary, and modify relations with other agents to achieve a better agent network structure. In this way, agents can adapt to dynamic environments. The proposed mechanism is evaluated through a comparison with three other approaches, each of which represents state-of-the-art research in each of the three self-organization principles. Experimental results demonstrate that the proposed mechanism outperforms the three approaches in terms of the profit of individual agents and the entire agent network, the load-balancing among agents, and the time consumption to finish a simulation run. In addition, in a dynamic environment, it is nearly impossible to use a static, design time generated system structure for efficient problem solving. Instead, the system needs to be able to self-organize at runtime, which means that the components of the system are responsible for adapting themselves to suit the dynamic environment. Self-organization is usually defined as "the mechanism or the process enabling the system to change its organization without explicit external command during its execution time.
Torsten O. Paulussen, Armin Heinzl, Christian Becker
The health sector is a central domain in every economy. It is challenged by progressing costs and funding issues. Hospitals play a major role for the examination and treatment of patients. The sequence how patients are assigned to hospital units determines the quality of treatment, the resource utilization, as well as the patients’ overall treatment time. Thus, efficient scheduling of patients in hospitals is crucial. Current approaches disregard the decentral organization in hospitals and neglect the varying pathway of patients since they often focus on one single unit solely. We propose an agent-based coordination mechanism that overcomes these limitations. Patients and hospital resources are modeled as autonomous software agents which follow their own objectives. This reflects the decentralized structure in hospitals. Agents are coordinated by a distributed mechanism where software agents improve their situation through negotiations which moves towards an overall pareto-optimum. We show promising evaluations based on experiments.
The notion of Multi-Agent System (MAS) environment, as remarked by recent literature, has gained a key role, becoming a mediating entity, functioning as enabler but possibly also as a manager and constrainer of agent actions, perceptions, and interactions 1 while addressing the requirements of openness and scalability. According to such a perspective, the environment is not a merely passive source of agent perceptions and target of agent actions which is, actually, the dominant perspective in agency, but a first-class abstraction that can be suitably designed to encapsulate some fundamental functionalities and services, such as coordination and organization, besides agent mobility, communications, security, etc [2]. Then, the environment dimension appears to intersect with all the dimensions that should be addressed to define an agreement between autonomous agents, that is, all the different Agreement Technologies giving support to the building, development and management of agreements in decentralized and open systems between autonomous agents. Those dimensions are the ones related to the development of technologies dealing with: Semantics, Norms, Organizations, Argumentation &amp; Negotiation, and Trust.
Don Perugini, Dennis Jarvis, Stefan Reschke, Don Gossink
Military operations typically involve cooperation of various military, government and commercial organizations from various nations. In order to coordinate these autonomous organizations, a social mechanism is required that facilitates deliberative planning and task allocation in decentralized, open and dynamic environments, and enables agreements via a legal contracting process. In this paper, we present (a component of) such a mechanism, called the legal agreement protocol (LAP). Agents that plan using LAP must plan with partial observability that is the customer is only aware of proposals (capabilities) that suppliers choose to send. This makes it difficult for the customer to determine the (minimum/average) expected cost of any unallocated sub-tasks in its search. In this paper, we present and compare various heuristics that allow the customer to dynamically determine the expected cost for sub-tasks as proposals are received during planning. We show that different heuristics have tradeoffs in terms of quality of solution and search effort (efficiency of search and quantity of communication). The number of distributed agents involved in planning also influences the effort required to search. More agents increase communication, but provide more information (observability) about agents' capabilities to be utilized by the heuristics