<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Conditions, constraints and contracts: On the use of annotations for policy modeling</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Paolo Bottoni</string-name>
          <email>bottoni@di.uniroma1.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Roberto Navigli</string-name>
          <email>navigli@di.uniroma1.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Francesco Parisi Presicce</string-name>
          <email>parisi@di.uniroma1.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universita di Roma \Sapienza"</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Organisational policies express constraints on generation and processing of resources. However, application domains rely on transformation processes, which are in principle orthogonal to policy speci cations and domain rules and policies may evolve in a non-synchronised way. In previous papers, we have proposed annotations as a exible way to model aspects of some policy, and showed how they could be used to impose constraints on domain con gurations, how to derive application conditions on transformations, and how to annotate complex patterns. We extend the approach by: allowing domain model elements to be annotated with collections of elements, which can be collectively applied to individual resources or collections thereof; proposing an original construction to solve the problem of annotations remaining orphan, when annotated resources are consumed; introducing a notion of contract, by which a policy imposes additional pre-conditions and post-conditions on rules for deriving new resources. We discuss a concrete case study of linguistic resources, annotated with information on the licenses under which they can be used. The annotation framework allows forms of reasoning such as identifying con icts among licenses, enforcing the presence of licenses, or ruling out some modi cations of a licence con guration.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Organisational policies express constraints on generation and processing of
resources which are accepted by agents subject to, or anyway acknowledging, the
authority of such organisations. However, agents retain the ability to operate on
such resources according to their own strategies, as long as the results of these
operations conform to the policy, or are used in areas not subject to it.</p>
      <p>
        A typical example is that of licenses, which de ne ways in which software
resources can be manipulated and made available for usage by third parties.
The di usion of open data [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and of public repositories allows a dissemination
of resources which can be employed in di erent ways, ranging from their simple
replication for integration in local pools, to the creation of sophisticated services.
While non proprietary resources can usually be accessed without restrictions,
access to the results of resource manipulations could be subject to restrictions
related to the safeguard of intellectual property. However, it is usually the case
that the usage of certain resources in the construction of the service prevents
the possibility of imposing such restrictions, or forces speci c forms of access
compatible with those for the used resource.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ] we proposed the usage of annotations as a exible way to indicate
the aspects for which domain model elements can fall under some policy, and
showed how annotations could be used to impose constraints on con gurations of
domain resources, how to derive application conditions on their transformations,
and how to annotate complex patterns. In particular, this allows the
management of situations in which policies of access change, or di erent policies have to
be simultaneously applied. Annotations are indeed a way of exibly associating
elements of di erent domains, and a number of techniques have been developed
to express the constraints which are imposed on transformations modeling the
evolution of elements in an application domain, when they are subject to
constraints depending on annotations with elements of a contextual domain.
      </p>
      <p>In this paper we extend the notion of annotation in four directions: rst
we propose an original construction for transformations of annotated models,
which solves the problem of orphan annotations, which remain dangling when
annotated resources are consumed. Second, we allow domain model elements to
be annotated with collections of elements from the annotations domain, which
can be collectively applied to individual elements or collections thereof. Third, we
consider violations of constraints induced by the creation of elements for which
an annotation must be provided and de ne constraint repair actions to solve
such situations. Finally, we introduce a notion of contract, by which a policy
imposes additional pre- and post-conditions on rules for deriving new resources.
Again, the use of contracts leads to an original notion of transformation under
contracts. In all the considered cases, the de nition of transformations relies on
the speci c features of annotations and classical categorial constructions.
Paper organisation. After discussing related work in Section 2 and recalling
fundamental notions in Section 3, we provide a construction for avoiding orphan
annotations in Section 4 and introduce a motivational case study concerning
linguistic resources annotated with licenses in Section 5. The model for rewriting
under annotation constraints and contracts, illustrated via the case study, is
presented in Section 6. Section 7 concludes the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        A number of approaches have considered the management of inconsistencies in
the eld of graph transformations. In particular, mechanisms for ensuring that
invariants are maintained throughout transformations have lead to the identi
cation of mechanisms for the generation of pre- or post-application conditions to
be associated with rules, or for manipulation of the left-hand or right-hand side
of a rule. This topic was started in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and extensively explored in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. In [
        <xref ref-type="bibr" rid="ref5 ref6">5,
6</xref>
        ], we have shown how the separation of the application and contextual domains
allows some simpli ed constructions for such a generation.
      </p>
      <p>
        Another line of research involves the identi cation of inconsistencies of a
