Subject: Re: [sacm] The W3C PROV model of provenance is relevant to SACM

From: "Adam W. Montville" <[email-masked]>
Date: Mon, 2 Feb 2015 10:59:14 -0600

> On Jan 25, 2015, at 10:28 AM, Clifford Kahn <[email-masked]> wrote:
> 
> Process-Centered Provenance for SACM
> For PROV, process-centered provenance is the series of “activities” that produced an “entity” (an object). Process-centered provenance could be the revision history, for example. Each step in the revision history would be associated with an “agent” that made the revision. 
>  
> In SACM conversations we have been using the term “method”. It is a simplified version of process-centered provenance. I think it is enough for SACM, for the initial set of RFCs.
>  
> Where PROV has a class Activity, I suggest that SACM have a class Method.
>  
>                         +---------+______>______+-------+ 
>                         |Endpoint |*           1|Summary|
>                         |Attribute|             +-------+           
>      __________________1|Assertion|                 |1
>     | <was-generated-by +---------+                 |
>    1|                                               |
> +--------+__________________________________________|
> | Method |1          <was-generated-by
> +--------+
> 
> An example of Method could be “Reporting all the SWID tags found on an endpoint, but with no attempt to make sure the list is accurate or complete”.
>  
> Why make Method be a class? 
> (a)    Because in PROV, Activity is a class, and I believe in the “use good stuff” theory of progress. In the future, Method might be extended in potent ways. One might want to keep an audit trail of who devised and revised a method.
> (b)   Because if Method is a class, that suggests that the was-generated-by relations might be navigable in the reverse direction. A component might be able to ask questions like “Who is using broken method X?” or “What methods are in use?”
> (c)    Because it feels right. 
> 
> What do others think?

I very much like the idea of having a Method class.  This could very well be something that requires “operational curation” post-specification, much like what we’ve been thinking capabilities would be like in the infrastructure.  In fact, Methods may well be closely linked to “capabilities”.