학술논문

A Templating System to Generate Provenance
Document Type
Periodical
Source
IEEE Transactions on Software Engineering IIEEE Trans. Software Eng. Software Engineering, IEEE Transactions on. 44(2):103-121 Feb, 2018
Subject
Computing and Processing
Electronic publishing
Instruments
Standards
Maintenance engineering
Runtime
Libraries
Automobiles
Provenance
prov<%2Fsc>%22">prov
provenance generation
template
Language
ISSN
0098-5589
1939-3520
2326-3881
Abstract
prov-templateis a declarative approach that enables designers and programmers to design and generate provenance compatible with the prov standard of the World Wide Web Consortium. Designers specify the topology of the provenance to be generated by composing templates, which are provenance graphs containing variables, acting as placeholders for values. Programmers write programs that log values and package them up in sets of bindings, a data structure associating variables and values. An expansion algorithm generates instantiated provenance from templates and sets of bindings in any of the serialisation formats supported by prov. A quantitative evaluation shows that sets of bindings have a size that is typically 40 percent of that of expanded provenance templates and that the expansion algorithm is suitably tractable, operating in fractions of milliseconds for the type of templates surveyed in the article. Furthermore, the approach shows four significant software engineering benefits: separation of responsibilities, provenance maintenance, potential runtime checks and static analysis, and provenance consumption. The article gathers quantitative data and qualitative benefits descriptions from four different applications making use of prov-template. The system is implemented and released in the open-source library ProvToolbox for provenance processing.