Page 1
GRANT AGREEMENT: 601138 | SCHEME FP7 ICT 2011.4.3
Promoting and Enhancing Reuse of Information throughout the Content Lifecycle taking account of Evolving Semantics [Digital
Preservation]
“This project has received funding from the European Union’s
Seventh Framework Programme for research, technological
development and demonstration under grant agreement no601138”.
AUTOMATIC POLICY APPLICATION AND CHANGE
MANAGEMENTFrom model to real world. A use case demonstration with PERICLES
technologies
Fabio Corubolo (University of Liverpool)and PERICLES partners*
Page 2
▶ Johannes Biermann, Claudio Leone, Anna Eggers (UGOE)
▶ Marina Riga, Stratos Kontopoulos (CERTH)
▶ David De Weerdt (Spaceapps)
▶ Jean-Yves Vion-Dury (XRCE)
▶ Jérôme Fuselier (ULIV)
▶ Simon Waddington (KCL)
* credits
Page 3
▶ How policies can be modelled, implementedand automatically applied using PERICLEStools
▶ How policy change can be managed with the tools
▶ A general architecture for change management
What we want to demonstrate
Page 4
▶ SEVIRI Images are data from the Meteosat Second
Generation (MSG) geostationary satellite with
Spinning Enhanced Visible and InfraRed Imager
(SEVIRI)
▶ Policy: make images public after an embargo period
▶ We implement an aspect of the policy: making images
public
▶ We manage change:
the embargo period being changed from 24 to 12
hours
▶ The rule will automatically publish the images based
on the parameter value
EUMETSAT scenario
Page 6
EUMETSAT data release policy
“Meteosat Data and Derived Products older than 24 hours are distributed on request from the EUMETSAT Data Archive in digital and graphical form via the associated operational service in formats which represent both full and partial spatial coverage as well as both full and partial spatial resolution.”
(EUMETSAT data policy: http://www.eumetsat.int/website/home/AboutUs/LegalInformation/DataPolicy/index.html, S.14)
Policy
Page 7
Data Release Date
PolicyStatements: natural
language; SPIN rule
Embargo Period: 24
Web Portal
Service Interface
SEVIRI Image
Digital ObjectCreationDate: timestamp
ReleaseState: public / private
Location: URI
constrains
providesAccessTo
DEM: Focus on policy aspect
Page 8
● Modelling and implementation of a policy with help
of PERICLES ontologies and tools
● Change of release policy from 24 hrs into 12 hrs
● Model Driven Approach: From reality to model and
back to reality
● Architecture of Approach: PERICLES ontologies and
tools can be combined according to a specific use
case.
What you will see
Page 9
PERICLES based Architecture and WF
ERMR
LRM-S
SPIN rule
engine
PERSIsT
APIEcoBuilder
Policy
editor
ProcessesRest API
DEM
DEM LRM-Delta:
Change policy parameter
MICE
DEM
DEM2
LRM-delta:
change
image
release
state
DEM2
Public web
portal
Page 10
▶ Ecobuilder is used to create a DEM (Digital Ecosystem Model) for the EUMETSAT scenario
▶ The model is submitted to the ERMRrepository
Step 1
ERMR
EcoBuilder
DEM
Page 11
▶ GUI & Java API for DEM scenario creation
▶ The policy and SPIN rule are expressed in the model
EcoBuilder
Page 12
▶ Large scale distributed data store and model
repository (triple store)
▶ Used for PERICLES models and data
▶ Accessible via Web interface or RESTful API
▶ Every action in ERMR triggers a notification
that can be used to execute responding
actions
ERMR
Page 13
Output
java -cp EcoBuilder.jar experiments.SpacePolicyChangeConnector /tmp/ https://127.0.0.1 space user pass
...
…
...
Page 14
ERMR
LRM-S
SPIN rule
engine
PERSIsT
APIEcoBuilder
Policy
editor
ProcessesRest API
DEM
DEM LRM-Delta:
Change policy parameter
MICE
DEM
DEM2
LRM-delta:
change
image
release
state
DEM2
Public web
portal
Page 15
Step 2
▶ User changes the embargo period▶ Policy editor sends DEM, DEM2 to the LRM Services
(LRM-S) and SPIN rule engine
LRM-SPolicy
editor
DEM
DEM
DEM2
SPIN rule
engine
DEM2
Page 16
Web-based tool for creating and modifying a consistent sets of policies.
▶ Template-based with automatically propagating variables
▶ Support for custom policy models▶ Can integrate with digital ecosystems▶ Can execute processes linked to policies▶ Export to PDF, JSON
Policy Editor
Page 17
DEM:DEM-Scenario:Releasedatepolicytimebeforerelease "24"
Output
DEM2:DEM-Scenario:Releasedatepolicytimebeforerelease "12" .
Page 18
ERMR
LRM-S
SPIN rule
engine
PERSIsT
APIEcoBuilder
Policy
editor
ProcessesRest API
DEM
DEM LRM-Delta:
Change policy parameter
MICE
DEM
DEM2
LRM-delta:
change
image
release
state
DEM2
Public web
portal
Page 19
Step 3
LRM-S
PERSIsT
API
DEM
LRM-Delta:
Change policy parameter
DEM2
▶ LRM-S generates and sends the Policy LRM-Delta to PERSIsT
Page 20
▶ The LRM Services (LRM-S) provide mechanisms to
support the change of LRM based ontologies.
▶ It embeds an interpreter for a dedicated Stream-
based and Reactive language (ReAL) for handling RDF
triples
▶ It offers services through a REST API
▶ The basic services concern digital resources creation,
deletion and modification, as well as dependency
insertion.
▶ In this workflow, an LRM-Diff service is used to
compare RDF graphs and create LRM-Deltas to
describe the change
Linked Resource Model (Services)
Page 21
The two following LRM-Deltas are generated to represent the change between the two models, and sent to PERSIsT:
<urn:delta:b7cb95396767> rdf:type LRM:RDF-Delta;
LRM:deletion <urn:stmt:c511641d285a>.
<urn:stmt:c511641d285a>
rdf:subject DEM-Scenario:releasedatepolicy ;
rdf:predicate DEM-
Scenario:releasedatepolicytimebeforerelease; rdf:object
"24".
<urn:delta:d77bb0d234c4> rdf:type LRM:RDF-Delta;
LRM:insertion <urn:stmt:d96eefaa4d9d>.
<urn:stmt:d96eefaa4d9d>
rdf:subject DEM-Scenario:releasedatepolicy;
rdf:predicate DEM-
Scenario:releasedatepolicytimebeforerelease;
rdf:object "12".
Output
Page 22
ERMR
LRM-S
SPIN rule
engine
PERSIsT
APIEcoBuilder
Policy
editor
ProcessesRest API
DEM
DEM LRM-Delta:
Change policy parameter
MICE
DEM
DEM2
LRM-delta:
change
image
release
state
DEM2
Public web
portal
Page 23
Step 4
SPIN rule
engine
PERSIsT
API
LRM-delta:
change
image
release
state
DEM2
▶ SPIN Rule Engine receives the new DEM; executes the policy rule reporting the results to the PERSIsT API
Page 24
▶ RESTFUL web application and API + CLI▶ Uses Apache Jena and TopQuadrant SPIN API ▶ Open source, with full documentation
Two modes of operation:
▶ DEM/LRM specific:◦ Extracts and executes the rules from DEM
models◦ Reports the changes back to models with
PERSIsT API. ▶ General: Execute SPIN rule inference and constraint
checking
SPIN Rule engine
Page 25
SPIN Rule engine processing
DEM2
RULE
LRM-delta:
change
image
release
state
DEM-Scenario:SPINRULE
a DEM-Policy:PolicyStatement ;
DEM-Policy:format "formal" ;
DEM-Policy:language "SPIN" ;
LRM:definition """
<http://www.pericles-project.eu/ns/DEM-Core#DigitalObject>
spin:rule [
rdf:type sp:Construct ;
[...]
DEM-Scenario:SEVIRIImages
a DEM-Core:DigitalObject ;
rdfs:label "SEVIRI Images"@en ;
LRM:hasPart DEM-Scenario:SEVIRIImage1 , DEM-Scenario:SEVIRIImage2 , DEM-Scenario:SEVIRIImage3
, DEM-Scenario:SEVIRIImage4 ;
LRM:specifiedBy DEM-Scenario:HDFFormat .
DEM-Scenario:SEVIRIImage3
a DEM-Core:DigitalObject ;
[...]
DEM-Scenario:SEVIRIImage2
lrm:changedBy [ a lrm:RDF-Delta ;
lrm:deletion [ a rdf:Statement ;
rdf:object "private" ;
rdf:predicate DEM-Scenario:releaseState
] ;
lrm:insertion [ a rdf:Statement ;
rdf:object "public" ;
rdf:predicate DEM-Scenario:releaseState
]
] .
[...]
Page 26
ERMR
LRM-S
SPIN rule
engine
PERSIsT
APIEcoBuilder
Policy
editor
ProcessesRest API
DEM
DEM LRM-Delta:
Change policy parameter
MICE
DEM
DEM2
LRM-delta:
change
image
release
state
DEM2
Public web
portal
Page 27
Step 5
ERMR
PERSIsT
API
LRM-Delta:
Change policy parameter
LRM-delta:
change
image
release
state
▶ PERSIsT API receive DELTAS from LRM-S and SPIN rule engine, converts to queries and updates the ERMR
Page 28
▶ Operates as a semantic interpretation (translation) layer of the ontology stored in the ERMR
▶ Ontology in ERMR should be LRM-compliant▶ Two main web services
1. Creates dependency graphs2. a) Converts deltas to SPARQL update queries
b) Updates the ERMR repository according to LRM-deltas
• Input (same parameters for both services):• delta_stream• ERMR_repository
PERSIsT API
Page 29
PERSIsT API processing
LRM-delta:
change
image
release
state
DEM-Scenario:SEVIRIImage1
lrm:changedBy [ a lrm:RDF-Delta ;
lrm:deletion [ a rdf:Statement ;
rdf:object "private" ;
rdf:predicate DEM-Scenario:releaseState
] ;
lrm:insertion [ a rdf:Statement ;
rdf:object "public" ;
rdf:predicate DEM-Scenario:releaseState
]
] .
DEM-Scenario:SEVIRIImage2
lrm:changedBy [ a lrm:RDF-Delta ;
lrm:deletion [ a rdf:Statement ;
rdf:object "private" ;
rdf:predicate DEM-Scenario:releaseState
] ;
lrm:insertion [ a rdf:Statement ;
rdf:object "public" ;
rdf:predicate DEM-Scenario:releaseState
]
] .
"SPARQL_delete": "DELETE DATA {
<http://www.pericles-project.eu/ns/DEM-Scenario#SEVIRIImage1> <http://www.pericles-
project.eu/ns/DEM-Scenario#releaseState> \"private\" .
<http://www.pericles-project.eu/ns/DEM-Scenario#SEVIRIImage2> <http://www.pericles-
project.eu/ns/DEM-Scenario#releaseState> \"private\" . }",
"SPARQL_insert": "INSERT DATA {
<http://www.pericles-project.eu/ns/DEM-Scenario#SEVIRIImage1> <http://www.pericles-
project.eu/ns/DEM-Scenario#releaseState> \"public\" .
<http://www.pericles-project.eu/ns/DEM-Scenario#SEVIRIImage2> <http://www.pericles-
project.eu/ns/DEM-Scenario#releaseState> \"public\"
ERMR
Update triples
queries
Page 30
ERMR
LRM-S
SPIN rule
engine
PERSIsT
APIEcoBuilder
Policy
editor
ProcessesRest API
DEM
DEM LRM-Delta:
Change policy parameter
MICE
DEM
DEM2
LRM-delta:
change
image
release
state
DEM2
Public web
portal
Page 31
Step 6
▶ The ERMR DEM model is updated (images made public);
▶ The public web portal now shows the new released images
ERMRPublic web
portal
Page 32
1. EcoBuilder generate DEM, send to ERMR2. Policy editor modify DEM policy parameter
DEM, DEM2 sent to the LRM ServicesDEM2 sent to the SPIN Rule Engine
3. LRM-S generates, sends the Policy LRM-Delta to PERSIsT API
4. SPIN RE extracts, executes the rules; sends new deltas for public file release to PERSIsT API
5. PERSIsT API receive DELTAS and updates ERMR6. The ERMR DEM model is updated (images made
public);ERMR UI can now show the new released images
Complete Workflow
Page 33
Results and Conclusion
▶ Presented many of the PERICLES tools in context▶ Modelling concepts▶ Demonstrated a simple case of change
management ▶ And policy implementation ▶ Showed a modular, flexible architecture that can
be extended
▶ Still… no memes?
Page 34
Questions and Answers
Page 35
Most tools in this demo are open source GITHUB:https://github.com/pericles-project/ {
DEM, EcoBuilder,ERMR , SPIN-rule-engine, PERSIsT-API}
Thank you!
Page 36
Part of a complex architecture
Page 37
Why we adopt complex models?
▶ Standard, ▶ make use of ontology infrastructure (SPIN engine etc)▶ can be parameterized▶ common language between PERICLES components
and external tools
Complexity of models
Page 38
Complexity of Digital Ecosystems ▶ Digital Ecosystems are interwoven evolving networks of
◦ digital objects,◦ policies, ◦ processes,◦ technical services, ◦ and user communities
within constantly changing and interacting environments influencing digital objects.
Space Science Scenario: Experiment Workflow
Page 41
▶ Base URL: http://persist.iti.gr:5000/api▶ Written in Python 2.7, by additionally utilizing existing
libraries: ◦ RDFLib - handles ontology-related data◦ Requests - handles external http requests◦ Flask - wraps all methods and serves them through HTTP
requests ▶ Services - POST methods
1. http://persist.iti.gr:5000/api/dependency_graph2. http://persist.iti.gr:5000/api/conversion
PERSIsT API - Technical details
Page 42
▶ GUI & Java API▶ Simplifies the creation of the model▶ Usable by scenario experts without the necessity to write
ontology or Java sources▶ Facilitates integration into workflows ▶ Uses Java Jena API - can output OWL/XML or Turtle
▶ The policy and SPIN rule are expressed in the model
EcoBuilder