data2health / contributor-attribution-model

A simple data model to represent contributions made by agents to research artifacts
3 stars 0 forks source link

How to accommodate for the absence of a Computational Agent class #22

Open mbrush opened 5 years ago

mbrush commented 5 years ago

In addition to Persons and Organizations, a third class of entities recognized to possess ‘agency’ are computational programs/algorithms which are capable of driving artifact creation. We decided not to formally define a Computational Agent subtype in the CDM model, (but implementations may extend the model to do so as desired). This raises the question of how to describe cases where a piece of software generates an artifact (since we cannot directly attribute the software as a contributor). If this use case is not in scope, no further consideration is needed. If it is, read on . . .

One possibility is to bring back the Computational Agent class - so a computational agent could be asserted as the contributor. But several folks had decided this is not what we want in this case.

An alternate possibility is a pattern that requires two separate Contributions to be described:

  1. Contribution1 connects the artifact of interest to the Person or Organization who ran the software - with a realizedRole of something like ‘software execution role’
  2. Contribution2 that connects the software as an Artifact to the Agent(s) who created it (with one or more ‘software role’ from the CRO, e.g. 'software designer').

From this pattern, ‘transitive credit’ could be inferred/assigned to the software creators for computationally generated artifacts.

A couple issues/questions with this:

@mellybelly please comment. I suspect this is an important use case that we need to be able to address (describing software as participating in artifact creation). But we could of course punt on this to next version.

diatomsRcool commented 5 years ago

Maybe we should think of the computational agent as metadata. For example, if someone does an analysis using a piece of equipment, we wouldn't expect our model to capture that equipment or give transitive credit to to the inventor of the equipment. Right?

diatomsRcool commented 5 years ago

Alternatively, if we use the publication parallel..... Let's say someone publishes a paper about a method. If someone uses that method to do something do we want to model that or include transitive credit there?

mellybelly commented 5 years ago

I think both of those should be able to give transitive credit. Perhaps we need to revisit the computational agent - both Watson and those that contributed to Watson, for example, should be able to be credited for their contributions to some artifact or solution?

mellybelly commented 5 years ago

Matt and Melissa think adding computational agent back would be simpler.

jaeddy commented 5 years ago

In my mind (and I think this aligns with the wfprov approach), a "computational agent" would make most sense as an engine or orchestrator that is executing a piece of software, independent of human intervention.

An algorithm or script that generates a new artifact would still be an "influencing" (or "used" for PROV) artifact, assuming some individual pushed the button to make it go. In contrast, a workflow engine might execute multiple tasks — each encoded by a particular algorithm or script — on behalf of the user.