The UML2PROV Namespace

Author(s):
Carlos Sáenz Adán
Beatriz Pérez
Francisco J. García-Izquierdo
Luc Moreau

 

Introduction

The namespace http://uml2prov.unirioja.es/ns/u2p# is intended for use with facets defined in the PROV family of documents. Readers unfamiliar with PROV are encouraged to read PROV-DM. Concretely, this namespace defines (1) new categories of entities, and (2) further attributes considering the characteristics of the Unified Modeling Language (UML). The UML terms within this namespace, written in courier, are defined in the UML specification [1].

Notational Conventions

We suggest the use of u2p as a prefix for this namespace.

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [2].

Categories of Entity

It is useful to define some basic categories of entities from a UML perspective. We have identified five types of entities corresponding to five UML elements in UML Sequence, State Machine, and Class diagrams. It is acknowledged that we do not cover all UML elements, but only those of relevance in the UML2PROV proposal [3].

RequestMessage

A request message is a UML Message whose MessageSort attribute value is equal to synch or asych. A request message is denoted by u2p:RequestMessage.

ReplyMessage

A reply message is a UML Message whose MessageSort attribute value is equal to reply. A reply message is denoted by u2p:ReplyMessage.

StateMachine

A state machine is a UML StateMachine. It is used to express event-driven behaviours of parts of a system (further information in UML Specification [1]). A state machine is denoted by u2p:StateMachine.

Attribute

An Attribute is a UML Attribute owned by a UML Class. An attribute is denoted by u2p:Attribute.

Object

An Object is an instance of a UML Class. An object is denoted by u2p:Object.

Further Attributes

This section introduces the defined attributes for extending PROV-DM from the UML perspective.

Attribute Allowed in value
u2p:typeName Entity, Agent A Value of type xsd:string
u2p:state Entity A Value of type xsd:string
u2p:attributeName Attribute A Value of type xsd:string

u2p:typeName

The attribute u2p:typeName is the name of a UML Class or type of the PROV element that owns the attribute. The value associated with the attribute u2p:typeName MUST be a string.

u2p:state

The attribute u2p:state is the name of a UML State. The value associated with the attribute u2p:state MUST be a string.

u2p:attributeName

The attribute u2p:attributeName is the name of a UML Attribute. The value associated with the attribute u2p:attributeName MUST be a string.

References

[1] OMG. (2015) Unified Modeling Language (UML). Version 2.5. Document formal/15-03-01, March, 2015. [Online]. Available: www.omg.org/spec/UML/2.5

[2] S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Internet RFC 2119. URL: http://www.ietf.org/rfc/rfc2119.txt

[3] Carlos Sáenz-Adán, Beatriz Pérez, Francisco J. García-Izquierdo, Luc Moreau: Integrating Provenance Capture and UML with UML2PROV: Principles and Experience. IEEE Transactions on Software Engineering