model with respect to some desired (or undesired) property established at the
metamodel level. For example, conformance to a pattern can be imposed by
completing the missing required parts of the pattern by a co-limit construction [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ],
required ordering for refactorings can be established by analysis of their
conicts [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], explicit transformations can be associated with guidelines to repair
violations [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In this paper we consider only inconsistencies involving
annotations, again leveraging domain separation.
      </p>
      <p>
        Contracts were introduced in the form of pairs of graphs indicating pre- and
post-conditions of operations [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. In this way they de ne rule schemes which
are typically instantiated by setting some parameters [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Based on this, one
can consider satisfaction of conditions for service composition [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] or generate
tests against these schemes to check correctness of model evolutions [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. Our
usage of contracts allows the de nition of multiple contracts for a single rule
and provides a basis for enforcing correctness on a local basis, as opposed to
corrections required by violations of global constraints.
      </p>
      <p>
        The need for a formalisation of licenses has been addressed for services, where
service composition has to take into account that di erent services may run
under di erent licenses, as part of service level agreement, focusing mostly on
service behaviour [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. As for data, work on the de nition of ontologies for the
management of digital rights have been conducted by Garcia et al. [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and
Rodr guez-Doncel et al. [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. Graph transformations have been employed in the
closely related eld of access control, where techniques similar to the ones
employed here were used (see e.g. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]).
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Preliminaries</title>
      <p>
        Graphs and morphisms. We introduce classical notions from graph
transformation theory (see [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]).
      </p>
      <p>De nition 1. A graph is a tuple G = (VG; EG; s; t), where VG is a set of nodes,
EG is a set of edges, s : EG ! VG and t : EG ! VG are the source and target
functions, i.e. graphs are considered to be directed.</p>
      <p>De nition 2. Given two graphs G1 and G2 a morphism : G1 ! G2 is a
pair of functions V : VG1 ! VG2 , E : EG1 ! EG2 such that E preserves the
images of sources and targets, i.e. for e 2 E we have: s2( E (e)) = V (s1(e))
and t2( E (e)) = V (t1(e)).</p>
      <p>We use morphisms for a number of purposes, some of which exempli ed
through Figure 1.</p>
      <p>Typing. For G1 a graph, and GT a type graph, : G1 ! GT is a typing morphism
if is total. Typed graphs are extended to attributed typed graphs de ning
speci c sets of attributes for them. A node of a certain type will be associated
with a value for each of the attributes de ned by the type.</p>
      <p>Transformation rule. One (as in the Single Pushout Approach, SPO, see
Figure 1 (c)) or two (as in the Double Pushout Approach, DPO, see Figure 1 (a))
m
G3 o</p>
      <p>P O
(a)
G6
r / G2
P O
m
/ G4
, G3
type-preserving morphisms are used to de ne rules. Regardless of the form, a
rule p identi es a graph G1 and the applicability of p to a graph G3 depends
on the existence of a total type-preserving morphism m : G1 ! G3. If a rule
p is applied to a graph G3 to produce graph G4, we write (G3; G4) 2=)p.
Constraint. : G1 ! G2 de nes a constraint together with a satisfaction
relation, j=: for any graph G3, G3 j= i for each morphism 3 : G1 ! G3, there
exist a morphism 4 : G2 ! G3 such that the triangle of Figure 1(b)
commutes1. A negative constraint, denoted by : : G1 ! G2, is satis ed by G3 if
no such morphism 4 exists for some 3. The particular case : : G1 ! G1,
de nes a forbidden graph and is represented by the single graph G1.
Application condition. Given a (DPO or SPO) rule p with identi ed graph G1,
1 : G7 ! G8 is an application condition (AC) for p if it restricts the
relation =)p to pairs (G3; G4) for which there exist morphisms 3 : G1 ! G7,
4 : G7 ! G3 and 5 : G8 ! G3 such that the triangles in the diagram of
Figure 1(c) commute (in the SPO approach the square in it is a pushout,
analogously for the two squares in Figure 1(a)). The requirement that no
such 4 exist is called a negative application condition (NAC).</p>
      <p>
        All of the above is naturally extended to sets of rules and to attributed type
graphs, so that constraints and application conditions can refer to prescribed
values that attributes of the matched nodes must have. Rules can require updates
on the values associated with preserved nodes, or assignment of values for the
created nodes. In all these cases,we follow the approach of symbolic attributed
graphs [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], using constraint satisfaction to evaluate conditions and attributes.
Annotations. Annotations of nodes of a domain D1 with nodes of a domain
D2 are de ned via nodes of types derived from AnnotationNodeType. We call A
the domain of such annotation nodes. Each annotation node a 2 A participates
in exactly one instance of the pattern a = x e1 a e!2 y, where x 2 D1,
y 2 D2, e1 is an edge of an application-dependent type and e2 is an edge of type
annotatesWith. We work on type graphs T G resulting from the disjoint union
of the type graphs de ning D1 (T G1) and D2 (T G2), together with the relevant
annotation node and edge types, and we consider two types of constraints related
to annotations, assuming that all the constraints on the application domain are
1 G1 is also called P , from premise, and G2 is also called C, from conclusion.
preserved by the domain rules. Constraints of the rst type are derived from
a
and are of the form : A ! X e1 A e!2 Y , for X some node type in T G1, Y
some node type in T G2, A an annotation node type and e1 and e2 as described
before, with possible restrictions on the association of X and Y . Well-formedness
results from conformance with the disjunction of all such constraints. Given a
type graph T G we call L a (T G) the language of all the graphs in T G which are
well-formed with respect to the individual domains and the annotation pattern.
The second type of constraints expresses speci c policies via morphisms of the
form : G1 * G2 where G1 is typed on the T G1 component of T G, G2 is typed
on T G with well-formed annotations, and its projection on T G1 is isomorphic
to G1. We call these annotation constraints. In Section 6 we will also introduce
contracts based on morphisms involving two graphs typed on T G. All the rules in
the paper are typed on T G1, and all the constraints are annotation constraints.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Annotations and collections</title>
      <p>
        De nition 3 from [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] extend graphs and morphisms to include the notion of box.
De nition 3. A (directed) graph with boxes (or B-graph) is a tuple G =
(V; E; B; s; t; cnt), where: (1) V and E are as in De nition 1; (2) B is a set
of boxes, such that B \ (V [ E) = ;; (3) s and t extend their codomains to
V [ B; (4) cnt : B ! }(V [ B) is a function associating a box with its content2
with the property that if x 2 cnt(b1) and b1 2 cnt(b2), then x 2 cnt(b2).
      </p>
      <p>
        A type B-graph includes a set of box types BT which are sources or targets
for edge types. Moreover, a function cntT : BT ! }(V T [ BT ) associates each
type of box with the set of types of elements it can contain. Similarly, a (total)
morphism on B-graphs was de ned in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] by adding a component B, preserving
the content function, i.e. for all x 2 V [ B; b 2 B, one has x 2 cnt1(b) =)
      </p>
      <p>
        V [B(x) 2 cnt2( B(b)), with V [B the (disjoint) union of V and B. In [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]
total morphisms allowed DPO transformations of B-graphs.
      </p>
      <p>
        Based on these notions, annotation nodes can be used not just with reference
to individual nodes in T G1 and values in T G2, but also to collections in either
domain, i.e. a collection of annotation values can be used in an atomic way to
annotate some resource or collection thereof. However, in the original
formulation of rewriting with boxes in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], removing an annotated element from a model
G0 2 L a (T G) would create dangling annotation edges, forbidding rule
application in the DPO form. Nor can deletion in the SPO form be employed. Even if
in this case the annotation edges would be removed, we would be left with
orphan annotations, i.e. annotation nodes to which no annotation edge is attached,
resulting in a graph not in L a (T G). Hence, we devise an original mechanism,
based on Construction 1, to complement a transformation performed according
to the DPO appproach in T G1 so that well-formedness is preserved.
Construction 1. With reference to Figure 2, let its top two rows depict the usual
DPO application of a rule L K ! R to a graph G obtained by applying to G0
2 Here and elsewhere } denotes the powerset.
the morphism f1 induced by the forgetful functor given
by the restriction of T G to T G1. The unique
morphism induced by the immersion of the image of f1(G0)
into G0 is also derived. Then D0 is the unique (up
to isomorphisms) graph in L a (T G), i.e. with
wellformed annotations, which is maximal with respect
to the occurrences of the annotation pattern and for
which the left square at the bottom of the diagram
in Figure 2 is a pullback (hence its restriction to the
elements typed on T G1 is isomorphic to D). Finally,
H0 is given by the pushout of H and D0 along D.
f1
      </p>
      <p>L o l K r / R
m</p>
      <p>P O</p>
      <p>P O</p>
      <p>m
&gt; G_ o
G0 o</p>
      <p>D</p>
      <p>/ H
P B P O h
g0 D0 h0 / H0
Proposition 1. For G0 2 L a (T G) and a rule L K ! R, the graph H0
generated as in Construction 1 is in L a (T G). Moreover, Ann(H0) Ann(G0),
where Ann(X) denotes the set of annotation nodes in a graph X.
Proof. We rst observe that Ann(H0) = Ann(D0), so that Ann(H0) Ann(G0),
since H, which is typed on T G1, does not present any new annotation. Since D0
is well-formed, none of its annotation nodes is an orphan.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Case study: licenses</title>
      <p>A license speci es admissible forms of access, usage and redistribution of
resources and of the results of manipulating them. While individual resources can
be associated with speci c licenses, the licenses connected to a resource usually
depend on some policy associated with the repository from which it is extracted.
Moreover, such repositories often publish resources under a number of licenses,
which must be all simultaneously respected, and which are normally transferred
to the extracted resources. As this imposes some form of compatibility among
licenses, deciding whether a certain usage is admitted may become complex. As an
example, elements published under a Creative Commons, CC, scheme can be
associated with combinations of the following licenses: NC for NonCommercial (the
resource cannot be used for commercial purposes), BY for Attribution (credit
to the author is acknowledged), SA for ShareAlike (derived resources must be
redistributed preserving the original licenses), and ND for NoDerivatives
(remixing, transforming, or building upon the resource may not grant redistribution).
Each element is considered to be of PublicDomain (PD).</p>
      <p>
        BabelNet3 [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] is a multilingual semantic network containing millions of
concepts (e.g. the apple fruit concept) and named entities (e.g. the Apple Inc.
entity), interlinked via semantic relations. A single node in the network is called
a Babel synset and contains a set of synonyms which express a given concept
or named entity in di erent languages. For instance, the apple fruit concept is
represented by the synset fapple EN, pomme FR, mela IT, : : : , manzana ES g.
A word occurring in a synset is called sense (e.g., apple EN in the above synset
is the fruit sense of the ambiguous word apple).
      </p>
      <p>
        BabelNet itself is obtained as the result of the automatic mapping (which is in
turn considered a kind of resource unique to BabelNet) and integration of several,
publicly available, knowledge repositories. However, each repository provides
resources (e.g. synsets and senses) under di erent licenses. For example, WordNet
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], Wikidata4 and parts of the OMWN project [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] are released under a permissive
license, which allows any use, either commercial or non-commercial, of the data;
3 http://babelnet.org
4 http://wikidata.org
Wikipedia and Wiktionary are released with a CC-BY-SA license; OmegaWiki
and other wordnets in OMWN are released under CC-BY; the Basque wordnet in
OMWN is released under CC-BY-NC-SA and so is the BabelNet mapping between
all these resources. Unfortunately, not all of the licenses are compatible with one
another, as shown in the compability chart for CC licenses in Table 1, where X
indicates compatibility, incompatibility, and ! that usage is not recommended.
For instance, Wikipedia, whose license is CC-BY-SA, cannot be merged with data
from the Basque wordnet or the BabelNet mapping. Interestingly, some mergings
can be done in one direction only, e.g. from a resource in a CC-BY repository, such
as OmegaWiki, one can derive a new resource with a more restrictive CC-BY-SA
license, thereby making it compatible with, e.g., Wikipedia.
      </p>
      <p>However, the opposite is not possible, as no-one can modify a SA license. As
a result, some licenses, such as CC-BY-NC-SA and CC-BY-SA, are inherently and
mutually incompatible. To solve this problem, BabelNet is viewed as a collection
of knowledge resources with heterogeneous licenses. For instance, it is possible to
consider a subset of resources which can be used commercially, e.g. Wikipedia,
WordNet and others. However, the resources with NC license (e.g. the Basque
wordnet and the BabelNet mapping) cannot be used commercially. As the
mapping is the enabling technology for interconnecting the various resources into a
whole uni ed, multilingual network, any commercial use is subject to obtaining
a commercial license from the BabelNet's authors.</p>
      <sec id="sec-5-1">
        <title>A model of linguistic services and licenses</title>
        <p>To represent the management of licenses and languages in BabelNet, we model
synsets, senses, etc. as nodes (or boxes) of speci c types from a domain, R,
of Resources. Similarly, licenses are modeled as nodes of type License, from
the domain of Licenses, L, with an attribute name ranging over strings
identifying the di erent kinds of license, and languages are modeled as nodes of
type Language, from the domain of Languages, K, with name ranging over the
available languages. We consider R as the application domain, and L and K as
contextual domains, typing the annotation edges accordingly. Thus, for xxx a
type in R, edges of types xxxLicAnnotation and xxxLangAnnotation allow
its annotation with elements of L and K, through edges of type annotatesWith.</p>
        <p>Figure 4 presents the type graph T G for BabelNet. Stereotypes indicate
whether an element is of the Node or Box sort, and if it comes from the domain
R, L or K, or is an AnnotationTypeNode. In the domain R, a Sense is
characterised by an attribute content, with values in the sort of strings. Moreover, the
three types of box, Synset, Collection and LicenseBundle, can contain only
elements of suitable types, namely Sense, Synset and License, respectively.
The attribute concept for Synset indicates the concept represented by that
collection of senses. The type LicenseBundleAnn, of the Node sort and derived
from AnnotationTypeNode, can be used to relate resources with LicenseBundle.
However, as it inherits from LicenseAnn, one can annotate any element in the
resource domain with single licenses or with license bundles. A Request to obtain
a Collection can be annotated with both license and language information (not
indicated to avoid cluttering) and activates a Service producing the collection.</p>
        <p>&lt;&lt;Node&gt;&gt;
&lt;&lt;Resources&gt;&gt;</p>
        <p>Service
&lt;&lt;Node&gt;&gt;
&lt;&lt;Resources&gt;&gt;</p>
        <p>Mapping
activates
produces</p>
        <p>&lt;&lt;Box&gt;&gt;
&lt;&lt;Resources&gt;&gt;</p>
        <p>Collection
servLicAnnotation
in</p>
        <p>&lt;&lt;Box&gt;&gt;
&lt;&lt;Resources&gt;&gt;</p>
        <p>Synset
-concept : string
&lt;&lt;Node&gt;&gt;
&lt;&lt;Resources&gt;&gt; origin</p>
        <p>Sense
-content : string
puts -id : Identifier
&lt;&lt;Box&gt;&gt;
annotatesWith &lt;&lt;Licenses&gt;&gt;</p>
        <p>LicenseBundle
annotatesWith
annotatesWith
&lt;&lt;Node&gt;&gt;
&lt;&lt;Licenses&gt;&gt;</p>
        <p>License
-name : string
&lt;&lt;Node&gt;&gt;
&lt;&lt;Languages&gt;&gt;</p>
        <p>Language
-name : string</p>
        <p>We rst model the basic working of BabelNet services via increasing rules
in the Resources domain. Rule createCollection in Figure 5 (top) creates an
initially empty collection for the synsets to be served in response to a query to
de ne the concepts in a set Z. Two rules allow the inclusion in the collection of a
synset for a concept in the request. Rule addSynset in Figure 5 (middle) is used
to add an already available synset in the collection if it is not already there, as
indicated by the NAC. The other one, not shown, creates and adds a synset for
a concept, if it does not exist already. Rule createMapping in Figure 5 (bottom)
is used to populate synsets with senses representing the concept, according to a
mapping, with a NAC to avoid including a sense twice.</p>
        <p>obtains
collLicAnnotation
synsetLicAnnotation</p>
        <p>&lt;&lt;Node&gt;&gt;
&lt;&lt;Resources&gt;&gt;</p>
        <p>Request
-concepts : string[]</p>
        <p>&lt;&lt;Node&gt;&gt;
&lt;&lt;Annotation&gt;&gt;</p>
        <p>LicenseBundleAnn
&lt;&lt;Node&gt;&gt;
&lt;&lt;Resources&gt;&gt;</p>
        <p>Repository reposLicAnnotation</p>
        <p>&lt;&lt;Node&gt;&gt;
&lt;&lt;Annotation&gt;&gt;</p>
        <p>LicenseAnn
senseLangAnnotation</p>
        <p>&lt;&lt;Node&gt;&gt;
&lt;&lt;Annotation&gt;&gt;</p>
        <p>LanguageAnn
5: offers
1 : Service
name = "MAP"
2: activates 3 : Request</p>
        <p>concepts = Z
4 : Repository
name = "BABELNET"</p>
        <sec id="sec-5-1-1">
          <title>1 : Service</title>
          <p>name = "MAP"
: produces</p>
        </sec>
        <sec id="sec-5-1-2">
          <title>6 : Collection</title>
          <p>cnt(6)=</p>
          <p>R
2: activates 3 : Request
concepts = Z
5: offers</p>
        </sec>
        <sec id="sec-5-1-3">
          <title>4 : Repository</title>
          <p>name = "BABELNET"
1 : Service
name = MAP</p>
          <p>4 : produces
5 : Collection</p>
          <p>NAC
2: activates cnt(5)  {6}
3 : Request
concept = Z
6 : Synset
concept = Y
L=H
1 : Service
name = MAP
4 : produces 2: activates</p>
        </sec>
        <sec id="sec-5-1-4">
          <title>5 : Collection</title>
          <p>cnt(5) = H, YZ</p>
        </sec>
        <sec id="sec-5-1-5">
          <title>3 : Request</title>
          <p>concepts = Z</p>
        </sec>
        <sec id="sec-5-1-6">
          <title>6 : Synset</title>
          <p>concept = Y</p>
          <p>R
1 : Service 3 : Request
name = MAP concepts = W
4 : produces 2: activates</p>
        </sec>
        <sec id="sec-5-1-7">
          <title>5 : Collection</title>
        </sec>
        <sec id="sec-5-1-8">
          <title>6 : Synset</title>
          <p>concept = Y
cnt(5)= H{6}, W=Z\{Y}
NAC</p>
          <p>5 : Synset
: in concept = Y
: Mapping
: puts
2 : Sense
content = X</p>
          <p>L=H
5 : Synset
concept = Y
isRepr(Y,X),
cnt(5)=H
2 : Sense
content = X</p>
          <p>R
5 : Synset
: in concept = Y
: Mapping cnt(5)=H{2}
: puts
2 : Sense
content = X</p>
          <p>
            In all these cases, the bundle of licenses associated with the invoked
service must be associated with the produced collection, as will be discussed in
Section 6.2. Moreover, requests can be further characterised, for example by
annotating them with particular licenses or languages, so that only senses
annotated with those licenses or languages are included in the obtained collection,
as per suitable application conditions, following the constructions in [
            <xref ref-type="bibr" rid="ref5">5</xref>
            ].
6
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Maintaining consistency with constraints and contracts</title>
      <p>While the result of applying a rule is guaranteed to produce a correctly typed
graph, it might be the case that such a graph does not conform to further
conditions imposed on the model at hand. We identify two dimensions along
which conditions can be distinguished: one pertaining to the identi cation of the
domain for which the condition is de ned (whether the application domain or the
domain resulting from the annotation process) and one relative to the scope of
the condition (whether global to the domain or local to speci c transformations).</p>
      <p>Concerning the latter dimension, we use constraints, as introduced in
Section 3, to impose well-formedness conditions for a domain. We assume that the
host graph to which a rule is applied is well-formed, and we identify mechanisms
to ensure that the transformation process produces another well-formed graph.</p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], we have presented some constructions to derive application conditions
for rules from annotation constraints. By leaving the rule morphism alone, we
maintain a form of separation of concerns, making rule reuse simpler when
different forms of annotation are involved. Intuitively, those constructions work
when a rule adds elements related to elements matched by the left-hand side,
but the annotation constraint imposes these relations to exist only between
elements annotated in speci c ways. An application condition ensures that such
an annotation context already exists in the host graph when the rule is applied.
      </p>
      <p>In this section we focus on situations in which the addition of application
conditions is not su cient, since the required context cannot already exist, in
particular if a newly created element must be annotated in speci c ways. This
would require the right-hand side of a rule to be enriched with the appropriate
annotation, but then the rule would no longer be de ned only on the application
domain. To approach this problem, we consider separately situations violating
global constraints, and situations violating conditions on speci c rules, that we
model as contracts. Since we are interested in rules which add new elements, i.e.
L = K for a DPO rule, we present them as simple morphisms.
6.1</p>
      <sec id="sec-6-1">
        <title>Management of constraints</title>
        <p>As shown in Table 1, licenses can require or forbid the presence of one another.
While the rst case can be modelled by a positive constraint5, we model the
second via forbidden graphs. Figure 6 (left) shows the forbidden graph expressing
that no resource can be annotated with both licenses SA and ND. An analogous
graph will forbid the presence of both licenses in the same bundle. The constraint
on the right requires that each resource be PD, where we use the generic type
name Resource to refer to any of the types from the Resource domain.</p>
        <p>FG</p>
        <p>: Resource
: LicenseAnnotation : LicenseAnnotation</p>
        <p>: License
name="ND"
: License
name="SA"</p>
        <p>P
1 : Resource</p>
        <p>C
1 : Resource
: resLicAnnotation
: LicenseAnn
: annotatesWith</p>
        <p>: License
name="PD"</p>
        <p>The application of a rule may disrupt a constraint, typically by not creating
the proper annotations. Hence, given a constraint , constraint repair actions
are automatically inferred and applied, which modify the derivation relation so
that the result satis es .
5 This would be a constraint with annotations both in P and C, not considered here.
De nition 4 (Constraint repair action). Let 1 : G1 ! G2 be a rule and
2 : G3 ! G4 an annotation constraint. We de ne the relation =) 1; 2 with
reference to Figure 7. For any two graphs G5 and G6 such that (G5; G6) 2=) 1
as witnessed by the leftmost square, and G6 6j= 2 (i.e. there exists a morphism
i5 : G3 ! G6 but no morphism 6 : G4 ! G6 for which the triangle formed by
2, i5 and 6 commutes), we have (G5; G7) 2=) 1; 2 , where G7 is constructed
as the colimit of all the diagrams constructed by taking the pushout of i5 and 2
along G3 for each i5 via the morphisms i7 : G4 ! Gi7 and i4 : G4 ! Gi7. The
set of all the i4 is called a constraint repair action.</p>
        <p>m
