Abstract
In this paper we present UML2PROV, an approach addressing the gap between application design, through UML diagrams, and provenance design, using PROV-Template. PROV-Template is a declarative approach that enables software engineers to develop programs that generate provenance following the PROV standard. The main contributions of this paper are: (i) a mapping strategy from UML diagrams (UML State Machine and Sequence diagrams) to templates, (ii) a code generation technique that creates libraries, which can be deployed in an application by creating suitable artefacts for provenance generation, and (iii) a demonstration of the feasibility of UML2PROV implemented with Java, and a preliminary quantitative evaluation that shows benefits regarding aspects such as design, development and provenance capture.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Groth, P., Moreau, L. (eds.): PROV-Overview. An Overview of the PROV Family of Documents. W3C Working Group Note NOTE-prov-overview-20130430, World Wide Web Consortium, April 2013. http://www.w3.org/TR/2013/NOTE-prov-overview-20130430/
Holland, D., Braun, U., Maclean, D., Muniswamy-Reddy, K.K., Seltzer, M.I.: Choosing a data model and query language for provenance. In: Proceedings of the International Provenance and Annotation Workshop, IPAW 2008, pp. 98–115 (2008)
Glavic, B., Alonso, G.: Perm: processing provenance and data on the same data model through query rewriting. In: Proceedings of the 25th IEEE International Conference on Data Engineering, ICDE 2009, pp. 174–185 (2009)
Wolstencroft, K., Haines, R., Fellows, D., Williams, A., Withers, D., Owen, S., Soiland-Reyes, S., Dunlop, I., Nenadic, A., Fisher, P., et al.: The Taverna workflow suite: designing and executing workflows of Web Services on the desktop, web or in the cloud. Nucleic Acids Res. 41, 557–561 (2013). Oxford University Press
Silva, C.T., Anderson, E., Santos, E., Freire, J.: Using vistrails and provenance for teaching scientific visualization. Comput. Graph. Forum 30(1), 75–84 (2011)
Altintas, I., Barney, O., Jaeger-Frank, E.: Provenance collection support in the kepler scientific workflow system. In: Moreau, L., Foster, I. (eds.) IPAW 2006. LNCS, vol. 4145, pp. 118–132. Springer, Heidelberg (2006). https://doi.org/10.1007/11890850_14
Moreau, L., Missier, P., Belhajjame, K., B’Far, R., Cheney, J., Coppens,S., Cresswell, S., Gil, Y., Groth, P., Klyne, G., Lebo, T., McCusker, J., Miles, S., Myers, J., Sahoo, S., Tilmes, C. (eds.): PROV-DM: The PROV Data Model. W3CRecommendation REC-prov-dm-20130430, World Wide Web Consortium (2013). http://www.w3.org/TR/2013/REC-prov-dm-20130430/
Moreau, L., Missier, P., Cheney, J., Soiland-Reyes, S. (eds.): PROV-N: The Provenance Notation. W3C Recommendation REC-prov-n-20130430, World Wide Web Consortium, April 2013. http://www.w3.org/TR/2013/REC-prov-n-20130430/
A library for W3C Provenance Data Model supporting PROV-JSON, PROV-XML and PROV-O (RDF), October 2017. https://pypi.python.org/pypi/prov. Accessed Oct 2017
ProvToolbox: Java library to create and convert W3C PROV data model representations. http://lucmoreau.github.io/ProvToolbox/. Accessed Oct 2017
Miles, S., Groth, P.T., Munroe, S., Moreau, L.: Prime: a methodology for developing provenance-aware applications. ACM Trans. Softw. Eng. Methodol. 20(3), 8:1–8:42 (2011)
OMG.: Unified Modeling Language (UML). Version 2.5 (2015). http://www.omg.org/spec/UML/2.5/. Accessed 1 Mar 2015
Moreau, L., Batlajery, B.V., Huynh, T.D., Michaelides, D., Packer, H.: A templating system to generate provenance. IEEE Trans. Softw. Eng. (2017, in Press). http://eprints.soton.ac.uk/405025/
OMG: Object Constraint Language, Version 2.4 (2014). http://www.omg.org/spec/OCL/2.4/PDF. Accessed 3 Feb 2014
Supplementary material of UML2PROV (October 2017). https://uml2prov.github.io/. Accessed Oct 2017
Kwasnikowska, N., Moreau, L., Bussche, J.V.D.: A formal account of the open provenance model. ACM Trans. Web 9(2), 10:1–10:44 (2015)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: elements of reusable object-oriented software. Addison Wesley, Boston (1995)
XSL Transformations (XSLT) Version 3.0: W3C Recommendation 8 June 2017, February 2017. https://www.w3.org/TR/xslt-30/
Modelio, UML modeling tool: Version 3.6, February 2017. http://www.modeliosoft.com/. Accessed Oct 2017
Papyrus, Modeling environment: Version 2.0.2 (Neon release), January 2017. https://eclipse.org/papyrus/. Accessed Oct 2017
Tan, W.C.: Provenance in databases: past, current, and future. IEEE Data Eng. Bull. 30(4), 3–12 (2007)
Davidson, S.B., Freire, J.: Provenance and scientific workflows: challenges and opportunities. In: Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data, MOD 2008, pp. 1345–1350. ACM, New York (2008)
Moreau, L.: The foundations for provenance on the Web. Found. Trends Web Sci. 2(2–3), 99–241 (2010)
Simmhan, Y.L., Plale, B., Gannon, D.: A Survey of Data Provenance Techniques. Technical report 612 Extended version of SIGMOD Record (2005). http://www.cs.indiana.edu/pub/techreports/TR618.pdf
Glavic, B., Dittrich, K.R.: Data Provenance: A Categorization of Existing Approaches. In: Proceedings of Datenbanksysteme in Büro, Technik und Wissenschaft, BTW 2007, pp. 227–241 (2007)
Ghoshal, D., Plale, B.: Provenance from log files: a bigdata problem. In: Proceedings of the Joint EDBT/ICDT 2013 Workshops, pp. 290–297. ACM (2013)
Cheney, J., Ahmed, A., Acar, U.A.: Provenance as dependency analysis. Math. Struct. Comput. Sci. 21(6), 1301–1337 (2011). Cambridge University Press, Cambridge
Cheney, J.: Program slicing and data provenance. IEEE Data Eng. Bull. 30(4), 22–28 (2007)
Brauer, P.C., Fittkau, F., Hasselbring, W.: The aspect-oriented architecture of the CAPS framework for capturing, analyzing and archiving provenance data. In: Ludäscher, B., Plale, B. (eds.) IPAW 2014. LNCS, vol. 8628, pp. 223–225. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-16462-5_19
Jouault, F., Kurtev, I.: Transforming models with ATL. In: Bruel, J.-M. (ed.) MODELS 2005. LNCS, vol. 3844, pp. 128–138. Springer, Heidelberg (2006). https://doi.org/10.1007/11663430_14
XPand: Eclipse platform (2017). https://wiki.eclipse.org/Xpand. Accessed Oct 2017
Acknowledgements
This work was partially supported by the spanish MINECO project EDU2016-79838-P, and by the University of La Rioja (grant FPI-UR-2015).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG
About this paper
Cite this paper
Sáenz-Adán, C., Pérez, B., Huynh, T.D., Moreau, L. (2018). UML2PROV: Automating Provenance Capture in Software Engineering. In: Tjoa, A., Bellatreche, L., Biffl, S., van Leeuwen, J., Wiedermann, J. (eds) SOFSEM 2018: Theory and Practice of Computer Science. SOFSEM 2018. Lecture Notes in Computer Science(), vol 10706. Edizioni della Normale, Cham. https://doi.org/10.1007/978-3-319-73117-9_47
Download citation
DOI: https://doi.org/10.1007/978-3-319-73117-9_47
Published:
Publisher Name: Edizioni della Normale, Cham
Print ISBN: 978-3-319-73116-2
Online ISBN: 978-3-319-73117-9
eBook Packages: Computer ScienceComputer Science (R0)