Skip to content

Middleware for agents to manage digital assets (Token and NFT) using the BigchainDB permissioned blockchain

License

Notifications You must be signed in to change notification settings

chon-group/velluscinum-jcm

Repository files navigation

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"
}