G1
G5</p>
        <p>1 / G2
P O m</p>
        <p>i5 }}}}=
~}}}}
/ G6 S
i
4
G3</p>
        <p>2 / G4</p>
        <p>Following Proposition 2 a repair action produces a graph compliant with 2.
Proposition 2. Given G7 and 2 as in De nition 4 we have G7 j=</p>
        <p>Proof. We know that G3 has a match in G5, so that the constraint is violated by
the presence of some element without proper annotation, which is added in each
Gi7 as an e ect of the pushout. Since we only deal with annotation constraints,
each Gi7 does not present violations of 2 which were not in G4, but actually
presents one less violation. By taking the colimit, no violation appears in G7.</p>
        <p>Proposition 3 allows the cumulative application of repair actions.
Proposition 3. Let G6 be as in De nition 4 and M2 = f j2 : Gj3 ! Gj4 j G6 6j=
j2g. Then, let G07 the colimit of all the graphs G7 constructed as in De nition 4
for each j2 2 M2. Then G07 j= j2 for each j2 2 M2.</p>
        <p>Proof. Since the premise of each j2 does not contain annotation elements, no G7
constructed for one constraint can add new violations of any other constraint.
The result then follows by the associativity of colimits.
6.2</p>
      </sec>
      <sec id="sec-6-2">
        <title>Contracts</title>
        <p>Contracts de ne situations in which the application of a rule requires the
