Specifying Provenance Patterns

Provenance patterns are declarative specifications of the provenance entities, agents and activities of interest, and their expected relations. In SimProV, the provenance patterns are specified using YAML.

Specifying Entities and Agents

Each entity- and agent-specifications begins with a name followed by sub-mapping called attributes, listing the attributes of the provenance entity/agent. Attributes are specified as a sequence of attributes names. Attributes marked with $ denote primary key attributes, while ! signifies mandatory attributes. Optional attributes are assumed by default. Additionally, a meta sub-mapping controls rendering attributes in the web interface.

# Entities
    Simulation Model:
            attributes:
                    - File Path$
                    - Name!
                    - Specification

    Experiment:
            attributes:
                    - File Path$
                    - Name!
                    - Specification

    Simulation Data:
            attributes:
                    - File Path$
                    - Name!
                    - Content

    # Agents
    Tellurium:
            attributes:
                    - Version$

Specifying Activities

Activity specifications begin with the activity name followed by three sub-mappings: usage, generation, and association, describing dependencies between the activity, entities, and agents. Modifiers at the end of entity/agent names indicate occurrence frequency in dependencies:

  • ?: Optional (Zero or One)

  • *: Arbitrary often (Zero or More)

  • +: At least once (One or More)

Entities/agents without a modifier have to occur exactly once.

# Activities
    Executing Experiment:
            usage:
                    - Simulation Model
                    - Simulation Experiment
            generation:
                    - Simulation Data+
            association:
                    - Tellurium