Review Comment:
This paper describes a methodology and its implementation (called W2share) to support the transformation of scripts into executable workflows, and the aggregation of these resources along with other related resources (e.g., execution traces and annotation) into research objects. The authors list five contributions: I) the methodology (described previously in another paper); ii) the data model identifying the main elements and relations of the methodology, iii) the implementation in W2Share, iv) a case study to showcase the solution, and v) an evaluation via competency questions.
The work presented is generally interesting and relevant, well written and easy to follow, and it could in theory provide benefits to researchers and to science in general; however I have many concerns regarding practicality of this approach, the implementation, which seems like a very early prototype at best that is not working as expected and does not cover all the mentioned aspects, the evaluation that is rather weak, and many inconsistencies in the paper with the models and the data used. Very disappointing is that the final output (i.e., the research object) is not even created correctly, which fails to demonstrate the approach even with the example presented (see comments below).
Reproducibility and reusability also will require access to the resources on which these workflows depend, i.e., web services, datasets, etc., addressing workflow decay issues, which is an aspect not even mentioned. The methodology is said to contemplate version control systems to track changes of scripts, but this is not further elaborated and just mentioned in the future work.
Related work is discussed, however regarding tools like Jupyter notebooks, it may be worth mentioning that some extensions and tools that enable to build notebooks as reusable modules or that allows code reusing, specially for python (e.g., [1]).
More detailed comments are:
**** data model
It is not clear the benefit and role of the data model, i.e., although authors claim it supports the (semi) automatic script-to-workflow conversion, it is not clear how it is practically used and/or its relation with the implementation, which makes it slightly confusing.
Why the data model does not use the same approach for annotation as research objects (which are actually the final product of the methodology)? What is the relation between the data model elements and the terms in wfdesc, wfprov and other RO ontologies? The data model does not consider an element for workflow runs and/or a way to identify and collect information about multiple runs from the same workflow.
**** evaluation
The evaluation is rather weak. It only accounts for the technical aspects (e.g., once information was manually represented using the underlying ontologies, the ability to answer queries that are potentially interesting for scientists).
The questions address the requirements used to design the methodology, which in turn are derived from the authors’ experiences during their collaboration with scientists. It is not clear, though, if these requirements were derived using some formal approach or not, e.g., if (and how many) scientists were evaluated or surveyed? It is further not evaluated the real applicability of the proposed approach, i.e., given the tool, were real scientists able to actually use it, and take benefit of it?
One of the requirements deals with quality assessment. Is the quality only assessed on the basis whether the workflow reproduces scripts results (within some tolerance threshold) ? Are there other workflow quality parameters considered by the methodology? This is an important task, but it is no further elaborated in the methodology or tools. Can quality change over time ? Can this assessment be supported by the tools ? Provenance capture during transformation is also mentioned in Section 5, but is not demonstrated (see comments below). Similarly, quality annotations in W2Share website does not seem to work (see comments below)
*** implementation
One disappointing issue is that the output research object of the use case (created in 2016?) is not correctly created. The original script is not aggregated (and is missing - nowhere to be found), some aggregated resources (from manifest) are missing, e.g., provenance/script-workflow.prov.ttl, aggregated resources are not defined in manifest (e.g., type ro:Resource) and their provenance information is missing (e.g., creator & creation date), relevant annotations are missing (e.g., type of resource like workflow or dataset), etc. More importantly, all the provenance information, generated during the conversion process, is missing. Execution provenance could also be aggregated as nested ROs, as the bundles generated from Taverna are ROs themselves. The paper aim to demonstrate the benefit of the methodology creating a final research object from a script, which can be easily shared and re-used, but the final product of the example is not even correct.
Another disappointment is that the W2Share was not working as expected at the time of reviewing. First, the script converter step was not working properly, so the first step (extract workflow topology, transform into ontology-based structure, add provenance info) could not be replicated/checked. It was impossible to get the abstract workflow (and the annotations linking the workflow to the script).
Some of the scripts available in W2Share Website have incorrect graph or missing abstract workflow.
The script that seems the excerpt from the use case example [2], does not properly display graph image. It has in theory an abstract workflow, but it is in fact a t2flow implementation, i..e. no file with wfdesc description, and no provenance information that link it back to S.
W2Share Website also includes a Quality Flow to add quality information, but does not seem to work. It is possible to add quality metrics, but not to add quality annotations.
Regarding transformation of abstract workflow to executable workflow, it is said that W2share enables this process to be done (semi-) automatically. Again, this cannot be validated. Even if step one works, If the abstract workflow is a wfdesc description how can this be used to create the executable workflow semi-automatically? If the abstract workflow is a t2flow, it may be easier, but then how this is created automatically in step one? And when is the wfdesc description created ?
***** inconsistencies
The full original script is not available, but many inconsistencies between the appendixes, the figures and text in the paper can be spotted.
*For example in Figure 5, process split has input structure_pdb, while in Appendix A.1 the inputs are initial_structure and directory_path (directory), similarly process psfgen has some inputs in the figure that do not appear in the appendix, or outputs variables are named differently.
*Figure 8 has also many differences with its corresponding appendixes (A.2, A.3), e..g, names of parameters, titles/labels, types, etc.
*Subprocess provenance information is not clear, e.g., wasderivedfrom an Entity, but how to know which entity? It is possible to obtain it because the process is a subprocess of which was derived from , but there are no explicit semantics to infer it automatically.
*According to the annotations in your example, Query 2 would give you both the abstract workflow and the executable workflow as result, i.e., and are both prov:wasDerivedFrom
* Query 4 is said to identify, given an executable workflow We, which script blocks originated each workflow activity. However, the query only uses abstract workflow information, not the executable workflow. In fact there is no information about the workflow process in the executable workflow, besides the fact that it was derived from the process in the abstract workflow.
* Query 5 retrieves the agent responsible for the abstract workflow creation, but it is not known if this agent annotated or curated the script.
* Query 6 will not work with variants, unless prov:wasDerivedFrom would be transitive.
* Results in table 7 do no match with data in appendixes, besides in order to get the real inputs/outputs, the query should also include tavernaprov:content
**** RO ontologies
* Wfdesc ontology makes a separation between abstract workflows and workflow implementation that is not taken into account in the example. The executable workflows and its variants are declared in the appendixes as wfdesc:Workflow. Why are they not (also) declared as wfdesc:WorkflowDefinition, which is the class used to represent an actual workflow implementation?
* There is also errors in the annotations of the example: wf4ever ontology does not define any workflow class. Workflow classes are defined in wfdesc.
Minor:
* W2Share, a computational framework or W2Share, a computation framework
* First line page 22, “…and the latter may be derived from script Code Blocks” . It seems latter should be replaced by executable/refined workflows.
* query 1, table 2: variable is process not processor
[1] https://post2web.github.io/posts/reuse-jupyter-notebooks/
[2] http://w2share.lis.ic.unicamp.br/script-converter/details/2c840bd2943ca9...
|