production of some annotation, but only in situations in which elements in its left-hand
side are associated with speci c annotations.</p>
        <p>De nition 5 (Contract). Given a rule 2 : G3 ! G4, a contract on 2, ,
is given by a morphism 1 : G1 ! G2 (G1 and G2 typed on T G) together with
spans G1 3 G5 !4 G3, G4 5 G6 !6 G2 (formed by total injective morphisms)
and a morphism 7 : G5 ! G6, (G5 and G6 typed on T G1), such that all the
closed paths in the upper part of Figure 8 commute.</p>
        <p>As an example, the top contract in Figure 9 describes the overall policy
for license assignment: each collection is generated with the same collection of
licenses of the generating service. Here, numbers are used to identify the nodes
common to the rule and the contract, and letters for identifying elements related
by the contract morphism.</p>
        <p>1 : Service</p>
        <p>3 : Request
2: activates</p>
        <p>b : LicenseBundleAnn
f : servLicAnnotation g : annotatesWith</p>
        <p>a: LicenseBundle
d: License 1 : Resource
name="SA" f : resLicAnnotation
dcnta), b : LicenseBundleAnn
ccnt(a)
c : License
name=X
g : annotatesWith
a: LicenseBundle</p>
        <p>2: activates
1 : Service 3 : Request
7 : produces
f : servLicAnnotation b : LicenseBundleAnn
6 : Collection g : annotatesWith
: annotatesWith a: LicenseBundle
: LicenseBundleAnn</p>
        <p>: collLicAnnotation
d: License 1 : Resource
name="SA" f : collLicAnnotation
dcnt(e), b : LicenseBundleAnn
ccnt(e)
c : License
name=X
: Resource
g : annotatesWith
a: LicenseBundle
: collLicAnnotation
: LicenseBundleAnn
e: LicenseBundle : annotatesWith</p>
        <p>We can now model the asymmetry in license extension described in Section 5
with reference to the contract in Figure 9 (bottom): if a copy of a resource
annotated with a bundle including the SA license is generated, the bundle
annotating the new resource must preserve all the original licenses. This forbids the
possibility of contracts which remove some license when SA is present, while it
allows adding more licenses to the bundle, if not in contrast with others already
present. Analogous contracts can be devised for multiple annotations with single
licenses, rather than with a bundle of licenses. It is important to note that the
directionality inherent to this contract would not be expressible via constraints,
which would either impose or forbid the presence of annotations in the bundles
both before and after rule application.</p>
        <p>The application of a domain rule creating new elements typically violates
contracts requiring that they be annotated in certain ways. Hence, actions must
be taken, as speci ed in De nition 6
De nition 6 (Contract enforcement action). Let 2 : G3 ! G4 and be
as in De nition 5. A derivation (G7; G8) 2=) 1 ful lls the contract i for
each morphism 10 : G1 ! G7 such that the leftmost square in the diagram of
Figure 8 commutes, and for each morphism 5i : G6 ! G4 there exists at least
one morphism 8i : G2 ! G8 so that the triangle m 5i 7 : G5 ! G8,
1 3 : G5 ! G2 and 8i : G2 ! G8 commutes.</p>
        <p>If the above does not hold, the pair (G7; G8) is said to breach the contract 1.
