SoftwareUnderstanding/software_types

New type: workflow

dgarijo opened this issue · 4 comments

Ana Trisovic was suggesting this category too. I think it would make sense to add it for computational experiments.

Thoughts?

Hmmm...Thinking about it oud loud: our types are generally defined in terms of what kind of interface they offer for the user to interact with (the web, command line, desktop gui, terminal tui). In that sense a workflow would probably already be covered under one of those.

Howevef, we also define types like SoftwareImage (interact via a container platform) and SoftwarePackage (interact via a package manager) that kind of describe things on a different level. So I guess a 'workflow' would be admissable on that level (perhaps called SoftwareWorkflow for consistency? It interacts via a workflow management system). Things like CWL or Nextflow scripts would then clearly fit this type. But one can also argue that the simplest form of a workflow is a simple POSIX/bash shell script and apply the Workflow type to that as well. Then there are complete workflow systems like taverna (which themselves should not be described as a workflow!)

In conclusion, long story short: I agree something like SoftwareWorkflow would make a good addition, if we come with a clear definition.

ComputationalWorkflow sound good to me, I assume we subclass it off schema:SoftwareApplication like all the others so that makes it clear enough that it's about software.

This is a good question.
Since we have NotebookApplication as schema:SoftwareApplication, I think it would correspond to the same subclass.
Similarly, a script would be an software application, right? Sometimes I don't like the distinction between SoftwareSourceCode and Software application, because you could say that Jupyter notebooks are both.