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||⊥ |
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 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 ^|-
|