Reactive Policies - L3S Research Center

Policy Representation & Reasoning
Juri L. De Coi, Philipp Kärger, Daniel Olmedilla, Sergej Zerr
L3s Research Center / Leibniz Hannover University
L3S Research Seminar
Hannover, 18th April, 2008
Outline
Introduction to Policy Representation & Reasoning
 Motivation, requirements, state of the art
L3S Policy framework
 Protune in a Nutshell: framework and language
Protune in Action: Policies on the Web
 Static content protection and dynamic generation
Reactive Policies, Current and Further Policy Work
 Event reactivity, research ideas
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
2
Introduction:
Policy Representation & Reasoning
Daniel Olmedilla
Policy Representation & Reasoning
Problem
Institutions, companies and people need to control the way they




Make business
Take decisions
Offer their assets
Etc …
Computers help us on our daily work performing tasks
 that we cannot perform (or we do it worse)
 hard to control manually, time-consuming, expensive, errorprone
 automatically on our behalf
But generally, we need to control how decisions and actions are
taken
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
4
Policy Representation & Reasoning
What is a Policy?
Wikipedia:
 deliberate plan of action to guide decisions and achieve
rational outcome(s)
 Not necessarily related to IT
In an IT setting:
 Set of considerations designed to guide decisions of
courses of actions
Broad definition:
 Set of statements defining the behaviour of an entity in a
given situation
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
5
Policy Representation & Reasoning
Policies are everywhere (I)
Rules of ethics for robots
1. A robot may not injure a human being or, through inaction,
allow a human being to come to harm.
2. A robot must obey orders given to it by human beings, except
where such orders would conflict with the First Law.
3. A robot must protect its own existence as long as such
protection does not conflict with the First or Second Law.
[Isaac Asimov. Runaround. 1942 ]
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
6
Policy Representation & Reasoning
Policies are everywhere (II)
Declarative
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
7
Policy Representation & Reasoning
Policies are everywhere (III)
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
8
Policy Representation & Reasoning
Policies are everywhere (IV)
 B2B contracts
 e.g. quantity flexible contracts, late delivery penalties, etc.
 Negotiation
 e.g. rules associated with auction mechanisms
 Security
 e.g. access control policies
 Privacy
 Information Collection Policies (aka “ P3P Privacy Policies”)
 Obfuscation Policies
 Workflow management
 What to do under different sets of conditions
 Context aware computing
 What service to invoke to access a particular contextual
attribute
 Context-sensitive preferences
[ by Norman Sadeh, Semantic Web Policy Workshop panel, ISWC 2005 ]
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
9
Policy Representation & Reasoning
The goal
Build applications/agents where
 Behaviour is flexible
 Can be changed/updated dynamically
 without re-coding, re-compiling, re-installing,
etc…
 In a costless manner
 Can be managed by administrators/users without
needing to be computer experts
 Can be understood by normal users
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
10
Policy Representation & Reasoning
Benefits











Explicit license for autonomous behaviour
Reusability
Efficiency
Extensibility
Context-sensitivity
Verifiability
Support for simple as well as sophisticated agents
Protection from poorly-designed, buggy or malicious agents
Reasoning about agent behaviour
Compact representation, possibly declarative
Etc.
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
11
Policy Representation & Reasoning
Requirements / Challenges
 Many policies, one framework
 Conflict Resolution
 Integration with external sources
 Policies as active objects
 Executing actions
 Negotiations
 User awareness and control
 Cooperative enforcement
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
12
Policy Representation & Reasoning
Many policies, one framework (I)
The term policy covers:
 Security/Privacy policies, Trust management
 Business rules
 Quality of Service directives
 Service-level agreements
 Communication and conversation policies
 and more...
In many cases they are interleaved
 If customers are younger than 26 give a 20% discount on international tickets
 Up to 15% of network bandwidth can reserved if payment is done with an accepted
credit card
 Customers can rent a car if they are 18 or older, and exhibit a driving license and a
valid credit card
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
13
Policy Representation & Reasoning
Many policies, one framework (II)
It is appealing to integrate all policies in one
framework
 One common infrastructure
 for interoperability and decision making
 Where policies can be harmonized & coordinated
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
14
Policy Representation & Reasoning
Conflict Resolution (I)
Positive authorization
You can access
file123.txt
Obligation
You must inform
your boss
Alice
Negative authorization
You can not
access file123.txt
Dispensation
You don’t need to
inform your boss
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
Ivan
April 18th, 2008
15
Policy Representation & Reasoning
Conflict Resolution (II)
Security typically assumes “everything is
denied by default”  no need for disallow
policies
 The cost of disclosing a sensitive resource
is higher than not disclosing a public one
But, if there exists the need, then it is
required to provide techniques for
 Conflict detection
 Conflict harmonization
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
16
Policy Representation & Reasoning
Integration with external systems
Policies are not islands
Decisions need data, information, and knowledge
 Each organization has its own
 Already available through legacy software and data
 A realistic solution must interoperate with them
 Third parties
 Credit card sites for validity checking
 External databases
 Variety of web resources
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
17
Policy Representation & Reasoning
Negotiations (I)
Alice
Bob
Step 1: Alice requests a service from Bob
Step 2: Bob discloses his policy protecting the service
Step 3: Alice discloses her policy protecting the VISA
Step 4: Bob discloses his BBB credential
Step 5: Alice discloses her VISA card credential
Service
De Coi, Kärger, Olmedilla, Zerr
Step 6: Bob grants access to the service
L3S Research Seminar
April 18th, 2008
18
Policy Representation & Reasoning
Negotiations (II)
Used for
 Access control
 Service-level agreements
 Dynamic contracts
 E.g., in web service composition
 Autonomic computing
 Pervasive environments
 E.g., sensor networks
 Etc.
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
19
Policy Representation & Reasoning
User awareness and control
 Explain policies and system decisions
 Make rules & reasoning intelligible to the common user
 Encourage people to personalize their policies
 Make it easy for users to write their own rules
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
20
Policy Representation & Reasoning
Cooperative Policy Enforcement
Crucial for the success of a service
 Never say (only) “no”!
 Encourage first-time users
You can’t open this
door, but you can
ask Alice for
permission
 Who don't know how to use your service
 Explain policy decisions
 Especially failures
 Advanced queries: Why not
 Advanced queries: How-to, What-if
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
21
Policy Representation & Reasoning
Main State of the Art Approaches
Ponder
 OO language, well established, focus on network management
XACML
 Standard by OASIS, it being taken up by companies
KAOS
 Based on DL reasoning
REI
 Combination of DL representation and LP semantics
PeerTrust
 Based on guarded distributed logic programs
And many others
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
22
Protune policy framework:
(not too) technical details
Juri Luca De Coi
Protune Policy Framework
Outline
 Getting started
 Protune Features
 Usability issues
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
24
Getting started
Protune Policy Framework
Overview
Alice
Bob
Policy
……….
Intelligent
policy
engine
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
Request
Decision
April 18th, 2008
26
Protune Policy Framework
Just to get the flavor...
IF conditions are fullfilled
THEN allow action
 disclose(‘/EWSCpaper2008.pdf’) 
sendL3SEmployeeId.
A resource can be
disclosed if its status
is „published“
 disclose(X) 
status(X, published).
EWSCpaper2008.pdf
can be disclosed to
the other peer if it
has sent an L3S
employee id.
status(‘/EWSCpaper2007.pdf’, published).
status(‘/EWSCpaper2008.pdf’, notPublished).
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
27
Protune Features
Protune Policy Framework
Standard example
 disclose(X) 
status(X, notPublished),
sendL3SEmployeeId.
Actions may be
needed in order
to make
decisions
status(‘/EWSCpaper2007.pdf’, published).
status(‘/EWSCpaper2008.pdf’, notPublished).
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
29
Protune Policy Framework
Metapolicy “type”
 disclose(X) 
status(X, notPublished),
sendL3SEmployeeId.
Usual
predicate
Action
status(‘/EWSCpaper2007.pdf’, published).
status(‘/EWSCpaper2008.pdf’, notPublished).
sendL3SEmployeeId->type:action.
status(X, Y)->type:logical.
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
30
Protune Policy Framework
Metapolicy “actor”
 disclose(X) 
status(X, notPublished),
sendL3SEmployeeId.
Who
executes
the action?
The requester?
The local system?
status(‘/EWSCpaper2007.pdf’, published).
A third party?
status(‘/EWSCpaper2008.pdf’, notPublished).
sendL3SEmployeeId->type:action.
sendL3SEmployeeId->actor:peer.
status(X, Y)->type:logical.
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
31
Protune Policy Framework
Available actions
 Access to relational databases
 Access to RDF repositories
 Credential exchange
 Searching of regular expressions within a file
 Interface to an LDAP server
 Time and location management
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
32
Protune Policy Framework
Explanations
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
33
Usability issues
Protune Policy Framework
Usability issues
 download(User, Resource) 
authenticated(User),
have(User, Subscription),
availableFor(Subscription, Resource).
authenticated(‘Bob’).
have(‘Bob’, lncsSubscription).
availableFor(lncsSubscription, ESWCpaper2007.pdf).
authenticated(User)->type:logical.
Every user who is
availableFor(Subscription, Resource)->type:logical.
authenticated and who
have(User,
has a Subscription)->type:logical.
subscription that is
available for a resource
can download the
resource.
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
35
Protune Policy Framework
Using natural language: Problem
How to deal with ambiguities?
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
36
Protune Policy Framework
Using natural language: Ambiguities (I)
Bob looks at the girl on the hill with a telescope
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
37
Protune Policy Framework
Using natural language: Ambiguities (II)
2 girls lift 2 tables
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
38
Protune Policy Framework
Solution: Use a controlled natural language
What does “controlled” mean?
 Rules are used in order to automatically
disambiguate ambiguous sentences
 Bob looks at the girl on the hill
with a telescope
Example disambiguation rule:
Propositional phrases refer to the predicate of the sentence
 Only a subset of valid English sentences
are valid sentences
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
39
Protune Policy Framework
Disambiguation: using ACE (I)
Bob looks at the girl on the hill with a telescope
Bob looks
with a
telescope at
the girl who
is on the hill.
De Coi, Kärger, Olmedilla, Zerr
Bob looks at
the girl on
the hill with a
telescope.
L3S Research Seminar
Bob looks at
the girl who
is on the hill
with a
telescope.
April 18th, 2008
40
Protune Policy Framework
Disambiguation: using ACE (II)
2 girls lift 2 tables
2 girls lift 2
tables.
De Coi, Kärger, Olmedilla, Zerr
Each of 2
girls lifts one
table.
L3S Research Seminar
Each of 2
girls lifts 2
tables.
April 18th, 2008
41
Protune Policy Framework
The ACE  Protune translation (I)
Every user who is authenticated and who has a subscription
that is available for a resource can download the resource.
drs([], [
drs([A, B, C, D, E, F, G, H], [
object(A, user, countable, na, eq, 1)-1,
property(B, authenticated, pos)-1,
predicate(C, be, A, B)-1,
object(D, subscription, countable, na, eq, 1)-1,
object(E, resource, countable, na, eq, 1)-1,
property(F, available, pos)-1,
predicate(G, be, D, F)-1,
modifier_pp(G, for, E)-1,
predicate(H, have, A, D)-1
])
=>
drs([], [
<>
drs([I], [
predicate(I, download, A, E)-1
])
])
]).
De Coi, Kärger, Olmedilla, Zerr
download(User, Resource) 
authenticated(User),
‘available#for’(Subscription, Resource),
have(User, Subscription).
L3S Research Seminar
April 18th, 2008
42
Protune Policy Framework
The ACE  Protune translation (II)
Every user who provides a declaration whose
username is the user's name and whose password
is the user's password is authenticated.
authenticated(User) 
User.name:Username,
User.password:Password,
provide(User, Declaration),
Declaration.password:Password,
Declaration.username:Username.
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
43
Protune Policy Framework
The ACE  Protune translation (III)
Every user who sends a credential
• that is valid and
• whose type is "creditCard" and
• whose owner is authenticated and
• on which a price is charged
pays the price with "creditCard".
'pay#with'(User, Price, creditCard) 
valid(Credential),
Credential.type:creditCard,
authenticated(Owner),
'charged#on'(Price, Credential),
send(User, Credential),
Credential.owner:Owner.
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
44
Policy Based Protection and
Personalized Generation
of Web Content
Sergej Zerr
Protune in Action: Policies on the Web
Trust within an Open Environment
A
x
x
B
x
Bookstore
Web server
De Coi, Kärger, Olmedilla, Zerr
LMS
L3S Research Seminar
April 18th, 2008
46
Protune in Action: Policies on the Web
Using Trust Negotiation
Web Package
x
Applet
Servlet Container
(e.g Tomcat)
var protectedResources=
new Array( ‘http://test.de/test.jsp‘ );
<poljsp:policycondition policyname=
"exchangedCredential(member)“ >
<poljsp:iftrue>Success!!</poljsp:iftrue>
</poljsp:policycondition>
PolicyFilter.Jar
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
47
1. Reactive Policies
2. More policy research topics
Philipp Kärger
Reactive Policies
Always accept files sent
L3S members can
My students
While doing valuable
research … by L3S members but
only call me during
business hours.
can call me
only on
Wednesday
morning.
After the
semester,
deny their
calls.
only if it’s not an exe file.
Show my date of birth
only to family members.
Notify me if one of my
contacts has birthday
and goes online.
De Coi, Kärger, Olmedilla, Zerr
Automatically accept
“share contact dates”
for L3S members and
for the contacts of my
family.
If someone phones me while I
am on a call, deny the call
and open a chat instead.
L3S Research Seminar
April 18th, 2008
49
Reactive Policies
Current Policies
they define under which conditions things are true, e.g.,
 who exactly gets access
 why we grant access
 what is needed to get access
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
50
Reactive Policies
What is a reactive policy?
But what is missing in
current policy frameworks?
When is the policy evaluated?
 Triggering Events
What exactly happens if a policy is evaluated to true or false?
 Actions (as reactions to events)
IF EVENT “call comes in” HAPPENS
AND “I am on another call” HOLDS
PERFORM ACTION “deny call and open chat”
Reactivity!
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
If someone
phones me while I
am on a call, deny
the call and open
a chat instead.
April 18th, 2008
51
Reactive Policies
Reactivity
Reactivity in Databases:
“Active Database Systems”, Book, 1995
many more
Reactivity on the web:
“An Event Condition Action Language for XML”, WWW2002
EDBT 2006 Workshop “Reactivity on the Web”
REWERSE Work Package “Evolution and Reactivity”
some more
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
52
Reactive Policies
Approach
Claim:
We need policies that allow for reactivity.
Solution:
Reactive Policies
also called Event Condition Action Policies
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
53
Reactive Policies
Event Condition Action Policies
- always three components:
- Event: when is the rule evaluated
- Condition: what has to be satisfied
- Action: what is the reaction to the event
ON a call comes in
IF I am on another call
DO deny call and open chat
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
If someone
phones me while I
am on a call, deny
the call and open
a chat instead.
April 18th, 2008
54
Reactive Policies
Solution
How do we get all this to work?
r³ and Protune
Combining a Reactive Framework and a Policy Framework
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
55
Reactive Policies
r3 – Resourceful Reactive Rules
(developed at the AI Center, Universida de Nova de Lisboa (Portugal))
(Semantic) Web Rule Engine for Reactive Rules
evaluates rules of the form:
<rule>
<event>myEventLanguage:SkypeCallComesIn(User)</event>
<condition>myConditionLanguage:isNotTrusted(User)</condition>
<action>myActionLanguage:denyCall(User)</action>
</rule>
plugging in arbitrary languages makes it really flexible
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
56
Reactive Policies
Combining r3 and Protune
any event language
(e.g., XChange, Prova)
Protune goals
<rule>
<event>myEventLanguage:SkypeCallComesIn(User)</e
vent>
<condition>PROTUNE:isNotTrusted(User)</condition>
<action>PROTUNE:denyCall(User)</action>
</rule>
Protune external
actions
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
57
Reactive Policies
Benefits
Protune
• allows for negotiations, information
exchange
• provides explanations
• allows for (external) actions
enhance
reactivity with
policies
r³
making
policies
reactive
De Coi, Kärger, Olmedilla, Zerr
• allows for arbitrary event languages
• evalutates Event Condition Action
rules
• handles the binding across events,
conditions, actions
L3S Research Seminar
April 18th, 2008
58
Reactive Policies
Summary
• Reactive Policies – policy-enabled Reactivity
• policies need some kind of reactivity
 no current policy framework allows for reactivity
 no current reactive rule framework allows for policies
• ECA policies
 provide access control
 provide semantics for events and actions
• combining r³ and Protune merges both worlds
 advanced access control with policies
 engine for reactive rules extends
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
59
More research ideas …
•Daniel, Juri, Philipp, Sergej, and some more
More research ideas
Outline
1. Changing policies while negotiating.
2. Using preferences to guide decisions in
negotiations.
3. Access control to RDF repositories.
4. Access control for desktop sharing.
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
61
More research ideas
1. Changing policies while negotiating
Problem: What if I change my policies while my agent is
negotiating?
Policy:
Only university
members can call me.
New Policy:
Only L3S
members can
call me.
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
62
More research ideas
2. Preferences guiding negotiations
Problem: What if there are two possibilities to succeed in a
negotiation?
I prefer to disclose
my Student ID
instead of disclosing
my passport.
Philipp Kärger, Daniel
Olmedilla, Wolf-Tilo
Balke
“Using Preferences for
Credential Disclosure in
Policy-Driven Trust
Negotiations.”
De Coi, Kärger, Olmedilla, Zerr
Just submitted.
L3S Research Seminar
April 18th, 2008
63
More research ideas
3. Access control to RDF repositories
• RDF data is accessible only under certain conditions.
• Problem: how to enforce this for querying?
Return all triples
FROM
the ones I am interested in
WHERE
my conditions are true.
RDF store
(sensitive data)
expansion
Fabian Abel, Juri Luca
De Coi, Nicola Henze,
Arne W. Koesling, Daniel
Krause, Daniel Olmedilla
“Enabling Advanced and
Context-Dependent
Access Control in RDF
Stores.”
De Coi, Kärger, Olmedilla, Zerr
ISWC 2007
Return all triples
FROM
the ones I am interested in
WHERE
my conditions are true
AND
the policy’s conditions are
true.
Policies: conditions that have to be fulfilled to access
information.
L3S Research Seminar
April 18th, 2008
64
More research ideas
4. Access control for desktop sharing (I)
Metadata:
author: …
title: …
date: …
inverted
index:
Juri L. De Coi, Ekaterini
Ioannou, Arne Koesling,
and Daniel Olmedilla.
“Access control for
sharing semantic data
across desktops.”
Workshop on Privacy
Enforcement and
Accountability with
De Coi, Kärger,
Semantics
(PEAS),Olmedilla,
2007. Zerr
“I want access to your
private document.”
“Is there a document
containing ‘FBI’ in the title?”
L3S Research Seminar
April 18th, 2008
65
More research ideas
4. Access control for desktop sharing (II)
Pre-evaluate for each file, each metadata, and each user.
Policies
Policies: Who is allowed to see what metadata of what file under which conditions.
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
66
End of the Seminar
Let us give you a policy
ON seminar just finished
IF you liked it
OR
you had fun
OR
you learned something
OR
you liked the ice cream
DO big applause 
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
67
Thanks!
Questions?
[email protected] – http://www.L3S.de/web/DECOI
[email protected] – http://www.L3S.de/~kaerger
[email protected] – http://www.olmedilla.info/
[email protected] – http://www.L3S.de/web/ZERR
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
68
References
• Antoniou et al., Rule-based policy specification. Secure Data
Management in Decentralized Systems. Springer, 2007.
http://www.l3s.de/~olmedilla/pub/2007/2007_bookDDMS_rule_policies.pdf
• Bonatti, Olmedilla. Rule-based policy representation and
reasoning for the semantic web. In Reasoning Web, Third
International Summer School 2007. Springer.
http://www.l3s.de/~olmedilla/pub/2007/2007_ReasoningWeb-policies.pdf
• Antoniou et al. (Eds.): Reasoning Web 2007. Springer LNCS 4636,
pp.1–153
• Bradshaw et al., Making Agents Acceptable to people, Intelligent
technologies for information analysis: Advances in agents, data
mining and statistical learning. Springer
http://www.ihmc.us/research/projects/KAoS/biit-jeff.pdf
De Coi, Kärger, Olmedilla, Zerr
L3S Research Seminar
April 18th, 2008
69