Modeling with Rules
Rewriting Deontic Positions in Terms of Power
Let's imagine that we have a duty d
for john
to #pay
another agent paul
.
Now we have obtained a deontic view on the payment. However, this only models part of the problem. We could introduce a transformational rule that refines the context when a payment duty is introduced.
d -> {
john.#pay => +power {
holder: paul
action: #declare_fulfillment { item: d }
consequence: +d.fulfilled
}
timeout => +power {
holder: paul
action: #declare_violation { item: d }
consequence: +d.violated
}
}
Within this context, the agent john
can perform the action #pay
, which allows the counterparty paul
to #declare_fulfillment
of the original duty.
Moreover, we can provide further detail on the violation mechanism. In this case, we actively provide the counterparty with the power to #declare_violation
.
This explicit model allows for better tracing of the activities performed by the agents and brings power at the forefront of the modeling strategy.
Rewriting Knowledge in Terms of Power
Transformational rules can be seen not only as epistemic duties of producing knowledge, but also as powers.
For instance, we could model the epistemic knowledge that a car
constitutes a vehicle
.
However, thanks to transformational rules being able to create contexts, we can further refine the implications of some piece of knowledge.
For example, when modeling a Vehicle Licensing Agency system, we might want to express duties and powers related to the existence of vehicles.
car -> {
duty {
holder: *
action: +vehicle
}
power {
holder: *
action: #state { item: vehicle }
consequence: +vehicle
}
}
Here we express the epistemic duty to activate the vehicle
state, but also the power for a someone to actively #state
the existence of a vehicle
.