Code Monkey home page Code Monkey logo

velluscinum-jcm's Introduction

Velluscinum for JaCaMo

This project presents a Multi-agent Systems (MAS) approach that can use digital assets as a factor of agreement in the relationship between cognitive agents using the Belief-Desire-Intention model. Adopting Distributed Ledger Technologies (DLT) technologies in MAS can facilitate the agreement between agents, taking what is registered in the Ledger as accurate, and also can be helpful to manage trust relationships, open MAS, and distributed scenarios.

The Velluscinum JaCaMo Package extends the jacamo-lang through integration with BigchainDB, providing new internal actions to enable the use of digital assets to support the relationship between intelligent agents. The actions offered by the middleware are available directly to the dimension of the agents that populate the MAS. They bridge the Multi-agent Oriented Programming (MAOP) paradigm and the BigchainDB communication driver. In this way, intelligent agents can create or transfer digital assets, stamp transactions or manage their wallets on the DLT directly from their dimension.

schema2

The Internal Actions provided by the middleware

  • velluscinum.buildWallet(w) - generates a digital wallet and returns the belief +w(P,Q);
  • velluscinum.deployNFT(S,P,Q,I,M,b) - registers an asset and returns the belief +b(A);
  • velluscinum.transferNFT(S,P,Q,A,R,M,b) - transfer an asset and returns +b(T);
  • velluscinum.deployToken(S,P,Q,I,V,b) - creates V units from an asset, returns +b(C);
  • velluscinum.transferToken(S,P,Q,C,R,V,b) - transfer V units of C and returns +b(T);
  • velluscinum.stampTransaction(S,P,Q,T) - stamps a transaction (T);
  • velluscinum.tokenBalance(S,P,Q,C,q) - check the wallet Q and return +q(C,V).

Where:

  • b is a belief that represents a result of an operation in DLT;
  • w is a belief that represents an agent's wallet;
  • q is a belief that represents the balance of C in the agent's wallet.
  • A is a literal that represents a indivisible asset;
  • C is a literal that represents a divisible asset;
  • P e Q are literals that represent the agent's key pair;
  • R is a literal that represents the public key of a recipient agent;
  • S is a literal that represents the address of a DLT node;
  • T is a literal that represents a transaction performed in the DTL;
  • V is a literal that represents the number of parts of a C;
  • I is a key-value array that represents the immutable data of an asset;
  • M is a key-value array representing asset or transaction metadata;

How to import?

Import the package in your .JCM project file

mas yourJaCaMoProject {
    ...
    uses package: velluscinum "com.github.chon-group:velluscinum-jcm:1.2"
    ...
}

EXAMPLES

COPYRIGHT

Creative Commons License
Velluscinum is licensed under a Creative Commons Attribution 4.0 International License. The licensor cannot revoke these freedoms as long as you follow the license terms:

  • Attribution — You must give appropriate credit like below:

Mori Lazarin, N., Machado Coelho, I., Pantoja, C.E., Viterbo, J. (2023). Velluscinum: A Middleware for Using Digital Assets in Multi-agent Systems. In: Mathieu, P., Dignum, F., Novais, P., De la Prieta, F. (eds) Advances in Practical Applications of Agents, Multi-Agent Systems, and Cognitive Mimetics. The PAAMS Collection. PAAMS 2023. Lecture Notes in Computer Science(), vol 13955. Springer, Cham. DOI: https://doi.org/10.1007/978-3-031-37616-0_17

How to cite?

BibTeX Format
@InProceedings{velluscinum,
author="Mori Lazarin, Nilson
and Machado Coelho, Igor
and Pantoja, Carlos Eduardo
and Viterbo, Jos{\'e}",
editor="Mathieu, Philippe
and Dignum, Frank
and Novais, Paulo
and De la Prieta, Fernando",
title="{Velluscinum: A Middleware for Using Digital Assets in Multi-agent Systems}",
doi="10.1007/978-3-031-37616-0_17",
booktitle="Advances in Practical Applications of Agents, Multi-Agent Systems, and Cognitive Mimetics. The PAAMS Collection",
year="2023",
publisher="Springer Nature Switzerland",
address="Cham",
pages="200--212",
isbn="978-3-031-37616-0"
}

velluscinum-jcm's People

Contributors

jomifred avatar nilsonlazarin avatar profpantoja avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.