SeqCarbon - Demo
Agriculture is a fundamental and global human operation, unfortunately its current form focuses on financial profitability, not sustainability.
The first step of changing this is reliable and viable data collection. This is a complex task: our models are partial and should improve along
the process of data collection and evaluation, while different actors with different motivations already use the system.
This prototype demonstrates a working approach to this data collection, local footprint calculation and communication over the value chain.
If this is your first time here, please familiarise yourself with the system architecture, then follow the links on this page to the Static,
Dynamic and Technical sections of the demo.
As you will see, all pages have the same structure:
- A navigation / access control information in a top bar.
- The property sheet and QR code of the selected item appears in the middle.
- All data items related to the selected one appear below in data grids grouped by their type.
- All item references appear as a link, you can click on them to navigate to a new page displaying that in the same structure.
Please be aware that this is a public portal and you may not be the only one interacting with the Dynamic part, the data may change due to someone else’s activity.
You can reload all data to return to the original state (login with "SeqCarbon"" entity, "trusted" user).
Static Demo
This first section was used to verify the technical components and some of the core architecture concepts in a “snapshot”.
The values are calculated manually, there is no UsedResource collection, only Assets, Jobs, Products and Footprints.
However, you can see the activities of its three entities:
Dynamic Demo
The dynamic part has access control, but for your convenience, the login page is pre-loaded with the test user and its password.
You only should check the Entity and click Login. If you want to check all Entities without security issues, please select the
SeqCarbon entity and use the “trusted” user with the same password. The three entities are similar
(LabFarm2, LabMerchant2,
LabProcessor2), but you should complete actions here.
- LabFarm2 is an empty placeholder, but the demo contains
the LabFarm2_2024.xlsx file with a complete configuration.
- Use this import link to load the content of the file,
then check the LabFarm2 page again, you will see all items loaded.
- Scroll down to the Job list, where initially all Jobs are in Planned state,
and you have an Execute button. Clicking it executes the selected one together with all the previous ones in date order,
they modify various data items and switch to Done state, the Execute button disappears.
- The first two Buy Jobs fill the StockMaterial inventory,
the next ones prepare the Parcel,
Sowing creates the Plantation, further Cultivation Jobs treat it with StockMaterials, Harvesting creates the Crop and Straw Products, etc.
You can execute the Jobs in blocks or go down and execute the last Sell job to see all changes at once.
- While executing the Jobs, you can follow the UsedResources collection growing for the target items.
- First everything is added to the Parcel.
- Sowing creates the Plantation that inherits the collection from the Parcel and after this, it starts growing.
- Harvesting creates the Crop Product that inherits its attributes and resource collection from the Plantation.
- Then you can switch to LabMerchant2, and follow a similar roadmap,
here you can see how various local Jobs work with
UsedResources,
Total and Scope3 Footprint (updated after executing Sell).
You will also see some “Test” Jobs that simulate some taking some locally defined measurements by creating
ExtItem instances filled with random values.
After you executed the Sell Job, you can switch to
LabProcessor2 and execute Buy to see the
Product data loaded from the source at LabMerchant2.
- The top line of the Footprint property sheet contains an XBRL button that generates an XBRL instance
following the VSME standard. This could be the primary form of sending Footprint information to an external buyer,
utilising the extensible nature and the mature infrastructure behind the established XBRL standard.
However, you can also save a CSV export of the same data to demonstrate that
the system can fulfil other requirements as well.
Technical Notes
- The persistent store is a simple JSON file for each entity, e.g. this is LabMerchant1.
This works without any database module in any environment, allows flexible meta structure and general queries.
- You can peek into the system knowledge base by the general "json" service: /data/json/<Entity>[/<Type>[/<ID>]].
Check all items of LabFarm2 here: /data/json/LabFarm2 (before and after the Excel import),
or /data/json/LabMerchant1/Job for all jobs in LabMerchant1.
- Accessing data mostly follows configuration, the top right shows why you can see the data item.
The test user of LabProcessor2 can see the property sheet of LabMerchant2:Product:201
because LabProcessor2 bought that Product, but all other items are denied. This is checked by an algorithm.
- The prototype user interfaces are generated HTMLs, without any framework, using the MVEL engine with the
PropertySheet.mvel.html template. For "fat clients", the plan is to improve the
direct data access and provide a full JSON:API interface.
- The primary metadata description is in "protocol" configurations. The SeqCarbon system relies on the
SeqCarbonProtocol.json that defines all attributes, types, etc. that its algorithms require.
Other parties can provide their own protocols like DewingProtocol.json and add their
algorithms, like DewingTest.job.mvel calculates all values for the specified test type.
- This is 4400 lines of code "plain old Java" application, the single .jar version is 13MB, without the referred libraries 182kB.
The referred Java libraries are:
MVEL script and template engine,
json-simple,
Eclipse Jetty server,
Apache POI for Excel handling,
Nayuki fast QR generator.
The process graph GUI uses the vis.js library community edition.