Miksa, T. M. (2016). Verification and validation of scientific workflow re-executions [Dissertation, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2016.36295
E188 - Institut für Softwaretechnik und Interaktive Systeme
-
Date (published):
2016
-
Number of Pages:
188
-
Keywords:
Verification; Validation; eScience; Reproducibility; Context model; Workflows; Web service; Digital preservation
en
Abstract:
Modern scientific breakthroughs would not be possible without special tooling, software and processes that allow researchers to link, transform, visualise and interpret the data. Workflow engines were proposed in order to hide the complexity of the underlying infrastructure and foster reuse and verification of scientific processes. However, recent studies report that many publically shared workflows break and are not executable. Furthermore, the impact of low level dependencies, like operating system or software libraries, were reported to have an impact on the final result of the computation. The existing practices for sharing workflows do not guarantee that data enabling verification and validation of their re-executions is available. Provenance traces do not contain complete data describing workflow executions and there is no information on the environment in which a workflow was executed. Hence, we need to identify how these data can be collected in a repetitive way and organised in a systematic manner to enable automatic comparison of workflow re-executions without having access to both systems at the same time. Verification and validation is nowadays an important part of the software development lifecycle. Corresponding practices are needed in the scientific workflow domain. For this reason we propose the VFramework that can verify and validate the correctness of a workflow re-execution. The VFramework checks whether the re-executed workflow produces the same result as the original workflow. Thus it creates a starting point for a later verification of scientific experiment correctness. Workflows share common infrastructure with other software running in the operating system and can delegate tasks specified in the workflow to be executed by tools installed in the environment. Such tools may require a specific configuration and presence of further tools that depend on specific software libraries or dedicated hardware. All these dependencies constitute a workflow execution context that needs to be captured and verified to state whether the workflow re-execution produced results in the right way. The VFramework uses the context model that contains comprehensive description of the workflow integrating information from different sources describing among others the workflow model, as well as its dependencies detected during dynamic analysis of its execution. It contains also information on external services that were accessed. By comparing context models of workflow executions we verify whether the workflow re-execution was obtained in a compliant way. Workflows can use distributed systems to either source data provided by a third party, or to delegate computational tasks to an infrastructure offering specialized computing capabilities. These services can change and in consequence alter the workflow execution or even break it. For web service dependent workflows we developed the Web Service Monitoring Framework that detects whether a web service is deterministic. It uses the evidence collected to create mock-ups of stateless web services that are used to replace the original service and thus ensures repeatable conditions for verification of workflow re-executions. Workflows process data in a series of steps. In some cases only the final result of a computation is important for researchers, while in other cases the intermediate data can be important as well, especially when parts of the workflow are reused in other experiments. In all cases, researchers must be able to validate whether the partial or full re-execution was valid. For this reason we analysed sample workflows and formulated requirements that check the correctness of data produced at multiple stages of workflow execution. We created the VPlan that extends the context model with the validation requirements, metrics used to quantify them, as well as the measurement points that precisely link the requirements to the workflow model depicting where the data used for their computation is captured. The VPlan also contains a comprehensive and extensible vocabulary of metrics that are used for breaking down validation requirements. We extensively evaluated the VFramework on Taverna workflows using five scientific workflows from three domains: sensor data analysis in civil engineering, music classification in information retrieval, and medical clinical research. The selected workflows require multiple local dependencies ranging from additional libraries, scripts, and specific packages to external services for completing workflow steps. The evaluation takes into account re-executions in different operating systems. We describe necessary steps, estimate the effort to complete each step and demonstrate in what way this can be automated. To complete the evaluation we simulate changes that may happen to a workflow and show how we detect them using the VFramework.
en
Der wissenschaftliche Fortschritt wäre nicht ohne besondere Tools, Software und Prozesse möglich, die es Forschern ermöglichen, Daten zu verknüpfen, zu transformieren, zu visualisieren und zu interpretieren. Workflowsysteme erlauben es, die Komplexität der zugrunde liegenden Infrastruktur zu verdecken, und sowohl die Wiederverwendung (reuse) als auch die Verifizierbarkeit der wissenschaftlichen Prozesse zu fördern. Neueste Ergebnisse zeigen jedoch, dass viele öffentlich verfügbare Workflows nicht mehr ausführbar sind. Darüber hinaus zeigte sich, dass low-level Abhängigkeiten, wie zum Beispiel das Betriebssystem oder Softwarebibliotheken, eine Auswirkung auf das Endergebnis der Berechnung haben. Aktuelle Technologien bieten keine Garantie, dass die für die Workflowausführung notwendigen Daten verfügbar sind und der Workflow selbst ausgeführt werden kann. Obwohl aktuelle Workflowsysteme Metadaten zur Ausführung von Workflows anlegen, dokumentieren diese nicht vollständig den ganzen Prozess und die darin verarbeiteten Daten sowie Datenflüsse. Sogenannte Provenancedaten reichen nicht aus, um den Workflow vollständig zu erfassen. Beispielsweise sind oftmals keine Information bezüglich der Laufzeitumgebung vorhanden, in der ein Workflow ausgeführt wurde. Diese kann sich jedoch von System zu System unterscheiden und ist daher ein wichtiger Faktor für die Reproduzierbarkeit. Daher müssen wir nicht nur nachvollziehbar zeigen, welche Daten gesammelt werden müssen, sondern es müssen auch die Verarbeitungsschritte systematisch organisiert werden. Nur so kann ein automatischer Vergleich der Workflowausführungen ohne gleichzeitigen Zugriff auf beiden Systeme gelingen. Verifizierung und Validierung ist heutzutage ein wichtiger Teil der Softwareentwicklung. Die entsprechenden Praktiken sind auch in der Domäne der wissenschaftlichen Workflows wichtig. Deswegen schlagen wir das VFramework vor, das die Korrektheit einer Workflowausführung verifizieren und validieren kann. Das VFramework prüft, ob die erneute Workflowausführung dasselbe Ergebnis liefert, das auch von der ursprünglichen Workflowausführung produziert wurde. Demzufolge ermöglicht das VFramework die weitere Verifizierung der Korrektheit des wissenschaftlichen Experimentes. Workflows können die gleiche Infrastruktur mit anderen im Betriebssystem laufenden Software teilen. Workflows können auch besondere Tasks delegieren, damit sie durch die in der Laufzeitumgebung installierten Tools ausgeführt werden können. Solche Tools können auch eine spezifische Konfiguration und die Verfügbarkeit von anderen Tools benötigen, die auch von den spezifischen Softwarebibliotheken oder dedizierter Hardware abhängig sein können. Alle diese Abhängigkeiten beeinflussen den Ausführungskontext eines Workflows. Dieser Kontext muss erfasst und verifiziert werden, um zu prüfen, ob die Workflowausführung die Ergebnisse auf korrekte Art und Weise produziert hat. Das VFramework nutzt das Kontext Model, das eine umfassende Beschreibung insbesondere wenn Workflowkomponenten in anderen Experimenten wiederverwendet werden. In allen Fällen müssen die Forscher imstande sein, die teilweise oder komplett erneute Ausführung zu validieren. Aus diesem Grund haben wir eine Workflowprobe analysiert und die Voraussetzungen definiert, welche die Korrektheit der Daten auf allen Etappen der Workflowausführung prüfen. Wir haben auch den VPlan entwickelt. Der VPlan erwitert das Kontext Model mit Validierungsvoraussetzungen, Metriken für ihre Quantifizierung, sowohl die Messpunkte. Die Messpunkte verknüpfen die Validierungsvoraussetzungen mit dem Workflow Model und stellen dadurch dar, welche Datei für die Quantifizierung verwendet wird. Der VPlan beinhaltet ein umfassendes Vokabular von Metriken, welches die Validierungsvoraussetzungen beschreibt. Das VFramework wurde ausführlich mit der Taverna Workflow Engine evaluiert. Wir haben fünf wissenschaftliche Workflows aus drei Domänen verwendet: Sensordatenanalyse der Bauingenieurwissenschaften, Musik Klassifizierung in Retrieval-Systemen, und die medizinisch-klinische Forschung. Die ausgewählten Workflows haben viele lokale Abhängigkeiten, von zusätzlichen Bibliotheken, Skripten und spezifischen Packages, bis zu externen Services. Die Evaluierung zieht die Ausführungen in unterschiedlichen Betriebssystemen in Betracht. Wir haben die notwendigen Schritten beschrieben, den benötigten Aufwand abgeschätzt, und dargestellt, wie das VFramework automatisiert werden kann.
de
Additional information:
Abweichender Titel nach Übersetzung der Verfasserin/des Verfassers Zusammenfassung in deutscher Sprache