Making an Application Provenance-Aware through UML - A General Scheme

An application is said to be provenance-aware when it monitors and captures the information regrading the activities of each and every process in that application. The provenance of a data item includes information about the processes and source data items that lead to its creation and current representation. This type of information or the metadata about the activities of each and every object in the application is very much important for the security purpose. The provenance information ensures the integrity of the data items and the objects involved in the application. Our approach enables an application to track the activities of each and every object involved in the application and captures the state changes of the objects into a permanent store. This information can later be queried by a Data Analyst whenever an attack by an intruder occurs into the application database. Majority of the provenance systems designed are domain specific. The methods available already for capturing the provenance are highly application specific. So there is a need to have a general methodology for capturing the provenance information automatically from the application while the application is under execution. In this paper, we present a general methodology for making an application provenance-aware by using the basic UML design diagrams of the application.