In order to foster reproducibility in computational experiments, historical information such as all generated data, the used software and the settings of the execution environment must be made available to other researchers. This type of data is called Provenance.
This example builds upon interoperability efforts of the provenance community using the ProvONE data model as a Canonical Conceptual Model to integrate heterogeneous provenance databases Kepler and Swift.
All you need Docker to run this example. To install it, just see the guide for your OS:
-- MacOS
-- Windows
-- Ubuntu
Go back to Polyflow's
root folder (cd ../../
), issue the following command to launch an special instance of Polyflow
, in which all logs will be stored in examples/Provenance/logs
:
docker-compose up experiment
Once you have Polyflow
running, move back to this folder (cd -
) and run the script below to setup the provenance databases and update Polyflow
's catalog.
docker-compose up
TODO
After running the desired queries, you can enter the docker container and run a script to parse the log files and generate a .csv
file with some performance statistcs.
# Enter the container
docker exec -it polyflow-experiment /bin/sh
# Run the script
node examples/Provenance/processLogFile.js
# Exit the container
exit
To copy the .csv
file from the Docker container to your current folder, run:
docker cp polyflow-experiment:/usr/src/app/out.csv .
To stop the execution of the containers, run:
docker rm -f polyflow-experiment polyflow-catalog polyflow-kepler polyflow-swift