A breach can be repaired by a contract enforcement action 11 for 1; 2 on G7
m
by constructing G8 !11 G9 9 G2 as the pushout of the span G8 5i G6 !11 G2.
We denote the derivation thus obtained by (G7; G9) 2=) 2; 1 . Note that if no
10 exists, then (G7; G8) also ful lls the contract.</p>
        <p>Whenever multiple contracts apply to 2, the nal graph to be obtained for
its application is represented by the colimit of all the diagrams thus formed,
noting that in all such diagrams the pushout formed by G7 G3 ! G4 and
G7 ! G8 G4 remains the same. Notice also that by a straightforward
application of the associativity and commutativity of colimits, the same result can be
obtained by successively applying the above construction to individual contracts,
regardless of the order. The proof of Proposition 4 is then straightforward.</p>
      </sec>
      <sec id="sec-6-3">
        <title>Proposition 4. For a rule</title>
        <p>2 and a contract
1 on it, each derivation in
=) 2; 1 ful lls 1.</p>
        <p>Theorem 1 states that applying the enforcement action is equivalent to
applying a rule resulting from the composition of 2 and 1.
(G7; G9) 2=) 02 .</p>
        <p>Theorem 1. Given a rule 2 : G3 ! G4 and a contract 1 : G1 ! G2 on
