https://github.com/alv4rob/pcn-smartcontract-bridges
https://github.com/alv4rob/pcn-smartcontract-bridges
java model-driven-engineering process-chains smart-contracts solidity xtend
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/alv4rob/pcn-smartcontract-bridges
- Owner: alv4rob
- Created: 2024-11-05T19:05:00.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-12-29T21:05:48.000Z (4 months ago)
- Last Synced: 2025-01-21T12:46:31.086Z (3 months ago)
- Topics: java, model-driven-engineering, process-chains, smart-contracts, solidity, xtend
- Language: Java
- Homepage:
- Size: 47.7 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Technological bridges between PCN and Smart Contracts
This project is a set of tools that act as technological bridges between the business notation **PCN** (Process Chain Network) and **smart contracts**, aiming to bring this technology closer to business professionals. These tools enable the transformation of PCN diagrams into smart contracts written in Solidity and vice versa, both modeled under the MDE (Model-Driven Engineering) paradigm.
The tools are integrated with the following plugins in the Eclipse IDE:
* [**INNoVaServ**](https://github.com/franciscoperezb/innovaserv_toolkit): A modeling environment for service design that supports various business notations.The PCN model definition provided by this environment includes a package that integrates the **PCN - smart contract bridge** functionality, enabling the generation of smart contracts in the form of SmaC models (*.sce*) from PCN models (*.pcn*).
* [**SmaC**](https://github.com/CommITURJC/SmaC): A textual DSL that supports the coding of smart contracts written in Solidity.The definition of this DSL (SmaC model) includes a package that integrates the **smart contract - PCN bridge** functionality, allowing the generation of PCN models (*.pcn*) from smart contracts in the form of SmaC models (*.sce*) in a specific format.
## PCN - Smart Contract bridge
To transform a PCN model into a smart contract, simply right-click on the target PCN model in Eclipse's *Package Explorer*, select ***Generate Solidity code***, and fill in the required data to generate the resulting *.sce* file in the *sce-gen* directory.

The tool is implemented in the [***pcn.generator.sce***](https://github.com/alv4rob/PCN-SmartContract-Bridges/blob/main/Plugins/es.kybele.elastic.models.pcn/src/pcn/generator/sce/) package and follows this architecture:

## Smart Contract - PCN bridge
To transform a smart contract into a PCN model, simply right-click on the target SmaC model in Eclipse's *Package Explorer* and select ***Generate PCN model*** to generate the resulting *.pcn* file in the *pcn-gen* directory.

The tool is implemented in the [***sce.generator.pcn***](https://github.com/alv4rob/PCN-SmartContract-Bridges/blob/main/Plugins/org.xtext.ui/src/sce/generator/pcn/) package and follows this architecture:
