SlideShare a Scribd company logo
1 of 53
Download to read offline
DPCL: a Language Template
for Normative Specifications
16 January 2022, ProLaLa @ POPL 2022
Giovanni Sileno g.sileno@uva.nl Matteo Pascucci
Thomas van Binsbergen
Tom van Engers
University of Amsterdam
Slovak Academy of Sciences
from individual devices to
digital social systems...
Digital Markets
Social networks
Distributed Ledgers
Internet of Things
not instructions, but contracts, regulations, laws…
from “mechanical” to “institutional”
approaches to computation...
focus on
PERFOMANCE
focus on
COORDINATING EXPECTATIONS
Digital Markets
Internet of Things
ok, we need to represent
normative directives, but how?
ok, we need to represent
normative directives, but how?
1. do we need normative concepts?
2. if yes, which normative concepts
do we need?
3. what do they “mean”?
1. do we need normative concepts?
programs in themselves
are mandatory in nature
1. do we need normative concepts?
programs in themselves
are mandatory in nature
a := 2 + 2 system has to perform 2 + 2…
?mother(maggie, bart) system has to prove that…
animal :- dog. system has to make animal true if dog is true
1. do we need normative concepts?
programs in themselves
are mandatory in nature
PERFORMANCE
is expected
the system does what we tell it to do
1. do we need normative concepts?
programs in themselves
are mandatory in nature
PERFORMANCE
is expected
vs FAILURE is expected
1. do we need normative concepts?
programs in themselves
are mandatory in nature
PERFORMANCE
is expected
VIOLATION
certain components
may not perform
as required
vs FAILURE is expected
1. do we need normative concepts?
programs in themselves
are mandatory in nature
PERFORMANCE
is expected
VIOLATION
certain components
may not perform
as required
CONFLICT
concurrent
components
may have
incompatible
requests
vs FAILURE is expected
1. do we need normative concepts?
programs in themselves
are mandatory in nature
PERFORMANCE
is expected
VIOLATION
certain components
may not perform
as required
CONFLICT
concurrent
components
may have
incompatible
requests
vs FAILURE is expected
CENTRAL PROBLEM:
who will declare that
there is/was indeed a
failure?
● Control models (e.g. access or usage control)
2. which normative concepts do we need?
example from Apache webserver configuration
● Deontic logic(s)
2. which normative concepts do we need?
● Hohfeld’s (based on Salmond’s) normative relationships
duty-holder
claimant
2. which normative concepts do we need?
power-holder power-subject
Control models Deontic Logic(s) Hohfeld’s framework
permission X X X (as liberty)
prohibition X X X (as duty not)
obligation X X (as duty)
power/ability X
1 party 1 party 2 parties
focus on actions situations actions
2. which normative concepts do we need?
● long-standing debate
● no shared agreement
● new semantics continuously released
3. what normative concepts “mean”?
ok, we need to represent
normative directives, but how?
1. do we need normative concepts?
2. if yes, which normative concepts
do we need?
3. what do they “mean”?
expecting performance vs expecting failures (violations and conflicts)
control models vs deontic logics
vs hohfeldian relationships
…long-standing debate. no shared agreement.
ok, we need to represent
normative directives, but how?
1. do we need normative concepts?
2. if yes, which normative concepts
do we need?
3. what do they “mean”?
4. how to specify normative directives?
expecting performance vs expecting failures (violations and conflicts)
control models vs deontic logics
vs hohfeldian relationships
…long-standing debate. no shared agreement.
ok, we need to represent
normative directives, but how?
1. do we need normative concepts?
2. if yes, which normative concepts
do we need?
3. what do they “mean”?
4. how to specify normative directives?
expecting performance vs expecting failures (violations and conflicts)
control models vs deontic logics
vs hohfeldian relationships
…long-standing debate. no shared agreement.
programmability, readability, (cognitive) accessibility, …?
Success story: ODRL (Open Digital Rights Language)
https://www.w3.org/TR/odrl-model/
ODRL
Information
Model
primacy
to deontic
categories
{
"@context": "http://www.w3.org/ns/odrl.jsonld",
"@type": "Offer",
"uid": "http://example.com/policy:4444",
"profile": "http://example.com/odrl:profile:11",
"permission": [{
"assigner": "http://example.com/org88",
"target": {
"@type": "AssetCollection",
"source": "http://example.com/media-catalogue",
"refinement": [{
"leftOperand": "runningTime",
"operator": "lt",
"rightOperand": { "@value": "60", "@type": "xsd:integer" },
"unit": "http://qudt.org/vocab/unit/MinuteTime"
}]
},
"action": "play"
}]
}
ODRL
example
roughly: permission to org88 to play assets in collection with running length < 60 min
json
data
structure
{
"@context": "http://www.w3.org/ns/odrl.jsonld",
"@type": "Offer",
"uid": "http://example.com/policy:4444",
"profile": "http://example.com/odrl:profile:11",
"permission": [{
"assigner": "http://example.com/org88",
"target": {
"@type": "AssetCollection",
"source": "http://example.com/media-catalogue",
"refinement": [{
"leftOperand": "runningTime",
"operator": "lt",
"rightOperand": { "@value": "60", "@type": "xsd:integer" },
"unit": "http://qudt.org/vocab/unit/MinuteTime"
}]
},
"action": "play"
}]
}
ODRL
example
roughly: permission to org88 to play assets in collection with running length < 60 min
json
data
structure
almost any IT practitionner is
able to read through it
DPCL: in a nutshell
● JSON-like syntax
● with foundational ontological intuitions expressed in
○ LKIF-core and cognitive linguistics: objects vs events
○ LPS: transformational rules vs reactive rules
● finer representational granularity given by Hohfeld’s framework,
● expressed in frames as in FLINT/eFLINT, but with more & simpler frames
● bottom-line informational model rather than a full-fledged formal semantics
DPCL: in a nutshell
● JSON-like syntax
● with foundational ontological intuitions expressed in
○ LKIF-core and cognitive linguistics: objects vs events
○ LPS: transformational rules vs reactive rules
● finer representational granularity given by Hohfeld’s framework,
● expressed in frames as in FLINT/eFLINT, but with more & simpler frames
● bottom-line informational model rather than a full-fledged formal semantics
● yet, semantics can be partially defined by rewriting rules
● we are exploring an alternative standpoint to the usual types/instances
extensional semantics, but more in line to qualification acts
● we are integrating a conditional preferential ordering to manage conflicts
DPCL: entities
We follow the common-sensical distinction:
● states: condition, object, agent
● (transition) events:
○ primitive events: #action
○ production/removal events: +object, -object
○ qualification/disqualification events: object in group, …
DPCL: parameters and refinements
Any entity can be refined via some parameter, eg. in the case of actions:
#give {
agent: john
item: apple
recipient: paul
}
#eat {
agent: paul
item: apple
}
DPCL: power frame
power {
holder: priest
action: #marry { patient: [john, paul] }
consequence: +married(john, paul)
}
DPCL: power frame
power {
holder: priest
action: #marry { patient: [john, paul] }
consequence: +married(john, paul)
}
a power reifies an
(institutional) causal mechanism
conditioned by qualification of agent
conditioned by procedure of action
affecting a limited domain of competence
DPCL: duty frame
duty {
holder: john
counterparty: university
action: #teach { recipient: student }
violation: john.online is False
}
DPCL: duty frame
duty {
holder: john
counterparty: university
action: #teach { recipient: student }
violation: john.online is False
}
a duty reifies an expectation (of
“good”) for the counterparty
DPCL: duty frame
duty {
holder: john
counterparty: university
action: #teach { recipient: student }
violation: john.online is False
}
sometimes violations may be defined independently of the content of the duty
a duty reifies an expectation (of
“good”) for the counterparty
DPCL: prohibition frame
prohibition {
holder: john
action: #go { destination: swimming }
termination: ~winter
}
DPCL: prohibition frame
prohibition {
holder: john
action: #go { destination: swimming }
termination: ~winter
}
another example of “semantic neutrality”: not all logics consider the
“prohibition to do A” the same as the “obligation of not doing A”
sometimes normative directives have terminating conditions
independent of performance
DPCL: conditioning rules
● Transformational rules (as long as the premise is true, the conclusion is true):
raining -> wet
bike -> vehicle
● Reactive rules (when the antecedent occurs, the consequent occurs):
#rain => +wet
#raise_hand => +bet
DPCL: conditioning rules
● Transformational rules (as long as the premise is true, the conclusion is true):
raining -> wet
bike -> vehicle
● Reactive rules (when the antecedent occurs, the consequent occurs):
#rain => +wet
#raise_hand => +bet
● Contexts are generally involved in transformational rules:
auction -> { #raise_hand => +bet }
DPCL, example: library regulation
student or staff can register as member of the library by using their id card.
power {
holder: student | staff
action: #register { instrument: holder.id_card }
consequence: holder in member
}
DPCL, example: library regulation
any member can borrow a book for a certain time (e.g. 1 month).
power {
holder: member
action: #borrow { item: book }
consequence: +borrowing {
lender: library
borrower: member
item: book
timeout: now() + 1m
}
}
reference to
compound, parametrized
institutional object
DPCL, example: library regulation
by borrowing, the borrower can be requested in any moment to return the item.
borrowing(lender, borrower, item, timeout) {
power {
holder: lender
action: #request_return { item: item }
consequence: +duty {
holder: borrower
counterparty: lender
action: #return { item: item }
}
}
compound, parametrized
institutional object
(other examples: ownership)
DPCL, example: library regulation
the borrower has the duty to return the item within the given date.
duty d1 {
holder: borrower
counterparty: lender
action: #return { item: item }
violation: now() > timeout % illustrative
}
if the borrower does not return it, (s)he may be fined.
+d1.violation => +power {
holder: lender
action: #fine
consequence: +fine(borrower, lender)
}
} reactive conditional
DPCL, example: library regulation
“Lingua franca”, and rewriting
● As the informational model of DPCL covers most common constructs and
concepts observable in normative languages, one could in principle:
○ re-specify existing normative directives almost literally
○ utilize rewriting rules to re-encode certain constructs into others
Rewriting example: all is about power!
● All conditions (e.g. preconditions, violation, termination) implicitly refers to a
power that may (should?) be assigned to someone.
● This is an actual step in policy operationalization in administrative settings.
Rewriting example: all is about power!
● Unfolding a violation construct to the power to declare that violation…
prohibition p {
action: #smoke
}
p -> {
#smoke => +power {
holder: *
action: #declare_violation { item: p }
consequence: p.violated
}
}
Rewriting example: all is about power!
● More in general any duty comes with two powers: one to declare fulfilment,
another one to declare violation.
duty d {
holder: john
counterparty: paul
action: #pay
violation: timeout
}
Rewriting example: all is about power!
● More in general any duty comes with two powers: one to declare fulfilment,
another one to declare violation.
duty d {
holder: john
counterparty: paul
action: #pay
violation: timeout
}
d -> {
#pay => +power {
holder: paul
action: #declare_fulfillment { item: d }
consequence: d.fulfilled
}
timeout => +power {
holder: paul
action: #declare_violation { item: d }
consequence: d.violated
}
}
here we assign these
powers to the counterparty,
the claimant
Rewriting example: rules as duties & powers
● Transformational rules can be seen not only as “epistemic” duties (about
producing knowledge), but also as powers!
bike -> vehicle
vehicle :- bike.
system has to make vehicle true if bike is true
Logic rules as goals
Rewriting example: rules as duties & powers
● Transformational rules can be seen not only as “epistemic” duties (about
producing knowledge), but also as powers!
bike -> vehicle
bike -> {
duty {
holder: *
action: +vehicle
}
power {
holder: *
action: #state { item: vehicle }
consequence: +vehicle
}
}
mandatory view
ability view
Rewriting example: rules as duties & powers
● Transformational rules can be seen not only as “epistemic” duties (about
producing knowledge), but also as powers!
bike -> vehicle
bike -> {
duty {
holder: *
action: +vehicle
}
power {
holder: *
action: #state { item: vehicle }
consequence: +vehicle
}
}
mandatory view
ability view
LESS IMPORTANT IN
A SOCIAL COORDINATION
SETTING!
Rewriting example: maintenance duties
● Unfolding maintenance duties (about states of affairs)
in terms of duties of actions
duty d1 {
target: g1
}
d1 -> {
~g1 -> duty { action: +g1 }
g1 -> prohibition { action: -g1 }
}
maintenance duty
achievement duty
avoidance duty
Perspectives
● Working on languages for computational regulatory functions is a highly
relevant and urgent topic.
● Very dispersed literature, opinions, standpoints. In the years, new generations
of researchers and practitionners often restarted from scratch to try to solve
old, partially resolved problems.
● Ideally, as a community, we should start by creating grounds and
infrastructures to compare and organize all these experiences.
Perspectives
● Practical standpoint of modelling practitionners (generally not logicians, nor
expert programmers) are generally not taken into account.
● Besides, normative systems have characteristics that make them very
different from standard computer engineering/science perspectives.
● DPCL started as an experiment in the design of a programming language
starting from these alternative practical requirements. So far, lots of ideas!
● First prototype of interpreter in course of development.

More Related Content

What's hot

[Paper Reading] Supervised Learning of Universal Sentence Representations fro...
[Paper Reading] Supervised Learning of Universal Sentence Representations fro...[Paper Reading] Supervised Learning of Universal Sentence Representations fro...
[Paper Reading] Supervised Learning of Universal Sentence Representations fro...Hiroki Shimanaka
 
Neural Nets Deconstructed
Neural Nets DeconstructedNeural Nets Deconstructed
Neural Nets DeconstructedPaul Sterk
 
Domain-Specific Term Extraction for Concept Identification in Ontology Constr...
Domain-Specific Term Extraction for Concept Identification in Ontology Constr...Domain-Specific Term Extraction for Concept Identification in Ontology Constr...
Domain-Specific Term Extraction for Concept Identification in Ontology Constr...Innovation Quotient Pvt Ltd
 
Concurrency Issues in Object-Oriented Modeling
Concurrency Issues in Object-Oriented ModelingConcurrency Issues in Object-Oriented Modeling
Concurrency Issues in Object-Oriented ModelingIRJET Journal
 
Abstractive Text Summarization
Abstractive Text SummarizationAbstractive Text Summarization
Abstractive Text SummarizationTho Phan
 
Usage of word sense disambiguation in concept identification in ontology cons...
Usage of word sense disambiguation in concept identification in ontology cons...Usage of word sense disambiguation in concept identification in ontology cons...
Usage of word sense disambiguation in concept identification in ontology cons...Innovation Quotient Pvt Ltd
 
Reasoning Over Knowledge Base
Reasoning Over Knowledge BaseReasoning Over Knowledge Base
Reasoning Over Knowledge BaseShubham Agarwal
 
Knowledge Representation in Artificial intelligence
Knowledge Representation in Artificial intelligence Knowledge Representation in Artificial intelligence
Knowledge Representation in Artificial intelligence Yasir Khan
 
Nlp research presentation
Nlp research presentationNlp research presentation
Nlp research presentationSurya Sg
 

What's hot (12)

[Paper Reading] Supervised Learning of Universal Sentence Representations fro...
[Paper Reading] Supervised Learning of Universal Sentence Representations fro...[Paper Reading] Supervised Learning of Universal Sentence Representations fro...
[Paper Reading] Supervised Learning of Universal Sentence Representations fro...
 
Text summarization
Text summarization Text summarization
Text summarization
 
Neural Nets Deconstructed
Neural Nets DeconstructedNeural Nets Deconstructed
Neural Nets Deconstructed
 
Domain-Specific Term Extraction for Concept Identification in Ontology Constr...
Domain-Specific Term Extraction for Concept Identification in Ontology Constr...Domain-Specific Term Extraction for Concept Identification in Ontology Constr...
Domain-Specific Term Extraction for Concept Identification in Ontology Constr...
 
Concurrency Issues in Object-Oriented Modeling
Concurrency Issues in Object-Oriented ModelingConcurrency Issues in Object-Oriented Modeling
Concurrency Issues in Object-Oriented Modeling
 
J045055560
J045055560J045055560
J045055560
 
Abstractive Text Summarization
Abstractive Text SummarizationAbstractive Text Summarization
Abstractive Text Summarization
 
Usage of word sense disambiguation in concept identification in ontology cons...
Usage of word sense disambiguation in concept identification in ontology cons...Usage of word sense disambiguation in concept identification in ontology cons...
Usage of word sense disambiguation in concept identification in ontology cons...
 
Reasoning Over Knowledge Base
Reasoning Over Knowledge BaseReasoning Over Knowledge Base
Reasoning Over Knowledge Base
 
Text Summarization
Text SummarizationText Summarization
Text Summarization
 
Knowledge Representation in Artificial intelligence
Knowledge Representation in Artificial intelligence Knowledge Representation in Artificial intelligence
Knowledge Representation in Artificial intelligence
 
Nlp research presentation
Nlp research presentationNlp research presentation
Nlp research presentation
 

Similar to DPCL: a Language Template for Normative Specifications

Successfully Kickstarting Data Governance's Social Dynamics: Define, Collabor...
Successfully Kickstarting Data Governance's Social Dynamics: Define, Collabor...Successfully Kickstarting Data Governance's Social Dynamics: Define, Collabor...
Successfully Kickstarting Data Governance's Social Dynamics: Define, Collabor...Stijn (Stan) Christiaens
 
Legal Vocabulary and its Transformation Evaluation using Competency Questions
Legal Vocabulary and its Transformation Evaluation using Competency QuestionsLegal Vocabulary and its Transformation Evaluation using Competency Questions
Legal Vocabulary and its Transformation Evaluation using Competency Questionslukeg5
 
Legal Vocabulary and its Transformation Evaluation using Competency Questions
Legal Vocabulary and its Transformation Evaluation using Competency QuestionsLegal Vocabulary and its Transformation Evaluation using Competency Questions
Legal Vocabulary and its Transformation Evaluation using Competency Questionsshashi792
 
Patterns of Assigning Responsibilities
Patterns of Assigning ResponsibilitiesPatterns of Assigning Responsibilities
Patterns of Assigning Responsibilitiesguest2a92cd9
 
Compliance driven process development with DCR graphs
Compliance driven process development with DCR graphsCompliance driven process development with DCR graphs
Compliance driven process development with DCR graphsHugo Andrés López
 
How much do we know about Object-Oriented Programming?
How much do we know about Object-Oriented Programming?How much do we know about Object-Oriented Programming?
How much do we know about Object-Oriented Programming?Sandro Mancuso
 
Part 1: Algorithmic Self-Governance
Part 1: Algorithmic Self-GovernancePart 1: Algorithmic Self-Governance
Part 1: Algorithmic Self-GovernanceFoCAS Initiative
 
Applying complex event processing (2010-10-11)
Applying complex event processing (2010-10-11)Applying complex event processing (2010-10-11)
Applying complex event processing (2010-10-11)Geoffrey De Smet
 
Technology in financial services
Technology in financial servicesTechnology in financial services
Technology in financial servicesLuis Caldeira
 
Technology in financial services
Technology in financial servicesTechnology in financial services
Technology in financial servicesLuis Caldeira
 
Machine-consumable legislation - Waddington
Machine-consumable legislation - WaddingtonMachine-consumable legislation - Waddington
Machine-consumable legislation - WaddingtonMatthewWaddington3
 
Decision table
Decision tableDecision table
Decision tablejeebala
 
Drools5 Community Training Module#1: Drools5 BLiP Introduction
Drools5 Community Training Module#1: Drools5 BLiP IntroductionDrools5 Community Training Module#1: Drools5 BLiP Introduction
Drools5 Community Training Module#1: Drools5 BLiP IntroductionMauricio (Salaboy) Salatino
 
Rule driven workflow enactment
Rule driven workflow enactmentRule driven workflow enactment
Rule driven workflow enactmentESUG
 

Similar to DPCL: a Language Template for Normative Specifications (20)

Successfully Kickstarting Data Governance's Social Dynamics: Define, Collabor...
Successfully Kickstarting Data Governance's Social Dynamics: Define, Collabor...Successfully Kickstarting Data Governance's Social Dynamics: Define, Collabor...
Successfully Kickstarting Data Governance's Social Dynamics: Define, Collabor...
 
Rule-based Design. Managing complexity!
Rule-based Design. Managing complexity!Rule-based Design. Managing complexity!
Rule-based Design. Managing complexity!
 
Legal Vocabulary and its Transformation Evaluation using Competency Questions
Legal Vocabulary and its Transformation Evaluation using Competency QuestionsLegal Vocabulary and its Transformation Evaluation using Competency Questions
Legal Vocabulary and its Transformation Evaluation using Competency Questions
 
Legal Vocabulary and its Transformation Evaluation using Competency Questions
Legal Vocabulary and its Transformation Evaluation using Competency QuestionsLegal Vocabulary and its Transformation Evaluation using Competency Questions
Legal Vocabulary and its Transformation Evaluation using Competency Questions
 
Designing Testable Software
Designing Testable SoftwareDesigning Testable Software
Designing Testable Software
 
Patterns of Assigning Responsibilities
Patterns of Assigning ResponsibilitiesPatterns of Assigning Responsibilities
Patterns of Assigning Responsibilities
 
Compliance driven process development with DCR graphs
Compliance driven process development with DCR graphsCompliance driven process development with DCR graphs
Compliance driven process development with DCR graphs
 
How much do we know about Object-Oriented Programming?
How much do we know about Object-Oriented Programming?How much do we know about Object-Oriented Programming?
How much do we know about Object-Oriented Programming?
 
Part 1: Algorithmic Self-Governance
Part 1: Algorithmic Self-GovernancePart 1: Algorithmic Self-Governance
Part 1: Algorithmic Self-Governance
 
Applying complex event processing (2010-10-11)
Applying complex event processing (2010-10-11)Applying complex event processing (2010-10-11)
Applying complex event processing (2010-10-11)
 
Oops Concepts
Oops ConceptsOops Concepts
Oops Concepts
 
Technology in financial services
Technology in financial servicesTechnology in financial services
Technology in financial services
 
Technology in financial services
Technology in financial servicesTechnology in financial services
Technology in financial services
 
Machine-consumable legislation - Waddington
Machine-consumable legislation - WaddingtonMachine-consumable legislation - Waddington
Machine-consumable legislation - Waddington
 
ax2012
 ax2012 ax2012
ax2012
 
Itm 3
Itm 3Itm 3
Itm 3
 
Decision table
Decision tableDecision table
Decision table
 
Drools5 Community Training Module#1: Drools5 BLiP Introduction
Drools5 Community Training Module#1: Drools5 BLiP IntroductionDrools5 Community Training Module#1: Drools5 BLiP Introduction
Drools5 Community Training Module#1: Drools5 BLiP Introduction
 
Rule driven workflow enactment
Rule driven workflow enactmentRule driven workflow enactment
Rule driven workflow enactment
 
Drools rule Concepts
Drools rule ConceptsDrools rule Concepts
Drools rule Concepts
 

More from Giovanni Sileno

Code-driven Law NO, Normware SI!
Code-driven Law NO, Normware SI!Code-driven Law NO, Normware SI!
Code-driven Law NO, Normware SI!Giovanni Sileno
 
On Mapping Values in AI Governance
On Mapping Values in AI GovernanceOn Mapping Values in AI Governance
On Mapping Values in AI GovernanceGiovanni Sileno
 
Accounting Value Effects for Responsible Networking
Accounting Value Effects for Responsible NetworkingAccounting Value Effects for Responsible Networking
Accounting Value Effects for Responsible NetworkingGiovanni Sileno
 
History of AI, Current Trends, Prospective Trajectories
History of AI, Current Trends, Prospective TrajectoriesHistory of AI, Current Trends, Prospective Trajectories
History of AI, Current Trends, Prospective TrajectoriesGiovanni Sileno
 
The Role of Normware in Trustworthy and Explainable AI
The Role of Normware in Trustworthy and Explainable AIThe Role of Normware in Trustworthy and Explainable AI
The Role of Normware in Trustworthy and Explainable AIGiovanni Sileno
 
Computing Contrast on Conceptual Spaces
Computing Contrast on Conceptual SpacesComputing Contrast on Conceptual Spaces
Computing Contrast on Conceptual SpacesGiovanni Sileno
 
On the problems of interface: explainability, conceptual spaces, relevance
On the problems of interface: explainability, conceptual spaces, relevanceOn the problems of interface: explainability, conceptual spaces, relevance
On the problems of interface: explainability, conceptual spaces, relevanceGiovanni Sileno
 
A Computational Model of Moral and Legal Responsibility via Simplicity Theory
A Computational Model of Moral and Legal Responsibility via Simplicity TheoryA Computational Model of Moral and Legal Responsibility via Simplicity Theory
A Computational Model of Moral and Legal Responsibility via Simplicity TheoryGiovanni Sileno
 
Similarity and Contrast on Conceptual Spaces for Pertinent Description Genera...
Similarity and Contrast on Conceptual Spaces for Pertinent Description Genera...Similarity and Contrast on Conceptual Spaces for Pertinent Description Genera...
Similarity and Contrast on Conceptual Spaces for Pertinent Description Genera...Giovanni Sileno
 
A Petri net-based notation for normative modeling: evaluation on deontic para...
A Petri net-based notation for normative modeling: evaluation on deontic para...A Petri net-based notation for normative modeling: evaluation on deontic para...
A Petri net-based notation for normative modeling: evaluation on deontic para...Giovanni Sileno
 
Reading Agendas Between the Lines, an exercise
Reading Agendas Between the Lines, an exerciseReading Agendas Between the Lines, an exercise
Reading Agendas Between the Lines, an exerciseGiovanni Sileno
 
Bridging Representation of Laws, of Implementations and of Behaviours
Bridging Representation of Laws, of Implementations and of BehavioursBridging Representation of Laws, of Implementations and of Behaviours
Bridging Representation of Laws, of Implementations and of BehavioursGiovanni Sileno
 
Revisiting Constitutive Rules
Revisiting Constitutive RulesRevisiting Constitutive Rules
Revisiting Constitutive RulesGiovanni Sileno
 
Commitments, Expectations, Affordances and Susceptibilities: Towards Position...
Commitments, Expectations, Affordances and Susceptibilities: Towards Position...Commitments, Expectations, Affordances and Susceptibilities: Towards Position...
Commitments, Expectations, Affordances and Susceptibilities: Towards Position...Giovanni Sileno
 
A Constructivist Approach to Rule Bases
A Constructivist Approach to Rule BasesA Constructivist Approach to Rule Bases
A Constructivist Approach to Rule BasesGiovanni Sileno
 
On the Interactional Meaning of Fundamental Legal Concepts
On the Interactional Meaning of Fundamental Legal ConceptsOn the Interactional Meaning of Fundamental Legal Concepts
On the Interactional Meaning of Fundamental Legal ConceptsGiovanni Sileno
 
Legal Knowledge Conveyed by Narratives: towards a representational model
Legal Knowledge Conveyed by Narratives: towards a representational modelLegal Knowledge Conveyed by Narratives: towards a representational model
Legal Knowledge Conveyed by Narratives: towards a representational modelGiovanni Sileno
 
Implementing Explanation-Based Argumentation using Answer Set Programming
Implementing Explanation-Based Argumentation using Answer Set ProgrammingImplementing Explanation-Based Argumentation using Answer Set Programming
Implementing Explanation-Based Argumentation using Answer Set ProgrammingGiovanni Sileno
 

More from Giovanni Sileno (20)

Code-driven Law NO, Normware SI!
Code-driven Law NO, Normware SI!Code-driven Law NO, Normware SI!
Code-driven Law NO, Normware SI!
 
On Mapping Values in AI Governance
On Mapping Values in AI GovernanceOn Mapping Values in AI Governance
On Mapping Values in AI Governance
 
Accounting Value Effects for Responsible Networking
Accounting Value Effects for Responsible NetworkingAccounting Value Effects for Responsible Networking
Accounting Value Effects for Responsible Networking
 