2, there exists a rule 02 such that for each pair (G7; G9) 2=) 2; 1 , we have
Proof (Sketch.). Referring back to the diagram in Figure 8, the new left-hand
side is constructed as the pushout of the span G1 3 G5 !4 G3, while the
righthand side as the colimit of the collection of spans G4 5i G6 !6 G2. Shown in
Figure 10 are the induced matching morphism G03 ! G7, the new rule 02 : G03 !
G04, and the result G9 of applying 02 to G07 via the induced matching. Since G04
already "contains" G2, there is no need for a subsequent enforcement action.
(G5; G6) 2=) 1; 2 only if G6 6j=
1, of other contracts of the form</p>
        <p>We can also de ne negative contracts, indicated as 1 : G1 !: G2 such that
2. This prevents the application, to the same
01 : G01!G02 with G01 ,! G1 and G2 ,! G02.</p>
        <p>1
7
G1 BoBBBB3BB1B3? _PGO5 ~|1|4||4||||/G3m</p>
        <p>G03
10
9!
02(9!)
2 m/ G4 BoB1B5BB5BiBP O</p>
        <p>B
/ G04
?* _G6 </p>
        <p>The constructions above can be adapted to general, i.e. not only increasing,
DPO rules G3 G10 ! G4 by considering contracts in the form of spans G1
G11 ! G2 and identifying the spans G5 G12 ! G6 and G10 G13 ! G11.</p>
        <p>In all these cases, we consider morphisms which are injective in the
restrictions to D1 of the involved graphs, as well as in the immersion of D1 into D,
while they can be non-injective in the restriction to D2.
7</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Conclusions and Future Work</title>
      <p>
        We have extended the theory of annotation from [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ] by considering the
problem of orphan annotations, left when annotated elements are deleted, and
introducing contracts, relating pre- and post-conditions on the usage of annotated
elements. We have used annotations to model the role of licenses in the open data
environment de ning the approved usages for resources. In this context, license
bundles have been seen as a technique to manage sets of resources homogeneous
with respect to the applicable licenses.
      </p>
      <p>
        With respect to the theory, future research will involve considering
constraints with annotations also in the premise, and to study dependencies and
con icts [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] within sets of contracts and within compositions of rules and
contracts. Also, we want to generalise the notion of contract to that of contract
schemes, allowing the customised generation of contracts for di erent rules.
      </p>
      <p>As concerns the application domain considered in the paper, we plan to
