Introduction to CL
CL is a language based on Deontic and Dynamic logic, allowing us to represent obligations, prohibitions and permissions together with temporal properties. We can also describe exceptional situations where in literature are called Contrary to Duties (CTDs) and Contrary to Prohibitions (CTPs). The following is the CL syntax:
C:= |
CO|CP|CF|C∧C|[β]C|T|⊥ |
CO:= |
OC(α)|CO⊕CO |
CP:= |
P(α)|CP⊕CP |
CF:= |
FC(δ)|CF∨[α]CF |
α:= |
0|1|a|α&α|α;α|α+α |
β:= |
0|1|a|β&β|β;β|β+β|β* |
A contract clause C can be either an Obligation (CO), a Permission (CP) a Prohibitions (CF) or the conjunction of two clauses (C∧C). Furthermore, [β]C is interpreted that if action β is observed, the clause C must hold in the following instant and T; is the trivial contract whereras ⊥ is the impossible contract. An Obligation clause could be a CTD where OC(α) is interpreted as one is obliged to perform action α and if this obligation is violated then clause C comes into effect. An obligation could be the exclusive disjunction of two obligation clauses. A Permission is similar to the obligation however does not have a reparation. Prohibition is similar to Obligation as well, however we do not have the exclusive disjunction between two prohibition clauses.
Atomic actions take the form of 0 (the impossible action), 1 (the satisfied action) and a, where a stands for any atomic action defined by the user. Compound actions could be created by using the concurrancy operator (&), the sequence operator(;) and the choice operator(+). There is also the Kleene star operator(*).
Introduction to the Toolkit
Download the tool:CLAN.zip
Installation
There is no actual installation to make use of this tool. The tool can be dowloaded from here. The tool is zipped and should be extracted into any desired folder. In the zip file you should find the tool that is bundled as an executable jar and a folder with a number of third party libraries which are used. One will require Java in order to use the tool. In order to execute the tool using the command prompt/terminal go to the folder where you have downloaded the jar and execute "java -jar clan.jar".
Usage
Synatx
Action Operators
! |
not |
* |
Kleene star |
& |
concurrent |
+ |
choice |
. |
sequence |
|
|
Deontic Operators
O |
Obliged |
F |
Forbidden |
P |
Permission |
_ |
Reparation |
Boolean and Dynamic Operators
^ |
And |
| |
Disjunction |
- |
Exclusive Disjunction |
[] |
Necessary |
The precedence is as follows:
For the action Operators !*&+.
For the Deontic Operators OFP_
For the boolean operators ^|-
|