Code Driven Law?
Code Driven Law?Code Driven Law?
Code Driven Law?
 
History of AI, Current Trends, Prospective Trajectories
History of AI, Current Trends, Prospective TrajectoriesHistory of AI, Current Trends, Prospective Trajectories
History of AI, Current Trends, Prospective Trajectories
 
The Role of Normware in Trustworthy and Explainable AI
The Role of Normware in Trustworthy and Explainable AIThe Role of Normware in Trustworthy and Explainable AI
The Role of Normware in Trustworthy and Explainable AI
 
Computing Contrast on Conceptual Spaces
Computing Contrast on Conceptual SpacesComputing Contrast on Conceptual Spaces
Computing Contrast on Conceptual Spaces
 
On the problems of interface: explainability, conceptual spaces, relevance
On the problems of interface: explainability, conceptual spaces, relevanceOn the problems of interface: explainability, conceptual spaces, relevance
On the problems of interface: explainability, conceptual spaces, relevance
 
A Computational Model of Moral and Legal Responsibility via Simplicity Theory
A Computational Model of Moral and Legal Responsibility via Simplicity TheoryA Computational Model of Moral and Legal Responsibility via Simplicity Theory
A Computational Model of Moral and Legal Responsibility via Simplicity Theory
 
Aligning Law and Action
Aligning Law and ActionAligning Law and Action
Aligning Law and Action
 
Similarity and Contrast on Conceptual Spaces for Pertinent Description Genera...
Similarity and Contrast on Conceptual Spaces for Pertinent Description Genera...Similarity and Contrast on Conceptual Spaces for Pertinent Description Genera...
Similarity and Contrast on Conceptual Spaces for Pertinent Description Genera...
 
A Petri net-based notation for normative modeling: evaluation on deontic para...
A Petri net-based notation for normative modeling: evaluation on deontic para...A Petri net-based notation for normative modeling: evaluation on deontic para...
A Petri net-based notation for normative modeling: evaluation on deontic para...
 
Reading Agendas Between the Lines, an exercise
Reading Agendas Between the Lines, an exerciseReading Agendas Between the Lines, an exercise
Reading Agendas Between the Lines, an exercise
 
Bridging Representation of Laws, of Implementations and of Behaviours
Bridging Representation of Laws, of Implementations and of BehavioursBridging Representation of Laws, of Implementations and of Behaviours
Bridging Representation of Laws, of Implementations and of Behaviours
 
Revisiting Constitutive Rules
Revisiting Constitutive RulesRevisiting Constitutive Rules
Revisiting Constitutive Rules
 
Commitments, Expectations, Affordances and Susceptibilities: Towards Position...
Commitments, Expectations, Affordances and Susceptibilities: Towards Position...Commitments, Expectations, Affordances and Susceptibilities: Towards Position...
Commitments, Expectations, Affordances and Susceptibilities: Towards Position...
 
A Constructivist Approach to Rule Bases
A Constructivist Approach to Rule BasesA Constructivist Approach to Rule Bases
A Constructivist Approach to Rule Bases
 
On the Interactional Meaning of Fundamental Legal Concepts
On the Interactional Meaning of Fundamental Legal ConceptsOn the Interactional Meaning of Fundamental Legal Concepts
On the Interactional Meaning of Fundamental Legal Concepts
 
Legal Knowledge Conveyed by Narratives: towards a representational model
Legal Knowledge Conveyed by Narratives: towards a representational modelLegal Knowledge Conveyed by Narratives: towards a representational model
Legal Knowledge Conveyed by Narratives: towards a representational model
 
Implementing Explanation-Based Argumentation using Answer Set Programming
Implementing Explanation-Based Argumentation using Answer Set ProgrammingImplementing Explanation-Based Argumentation using Answer Set Programming
Implementing Explanation-Based Argumentation using Answer Set Programming
 

Recently uploaded

Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
pipeline in computer architecture design
pipeline in computer architecture  designpipeline in computer architecture  design
pipeline in computer architecture designssuser87fa0c1
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 

Recently uploaded (20)

Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
pipeline in computer architecture design
pipeline in computer architecture  designpipeline in computer architecture  design
pipeline in computer architecture design
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 

DPCL: a Language Template for Normative Specifications

  • 1. DPCL: a Language Template for Normative Specifications 16 January 2022, ProLaLa @ POPL 2022 Giovanni Sileno g.sileno@uva.nl Matteo Pascucci Thomas van Binsbergen Tom van Engers University of Amsterdam Slovak Academy of Sciences
  • 2. from individual devices to digital social systems... Digital Markets Social networks Distributed Ledgers Internet of Things
  • 3. not instructions, but contracts, regulations, laws… from “mechanical” to “institutional” approaches to computation... focus on PERFOMANCE focus on COORDINATING EXPECTATIONS Digital Markets Internet of Things
  • 4. ok, we need to represent normative directives, but how?
  • 5. ok, we need to represent normative directives, but how? 1. do we need normative concepts? 2. if yes, which normative concepts do we need? 3. what do they “mean”?
  • 6. 1. do we need normative concepts? programs in themselves are mandatory in nature
  • 7. 1. do we need normative concepts? programs in themselves are mandatory in nature a := 2 + 2 system has to perform 2 + 2… ?mother(maggie, bart) system has to prove that… animal :- dog. system has to make animal true if dog is true
  • 8. 1. do we need normative concepts? programs in themselves are mandatory in nature PERFORMANCE is expected the system does what we tell it to do
  • 9. 1. do we need normative concepts? programs in themselves are mandatory in nature PERFORMANCE is expected vs FAILURE is expected
  • 10. 1. do we need normative concepts? programs in themselves are mandatory in nature PERFORMANCE is expected VIOLATION certain components may not perform as required vs FAILURE is expected
  • 11. 1. do we need normative concepts? programs in themselves are mandatory in nature PERFORMANCE is expected VIOLATION certain components may not perform as required CONFLICT concurrent components may have incompatible requests vs FAILURE is expected
  • 12. 1. do we need normative concepts? programs in themselves are mandatory in nature PERFORMANCE is expected VIOLATION certain components may not perform as required CONFLICT concurrent components may have incompatible requests vs FAILURE is expected CENTRAL PROBLEM: who will declare that there is/was indeed a failure?
  • 13. ● Control models (e.g. access or usage control) 2. which normative concepts do we need? example from Apache webserver configuration
  • 14. ● Deontic logic(s) 2. which normative concepts do we need?
  • 15. ● Hohfeld’s (based on Salmond’s) normative relationships duty-holder claimant 2. which normative concepts do we need? power-holder power-subject
  • 16. Control models Deontic Logic(s) Hohfeld’s framework permission X X X (as liberty) prohibition X X X (as duty not) obligation X X (as duty) power/ability X 1 party 1 party 2 parties focus on actions situations actions 2. which normative concepts do we need?
  • 17. ● long-standing debate ● no shared agreement ● new semantics continuously released 3. what normative concepts “mean”?
  • 18. ok, we need to represent normative directives, but how? 1. do we need normative concepts? 2. if yes, which normative concepts do we need? 3. what do they “mean”? expecting performance vs expecting failures (violations and conflicts) control models vs deontic logics vs hohfeldian relationships …long-standing debate. no shared agreement.
  • 19. ok, we need to represent normative directives, but how? 1. do we need normative concepts? 2. if yes, which normative concepts do we need? 3. what do they “mean”? 4. how to specify normative directives? expecting performance vs expecting failures (violations and conflicts) control models vs deontic logics vs hohfeldian relationships …long-standing debate. no shared agreement.
  • 20. ok, we need to represent normative directives, but how? 1. do we need normative concepts? 2. if yes, which normative concepts do we need? 3. what do they “mean”? 4. how to specify normative directives? expecting performance vs expecting failures (violations and conflicts) control models vs deontic logics vs hohfeldian relationships …long-standing debate. no shared agreement. programmability, readability, (cognitive) accessibility, …?
  • 21. Success story: ODRL (Open Digital Rights Language) https://www.w3.org/TR/odrl-model/
  • 23. { "@context": "http://www.w3.org/ns/odrl.jsonld", "@type": "Offer", "uid": "http://example.com/policy:4444", "profile": "http://example.com/odrl:profile:11", "permission": [{ "assigner": "http://example.com/org88", "target": { "@type": "AssetCollection", "source": "http://example.com/media-catalogue", "refinement": [{ "leftOperand": "runningTime", "operator": "lt", "rightOperand": { "@value": "60", "@type": "xsd:integer" }, "unit": "http://qudt.org/vocab/unit/MinuteTime" }] }, "action": "play" }] } ODRL example roughly: permission to org88 to play assets in collection with running length < 60 min json data structure
  • 24. { "@context": "http://www.w3.org/ns/odrl.jsonld", "@type": "Offer", "uid": "http://example.com/policy:4444", "profile": "http://example.com/odrl:profile:11", "permission": [{ "assigner": "http://example.com/org88", "target": { "@type": "AssetCollection", "source": "http://example.com/media-catalogue", "refinement": [{ "leftOperand": "runningTime", "operator": "lt", "rightOperand": { "@value": "60", "@type": "xsd:integer" }, "unit": "http://qudt.org/vocab/unit/MinuteTime" }] }, "action": "play" }] } ODRL example roughly: permission to org88 to play assets in collection with running length < 60 min json data structure almost any IT practitionner is able to read through it
  • 25. DPCL: in a nutshell ● JSON-like syntax ● with foundational ontological intuitions expressed in ○ LKIF-core and cognitive linguistics: objects vs events ○ LPS: transformational rules vs reactive rules ● finer representational granularity given by Hohfeld’s framework, ● expressed in frames as in FLINT/eFLINT, but with more & simpler frames ● bottom-line informational model rather than a full-fledged formal semantics
  • 26. DPCL: in a nutshell ● JSON-like syntax ● with foundational ontological intuitions expressed in ○ LKIF-core and cognitive linguistics: objects vs events ○ LPS: transformational rules vs reactive rules ● finer representational granularity given by Hohfeld’s framework, ● expressed in frames as in FLINT/eFLINT, but with more & simpler frames ● bottom-line informational model rather than a full-fledged formal semantics ● yet, semantics can be partially defined by rewriting rules ● we are exploring an alternative standpoint to the usual types/instances extensional semantics, but more in line to qualification acts ● we are integrating a conditional preferential ordering to manage conflicts
  • 27. DPCL: entities We follow the common-sensical distinction: ● states: condition, object, agent ● (transition) events: ○ primitive events: #action ○ production/removal events: +object, -object ○ qualification/disqualification events: object in group, …
  • 28. DPCL: parameters and refinements Any entity can be refined via some parameter, eg. in the case of actions: #give { agent: john item: apple recipient: paul } #eat { agent: paul item: apple }
  • 29. DPCL: power frame power { holder: priest action: #marry { patient: [john, paul] } consequence: +married(john, paul) }
  • 30. DPCL: power frame power { holder: priest action: #marry { patient: [john, paul] } consequence: +married(john, paul) } a power reifies an (institutional) causal mechanism conditioned by qualification of agent conditioned by procedure of action affecting a limited domain of competence
  • 31. DPCL: duty frame duty { holder: john counterparty: university action: #teach { recipient: student } violation: john.online is False }
  • 32. DPCL: duty frame duty { holder: john counterparty: university action: #teach { recipient: student } violation: john.online is False } a duty reifies an expectation (of “good”) for the counterparty
  • 33. DPCL: duty frame duty { holder: john counterparty: university action: #teach { recipient: student } violation: john.online is False } sometimes violations may be defined independently of the content of the duty a duty reifies an expectation (of “good”) for the counterparty
  • 34. DPCL: prohibition frame prohibition { holder: john action: #go { destination: swimming } termination: ~winter }
  • 35. DPCL: prohibition frame prohibition { holder: john action: #go { destination: swimming } termination: ~winter } another example of “semantic neutrality”: not all logics consider the “prohibition to do A” the same as the “obligation of not doing A” sometimes normative directives have terminating conditions independent of performance
  • 36. DPCL: conditioning rules ● Transformational rules (as long as the premise is true, the conclusion is true): raining -> wet bike -> vehicle ● Reactive rules (when the antecedent occurs, the consequent occurs): #rain => +wet #raise_hand => +bet
  • 37. DPCL: conditioning rules ● Transformational rules (as long as the premise is true, the conclusion is true): raining -> wet bike -> vehicle ● Reactive rules (when the antecedent occurs, the consequent occurs): #rain => +wet #raise_hand => +bet ● Contexts are generally involved in transformational rules: auction -> { #raise_hand => +bet }
  • 38. DPCL, example: library regulation student or staff can register as member of the library by using their id card. power { holder: student | staff action: #register { instrument: holder.id_card } consequence: holder in member }
  • 39. DPCL, example: library regulation any member can borrow a book for a certain time (e.g. 1 month). power { holder: member action: #borrow { item: book } consequence: +borrowing { lender: library borrower: member item: book timeout: now() + 1m } } reference to compound, parametrized institutional object
  • 40. DPCL, example: library regulation by borrowing, the borrower can be requested in any moment to return the item. borrowing(lender, borrower, item, timeout) { power { holder: lender action: #request_return { item: item } consequence: +duty { holder: borrower counterparty: lender action: #return { item: item } } } compound, parametrized institutional object (other examples: ownership)
  • 41. DPCL, example: library regulation the borrower has the duty to return the item within the given date. duty d1 { holder: borrower counterparty: lender action: #return { item: item } violation: now() > timeout % illustrative }
  • 42. if the borrower does not return it, (s)he may be fined. +d1.violation => +power { holder: lender action: #fine consequence: +fine(borrower, lender) } } reactive conditional DPCL, example: library regulation
  • 43. “Lingua franca”, and rewriting ● As the informational model of DPCL covers most common constructs and concepts observable in normative languages, one could in principle: ○ re-specify existing normative directives almost literally ○ utilize rewriting rules to re-encode certain constructs into others
  • 44. Rewriting example: all is about power! ● All conditions (e.g. preconditions, violation, termination) implicitly refers to a power that may (should?) be assigned to someone. ● This is an actual step in policy operationalization in administrative settings.
  • 45. Rewriting example: all is about power! ● Unfolding a violation construct to the power to declare that violation… prohibition p { action: #smoke } p -> { #smoke => +power { holder: * action: #declare_violation { item: p } consequence: p.violated } }
  • 46. Rewriting example: all is about power! ● More in general any duty comes with two powers: one to declare fulfilment, another one to declare violation. duty d { holder: john counterparty: paul action: #pay violation: timeout }
  • 47. Rewriting example: all is about power! ● More in general any duty comes with two powers: one to declare fulfilment, another one to declare violation. duty d { holder: john counterparty: paul action: #pay violation: timeout } d -> { #pay => +power { holder: paul action: #declare_fulfillment { item: d } consequence: d.fulfilled } timeout => +power { holder: paul action: #declare_violation { item: d } consequence: d.violated } } here we assign these powers to the counterparty, the claimant
  • 48. Rewriting example: rules as duties & powers ● Transformational rules can be seen not only as “epistemic” duties (about producing knowledge), but also as powers! bike -> vehicle vehicle :- bike. system has to make vehicle true if bike is true Logic rules as goals
  • 49. Rewriting example: rules as duties & powers ● Transformational rules can be seen not only as “epistemic” duties (about producing knowledge), but also as powers! bike -> vehicle bike -> { duty { holder: * action: +vehicle } power { holder: * action: #state { item: vehicle } consequence: +vehicle } } mandatory view ability view
  • 50. Rewriting example: rules as duties & powers ● Transformational rules can be seen not only as “epistemic” duties (about producing knowledge), but also as powers! bike -> vehicle bike -> { duty { holder: * action: +vehicle } power { holder: * action: #state { item: vehicle } consequence: +vehicle } } mandatory view ability view LESS IMPORTANT IN A SOCIAL COORDINATION SETTING!
  • 51. Rewriting example: maintenance duties ● Unfolding maintenance duties (about states of affairs) in terms of duties of actions duty d1 { target: g1 } d1 -> { ~g1 -> duty { action: +g1 } g1 -> prohibition { action: -g1 } } maintenance duty achievement duty avoidance duty
  • 52. Perspectives ● Working on languages for computational regulatory functions is a highly relevant and urgent topic. ● Very dispersed literature, opinions, standpoints. In the years, new generations of researchers and practitionners often restarted from scratch to try to solve old, partially resolved problems. ● Ideally, as a community, we should start by creating grounds and infrastructures to compare and organize all these experiences.
  • 53. Perspectives ● Practical standpoint of modelling practitionners (generally not logicians, nor expert programmers) are generally not taken into account. ● Besides, normative systems have characteristics that make them very different from standard computer engineering/science perspectives. ● DPCL started as an experiment in the design of a programming language starting from these alternative practical requirements. So far, lots of ideas! ● First prototype of interpreter in course of development.