extend this work towards a generic framework for managing licenses, taking into
consideration also other licensing schemes, by which declarative speci cations
of resource usages could be checked for veri cation of conformance to licenses.
Moreover, the mentioned analysis tools in the eld of graph transformations can
be applied to verify the internal consistency of license bundles.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>C.</given-names>
            <surname>Amelunxen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Legros</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>Schurr, and I. Sturmer. Checking and enforcement of modeling guidelines with graph transformations</article-title>
          .
          <source>In Proc. AGTIVE</source>
          <year>2007</year>
          , volume
          <volume>5088</volume>
          <source>of LNCS</source>
          , pages
          <volume>313</volume>
          {
          <fpage>328</fpage>
          . Springer,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>S.</given-names>
            <surname>Auer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bizer</surname>
          </string-name>
          , G. Kobilarov,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lehmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Cyganiak</surname>
          </string-name>
          , and
          <string-name>
            <surname>Z. Ives.</surname>
          </string-name>
          <article-title>DBpedia: A nucleus for a web of open data</article-title>
          .
          <source>In The Semantic Web</source>
          , volume
          <volume>4825</volume>
          <source>of LNCS</source>
          , pages
          <volume>722</volume>
          {
          <fpage>735</fpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>F.</given-names>
            <surname>Bond</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Paik</surname>
          </string-name>
          .
          <article-title>A survey of wordnets and their licenses</article-title>
          .
          <source>In Proc. GWC</source>
          <year>2012</year>
          , pages
          <fpage>64</fpage>
          {
          <fpage>71</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>P.</given-names>
            <surname>Bottoni</surname>
          </string-name>
          , E. Guerra, and J. de Lara.
          <article-title>A language-independent and formal approach to pattern-based modelling with support for composition and analysis</article-title>
          .
          <source>Information &amp; Software Technology</source>
          ,
          <volume>52</volume>
          (
          <issue>8</issue>
          ):
          <volume>821</volume>
          {
          <fpage>844</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>P.</given-names>
            <surname>Bottoni</surname>
          </string-name>
          and
          <string-name>
            <given-names>F. Parisi</given-names>
            <surname>Presicce</surname>
          </string-name>
          .
          <article-title>Annotation processes for exible management of contextual information</article-title>
          .
          <source>JVLC</source>
          ,
          <volume>24</volume>
          (
          <issue>6</issue>
          ):
          <volume>421</volume>
          {
          <fpage>440</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>P.</given-names>
            <surname>Bottoni</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Parisi-Presicce</surname>
          </string-name>
          .
          <article-title>Annotations on complex patterns</article-title>
          .
          <source>ECEASST</source>
          ,
          <volume>58</volume>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>H.</given-names>
            <surname>Ehrig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Ehrig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Prange</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Taentzer</surname>
          </string-name>
          .
          <source>Fundamentals of Algebraic Graph Transformation</source>
          . Springer,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>G.</given-names>
            <surname>Engels</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lohmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sauer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Heckel</surname>
          </string-name>
          .
          <article-title>Model-driven monitoring: An application of graph transformation for design by contract</article-title>
          .
          <source>In Proc. ICGT</source>
          <year>2006</year>
          , volume
          <volume>4178</volume>
          <source>of LNCS</source>
          , pages
          <volume>336</volume>
          {
          <fpage>350</fpage>
          . Springer,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. C. Fellbaum, editor.
          <source>WordNet: An Electronic Lexical Database</source>
          . MIT Press,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>G.</given-names>
            <surname>Gangadharan</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>DAndrea</surname>
          </string-name>
          .
          <article-title>Service licensing: conceptualization, formalization, and expression</article-title>
          .
          <source>Serv. Orient. Comp. and Appl.</source>
          ,
          <volume>5</volume>
          (
          <issue>1</issue>
          ):
          <volume>37</volume>
          {
          <fpage>59</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>R.</given-names>
            <surname>Garca</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Gil</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Delgado</surname>
          </string-name>
          .
          <article-title>A web ontologies framework for digital rights management</article-title>
          .
          <source>Arti cial Intelligence and Law</source>
          ,
          <volume>15</volume>
          (
          <issue>2</issue>
          ):
          <volume>137</volume>
          {
          <fpage>154</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>A.</given-names>
            <surname>Habel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Heckel</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Taentzer</surname>
          </string-name>
          .
          <article-title>Graph grammars with negative application conditions</article-title>
          .
          <source>Fundam</source>
          . Inform.,
          <volume>26</volume>
          (
          <issue>3</issue>
          /4):
          <volume>287</volume>
          {
          <fpage>313</fpage>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>A.</given-names>
            <surname>Habel and K.-H. Pennemann</surname>
          </string-name>
          .
          <article-title>Correctness of high-level transformation systems relative to nested conditions</article-title>
          .
          <source>MSCS</source>
          ,
          <volume>19</volume>
          (
          <issue>2</issue>
          ):
          <volume>245</volume>
          {
          <fpage>296</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>J. H. Hausmann</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Heckel</surname>
            , and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Lohmann</surname>
          </string-name>
          .
          <article-title>Model-based development of web services descriptions enabling a precise matching concept</article-title>
          .
          <source>Int. J. Web Service Res.</source>
          ,
          <volume>2</volume>
          (
          <issue>2</issue>
          ):
          <volume>67</volume>
          {
          <fpage>84</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>M.</given-names>
            <surname>Koch</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Parisi</surname>
          </string-name>
          <article-title>Presicce. UML speci cation of access control policies and their formal veri cation</article-title>
          .
          <source>Software and System Modeling</source>
          ,
          <volume>5</volume>
          (
          <issue>4</issue>
          ):
          <volume>429</volume>
          {
          <fpage>447</fpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. T. Mens, G. Taentzer, and
          <string-name>
            <given-names>O.</given-names>
            <surname>Runge</surname>
          </string-name>
          .
          <article-title>Analysing refactoring dependencies using graph transformation</article-title>
          .
          <source>Software and System Modeling</source>
          ,
          <volume>6</volume>
          (
          <issue>3</issue>
          ):
          <volume>269</volume>
          {
          <fpage>285</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>M. Naeem</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Heckel</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Orejas</surname>
            , and
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Hermann</surname>
          </string-name>
          .
          <article-title>Incremental service composition based on partial matching of visual contracts</article-title>
          .
          <source>In Proc. FASE</source>
          <year>2010</year>
          , volume
          <volume>6013</volume>
          <source>of LNCS</source>
          , pages
          <volume>123</volume>
          {
          <fpage>138</fpage>
          . Springer,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>R.</given-names>
            <surname>Navigli</surname>
          </string-name>
          and
          <string-name>
            <given-names>S. P.</given-names>
            <surname>Ponzetto. BabelNet:</surname>
          </string-name>
          <article-title>The automatic construction, evaluation and application of a wide-coverage multilingual semantic network</article-title>
          .
          <source>Arti cial Intelligence</source>
          ,
          <volume>193</volume>
          :
          <fpage>217</fpage>
          {
          <fpage>250</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>F.</given-names>
            <surname>Orejas</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Lambers</surname>
          </string-name>
          .
          <article-title>Symbolic attributed graphs for attributed graph transformation</article-title>
          .
          <source>ECEASST</source>
          ,
          <volume>30</volume>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20. V.
          <article-title>Rodr guez-Doncel, S. Villata, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Gomez-Perez</surname>
          </string-name>
          .
          <article-title>A dataset of RDF licenses</article-title>
          .
          <source>In Proc. (JURIX)</source>
          <year>2014</year>
          , pages
          <fpage>187</fpage>
          {
          <fpage>189</fpage>
          . IOS Press,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>O.</given-names>
            <surname>Runge</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Ermel</surname>
          </string-name>
          , and G.
          <source>Taentzer. AGG 2</source>
          .
          <article-title>0 - new features for specifying and analyzing algebraic graph transformations</article-title>
          .
          <source>In Proc. AGTIVE</source>
          <year>2011</year>
          , volume
          <volume>7233</volume>
          <source>of LNCS</source>
          , pages
          <volume>81</volume>
          {
          <fpage>88</fpage>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <given-names>O.</given-names>
            <surname>Runge</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. A.</given-names>
            <surname>Khan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Heckel</surname>
          </string-name>
          .
          <article-title>Test case generation using visual contracts</article-title>
          .
          <source>ECEASST</source>
          ,
          <volume>58</volume>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>