format or mime-type of the entity dcterms:format Establish a relation between the activity that applied the change to an instance changed summary property offering a view on total data produced by an invocation or attributed to a component instance or a component. Indicates that the invocation received a runtime steering instruction to change the behaviour of the associated instance. It points to the new Entity representing the actual change. feedbackInvocation The URL that states the first known destination of a copy of the data. Useful in combination of the immediate-access property to trigger and record runtime transfer operations. The format of the data, typically its mime-type functionName Name of the function of a component's \emph{Implementation} Specifies if Invocation or an Instance respectively participated in the generation of Data with immediate access generatedWithImmediateAccess Specifies if an Invocation or an Instance participated in the generation of Data eventually materialised and accessible at a target location generatedWithLocation hadInformer Indicates the invocation that informed the activity involved in the current derivation Indicates whether an Agent such as a CompentInstace has changed any of the behaviour associated with its Component A boolean tag that indicates that the data needs to be transferred or copied as soon as possible to a target destination invocationIndex Sequence number of the current \emph{Invocation}. lastEventTime Given an activity this property indicates the highest time of the occurrence of an event within an activity. For instance such as the last writing of data to an output port or the creation of stateful data. mapping Type of resource mapping for the concrete execution of the workflow; \eg{} mpi, multiprocessing, Storm, \etc{} It may occur that some components of a larger and heterogeneous workflow are mapped to different enactment engines. Therefore, we allow this property also to describe the single \emph{ComponentInstance}. Any text message or code generated at runtime during an Invocation. A message is typically used to notify anomalies and errors modules Collection of software modules used within the current execution; eg. python modules with their version indication, "matplotlib==1.4.3" parameterName Name associated with a Data element. Used to name a workflow parameter Name of the provenance cluster to which the Component belongs. It refers to concepts belonging to external ontologies or defined by the user. A cluster can be associated with a \emph{ProvenanceSensor} for runtime provenance analysis, as we introduced in Section \ref{sensors}. It correspond to the \emph{prov:type} attribute. If this ComponentInstance prov:wasChangedWith Entity :en, then it can qualify the Chenge using prov:qualifiedChange [ a prov:Change; s-prov:Entity :en; :foo :bar ]. qualifiedChange The queue of a cluster for the scheduling of the workflow job; eg. "jobmanager-pbs" Name of a local or institutional computational infrastructure; \eg{} SCAI\_Cluster or LRZ\_SMUC Type of the computational resource access point (if applicable); \eg{} GT5, Unicore, OCCI. URL of the remote resource where the workflow has been submitted to. The size of the data or an estimate Source code of an \emph{Implementation} pointing to an external repository, such as a code revision service; \eg{} a Github repository. stateLookupTerm A key literal associated with a \emph{Data} entity in the \emph{StateCollection} dataToStateCollection This relationship indicates that a \emph{Data} is sent to the \emph{StateCollection} . type Runtime type of the \emph{Component}. Multiple types can indicate the computational class and the provenance pattern or metadata schema associated with the Component. wasChangedWith This relationship indicates that a \emph{ComponentInstance} changed its \emph{ComponentParameters}, \emph{Implementation} or \emph{SystemProcess}. wcount The sequence-number of the output data written from an invocation. workflowId System Id of the workflow workflowName Common name of the workflow If this ComponentIntance prov:wasChangedWith Entity :e, then it can qualify the Change using prov:qualifiedChange [ a prov:Change; prov:entity :ag; :foo :bar ]. The computational Resource where the workflow or its programs are submitted and executed An instance of s-prov:Change provides additional descriptions about the binary prov:wasChangedWith relation from an changed s-prov:ComponentInstance to the new prov:Entity that chaged the instance For example, :filter_Instance s-prov:wasChangedWith :new_parameters; prov:qualifiedChange [ a s-prov:Change; s-prov:ComponentParameters :new_parameters; :foo :bar ]. Change Component The agent responsible to perform a task in the workflow. It represent an abstract structural element of the workflow and delegates to its instances the actual concurrent computation on the incoming data stream. More \emph{Component} agents cooperate in a \emph{WFExecution} ComponentInstance 1 This is a \emph{prov:SoftwareAgent} that acts on behalf of a logical \emph{Component}. In a parallel execution multiple \emph{ComponentInstance} act on behalf of the same \emph{Component} by performing the same \emph{Implementation}. ComponentParameters Each \emph{ComponentInstance} and therefore their \emph{Invocations} are parametrised. Parameters' vaues gets assigned at the time of the configuration of the workflow execution and may change at runtime. Data Any data produced or used by an Invocation. Each entity gets time-stamped it can refer to the url of its location. We extend the provone:Data considering also the possibility of having the data itself as a Collection. S-PROV treats data entities as characterised by a generic container containing one or more data granules. This guarantees separation be- tween a baseline of generic information, such as location, format, size and annotations, and domain specific metadata, which are instead attributed to the data-granules. DataGranule We extend the prov:Collection considering as such each output produced or used by an Invocation. S-PROV treats data entities as characterised by a generic container of one or more DataGranules. This guarantees separation between a baseline of generic information, such as location, format, size and annotations, and domain specific metadata, which are instead attributed to the granules. A \id{wasDerivedFrom(a,b)} relationship, where $a$ is derived from an entity $b$ which was ingested by the current of any of the past Invocations through a specific provone:InputPort and generated by a certain invocation $i$ Implementation A provone:Program representing an atomic operation con- stituting a workflow component. It is described by its source code or by a link or to an external versioning system. If ap- plicable, it also indicates information about its type in the context of the native programming language. This is a sub- class of provone:Program therefore it has input and outport ports and allows for the traceability of its evolution. Invocation The prov:Activity performed by a ComponentInstance over incoming data. Each Invocation can produce more Data. It uses a collection of ComponentParameters. StateCollection The internal state of a \emph{ComponentInstance}. Contains references to \emph{Data} entities that gets updated by an \emph{Invocation} during stateful operations. A \id{wasDerivedFrom(:a,:b)} relationship, where a depends on an entity $:b$ of a certain StateCollection :s with lookupterm :a and that was generated by a certain invocation $i$ A \emph{prov:Collection} used to characterise a set of \emph{Data} elements written by a streaming operator to a \emph{provone:Port}, that have the same derivations. SystemProcess The location of a ComponentInstance in a runtime environment. It describes information about the computational worker node of a cluster and the operating system process pid. Multiple ComponentInstances can be allocated to the same worker and also to the same process. WFDataTraceBundle This prov:Bundle represents the view associated with all the entities, agents, activities involved in the generation of a specific Data element and their relationships. WFExecution A \emph{provone:Execution} representing the execution of a workflow run. From this activity qualified associations to agents such as users and logical components are established. The class links also to high-level details about the locations where the workflow is deployed (\emph{CResource}). WFExecutionBundle The Bundel representing the workflow execution setup. The related Entity presents attribution information and details of the execution environment. WFExecutionInputs The Collection of entities used for the general parametrisation of a WFExecution. The Collection can contain or refer to entities of different kinds; eg. data and configuration files, archive files containing the workflow implementation scripts, references to other workflow executions etc. The latter can indicate the exploitation of information produced by other workflows' runs, which indicates inter-workflow exchange.