developing and executing electronic commerce applications with
Post on 01-Mar-2022
2 Views
Preview:
TRANSCRIPT
!!
" # $ %
& # # ' # $% ##(##$## ( '% # # %)#$(#(#($ *$ ( ### # $%
& # %" % $%+( $ * # # # % ,# # $##% ' # '# # ## % (# ( ,%
"-(# EDEE# % " (
( .EDEE/# ('%
&%
&012#3!4%
!"#$##$
#$#516#
7#8(9%%%(99:%$+"#%;
+*$#
%"<%
% &&&
" $ $ % "=0 =0 # #$%" & '>%7 ##'>%"?!#!!!###%
" !! %%$$%
• Courier font%
• italic Times Roman%
• Arial 8 point font%
• # ###Arial 9 point font%
• # %
• &.@A/Arial Narrow%
• @'# @B$. /##(*
& $##( ./ $ './%" '%)*
C
& EDEE # %
C
!"
# $
;$ %
"#A#+$ %
&$$#-D A# # # $%&, E# &+ 0BD# !! %& 0 & # - ' !!!%
$ #$# # F % "$ E#-G#$#"$#-#; #D6#-#@A#"A#+$#++#"+#@$+#)G#+$#A"#+B#-B#H%+$'%#& sys-admins# & 6% 7 $# +-#&#$@6$%
&% "D=+I0+II# & < % "7$# #=E0E#7+#D##$% '% "##6#6#E#A#+#+#7$###@##"#B,%
)# & "# @# "%& # 77$ # 6#E0 A# A#+ @ # # #$##$ %
$*
%&'((() D -+% ( D @ (% '()(*+, - - . /. ) 012..)01$###3%+#+7% !!!%
%&'(() D -+% ( (% )$## ')+ 045%D#E%- !!J%
%&'(() D-+% ( (%'67-267-$## 3%7#%- !!J%
%&'(() D-+% @ B@ %8- 4)'%#&% !!J%
%&'(()D-+%@ ( % ) 8 , - 7 - * 2,-7-*83% A% D#+%#"K%7 !!J%
%&'((') D -+% & E0' " @ %9+4:%JJ.?/%& ) + % &7)@+% % J(52%7 !! %
%&'((') D -+% " A " &## 7% 0,'+1-02+7.4;#$3%&#A#E%+ !! %
%*&'((')# +#D-+%+$DI%"<1+( ' 70 270;#$3% ; E# % !! %A7 444%(H%D#6%%3L(J!?% !! %
%*&'((') # +# D -+% + D % ) = ,-7-*2,-7-*=3% +#% !! %
%*&'((')# +#D-+%(%)"-0,9)14'*()2*>17?#$3%#% !! %
%+'((')E% ",, '% ' (0')0% %#% !! %
%,--)H%+ & %, , 8 - 2,, !!!3%#7%J!(J #J333%M=+" 0:,7@ *% .J/%%J(2% !!!%
"$$*
" &#>)#
" #>95#
" #;-1#
" & +# BD#>)#<
" &#) #>-5#
MD%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% $%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% & @'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% A %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% & )%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% & "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
. /////////////////////////////////////////////////////////////////// J%J @D$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1 J%5 @&+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 J%4 @6"$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 J%1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J! J%? %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% JJ
' 0 #//////////////////////////////////////////// %J %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J4
%J%J %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J? %J% +#(%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! %J%5 )# %% 5
% @(%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1 % %J %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 % % + #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 % %5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 3 % %4 (%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5! % %1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 55
%5 (%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 54 %5%J %%%%%%%% 5L %5% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 52 %5%5 (%%%%%%%%%%%%%%% 53 %5%4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 4J %5%1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 41
%4 D+N%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 4L %4%J $#%%%%%%%%%%%%%% 43 %4% @%%%%%%%%%%%%%%%%%%%% 1! %4%5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1J
%1 & =0%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1 %1%J ,( %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15 %1% "$(%%%%%%%%%%%%%%%%%%%%%%%%%% 11 %1%5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1? %1%4 , %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ?J %1%1 =&(0 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ?J %1%? )(( %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ?J %1%L A %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ?
%? A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ?5 %?%J &*"=0%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ?5 %?% (%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ?4 %?%5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ?? %?%4 #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ?L %?%1 " %%%%%%%%%%%%%%% ?2 %?%? %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% L
%L *@' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% L4 %L%J .5/%%%%% L4 %L% .4/ L4 %L%5 +.1/ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% L1 %L%4 ##.?/ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% L? %L%1 +.L/ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% L?
1* ///////////////////////22 5%J @%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% L2 5% @O%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 25 5%5 (O%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2?
5%5%J $%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2? 5%5% B$J*O%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 22 5%5%5 B$ *O%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 3! 5%5%4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 3 5%5%1 $%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 34
5%4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 34
3 . //////////////////////////////-2 4%J (%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 32 4% .O/ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J!4 4%5 O%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J!? 4%4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J!3 4%1 7./%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% JJJ 4%? ./%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% JJ5 4%L %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% JJL
4 ////////////////////////////////////////////- 1%J %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J !
1%J%J E0'"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%J 4 1%J% E0'"%%%%%%%%%%%%%J ?
1% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J 2 1%5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J 3
1%5%J H%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%J 3 1%5% &.F/ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%J5
1%4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J54 1%4%J H./ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%J51 1%4% &./%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%J51
1%1 A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J5L 1%1%J (.(/%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%J4J 1%1% .(/%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%J4J
1%? ./ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J4 1%?%J %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%J4 1%?% H*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%J1J 1%?%5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%J14 1%?%4 ./((%%%%%%%%%J11 1%?%1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%J11 1%?%? ((((%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%J12 1%?%L ./%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%J12 1%?%2 &%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%J?! 1%?%3 A*)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%J?J
1%L %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J??
*5 6, ////////- ?%J *&N %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% JL! ?% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% JL4
?% %J J*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%JL? ?% % * %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%JL3
?%5 @%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J2J ?%5%J J*@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%J2 ?%5% *@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%J23 ?%4 "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J3! ?%1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J3
2 7 * ///////////////////////-4 L%J +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J31
L%J%J & %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%J3? L%J% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%J3L
L% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J33 L% %J &%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !! L% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !J
L% %5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! L%5 & %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !5 L%4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !?
8 //////////////////////////////////////////////////////////////////////'(- 2%J %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !3
2%J%J %%%%%%%%%%%%%% J! 2%J% )(%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% JJ 2%J%5 &%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J 2%J%4 (%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J5 2%J%1 (%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J5 2%J%? %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J4 2%J%L %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J4 2%J%2 +(%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J1 2%J%3 'I%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J1
2% B$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J1 2% %J %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J1 2% % & %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J? 2% %5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%% J?
2%5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J? 2%5%J "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J? 2%5% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% JL 2%5%5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5?
2%4 )B$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 52 2%4%J &%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 52 2%4% ( %%%%%%%%%%%%%%%%%%%%%%%% 52 2%4%5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 53 2%4%4 %%%%%%%%% 4! 2%4%1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 4!
2%1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 4J
- " //////////////////////////////////////////' 3%J
.5/%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 45 3%
.4/ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 44 3%5 ##
.1/%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 41 3%4
.?/%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 4? 3%1
'.L/%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 4L 3%? %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 4L
5 9: ////////////////////////////////////////////////////////////' - J%J O%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1!
J% O%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1J J%5 ("O%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1J J%4 (@O%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 14 J%1 O%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1? J%? 7O%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1? J%L " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1L
5' #/////////////////////////////////////////'4- %J @'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ?! % ''%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ? %5 ''%%%%%%%%%%%%%%%%%%% ?1 %4 ''%%%%%%%%%%%%% ??
& //////////////////////////////////////////////////////////////////////////////////'2
.5
" ' . @B$/*
7 ./
J .J3/ " ###./(%
L3
. !/ % J L5 . / +./% 3!4 . / ('% L31 . 5/ D'('#
%2
? . 4/ (#((#%
2!
L . 2/ % 3J2 . 3/ (
#I%J !
3 . 3/ % JL4J! .5!/ ('
%3!
JJ .5 / )P###Q;L2RP%
J??
J .5 / @P###,P# P0%
JL!
J5 .5 / @'% ####Q6A33R%
J23
J4 .5 / (% J2JJ1 .55/ " P
P(%J3!
J? .54/
!!
JL .52/ &P.'/P %
23
J2 .53/ B./ ,%" %
23
J3 .53/ ', #,#%
!1
7 ./
! .4J/ "(# I%
JJL
J .4 / &./$% J?! .45/ &
&J12
5 .45/ " .%%=0=0/%
J?5
4 .44/ B ####%
J1?
1 .41/ %D%
J55
? .43/ ./##%
J??
L .1!/ # %
J13
2 .1J/ "#( %
J?L
3 .?!/ ###.(#(#(I/##$%
J J
5! .? / #%
J??
5J .?L/ ######%
J14
5 .?L/ % J1255 .L!/ (%
##%J?J
54 .L!/ D( % J4J51 .L!/ P
Q;L2RP%J5L
;
* Q)32#)33R
; A
,*< "$Q-)7 !!!R
:; AQ-3LR
& DQ+DD@31#+31R
* QD+D; !!!R
* ((Q33R
*,** ( QD !! #D !!JR
3;& )ADQE+3L#+ !!!R
=*7 6I +Q+3LR
.*<3 & "$).http://www.ietf.org//
;:1 A,Q;A33R
;, A.Q+3?R/
;=. A6&Q+ !!!R
>; 7AQ31R
1:.: .J/ &$QD+D; !!JR. / I &
.http://www.oasis-open.org//
1; ,AQ+6 !!JR
1,; ,A.http://www.odmg.org//
17= ,+6.http://www.omg.org//
1:: Q7) !!JR
19; ,OA.http://www.odmg.org//
.7 & ")0&+Q+ B !!JR
,; .J/ D0AQA !!J#A7 !!!#AD733R. / E0AQE3LR
:; AQ6"H !!!R
7 ?1, @+Q&31R
:; AQ6A33#&D+ !!J#@6B !! R
:,; A.QB1J#2!#+B35R/
:; A
:;, AQ+3?R
:; AQ@S) !!JR
:9; OAQ&33R
<=: "6QE@@32R
7; "+$AQEA !!JR
7; +6+AQ+6 !!JR
07 B$+.http://www.wfmc.org//
037: B$+
@7; +$A.http://www.w3c.org/xml//
.5 3
)J*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J! ) *'
TJ!#!!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 21 )5*'
T 1#!!!$;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 21 )4*.'/%%%%%%%%%%%%%%%%%%%%%% 2L )1* being_supplier1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 35 )?*being_supplier1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 35 )L*EDEE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 31 )2*6EDEE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J )3*(((( %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J1! )J!*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J1! )JJ* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J15 )J *D%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J1L )J5*D %%%%%%%%%%%%%%%%%%%%%%%%% J1L )J4*A %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J?1 )J1*A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J?1 )J?*% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% JL5 )JL**%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% JL5 )J2*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% JLL )J3* being_supplier1#
# %%%%% JL2 ) !*being_supplier1#
##(%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% JL2
) J*&*%%%%%%%%%%%%%% J2! ) *"*'$
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J3J ) 5*&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J3L ) 4*(%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J33 ) 1*&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !J ) ?*7'./#
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J ) L*"##($#
#( %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 4
) 2*##($#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1
) 3*"##($#teme##(IUJ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ?
)5!*"##($#teme# 1J#(I%%%%%%%%% ?
)5J*##($#teme##(IUJ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2
)5 *##($#teme# 1J#(I%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2
)55*"#EdeeCoverer.U$U'/ %%%%%%%%%%%%%%% 5!
)54*#EdeeCoverer.UU'/ %%%%%%%%%%%%%%%% 5J
)51*"#EdeeCoverer#.U$U'/%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5
)5?*"#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 55
)5L*"# 1J#(I%%%%%%%%%%%%%%%%%%%%%% 55
.5 <
"J* F%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !
" *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% L5 "5*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2! "4*'#EdeeCoverer#
being_supplier1 %%%%%%%%%%%%%%%%%%%%%%%%%% 23 "1* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J5! "?*6%%%% J5J "L*./ %%%%%% J55 "2*./ %%%%%%%%%%%%%% J5? "3*6%%%%% J5? "J!*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J52 "JJ*&%%%%%% J45 "J **
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J42 "J5*#'
./%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J1 "J4*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J1? "J1* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J?5 "J?*=0./%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J?4 "JL*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% JL1 "J2*@%%%%%%%%%%%%%%%%%%%%% J25 "J3*@%%%% J24 " !*@
$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J21
" J*@ 5%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J21
" *@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J2?
" 5* J2 " 4*7'./#
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% J " 1*"##($#
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 4
" ?*##($#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1
" L*"##($#teme#(IUJ%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% L
" 2*"##($#teme#(IU1!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% L
" 3*##($#teme#(IUJ%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 3
"5!*##($#teme#(IU1!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 3
"5J*"#EdeeCoverer %%%%%%%%%%%%%%%%%%%%%%%%%% 5! "5 *#EdeeCoverer%%%%%%%%%%%%%%%%%%%%% 5J "55*"#EdeeCoverer#
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5 "54*"#
(IUJ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 54 "51*"#
(IU1!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 54 "5?*"'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 43 "5L*@'*'##
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1! "52*@'*'##
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1J "53*@'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1 "4!*@'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1 "4J*@'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1 "4 *@'c1c1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15 "45*@''%%%%%%%%%% 15 "44*@'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 14 "41*=0
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 14 "4?*@'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 11 "4L*=0
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 11 "42*@'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 11 "43*=0
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1? "1!*@(('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1? "1J* (#(
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 12
.
##
I%"
%
+('$
%&#(
'%D#
%+#
'#'#
%
(
I#($#
%"
*((
('#
#%#
# ##
( '% '
#
#%)#$ #
$
%
& ##
#'
$(%B
(%
#
$ #
I0%
" # #
'% J%J $%
.J% /%J%5%B
$ . J%4/
. J%1/% B
%
/ &#
&$($H
Q33R#'$0
Q"3?#"3?#)-3JR% "#
#
$# #
%;#$(##
%
&'
# (%
" %
" Q& 31R =
0%+#*
. /
%
# # %
%
%
# # %
'%
%
@' # # # #
I # % @'
QE@@3LR%
#(
# # % &
'%"
Q !!!R%&(#
( %"
$
%
"
,(%;#$
('% " '
,#(
'% - I
#
% @ OA
-
%
A$-VV
OA#$##
%D#$
<
QE@@3LR%
& # %
I'%"0
% "
' I%"
(( Q))34R#
% "
+AQ+6 !!JR# .$- VV/
.$OAOA/((%+A
,(
# %
" # '
%&
, % &
A.&A/#
# ( (
%" $
%"
5#$%
!
/' :
"##
%
$;D%B
(% $;#$#
%*
Contract between SkyHi and Steelmans entered into on 1st August 2001
…
“steel” shall mean low-carbon steel of the type Fe360 (Euro-Norm
10025) in sheets with dimensions 1600 x 400 x 5.0 mm, with thickness
tolerance ± 0.040 mm on a single sheet.
Clause D.1
…
SkyHi must pay Steelmans $25,000 before 1st September 2001. Clause C.1
Steelmans must deliver 10 tons of steel before 1st October 2001. Clause C.2
SkyHi has the right to return the steel within 30 days. Clause C.3
In the event of a return in terms of Clause C.3 above, Steelmans shall
refund SkyHi the amount paid.
Clause C.4
…
&#$;I*
SkyHi Risk Management Procedures
…
Clerks may not buy steel. Clause P.1
Employees older than 25 may buy steel. Clause P.2
Payments of more than $10,000 to suppliers are prohibited. Clause P.3
…
$; , *
Commercial Trade Act
…
An obligation is fulfilled when all obliged occurrences have happened. Clause L.1
An obligation is violated if it is after the deadline and some obliged
occurrences have not happened.
Clause L.2
Following successful instigation of the prescribed procedure for
claiming compensation, damages for violation of an obligation must
be paid, by the liable party, to the party entitled to compensation.
Clause L.3
…
$;
#$;,##
. (
/% *
' $;0
'
## % $;$
%"
#$
%"##'
#
% )#
# #
% )# $
#
%
!
"
I*
W./
• = 0 .%J=0#
A%JA% =0=0/#
1%1.J5L/
1%?%J.J4 /
1%?% .J1J/
• .%J% /J# 1%?%J.J4 /
• .#%4#
<
A%5/#
1%?%1.J11/
• .5!#
%5< #
% /#
1%1.J5L/
• .%J/# 1%5% .J5 /
• .%J%5/# 1%5%J.J 3/
• .% /% 1%4.J54/
J"## # % '%
/ .7
%
% B$
( % " #
%
'# # < #
(%
, % B
# $ % "
(
%
/ = <#
B$ ##
# # '
% " $ .(
/ #
I % "
% &
.7A/'
(((7AQ+3?#3?#)33R%
I
% , I
"
# $# #
% &#
%
+'
$% &
%B
'%"
#
*
(%
%
% + %
0
%
) ' $ #
'(
(%
")J
% D 0
##%"
% )# #
$ %
./%
Regulations• …
Store of Specifications
and Occurrences
Business Occurrences
Contracting Fulfilment
Environmental
Contracts• SkyHi must pay
Steelmans $25,000 before 1st September 2001.
Policies• Clerks may not buy
steel.• Payments of more than
$10,000 to suppliers are prohibited.
Active Wrapper
Figure 1: Contextual overview of desired solution
/4
B#
' #
##QD !!!#D !!JR%
(QD !!JR#
(%
EDEE(QD !!JR#
# # QD !!J#
D !! R% B '
#
$Q D !! # D !! R%
QD !! #E !! R%"((
$#Q D !! R%
#$
"$
# # '#
%"
' #
% B
'
# # % "
#
%"
$(%
####
# #
%
/ , 1
"*
$$#
# # # #
%"$
$% D
# #
'
%
B $ ' 5#
P # P
$(% B
'#
#$ (
''%
+'
(#4
(
%" #
' #
%
1 # #
%"(
$
%
+?%
+ ' ( (
L% "
#EDEE# '
%
2 % &
$ ##
%
3#%
'
0 #
B
$ %&#
$% &
#
%
' ##
%"(*#%
%J#$
#
#%
(
$ # # %
% ( # %5
$ % "'
# $
# %4%
% &'
%1 =0
#
# $ %
)#$. %?/#
#%
& # ,
'%D#
( '
( $
% "
'$ %
'/ *:
,*(
. '/# #
%
?:*> 9
( # * QD+D; !!!#
D;++ !!J#D;++ !! R#=*7 Q+3LR#: Q@B32R#* Q6"32# "33R#
A*,. Q7) !!JR#,* Q)32R#* QD; !!!R# ; :
Q)-A !!JR# % & (#
. / # #
$
% (
%
''
' QA"33R% < Q"673 R#
()!&
(#(
% 19
QA"33R (
# <
%>9Q"B !!!RK+AOA
.K+A(OA/ ' K+A # #
K+A%
( '
# % "
#
%
$(6 +
%
,<*? ? !
*? ? *! *
# #% (
( # #
Q33R%
# 7
:9; :# 1# :# :9;B--
Q&33R OA % OAF33
UPDATE#DELETE#INSERT#./SELECT%
,
: Q;22#E3JR#Q;3 #;D3LR#,5QD+35R#
: QB 3?R# ,( :71: Q635#
634# )66 !!!R# 1 Q6-3 # 6-3 R# : : QEE35#
+34R#>1:Q34R#<=:QE@@H34#@32#E@@ !!JR%
% &'
#
*
CREATE RULE rule_name ON table WHEN INSERTED/DELETED/UPDATED
[IF condition] THEN action_list
PRECEDES rule_list FOLLOWS rule_list
:*:*? :!
*
5C # 7 C 0 $ <# :# :1 *
7# %&#
D ( QE@31R% ( #
###$%
$
.&/* # $ #
##%
" *
'// *5
" #
##$
% "
$%
." *
"
Q+D?3#2!R=
D0 % "
()!&
stabbing(Caesar,Brutus)
%0Q2!#JJ2R#*
∃x stabbing(Caesar, Brutus, x)
x %
% P#
+Q+L2R#DQD2?R#DQD22R#H$QH3?R#
Q !!!RP$
# # %
Q3!R<-$+Q-+ !!!R<;#
# HI Q;H !!!R< E QE32# E32# E !!JR%
0 #
##=
0#= 0=D 0 =D 0#
'%0*
∃x stabbing(x) ∧ agent(x, Caesar) ∧ theme(x, Brutus)
E# *:ΘΘΘΘ QE32R# % D
' .x/
P P # #
%E$QE2?R
#
% "$E$QE31R
% $ Q33R E$ 0 $
E0%
B E P $
## ### P
#
# % )# E
, < QE !!JR#+3 0Q3!R#=P0%
% &'
; & 3;&!QE+3L#+ !!!R#
% =C 0#=C 0#
% & #
.%% =& 0/ $ ='0
5 .%% =& Q& R0/% E +0
I QL?#?3#
H21R# QE !!JR
QE+3L# + !!!R% $ Q !! R
E0 #
## %
H
% "
$
% ;#
(##
% ) $
# #
%
<. "*
"
% E0*, ;*,;!QE3LR
%
A $ I
%
5QL?RQ?3R=0=0%
()!&
#
Q32R%(
# %
QD+D; !!!# !!!R%7#
# %
#
#
Q31# 634# -+ !!!# 3!# !!!R% +
# (
( # QD3?# !!!# 33R
6 +Q+3LR.(
( /% H QD2?#;31#
E !!J# E@35# +L2# 3!# !!!R
.# #=0/ %
&#
%
# #
%
<
66 6$
! ? /
B $ $ =0# =0# =0
# %
5 # E .#
JL/# % #
I# # '# # # #
%
% &'
' 1 $
5/
'//' 7 6 ?
B (# (
'(%"
#
(%
& #
$
% " &
.54/ 6 + $
.5?/#(
(%
" (
.I " J /
I (
(%
, 7 .
@ F) - &## @
7 +
"F
6
#6 +#
# ##$
@+$.A$/
+(& A
Table 1: Event detection mechanisms used in publish/subscribe and active databases
()!&
5 3 : I
) + % "
%
#0
%"##
)% > I)#
$%
$#%
& ? #
# 0
# %
+ (P
@###Q+34#33R%"
(
%B
#
%
$?# .( ($/ *
$###%7?
5
# $
#%
+ # (
%"
#%
#
% &'
#
, %"
#% '
P (
%
%
7 !
/
& #
('%
%
?
/
(##(*
<
% $
('% " #
' % "
EQ !!!R
% ;#;0
I * (
% .J4/A( K+A(
' OA K %
#%
$ % "
()!&
$# #
%
4 &
? 65/
$ 0&*7Q32R
%
" ((
.B. 5:%
# %
%"
# &
# %$
#
'%
" . J?/#
$#
%
'// 3 6
. J?/ (
$# $ % B
#
( # (
# % (
*
% &'
Effective from 13 January 2003 to 13 March 2003, print accounting reports before 8am
on the last working day of every month
(*
Effective from 13 January 2003, customers must settle their bills before 5pm on the last
working day of every month.
& (#
< , . /
% & % "
(,#
%"(#
P
I 0#0#
%"( *
#
#
% ) ( (
%
#%
?6 ??6
/
'/' ?
D #
##% ((#
.J1/#(%
.
& # # ( (#
$%
:9;B-- Q&33R #
CHECK ASSERTION #
###Q !!!R%&#
#,%
) ,( # # (
(##(
1F ;1;! Q+6 !!JR% &
I * Q+33R (
-QE32R#%
"+1:QA !!JR
, . /#
' . ((/% E
#
I
## # .SomeTimeInFuture#
AlwaysInFuture … Unless …#NeverInFuture/%
( % ) #
$ <= , Q"6 !!JR# &* 0 QD !!JR#
7 : : /( Q+ !!JR : '((( Q+ !!JR
% &'
I% "
' if … then … HD#-#-#
(%
; 656
)(# ( ( #
#%
# (
% & (# ((
./.,/Q+34R%
@ ; # )A% 7
%
: ; :;!Q6A33#&D+ !!J#@6B !! R
. /
%
if … then …%)0*<*Q)2 R
# % @ " 1:4Q)2 R
70;.:Q@ !!JR#- A�
A*::Q); !!JR%&&G
& # : $C QD !!!R# H ; : QH !!JR#
Q !!JR# .;1= Q&A6 !!JR# EC * I
Q; !!JR%%)#&A6@ "
$ % "
%
@ "
#$ X
if … then …%)#@ " 0
$ OA#
-# #
( $ $
QD !!JR%
&@ " #$ (.α/(
.β,/#.%%'/
% ) β( (
%)#
%I'
(Q); !!JR%
@ "
β('*
.,/ # / ,
Q+2L#D6A+3JR% )(;Q); !!JR
@ " ($1,.4,/#
J!./#J!#!!!,%-
,#
% ;#
@ " $
% @ " # <*<
Q+3LR# . / β(#
% ;#
$"@ " ,
# #
%= Q;E7H32R#
. J1/# ( I @ "
"@ "$#%
& #
(*
% &'
'/'/
(Q@ !!JR%)#
(%@Q@ !!JR
% @
%;#
'##
##
% # %
@
$(%"%&
P J! J!%J P (
%
low#nominal#high
%@$
,$ (
%
'/'/' 7 6
@ " $#
(* #
$ $#
Q); !!JR%
2 :
/
@ #
% ) #.&7 Q&D+ !!JR
# $ % @ " "@ "
( # <
%
*<
%##
%
A@QA@34R#
#%"(
QA !!JR
(QA33R%
#$&:<#QD@ !!JR#
I % @"$
#(%
8 $ ?
6
G5/
'/'/
&(# <
'
%"#
# $
% &
( # ' % B
#
%
- /
% &'
&# @ " # "@ "# 6 $ (
.'/#
.'/ %#
#
#%
/ #
# ' % "
@ " αβ#
%
'
$# '%
(
%
( ?
/
'/'/ ?
@##
#%
(
I% I
%PRECEDESFOLLOWS.J?/#
. / (
#(%7
PRECEDES#+PRIORITIES BEFORE|AFTER rule_name
% ## "6 '
% ) # "6#
.0=highest#1=medium#
%/% I
#
(Q+$22R% - Q); !!JR salience
# "6% @
#%
##% )
#-%"-
%
"#
(%
& #
cut$$.
/%@##
# .%% #
# ,# 0 # %/
# %
Aoverrides%
) # medium# high# very_low# lowest #
$amazonebay%
&+#
% # if…then…else…
( I % # switch…case…
# -# break
%
& E# #
.$/
%
7 (
I (%
, B 7 ; Q;L2R#
% &'
# # # #
#
%
"($ @ " "@ "
% $#
#,%
#
./ ,
%
OAF33 $ #
%"#(
# $
% @,
#
%
3 J 6
6 $6 %E 28) J
/
' J 6
6 6F J
6
J C /
/
$
6 6 6
6 %=;--)/
5? /
'/'/4 :
& # # #
< %
& # * #
./ % "
(
$%= ((
0 % & (
# %@#
<'
## #
% $
%
"
Q+ !!JR% '
%"$
##% =%J#$;
0$;
# % (
#
$%
%&
#
#
($%
4 < J$
J?/
% &'
(
#%
#
$.
/ . $
/% & ( (
%(
./ #
#%
/
'/ ?:
( ( #
($5%
I%;
%
1:.:QD+D; !!!R##
%
;:1Q;A33R I
-% A $
-%A
&!&
# #
%A%#
A ,
%
7#QD)A3?R#+> QD !!JR#
F ' =
Y0.key1, key2, key3 REQUEST
actionstring/% " +$FE7 .#
/ #(
#QD !!JR%
" : ;:;!Q-3LR
#
%
": ;:;!Q@S) !!JR#
# %
$#$. 1/#
$# * #
%
>$ #:7
& $ #(
%&#
#(,($%
DA0 , ;,;!QA !!J#A7 !!!#AD733R
(( #
% D0AQA !!JR(
%)
%
% &'
E0 , ;,;!QE3LR
A .J2/#
%
"& ")0 . 7 .7!Q+ B !!JR
+A $
% (#
7+# +&# A ( $
%
& 0 QA !!J# A !!JR P
$
PI=0
%
(%
Q34# 31R # #
%
#,
# #
Q31R% I
% =0 (
%( ,
QA !!JR%
" ( $
( '
% ( $
$#$
,*
&!&
'// * $
+ Q-3L# A !!JR
QA !!J#;H !!JR
2-'3% *
(1) A person may not approve a cheque they have issued. [Dam2002, HV2001]
(2) An author of a paper cannot act as its referee. [CDMR2001]
"#$#'
QD)33# ;A33# -3L# @S) !!JR% B
( #
' Q@S) !!JR%
# ( #
$% & #
('%7#(
(
#(
% & A# ( #
' ,# #
% '# #
( (
Q !! # J!?R% & < $ Q;H !!JR# ,(
% " ' .
(1)/ issuerIDapproverID
Cheque%6
%
% &'
'//' :
"$,(
% &,( #
%&#
%0
% " #
' % 0
#
%
2 .
J !J
/
,(
' . /
%E '
OAOA
$ $
%
Q !! <4!#4 RI AQ;A33R
,(
% $ # #
,.#,(/
,% A Q-3LR
I ,
QA !!JR%
&!&
8 0 5
5
! F/ <
/
& #
./# %
,
%"
, #
' ,#
Q !! R%
0 Q+Z31# A !!JR
, %
,% " =0
, .
/%
-
$ $ F $
6 F6
/
'// ?
%
+#I
.'/##
Q+3 R%6Q63LR
% &'
( , ( % +## @
Q+@ !!JR(./#(
. /# .
/%B 0QB 31R.(
/#$(##(%B
(#
# # # #(# % E
QE3LR*
• '( #
#
• ((####
,######(.F/
##
• ##(%
+Q+34R#
II((
# ( ( % "
(
( % )#
Q !! R $
*(.##
/# ( .$( (
#(#
/# ( (
% @ ( ((
0$%&#
(A#- #A
B # ( I
&!&
./%"
$%
$
%&#(
%(
$
(% "
%
" PP
Q3?R&@A
QA !!!#DA+ !!JR% +##@Q+@ !!JRI
'$
#
'# % &#
# I##
% " (((
* ((
,(
' % 7
%
'( < ? 6
*
G/
'//
"=0(
* 23 #
$#
% &'
$ #
#5%
&(## #*
Customers must be notified (by some employee) of outstanding balances.
;#
%&# =
K0 ,
(, K=K0
%&0(#
. / ,% &
'
'%
' . ! 5
#/
; $? ? ?
(
( * . / #
%%Q+@ !!JR#
$#
%
.6#=0/
.= 0/ QE3LR% ;(
$ ((
%
&!&
'' . 5
/
: !
#
.55/%#,
$
% (=0
# <
$ #
E0A$nosuccess%Aor-
else QA2!# J4 R ./% " (
$'.
/
#%)#
Q"D33#J44R% #
nosuccess# or-else#
(
=0=0%
((,
%
' < $
// KC
K C! $
/
% &'
= !
0 #
# *#
% ) # ./
# +
$# @%
# (
%
( disable()
##
%
' 0
6
6 6 6
/
> $ $
"AQ@S) !!JR
=0# *
(To make Action_T successful)4
Principal_O must do Action_O
if Principal_T has done Action_T
Principal_T cannot (successfully) do Action_T
if Principal_O will not do Action_O
%"
commitAction_T
Action_O% A0 =0
%A=0
#
Q !! #52R% "Q@S) !!JR 4$Q@S) !!JR%
&!&
I#A
Q-3?R % ;#
=0 # '
.(((($/$<
=0
%)#
.%% / ' .%%
%5/ % " $
#
#
% )#
'
%
" %#
#=0
' = %50% "
A0%
'4
/& /
'//4
& # ( #
% ;#
%#((
# ( %
7 I ./ $
./Q+Z31R%"
*#
% & #
% &'
(#
# # # # # F
% '(
( Q+Z31R# #
%
& A Q-3LR# #
# %
@# #$
, ,
% (
(QA !!JR%
Q;A33#+3?R#A#
%DA
# %"
#(
(%
(%
+$Q+3?#@S) !!JR(
# # (
./ %
%
( # :;,Q+3?R (
*
% @
%
& & ")0&+# (
%&#
*+
#
%
'/ & 7 L
(
$ 55%B #
#(%
0 # $7:037:!
B$ .B)+/ %
: ;
:;! Q6"H !!!R 0 # $ 7 C 07!
0 # $ , ; 0,;!
QB+31R% B$ I#
$ and/or# -split# -join# iteration
Q6@ !!!#3?R%"B ++600 # $
7 3 Q33R% & ,*< Q-)7 !!!R#
* sequence# can-be-parallel# must-be-
parallel# loop (iteration)% <=:3 $ QE@@32R '#
# , AND# INCLUSIVE-OR#
EXCLUSIVE-OR%
"1 : :1::!Q7) !!JR
sequence# or# and# not
.J1/%"*01+$
. J4/%
SEQUENCE. J
/#CONCURRENCY .
/#REPETITION. J/#ITERATION. J
/# DISJUNCTION . /#
% &'
EXCLUSIVE-DISJUNCTION . /#
CONJUNCTION . /# NEGATION . J
/% # # %
:same-workflow
:same-broker'$
$#
##'
,%
$ # : B# .:#
&*# 7 Q6@ !!!#
33R% > (
Q !!!R% "$# #
%"$=0%"#
#
$# I% )
$%
%Q;;34R # # 7
'
$% $ , #
$ , % "
$$
% ,##<
#$=0=0%
7%
*+
*5:
+ ( (
(%
Q)3 R% * *! Q)32# )33R
. / %
#'%
(%
B$ '
$*
'/ / $ # 6
& $ #
$% B$ #
$ P P
% 7
% ' #
%
"
=0#=0#=0#
%" ##
%
' !6 5 6
/
% &'
A % QA3 # A32# DABB31R
7./ %
"
# % )#
$ 7 #
'<$
%
'/ /'
7 '
#./#(#,#%"
P %% " $ . 4L/#
Q)E !!JR% "=I propose …0
#=I accept …0#
$%
&#-0Q- !! R#E"
QE" !!!R# #
5 %=&C 0=&C 0
.#/
#=0
QL?#H21# !!!#"32R
% "
#($
%
'2 *5
$6
/
*+
"0
'%B
( # (
$# # #
# % "
#
* =0
% 6
(% ) #
Q"D33#J R
%&#./
$ ' P
' ' % "
'# ( % &
"#
%
'8 < 6
?
$/
'/ / :
Q3?R((
' =0 =0%
$,$
B)+%
Q)32#7) !!JR (
# ( I $
% &'
II
%
. 4L/ $ % "
<
%;#
* Available# NotAvailable#
Defined#Assigning#OnGoing#Suspended#Terminated#Aborted%
".4L/true#false#unknown
$ # #
%7((
"unknown%
#%
. 43/ (
% &
(
# (%
'/4 . K C
+ $
=0%
" =0 < #
#I
Q;L2R % )
=0*
,-
'/4/ 1F?
& ,( # + Q+3L# +33R
, %D+0Q+3L#J LR
% +0=0# #
=0 =0 (
.require / ( .ensure /% .invariant
/ , % "
D=0=0*8
( # &#
#(
:%
D(QD-B33R
=0,(*
• D * (
@D&A%"
# #
%
• D * ( (# (
# .D / A#
##E. 1/%"QD-B33R#
;Q;3 R.D/
(.D/#=0
% ;0
*
contract [contractName]
[className] supports
attribute signatures
method signatures
…
invariants
…
% &'
end contract
;0
./%
• I * ( I #
mutexes ./ -0 synchronized $
$%
• O .O/ *
# #
#% "
O$@D%
D%#
# # # %
%#
#%)D#
D# I #
( % #
%
&O#
'#=0%&
'
O ,% D 0
,( % "
#'%
=0I #
#$#%
,-
'/4/' <# ?
&0 >Q2!R#($
./=0#$#
% "#
= 0# $ % B K
QBK !!JR
#X%"
$I%7
$# $
%
: Q !!!#E33R
7
###I%"
##% "
$
7( $%
+$ ;$?= .
;=.!Q+ !!!R%(
, =0 % "
###
#
%"
#=0
$ #repeal()
$%
% &'
'/4/ :
( ( $ 1:71:
Q+6"+32#+32R# 3 $ QE6H33R# *?,17* QEE !!JR
($#
'
#
% " + $ $
(
#I
% +
I
' #
Q+ !!JR% ) (+
(I $ %
$ #
B +0BA.4L/% ,
$%
+ 0 & &! Q+DD@31# +31R
< '
%
( ( # ( $
% ) # D
( $
< $ D
% )
#D#' 1%&
D# '
1#*##Q"D33<L#1JR%
,-
% "D
# $
( %
D ./ ./
(<
$ (
% " #
D#
%
: Q6 !!!R K+A % &
D#$% 0
( # ( %
7(K+A##
# %
#
%&
%
; $ A Q++ !!JR $((
( $ #
# # # #
D%"#
K+A%
+0 D &
I0 7 1 ,
7 ?1,! Q&31R '
'% " @+( # #
###$D#
% " @+(
##Q+31#JLLR%
" Q+@ !!JR*
% &'
#
%"@+(#
( %
" #
# $
Q !!!R +A @+(
H % "
#
,(#,(S%"
= 0
Q !!!# R# %
+ *
,( #
,% #,( *
# # (
% #
Q !! #4?R%#
% "
,#
% & =0
' % )#$J
Q"D33# J44R#
%&##
A
$ %
Q-3?R Q;L2R % "
, #
P
,-
QALLRPP
Q12R%
Q !!!#+@ !!JR% &
#,%"
(* '
% " , '
. / ( #
,( ( (% "
$
. /
%"
#($'
% + (
$%
" K+A(< 7#;7;!
&D+@QEA !!JR= 0
=0% +A 1:.:
! ! Q !! R% +A
F
%".%%D&/#'.%%A/#
.%%;""/% "
# % )#
$
%
" 1:.: < Q !!JR
% " =0
= 0<
##$.%-)#
54/%"#
=0#
% &'
#
%D(
# (
#
'
%
:;.A/ %"
$#
# A
% " " (
.4L/A%& "##A
#%)
## ##
##
%
.%%30/%#
## #%
& #
# # (
#I
# $
% "$ $ (I
./((I.
/%
'- 6$ 6 6
$ ?6 ?6 5? G !6
6
#/
,-
'/4/ F
Q2LR , # .:<# (
, % & &"@#
, %
" # (
# %
'/4/4 K.?C
6 (Q6A33#@6B !! Rif-
then % "
& I .=(
0/ ( % (
# #
# #'# % "
A. ?/%
'/4/ 3? ?
- %Q !!!R #;$#
*
% 7 #
#%
& #A0 >,.,
#
QA2!<J !#J24R%7&##
#.#/#'
. $/# % A
7& #
QA2!# R%
#$#
% &'
#
7&QA2!<
#J3!R
'/4/2 ;
;Q;32R$;0
. # 5J/
% "
=0
' $ #
##' #
#I%
$$#A#
) + Q+ !!J# + !!JR 7 QDABB31# 33R
% 7
##(Q33R%
)+7#
% )+ 7(
' #
###%
( $ 5
6
/
$#
#
%
#.
'/ , ;
= 0 #
# Q+B35R#
Q33R% " B
QB1JR%"
O# P# F# # # %
I #
Q+B35R *
Interdefinability: α =def ¬¬α =def ¬Fα
‘α is permitted’ is equivalent to ‘it is not obliged that not α’ and ‘α is not forbidden’.
Strong consistency theorem: ¬(Oα ∧ O¬α)
It is never the case that α is both obliged and forbidden.
Deontic detachment / transitivity: O(α→β) → (Oα→Oβ)
If it is obliged that (if α then β ) then, if α is obliged then β is obliged.
Ought implies can: O(α) → P(α)
If α is obliged then α is permitted.
" A .A/
# %
" A #
*
'// .$ "< K C
A$ *O
=#
C 0 =
% &'
C 0% & # (
% A0 .?5/
#Q+$33R*
“The clerk ought to give you a receipt if you pay” and
“You ought to pay” implies
“The clerk ought to give you a receipt” (even if you don’ t pay).
"A #
# %
A #
Q3LR%
'//' ?
" .?5/((
#
%Q34R##
I #
I % " B Q"B !!J#
"B !!JR
% Q2!R
.OαO¬α/%A
#
%*
$?? !
E+QE+35R$
# #
I % '
#A#
Q;E35#E+35#
#.
3LR% J![
#J1[
. # ' /%
E +QE+35R =0*PΟα $
=α0%E+0#P#
##$$
%"$%
$ !
I
#
'%
A#
( *8#
0:?%A*#$
#
#'I
Q+B3?R%
$
Q31R Q32R% " A I
# =*# F
F 0% " (
R1$R2%"
%)#;+$Q;+3LR
=the doctor must immediately visit heart attack victims0
($*
A #
?"AI.JLLL(J254/%
% &'
B % 0
./ $
%
'// ,
A QB !!JR
#
Q+@ !!JR% "
,Q !! #54R% A
( (
Q;E35R% H Q;E35# ""33R
xOyExα
##α%
A%
% '
A '
.##/$
(( α% 7## -Q7-32R
ααA%
@#
α%7%
#
((
A% Q32R # A#
=α 0=
α0% & #
./¬α%"#Q12R#
α
%&#
α%
#.
, 6$ 666
665/
A .4 /Q !!!R%;#
.%%=
0/#
%
'// 1 $ 6
A O#
% +$ Q+$33R# \
D#
%&O(α→β)#$
#
((# (
% H (
#QE !!J#D !! #E !! R%
'A0(
# $ (
%
' 1 /
% &'
'//4 <
AQ+@ !!J# !! R
% " B Q"B !!J# "B !!J# B !!JR
A #
%
&= 0#A
*#=-
0 ./= 0 ./
=-0./%BQB31R
% "
%A
Q2!#-35R#
#
Q+B3?R% Q2!R Q3LR
%
&=0#A5%
• A*A'
Q""33R%Q12ROα(¬α
→ V) = ¬α 0% ;# 0
# # $
#
Q+B35R%EQE32R
.Violation(α)Oα/
% B QB31R
Violationi,j i
j% "
% 0#+#B Q+B35R
Violationll#
#.
% "
#
%
P
P
'%
#
# %
"'
%
'*
% D #Violationi,j Violationl#
%
E0 QE32R
$(=0
=0%"
$%
• A5*-A
#
%"#A'
$%0Q12R#
=(0=0=
F0%
A .%% = 0/ #
.%%=$0/QD3?#D !!!R%"
¬Oα Oα ∧ α .
/A
( % ./
Oα ∧ αOα%
% &'
" . ?5/# Q2!R#
( P
DQD3?R
#%"
$# # #
P
#
%
1 ? /1
6 6
/
-Q+@ !!JR*
%A
< # #
%
& ? 5/
A # - Q-3?R
.#
#/ .
/%&.
/%
4 J
$%E 28)J /
&#A
*$
#.
$#
$QE3LR%$ J$
!'#='0
%AQB !!JR#
'%
H % %
QBH3?#E3L#E32R+0
% "
#./#
%
=5!0#=J0#=
$ 0# = 0%
= 1 5!0
=$?J!0%%
E$
#%&QBH3?R#
$
$%AQE3LR#
( ( # '
%
+#D%QDA" !!!R=
0# [β]Oα((β
(( Oα α % #
[promise(r1,r2,α)]Or1r2(α)= r1α r2# r1
r2α0% $
% ) #
'=
0%
% &'
%Q 33Rdo
% D % QDA" !!!R
< DO(α) α <
DONE(α) α .α
/%)#DONE(pay(John,$100))
-TJ!!% "
#
% 7DONE(α)
%
'//
+$ Q+ !!!R# @ B# $
#
P #
%7#
,<
+BQ+B35#%JL(4!R%
" %
#.
*5
A ,@, *5:QA@34R
> ?=Q !!JR
$Q+ !!J#+ !!JR
AQDABB31R
> QA33#A !!!#A+ !!JR
?1F?
QB !!!#B !!JR
&'
"(* ;*=1;> &QA !!!R
,(* 1;1?@QD@31#@ !!!#@ !!!R
(* + $? ?7 ?
Q"B !!J#"B !!JR
Table 2: Sample of some recent applications of deontic logic
% &'
'/2 " :
" #
# ( #
# # % ) #
(
*
'/2/ :
!
'
%
#
#'% D
#
%
# ,( #
%"#
#%
'/2/' :
!
" (# (# $(# (
% AQA !!JR
'
' % (
/!
%
;
% B
( (
I .W %5%5/#
% .43/
%
% "
##
%
'/2/ 7 4!
,
#QB1J#12#? #
+B35R# Q;L2# -3?# - !!!R% (
',
%"
P $#
(%
"
%
% (
. 1?/
%
+,(((
( < < ./
< # < #
<(<<
%
% &'
#
#(#(#(I%
'/2/ *566 !
"
#
(%
%
'#
#%
'/2/4 7 2!
,($
% #
#%
"'
'%
1*
"
%
B
$ # #
# = 0 .W5%J/% B
' '
.W5% /% B .1/
'#
% O
#
* = $0 .W5%5/% "
.'/
. L/%
)#
.?/%
0$(
/ : 1
B
#
% )# #5## #
%
. / %
(*
## #A%
##%
###
%&# ./
#
%
% B
.##/#
%
*-
#-%&#
#
%)#
#'%
B =0 =0
.J?/
#
.J1/% )#
L&=0##%
!$
=0%)#DQD22R#.
/-0-0
=0#%
=00=0.#
#/#EQE !!JR%
B # #
%
#=0
%=D K0
=D 5 K0 $
5
%.4 /
( $ *
'#
%)
##%)#
'#(#
%
A % "$ #
WJ% # $;#
$;T 1#!!!%&
.(
/##
#
% A being_supplier1 paying1 $
-!"
"
#
##
.
/(
%
''!"
(
'%
0$(
% B allocating1
#)(&)(#
#occurring1
J1 !!J% ((
B
#
% " 5 (
% ) $ Steelmans
$% $
being_supplier1#$
C% )$ ,
%
Commentary Occurrence Role Participant
supplier Steelmans Steelmans being a supplier for SkyHi being_supplier1
supplied SkyHi
payer SkyHi
paid-amount $25,000
payee Steelmans
According to Clause 1, SkyHi paid $25,000
to Steelmans
paying1
isAccordingTo Clause 1
allocated paying1
allocatedTo delivering1
The payment was allocated to a previous
delivery
allocating1
allocationBasis FIFO
occurred paying1 The payment occurred on 15 August 2001 occurring1
occurredOn 15 August 2001
Table 3: A tabular schema for storing various occurrences
"(
(E
E QE3?R# % E
' !"
(#
((#
%
!$
,(
''=
+$Y0% ;# #
#(
%(#
' =.select occurrences in which Steelmans participates) intersection (select
occurrences where SkyHi participates)0% " paying1 being_supplier1
% " '
% ) #
'
# . being-obliged/
%
E0 Θ . # JL/#
E
% $; T 1#!!!
*
∃e ( paying(e) ∧ Subject(e,SkyHi) ∧ DirectObject(e,$25000) ∧
IndirectObject(e,Steelmans) ∧ Sake(e,e’) ∧ delivering(e’) )
Formula 1
=0 E0
*
• (( P (=0
Q-+ !!!R P . agent# theme# %/
$.subject#object#%/#
%BPagent#patient# instrument#source#
destination P $
Q31#634# !!!R#
I% Q3?R# #
%
-$# )# 6# #
0$(
agent#
%(.buyer#seller#%/
%
$subjectobject%E#$
$#
% 6 $
*#=-0./
=0./#
PobjectsubjectP
being opened %
Q3!R<
$%B
(# opener opened#
##
%
• measuring
. W4%5/ E0 unit() quantity()
QE32R%
• allocating . W1%?%J/ E0 Sake(… )
%
• #
#
' ' #
OA% &
E #
K.J#Z/#./#K%
4'!"
D
'
(
'#
%
!1
& # .
E0 /
# , # % "
##
( K+A % 7
#
#
%B
'#
%
& #
E0 ' . # JL/
###%"
1%&
.%% '/#
#
#'%
/' : 9
&#*#
%&
#<
%'
#
$(%"#
#%-
-%D
$
0$(
+
$-0$% &#'
= $0 - #
I#+%
)
.1/#'
%
./'5%&#
'./#
#%
O#%)
%
'#(''%
O ((
'((##(
#((% "(
'% EDEE0$
'(#EDEEQL#
% EDEEQL # # (
#(##'%J
'%
"$'TJ!#!!!
%"'#Query10#)
#'%#
'#Query19#$;T 1#!!!
J !!J% "
Query19)5%
!1
query2
query4
query3
QueryID Criterion Type Value
query2 greater-than 10000
query3 identified-concept paid amoun
supplier
t
query1 type paying
query6 type being
participant query2
role query3
query4 occurrence query1
query5 identified-concept supplier
query8 identified-concept payee
query7
occurrence query6
role query5
participant query7
role query8
query9 occurrence query1
query10 intersectand query4
intersectand query9
[>10,000]
occurrences
where
is [=paid_amount]
∩
occurrences
[participantswhere in
role [=supplier]
in [occurrences
are [=payee]
query10
query5
query7
query6
query9
query8
query1
query1
[paying]of
[paying]
[being_supplier]]
of
of
Figure 2: Parse tree and storage schema for a query that returns
all occurrences where more than $10,000 is paid to a supplier
query11
query13
query12
query14
query15
query18
query19
query8
∩
query16
query17
query3
QueryID Criterion-type Value
query11 identified-concept SkyHi
query12 identified-concept payer
participant query11
query13 occurrence query1
role query12
query14 identified-concept Steelmans
participant query14
query15 occurrence query1
role query8
query16 equal-to 25000
participant query16
query17 occurrence query1
role query3
query18 intersectand query13
intersectand query15
intersectand query17
query19 set query18
occurrences
[=SkyHi]
[=Steelmans]
1st of [
is [=payer]
∩
occurrences
where
[paying]of
[paying]of
[paying]of
is [=payee]
occurrences
[=25,000]where
is [=paid_amount]
where
query1
query1
query1
] in [ascending]
[temporal] order
Figure 3: Parse tree and storage schema for a query that returns
the first payment of $25,000 by SkyHi to Steelmans
"''$(
./'% "$('
'%"
#
0$(
%B
('#
#(.W5%5/%
/ , ?9
)(''%&'#
'%
B('#'
% "'#
'
'% "
#(
.W %J/% # '
# # % B
#1#'
''%
// 1$ #
) 4 '
('%=$;
T 1#!!!0 .paying1/# =$; D$+ T1#!!!0 .paying2/# =$;
#-$#TJ1#!!!0.paying3/%)#
'=TJ!#!!!0 .query4#)
/=0.query9#) /
% " #'=0
paying1 paying2% #'=
TJ!#!!!0 paying1 paying3% &
# ?# paying1
'=TJ!#!!!0.query4/=
#)1
0.query9/%B./
%
query9
query4
!"#
$"%
paying1paying2 paying3∩∩∩∩∩∩∩∩
Stored Queries
(Descriptions)
Family of Occurrences
Fitting
query1
Figure 4: Occurrences fitting a description (covered by a stored query)
"'#
'#(%B'
'
(%'#
*
#(%B'.
/ .%WHEREOASELECT
/ '% ) # #
##'=0
=:0%
%"IQ6+31R$
% BI
#
%
B $$
'#''%
0$(
//' 0 #5"9
"$'= TJ!#!!!0.Query10)
21/%'%"#
# # $;#
# being_supplier1# " 5 2!% .
#paying1#%/
being_supplier1($ '
PSteelmans#being_supplier1#supplier#SkyHi#suppliedP
*
J% (*$&$& #2 '[=supplier].Query5/supplier
% (*$&$&$ being_supplier1 ' occurrences of
[being_supplier].Query6/
5% (*$&"&$ ' [=supplier] .Query5/ occurrences of
[being_supplier] .Query6/ [participants in role
[=supplier] in [occurrences of [being_supplier]]] .Query7/%
./
('*[participants in
role [=supplier] in [=being_supplier1]]%
('Steelmans%
4% (*$&"&$
"
"#Steelmans# occurrences
of [paying] where [participants in role [=supplier] in
[occurrences of [being_supplier]]] are [=payee] .Query9/%
./
('*occurrences of
[paying] where [=Steelmans] are [=payee]%
( ' % "
($%
2 # ($#($EDEE%
#)1
B # being_supplier1#
' occurrences of [being_supplier]
.Query6/%B'
#
( '%"
' "4
% "
'#
% ) #
query7 "4
%
Coverer (Dirtied Query) Covered (Output Dirt)
query5 supplier
query6 being_supplier1
query7 Steelmans
query5 = [=supplier] query6 = [occurrences of [being_supplier]]
query7 = [participants in the role [=supplier] in [occurrences of [being_supplier]]]
(see Figure 2 on page 85 for full definitions of each of these queries)
Table 4: Dirtied queries and their output dirt, stored in the EdeeCoverer table,
after addition of the occurrence being_supplier1 to a new datastore
D (
($ Steelmans
'=
Y0#
.%%
/%"
'1%
"
'#
28!"
&
P
.'/
P
%
8-!"
B
./
,%"
%
0$(
%B'.
L/%
"
% @( '
#
% &
('%
" '
('%
# 'I(
'(%)#'
$ (
# ' '
I $ . /
'#
%
// 0 #5'"9
" ($
''#
%A
.W5%5% /%
'= T 1#!!!$;
0 .Query19 )521/# % 7 #@
% %5#[=paid-amount].Query19/Query3#'
Query10%[=payee].Query19/
Query8% 7#Query19 '
*
''!"
+.
/
%
((!"
(
'
%
#)1
J% (*$&$&! [=25,000].Query16/'[>10,000].Query2/
% ( * $&$& D
occurrences of [paying] where [>10,000] is
[=paid_amount] .Query4/ occurrences of [paying]
where [=25,000] is [=paid-amount].Query17/%
5% (*$&$& [=Steelmans] .Query14/ '
Steelmans% # [participants in the
role [=supplier] in [occurrences of [being_supplier]]]
.Query7/Steelmans%"
= ' 0 " 4
.23/%"Query7Query14%
4% ( * $&$& D
"
"' occurrences of [paying] where [participants
in the role [=supplier] in [occurrences of
[being_supplier]]] are [=payee] .Query9/
occurrences of [paying] where [=Steelmans] is [=payee]
.Query15/%
1% ( * $&$& 8
$8
Query18Query10%
?% ( * $&$& E
=
"set.Query18/Query19%
L% ( * $&$&=
=D
Query19Query10%
"
'#
''<
# %&
# # being_supplier1#
$;#'=
TJ!#!!! 0 = T 1#!!! $;
0(%
2'8!"
%
0$(
// :
'*
• " /
'
%)#
' [occurrences of [paying] where [=SkyHi] is [=payer]] ∩
[occurrences of [paying] where [=25,000] is [=paid_amount]]
'occurrences of [paying] where [=SkyHi] is [=payer]
% ) #
'
#%
• " /
'
%W5%5%5
'% D
#
'%
EDEE0CoverageChecker#)1)?
'*
being_supplier1
%
#)1
… is covered by …
query19
query15
query1
query4
query10 query17
query9
query18
query13
query16
query2 query7
query14
Steelmans
Figure 5: Covering relations graph before addition of being_supplier1
query19
query15
query1
query4
query10 query17
query9
query18
query13
query16
query2 query7
query14
… is covered by …
… is now also covered by …
Steelmans
Numbers in circles show the order in which these new relations are discovered.
Figure 6: Covering relations graph after addition of being_supplier1
0$(
//4 #
.1/
./'5
% "
5 # '$
#
.%%####/##
%
&? '
(
%
/ :
" $ ' '
$%
B
%B(
$ %
% "
#
'% ./
( ' OA EDEEQL% &
."5#2!/# being_supplierpaying%
%B
'#
' . /
'%
!&
P%%P
%
)LEDEE%
EdeeOccurrence
EdeeQuery
EdeeNumber
EdeeSymbol
EdeeConcept
EdeeCoverer
NumberIDNumberValue
OccurrenceRoleParticipant
QueryIDCriterionTypeCriterionValue
SymbolIDSymbolText
ConceptID
CoveredCoverer
Figure 7: Data model used in EDEE
&#$
%
3
.
'
% " I<
# #
Q+3?R% B
% @#$
$ #
% $ '
+.:: =G Q;H;3LR#
%
"
$ '
% &
(
%"$
.WJ% /% "
#
2 &
%"#
%B
#'#
%
& # '
% B
$# # ( .W4%J/#
.W4% /#'.W4%5/# .W4%4/#.W4%1/#
.W4%?/%
/ , ?:1
& ( (
###
%
##%
#
%
&P#P#P
3
%(*
=0#=0#=0#=0#=0#=0#=0#=0#=0%
=
3P%
#!$
Examples:
By Guideline 1, (Provenance)
(Evidence) (Consequence)
Appearance of Word … indicates … Occurrences of Type
owning owning
owns "
owned "
is/has overdrawn being overdrawn / overdrawing
6 *
$,,./
%)*
*" =0 (#C
" C =#C
" C ### 5%
#
%
& (# (# (# (# (# (#
(#(#(#(#(#P
%
='
2 &
Examples:
By Guideline 2, (Provenance)
(Evidence) (Consequence)
Appearance of Word … indicates … Occurrences of Type
registration registering
acceptance accepting
approval approving
delivery delivering
breakage breaking
failure failing
Examples from Application Scenario (§1.2):
tolerance (Clause D.1) tolerating
payment (Clause P.3) paying (Table 3, p80)
violation (Clause L.3) violating (Table 13, p152)
instigation ( " ) instigating ( " )
compensation ( " ) compensating
obligation ( " ) being obliged (Table 11, p143)
.#JL/# #
%
#!$
P# (#P#P
%
=
Examples:
By Guideline 3, (Provenance)
(Evidence) (Consequence)
Appearance of Word … indicates … Occurrences of Type
illness being ill (state)
membership being a member (state)
allegedly alleging (event)
Examples from Application Scenario (§1.2):
thickness (Clause D.1) being thick
More specifically, ‘being thick’, indicates an occurrence of measuring
where dimension_measured is ‘thickness’ (see §4.3)
"
%
" P0 P0# =0#
=0#=0#=0#=0#=0
##5%
=
2 &
B
(%
&P#P#P#P#P#P#P#(#P#
P #
%
=4
Examples:
By Guideline 5, (Provenance)
(Evidence) (Consequence)
Appearance of Word … indicates … Occurrences of Type
employer employing
director directing
registrar registering
payee paying
applicant applying
resident residing
delivered delivering
forbidden forbidding
analyst analysing
Examples from Application Scenario:
paid (Clause C.4) paying (see Table 3, p80)
employee (Clause P.2) employing
supplier (Clause P.3) supplying (see Table 3, p80)
prohibited (Clause P.3) prohibiting (see Table 5, p130)
fulfilled (Clause L.1) fulfilling (see Table 11, p143)
violated (Clause L.2) violating (see Table 13, p152)
entitled (Clause L.3) being entitled
More specifically, ‘being entitled’ or ‘having a right’, implies an occurrence of someone else
‘being obliged’ (see Guideline 14, p111; Table 13, p152).
#!$
'#
%)#
employee . /#
employer#(( .
/% # .W4%1/
% '#
=[role-name]
must …0#=[role-name] must not …0#=[role-name] can …0% ) =Qapplicants] can
register for the conference by completing the registration form before the deadline0%
BEmployeeManager,(
.Person/#(I
%
.
/#
./%
2 &
/' : 19!
+ '.
/%
+ ' . /
=0#=0#=0#=0*
/ 'P #
.W5%5/P #
/ '##
%
=
Examples from Application Scenario:
By Guideline 6, (Provenance)
(Evidence) (Consequence)
Appearance of Word … indicates … Query in EDEEQL (p84)
employees (that are) older
than 25
(Clause P.2)
[participants in role [=employee] in
[occurrences of [employing]]]
intersection
[participants in role [=aged] in
occurrences of [being_aged] where
[participants in role [=age] are [>25]]
payments (that are) more
than $10,000
(Clause P.3)
occurrences of [paying] where [>10,000]
is [=paid_amount]
(query4 in Figure 2, p85)
!$314
H (
EDEEQL.J/%
=2
Examples:
By Guideline 7, (Provenance)
(Evidence) (Consequence)
Appearance of Word / Symbol … indicates … EDEEQL Set Operator
‘and’, ‘also’, ‘with’, ‘that’, ‘which’, ‘where’, ‘who’,
and adjectives or adjectival clauses
e.g. ‘low-carbon [adj.] steel’; ‘steel that is low in
carbon’; ‘steel with low-carbon content’)
intersection
e.g. steel ∩∩∩∩ low-carbon things
‘and’, ‘or’, comma (‘,’), semi-colon (‘;’), bullet (list).
e.g. customers and employees
union
e.g. customers ∪∪∪∪ employees
‘but’, ‘not’, ‘except’, ‘excluding’, ‘apart from’,
‘besides’, ’without’, ‘with the exception of’, ‘save’,
‘however’, ‘although’
e.g. ‘customers but not gold customers’
difference
e.g. customers – gold customers
BJ!P=0#=0#=0#
=(0#=0#=0#=0#=0#=0#=0#
=0# (
P '
.W?%J/%"#
.W?%5/#
((
.W1%?%3/%
=8
Examples:
By Guideline 8, (Provenance)
(Evidence) (Consequence)
Appearance of Word … indicates … Query
‘above’ a query that selects all clauses that appear above
the current clause in the current document
J! = 0 Q&A !! R %
2 &
/ 9 1
" '%
# # '
.J%5/###
% '.
/%
" .=0# =0# %/ ' =0 F
=0# =0 F =0 F =0 . P# P#
P#P#P#P#P/#=0#=0#=0#=0#=0#
=0F=0F=0#=0#=0#=0#
#.
W4%1/% B '# P W4%?P
.%% =# 0 =]50< =#
0=≤J!0/%"
II%
=-
Examples:
By Guideline 9, (Provenance)
(Evidence) (Consequence)
Appearance of Word … indicates … Occurrences of Type
no counting, with count = 0
all counting (where two counts are equal)
e.g. one interpretation of ‘all clerks are married’ is that ‘count (clerks)’ = ‘count (clerks
participating in role married in occurrences of being_married)’. Consistent with
this is the interpretation of the sentence as ‘the participants in an occurrence of being-married
are the results of (select the set of clerks)’.
three management
signatures are needed
counting, of occurrences of signing by
managers
1$
only managers possess
company credit cards
‘zero non-managers possess company credit
cards’ or “count (occurrences of
possessing with credit cards in role
[=possessed] and (universe minus
managers) in role [=possessor]); if the
result of the counting exceeds zero, the
counted items violate policy”
Examples from Application Scenario:
all (Clause L.1) counting, where count of actual
occurrences = count of obliged
occurrences (see Table 11, p143)
some (Clause L.2) counting, where count of actual
occurrences < count of obliged
occurrences (see Table 13, p152)
low carbon (Clause D.1) measuring, of carbon content, and comparing
(§4.4) to threshold
= '0#
'#'%
=(
For instance:
Regular Quantifier … becomes … Frequency Adverb (Quantifier over Occurrences)
no never / at no time / not once
all always
some sometimes / occasionally
few rarely / seldom / almost never / hardly ever
many often / regularly
most usually / normally / almost always
one once
two twice
2 &
Examples:
By Guideline 10, (Provenance)
(Evidence) (Consequence)
Appearance of Word … indicates … Occurrences of Type
Steelmans never
delivered on time
counting, with (count of on-time
occurrences of delivering by Steelmans) = 0
" # #
%
=
Examples from Application Scenario:
By Guideline 11, (Provenance)
(Evidence) (Consequence)
Appearance of Word … indicates … Occurrences of Type
1600 x 400 x 5.0 mm
(Clause D.1)
measuring: at least three measuring
occurrences, where steel is item_measured
and length, width, and thickness are the
dimension_measured
P
7&0QA2!#1!RP$'./#
.%%5#1/##.%%
#/%)# $
*
measuring1 (occurrence instance)
(role) (participant)
item_measured: sheet4
quantity_measured: 5.02
unit_of_measure: mm
dimension_measured: thickness
measurer: Bob (Quality Controller 3)
J?!!#4!!#
!%J[ .
!$
(7J!! 1(/ #P
P ' #
=0# %J.W1%1/%
/ : 1
# # # #
.%%/
%
%
"
*
$=0#=0#=0#C #=0
P# P# P# P# P .%% =0#
=0/#$P#P#P
=0# =0# =0# =0# =0#
=0#=0#=0#=0#=0#=0#=0#=0#
=0#=0#=0%
='
Examples:
By Guideline 12, (Provenance)
(Evidence) (Consequence)
Appearance of Word … indicates … Occurrences of Type
the lowest cost sorting by cost
the higher priced item sorting by price
before 1st October comparing temporal order
too long / long enough comparing to a deadline or threshold
2 &
Examples from Application Scenario:
more than $10,000
(Clause P.3)
comparing to threshold measured in units of
dollars
older than 25
(Clause P.2)
comparing to an age threshold measured in
years
@.%%J
5! /# * =0# =0#
=0#=0#=0#=C C 0#=0#=0#= 0#
=0#=0#=0#=0#=0/%
=
Examples from Application Scenario:
± 0.040 mm
(Clause D.1)
comparing to upper and lower bounds
# #
'.J%1/
# . / #
%
=I#0%
" .%%/#
%)#=0
# $
# = 0
# # % &
#
%
5)3)4$
/4 > !1
. /#
#< # ( %
. /
P %% %
./ P
%%%
=0#=0#=0#=0#
=F 0# = 0# =0# =0# =0# =0# =0#
=FF0#=F0#
.=0#=0#C /
.W1%4/# .W1%5/# .W1%?/% A$
P P% " #
#
5 .W1%1/# .W1%5% /%
=
Examples:
By Guideline 14, (Provenance)
(Evidence) (Consequence)
Appearance of Word … indicates … (Prima facie) Occurrences of Type
acceptable permitting to accept / power to bring about
an occurrence of accepting
tolerable permitting to tolerate / power to bring
about an occurrence of tolerating
payable being-obliged to pay
2 &
Examples from Application Scenario:
SkyHi must pay Steelmans
(Clause C.1)
being-obliged to pay (§5.6)
Clerks may not buy steel
(Clause P.1)
prohibiting buying (§5.3)
legal disability of clerks to buy (§5.3.2)
SkyHi has the right to return
the steel within 30 days
(similarly “The steel is
returnable within 30 days”)
(Clause C.3)
power to bring about an occurrence of
returning in terms of that clause (§5.5)
“steel” shall mean …
(Clause D.1)
a power to bring about an occurrence of
being-steel for any item that meets the
criteria (§5.5)
party entitled to compensation
(Clause C.3)
another party being-obliged to do
compensating (§5.6.2)
# =0# =0# = 0# =0# =0
* =SkyHi must (similarly shall/have-to/will/ought-to) pay Steelmans $25,0000
=$; T 1#!!!0% # =0 =0
*=SkyHi can (may) distribute steel in the East Anglia region0
=$;
0% )#=0 # =Steelmans must not
supply to other distributors0 = 2 3
0%##%
-Q-35R# =0=0
X% =Managers must sign purchase orders0
=
0#
%
& I
%&./#
# # .=&
)3#)4$
0/< .= Y0/<
#JJ##.=Z0/<
.=& 0/% "
-Q-3?R%"
. / QL?# ?3# H21R
.A/<#$3;&.JL/%
/ ,!1
5 .W1%1/
%
% " # # # #
# %
$
QL?#"32R<
%
%J#=0# #
P # .W5%5/ P
% c1 '
=0#=#
%J0' (7J!! 1#
%
=0# =#
JJ=&0 (%# Q"D33R% # # ## './Q"D33R%
2 &
%J0 P P % ,
W1% W1%1%
% &
,( '# (#
%##
.'/ % "$
*
.W5%5% /#
.W5%5%5/%".?/%
7 .
W1%1/
#%
% &
%&
# ' .
/#
#%
)3#)4$
)5 .W1%1/ % 7.
/## ,
(#
% #
=0# = C C 0# =0
#
%# =0#=0#
=0# =0
%
=4
Examples:
By Guideline 15, (Provenance)
(Evidence) (Consequence)
Appearance of Word … indicates … Power of Type
The steel is returned if/when it is shipped
to the registered address of Steelmans
An act of (successful) shipping brings
about an occurrence of returning
The steel is returned by/through shipping
it to the registered address of Steelmans
"
To / In order to return the steel, ship it to
the registered address of Steelmans
"
=0 I
.= 0/% "
.# $;/%
1%1 5%
2 &
" =0# =0# =
0# = 0# = 0# =0# = 0#
% "# .W1%5% /#
.W1%?%3/#*
# $%
=
Examples:
By Guideline 16, (Provenance)
(Evidence) (Consequence)
Appearance of Word … indicates … Immunity of Type / Voidance
The steel may be returned provided / as
long as / on condition that it is
undamaged.
if the steel is damaged, then
(according to this clause), count
(returnings of this steel) = 0,
or, alternatively, all obligations
resulting from this return are voided.
The steel may be returned unless it is
damaged.
"
In order to return the steel, it must be
undamaged.
"
##%)#=
0 # # .
# # /#
%)#C
The steel may be trucked by CargoCarriers in order to return it.
C .
=may0W4%1/%;#
5#
%A#
%"#,
$ $
%
!&
#
#%
#
#%
/2 :
"
'
% " #
#
% "
%B
P #
# =0 =P0#
=# U!0 .W4%5/<
$ =0# = 0# =P0
.W4%1/%
B'#(((
#
% $
%B$
## % $
% "
'( !"
"
(#
I%
2 &
.W %5%5/%
& #
# # # (
$%
4
E0 ' " . # JL/ P
P
##%&5
%"##
'"
# -
% & # P
###P%
& ?# ' (
$ (I
%
$(
%)#L$
% "$
E0
( $
%
6)
B
.1%J/%
& 1%J%J# E0
' "% 1%J%
E0 *
'
E0'
$ %
##
# .1% P1%?/#
'
%
4/ 5
& (
I % & # I
% "
##% &#,
* # ##
# # % B
,#
%
&I##(#
#
#%
8'-!"
(
#I
%
B # # #
%
.W1%?/#.W1%4/#.W1%5/#
.W1%1/% % D#
% B
%
)2 EDEE%
#
' #
% ) 2#
#$.J/
. /% " .5/#
.4/% "
%
" ($#
%"
$%
(I#
I# #
I %
* #%
'
%
'-(!"
#
##
.(#(#(
I/#
#
$%
6)
!"#$%$&'
(
#$%$()*+,-) -.%)/'
0,11/ 2
deduceobligations instances
Provisions
Stored Queries
Regular Occurrences
findapplicable provisions
dynamically…
checkif occurrences fit descriptionbusiness &
environmentaloccurrences
asynchronously fulfil
obligations3 %4
.51
contract-relatedoccurrences
Figure 8: General architecture of EDEE
(#(#(.W %J#W % #W %5/
$
.W % %1/% & #
%&
# I
I%B#
%
)##
#
# # <
Q+ !!JR% "
$#
% B'
#
%@#'.
/ *
##
%B#
##
%
$A.?5/#(
.
(/#
.%% ' /#
%
# %
(#
'(%&#
%;+$0.#
?1/=the doctor must immediately visit heart attack victims0
#$#
($ '$ % ; +$0 #
#$.
/% #
#%&
%+$#
% #
#%
=0%
BE0'".#JL/
# #
(%
6)
4// + C, <
& # E0
* # # #
%
* =+ $; T 1#!!!
0E0*
∃e1 ( asserting(e1) ∧ Subject(e1,Mary) ∧ Object(e1,[φ]) ) → (Veridical(e1) ↔ φ)
Formula 2
φ Formula 1 .2J/ # #
= 0% "$=[…]0 '
' < =+
0=0% "
+0$;T 1#!!!./
$;T 1#!!!%
* & E0 # $;
TJ!#!!!*
∃e2 ( prohibiting(e2) ∧ IsAccordingToClause(e2,c) ∧ Object(e2,[φ]) ) →
(Violated(e2,c) ↔ φ)
Formula 3
φ $;
TJ!#!!!%"$;#
c##TJ!#!!!%
& # # E0
InSystemOfNorms(e,n) #
IsAccordingToClause(e,c) # =C
# ./c# C 0% B ,
. /
%
"#=
0#=
0#./
% ) # ( A Q"D33#
J44R$;T 4#433#
%
* & E0 # $;
*
∃e3 ( permitting(e3) ∧ IsAccordingToClause(e3,c) ∧ Object(e3,[φ]) ) → (¬Violated(e3,c))
Formula 4
E=0%+#
= 0%
# Q12R#
QA22R#
% B
E ##
./# % A0
# # Q3LR#
, p p
%;#I
./
P =0 QA22R =0 Q3LR P
% "
*
# % +
## A#
, % "#
%
6)
=0#D
QALLR#=0%
QALL#JLR#$
'%H.
##/
%
1 * & E0 # $;
*
∃e4 ( ought(e4) ∧ IsAccordingToClause(e4,c) ∧ Object(e4,[φ]) ) → (Violated(e4,c) ↔ ¬φ)
Formula 5
"$;#
c##$;T 1#!!!%E
0Q12R#=φ
0$=# φ#0%
4//' + C ,
<
E0##<
.W5%J#W1%J%J/%B%B
-'[φ]'P
# ' % " '
#
% " # '
#%
) # ./
$#
%"
#
#
I% B ' #
# #
' % "
###
'%
B # # #
#
*
%%)# F#
*#0% B$
# # #
./%;#
P)#F#*#0#P#
###
%B'P
P ' #
%"' #
% "'P #
P # . /
# ./
'%'#=($0#
%#($
' #
%
" # #
# .WJ% /#
E0 % B #
## # ;Q;L2R#
%
''(!"
%
6)
4/'
" '#
',%D
(=0$
,% ) #
=0 ,
*,PX #Y
P%
) #
'*,IsAccordingTo(e,
ClauseX)%"
( .
( /% #
,#P
%)#="$#-##
20 .
/<2% "=-0
2###
% % B=
20=%J0##
$-$#
# % &
#
#=0*$#
$./%
& ,
% & #
# #
P #
I%
,
$ D QD !!JR $#
$#+Q+ !!JR%#
# % @#
$( =II 0
!%2 #!%
#00#
%&#=II
#2%?0
# 0%
=0 =0
%3%J
##
#
% , =
0#$(=
0%
4/
B * #
./%
4// H
H % "
E% &
#
# %
%5 .= TJ!#!!! 0/
6)
WJ% % "=0
"1%;#Query10'
* #
TJ!#!!!%"Query10 24%
Occurrence Role Participant
prohibited Query10 prohibiting1
isAccordingTo Clause P.3
domain Query10
isAccordingTo Clause 82
violating_function1
violated prohibiting1
Query10 (see page 84) = occurrences of paying where more than $10,000 is in role=paid ∩
occurrences of paying where a supplier is in role=payee
Table 5: A schema for storing a violable general prohibition
violating_function1#Query10
violating_function1.Query10/% B
$
' % "#
#paying1#"5#Query10
violating_function1#
violating_function1.paying1/#."1/#
# prohibiting1# % "
violating_function1.paying1/
*
violating1 = .'/
source_rule: violating_function1 ./
source_occurrence: paying1 ./
violated: prohibiting1
violating1.1'/'
.violating_function1/
.paying1/%"$./##
source_rule
source_occurrence%
& #prohibiting1# #
%
" ?# (
#%
Occurrence Role Participant
domain Query10
prohibited |Query10|12
prohibiting_function1
isAccordingTo Clause P.3
Query10 (see page 84) = occurrences of paying where more than $10,000 is in role=paid ∩
occurrences of paying where a supplier is in role=payee
Table 6: Generation of specific prohibition instances from general prohibitions
paying1# T 1#!!! ." 5# 2!/#
#
*
prohibiting2 = .'/
source_rule: prohibiting_function1 ./
source_occurrence: paying1 ./
prohibited: paying1
prohibiting2 .
prohibiting_function1(paying1)/ # #
#paying1%
J " |… | % B
|… | ' % " " ?* paying1 Query10# prohibiting_function1(paying1)#prohibiting2#paying1 |Query10| prohibitedprohibiting2%
6)
"-0Q-3?R
( # S# 60 ( #
I./#C#
I # S# ( #S% "#
#
% " #
% )#-0#S#
;0Q;L2R#
#60
(##
./%
#
,%="0$
< $
="0%
#
'%"
%
%
4//' . B!
&=0=0%&
# 0
% ;0 Q;L2R
% B $ %J
.WJ% / $
% "L *
$I.count
Query5010/%"
%
Occurrence Role Participant
counted Query501
count 0
counting1
isAccordingTo Clause P.1
Query501 = occurrences where a clerk is buyer ∩ occurrences where steel is bought
Table 7: A schema for storing a disability or immunity (inviolable prohibition)
;0Q;L2R
* #
.%%
/%"
% & " L# .Query501/ seller<
$ %
"##
$%
)# =$
0#
#
# % B
F #
%
=0#
. /# %
% & #
'4 4!"
%D
%
6)
. /% &
$$#
%&$
#%&#$
##=%J0
.$
/% ; # ,
##
= %J0#
%"
%J0#
%
4/
= 1.% /0#
.WJ% /# % & 1
./# 15
. # / % -
Q-3?R# =C C 0
./=0=0%
=0
=0=
0%#
.W1%1/%
B *
%
4/ / H !
H D = 0
QALL#+$2?#7-32R# W1%J%J% "
.W1%5/#
= # #
0%
@
% ) #
% "
./%"#
0
% & EQE !! R
80 :
,% ; ( #
# # (
((((
%
4/ /' . !
&E%&
D =$ 0
$
#
E QE !!JR A QA22R#
Q12R#%"#=0
% " =$ 0%
% =7$= 0
6)
'= 10% " #
#'
% "
I% " 2 % &
;<Q;L2R
P%%%
Occurrence Role Participant
permitted Query502 permitting1
isAccordingTo Clause P.2
counted Query503
count 0
counting1
isAccordingTo Clause 2.6
Query502 = occurrences where employee older than 25 is buyer ∩ occurrences where steel is bought
Query503 = occurrences of violating brought about by occurrences in Query502
(i.e. occurrences of violating where source_occurrence is in Query502)
Table 8: A schema for storing an inviolable general permission (privilege)
&#permitting1# ##
" 3 #
%
Occurrence Role Participant
domain Query502
permitted |Query502|
permitting_function1
isAccordingTo Clause P.2
Table 9: Generation of specific permission instances from general permissions
)##
=0=0(
7.
% 7
%&#
(#
%= 1.% /0%"
$ *
• 0.
/##
•
. /%
#
#
#.I/
%
4/4 $;
&-0Q-3?R*
((
% =% *
10%"
"J!%
42(!"
P
Q;L2RP
%
6)
Occurrence Role Participant
buying_function1 domain Query504
isAccordingTo Clause P.2
buyer Query505
bought Query506
returning_function1 domain Query507
isAccordingTo Clause C.3
returned Query508
returner Query509
Query504 = (occurrences where an employee older than 25 is buyer ∩ occurrences where steel is bought) –
occurrences where Clause P.2 is isAccordingTo13
Query505 = participants in role buyer in occurrence |Query504|
Query506 = participants in role bought in occurrence |Query504|
Query507 = (occurrences of returning where count of days since (occurrence of purchasing for participant in
role returned) is ≤ 30) – occurrences where Clause C.3 is isAccordingTo
Query508 = participants in role returner in occurrence |Query507|
Query509 = participants in role returned in occurrence |Query507|
Table 10: A schema for storing powers
& " J! buying_function1
%#-)&$
.Query504/%buying4
4!(+% buying4 Query504
buying_function1()%buying4
Query504 buying_function1(Query504)#
buying_function1(buying1). &#
#buying$
-)&$% # buying6#
$-)&$#buying6
Query504buying_function1%
J5 " * # % % % "=(0=C C 0%
7.
# "J! returning_function1
#%5#5!
%
P # P $
* # #
being_steel.%J/%
.W4%5/#
being_steel # # measuring%
being_steel%Jall14
*being_Fe360isAccordingTo
Euro-Norm 10025< measuring item_measured
quantity_measured1600#unit_of_measuremm#dimension_measuredheight<
measuring quantity_measured 400# unit_of_measure mm#
dimension_measuredwidth<%
7 (((
(((,5# ##
; Q;L2R# % ;
=0 8
:< # $ =0 8 ,
0:%;#
<
,
%"
J1<;=0%
" #
#.
/###%B J4"allWJ%L%J1#((being-obliged % ;# # # % &# #buyingowning % " # # * %% %
6)
%
violating #
being_obliged_function2(…)#being-obliged.
(=0/ % 7- Q-3?R
$Q33R
#
#
%&#;#$x
. / .
/ % ; =0
<
=0%#x
. /#
. /% " $
;8:#
x%#
##
#%"
#,.
/.#
/%
" .%% /
'#'*
7.
4/4/ 1? ?!
'.WJ%1/(
=(0# '
#%&
# . /
% )# C '
./%=(0
=0Q7-32R<
=0=0.L!/%
4/4/' ?!
&##
#%B
.(/ ' #
' %
.(/'#
J?%
#$#+#@Q+@ !!JR
$% 7# # - Q7-32R
(
% B ( '% "
' I
(# ( # (
.W5%5/
% " (
#
J?"#$#(% (* $%###%
2(!"
D(
%
6)
% " # = x0
%)#
'#
%
( #
'
%
4/ 1 ,!
" # # (% "
' #
##((
##((((#
##%
4// 1
"$ =$; 0 G$=### 0 $## 0
.%J /% " '*=
#J !!J#T 1#!!!$;0#
#
%"'$
%"##
'% " $;
. %J/ being_obliged1 " JJ# Query19#
24# '
# being_obliged1% "
J!$;.% /being_obliged2"JJ%
&# $#
$3#4
#$;
JL%
B =0 A%J
% & '
=0P # '
' . # / P
=0% # ./ %
@"JJ%
Occurrence Role Participant
obliged Query19 being_obliged1
IsAccordingTo Clause C.1
obliged Query510 being_obliged2
IsAccordingTo Clause C.2
domain Query511
fulfilled Query512
fulfilling_function1
IsAccordingTo Clause L.1
Query19 (see page 84) = first (occurrence of SkyHi paying Steelmans $25,000 for the delivery,
where paying is before 1 September 2001)
Query510 = first ((occurrence of delivering where (delivered is steel and participates in role item_measured in
an occurrence of measuring where quantity_measured is 10 and unit_of_measure is tons)), intersection
(occurrences of delivering which are before 1 October 2001))
Query511 = occurrences of count(results of |Query513|) being equal to max-possible-results(|Query513|)
Query512 = occurrences of being_obliged where (query counted in |Query511|) is obliged
Query513 (not shown in table) = queries in role obliged in occurrences of being_obliged
Table 11: Initial schema for storing obligations and their fulfilment conditions
# " JJ
' (
%"#
#
JL#$;%HW1%?%3%
6)
#
%
AA .W %?/
%
#*
Pα =def ¬O¬α
((#α#α%
& # $
P ' P
%
# % "
#
.#/%
B=0=0%
* A
=J!0#A
J! % &
##
$%B
delivering1$consignment1.J!
/deliveredSteelmansdeliverer%$;
J!#
*
delivering1 (on 15 September 2001) = (occurrence instance)
(role) (participant)
delivered: consignment1 (measured as 10 tons of steel)
deliverer: Steelmans
delivering2 (on 20 September 2001) =
delivered: consignment2 (measured as 10 tons of steel)
deliverer: Steelmans
"A .= J! 0/
J1#
$3#4
' % # #
%
./*$#
=0% . /
# #P
P%
B #
#%D
QD !!!R $
%"%
#A
% "
% $; J!
J- !!JPP
%"$AJ!#
A*
OA
=J!0%;#
#0#
$;Y&A#*
OA
# #
*
OA ∧ OA
(standard propositional logic)
OA18
J2 OAO(A∧B) A%AO(A∧B)OA
6)
A#
% +$Q+$33R
#
%B#
#
$ % ##
J!.#A/#*
OA ∧ A ∧ OA ∧ A
(standard propositional logic)
OA ∧ A
" % +
##
*
OA ∧ A
" A A % 0
Q12R
.OA =def (¬A→Violation)/# 0
A%
"#.
/%
# #
EQE !!JR% E
. O / .
Violation/A%B
, E0 # #
((%
O(A∧B)%+.%%#O1(A∧B) O1(A)/ $ O1%
$3#4
& #
J being-obliged2# "JJ
.J45/%"##being-obliged20%
7#"JJ#
'.W5%5/delivering1
.being-obliged2/.being-obliged20/%"delivering1
' . '
P =first0'/
%
#,'
% E QE !!JR
$ Q !! R sake_of()
%
#
.%% ((# ((#
/#allocatingE0sake_of()
%B"J <
'' %
6)
Occurrence Role Participant
obliged Query510 being-obliged2
IsAccordingTo Clause C.2
obliged Query514 being-obliged20
IsAccordingTo Clause C.2
Query510 = first ((occurrence of delivering where (delivered is steel and participates in role item_measured in
an occurrence of measuring where quantity_measured is 10 and unit_measured is tons)), intersection
(occurrences of delivering which are before 1 October 2001) intersection (participants in role allocated in
occurrences of allocating where allocatedTo is being_obliged2 and allocationBasis is FIFO))
Query514 = first ((occurrence of delivering where (delivered is steel and participates in role item_measured in
an occurrence of measuring where quantity_measured is 10 and unit_measured is tons)), intersection
(occurrences of delivering which are before 1 October 2001) intersection (participants in role allocated in
occurrences of allocating where allocatedTo is being_obliged20 and allocationBasis is FIFO))
Table 12: Corrected schema for storing obligations:
with performance allocation constraints added
B'#
#%)#
*
allocating1
allocated: delivery1
allocatedTo: being_obliged2
allocationBasis: FIFO (first in, first out)
allocating2
allocated: delivery2
allocatedTo: being_obliged20
allocationBasis: FIFO (first in, first out)
B % B
#
!.#/
% &#.#
/ #
.# /% 7
#((
$3#4
#%
#
I(# $% B$
%
6(#
' #
J!#*
fulfilling1
fulfilled: being_obliged2
fulfiller: delivering1
fulfilling2
fulfilled: being_obliged20
fulfiller: delivering2
" # $
$% #
.%%delivering1#paying1/%
#$J3%
$%
$##$%
$ # ) 3
#)J!%
J37$#,%
6)
4(678/47
Clause C.2:
Steelmans
must deliver
10 tons of
steel before
1st October
2001.being_obliged2
obliged:
0 →→→→
29= query510 =
first (allocated) occurrence of
Steelmans delivering 10 tons of steel
before 1 October 2001.
Figure 9: A not-yet-fulfilled-or-violated obligation
4(678/47
Clause C.2:
Steelmans
must deliver
10 tons of
steel before
1st October
2001.being_obliged2
obliged:
29= query510 =
first (allocated) occurrence of
Steelmans delivering 10 tons of steel
before 1 October 2001.
delivering1
!
1→→→→ "
Figure 10: A fulfilled obligation
" '( ( (
=$(II
0% $
,.%%Q !! R/*,
#II,%'(
$3#4
'=first of ((delivering a thick-base pizza) union (delivering a burrito
with extra cheese))0% '#
%
&
( A*
'#
##
.%%=J!0/%
4//' H "
"#being_obliged1being_obliged2#$;#
<
% & # %
% A%5
%P#
P
% #
.%%(<%%/#
%
& #
% =0 A%
# . / '
.J !!J%J#J !!J% /#
!% "J5
!7##'I## =./0. /% "'" # # # =0=0=0%& # # #
%E#ought(e1)# # violating(e1)%
6)
% "
. / .
A%5/% )JJ #
$J43%
H(=0%
& %
#
.W1%?%4/.W1%?%3/#%
Occurrence Role Participant
domain Query515
violated Query516
violating_function1
IsAccordingTo Clause L.2
domain Query517
obliged Query518
being_obliged_function2
IsAccordingTo Clause L.3
Query513 = see page 143
Query515 = occurrences of count(results of |Query513|), after their deadlines,
being < max-possible-results(|Query513|)
Query516 = occurrences of being_obliged where (query counted in |Query515|) is obliged
Query517 = occurrences of successfully instigating prescribed procedure following
occurrences of violation of occurrences of being-obliged
Query518 = first occurrence of paying damages for the violation for which
legal action was instigated in |Query517|
Table 13: A schema for storing violation conditions, and
consequent liability (secondary obligations) to pay damages *#being_obliged1##violating1#violatedviolating1being_obliged1%)#
(( C %#( % H C % C ##I#% ;# C %" C # #P##P#$%
$3#4
4(678/47
Clause C.2:
Steelmans
must deliver
10 tons of
steel before
1st October
2001.being_obliged2
obliged:
0 →→→→
29= query510 =
first (allocated) occurrence of
Steelmans delivering 10 tons of steel
before 1 October 2001.
Figure 11: A violated obligation
B'Y
& $ J !!J
'J !!J%;#
%B
J !!J#
J !!J#
% =D 0
% @# 5
J#
violating_function1%
6)
4// ,
Bbeing_obliged1"JJ"J5#
*
• .(/*payerQuery19
.$;/
• *payerQuery518
.$;/
• * payee Query19
./
• *instigatorQuery517
.
/
• *payeeQuery518
.#/
• * # I
# . # %J
$;/
' "
#
. +$ Q+$2?R/#
%
(
(%&#
%
2!"
#
##
##
#%
$3#4
4// ! ??
#
Q3LR% " #
$$Q3LR%"
. /#
((.
((# #
# # /%
=0
. ?/
./((
. W1%?%3/% " #
."J5/#
%
4//4
# $ # * .%%
/ %B
.W1%?% / # #
#
%
# %4
# %5%
" J4
being_obliged_function3# being_obliged
=#%50%
6)
Occurrence Role Participant
domain Query519
obliged Query520
being_obliged_function3
isAccordingTo Clause C.4
Query519 = occurrences of returning where participant in role isAccordingTo is Clause C.3
Query520 = first occurrence of refunding where (refunded is SkyHi) and (participant in role refunded_amount is
(total of participants in role paid_amount in (occurrences of paying where (participant in role paid_for is
(participant in role returned in |Query519|)))))
Table 14: A schema for storing a conditional obligation
) " J! .
/"J4.
/# # returning1#
5! #
#returning11#
%5% returning11# #
#being_obliged31#
% " # returning11#
returning_function1(returning1)# # being_obliged31#
being_obliged_function3(returning11)#*
returning11 = .'/
source_rule: returning_function1 ./
source_occurrence: returning1 ./
returned: steel purchased in purchasing1
returner: SkyHi
(((((((((((((((((((((((((((((((((
being_obliged31 = .'/
source_rule: being_obliged_function3 ./
source_occurrence: returning11 ./
obliged: Query521
Query521 = first occurrence of refunding total amount paid for purchasing1
' !"
B
#
##
#
%
$3#4
)J )J5#
#
% & # $ P7
# P
%
Figure 12: Birth of a child from parents
& '&
()*
returning11
# $
% $&&'
being_obliged31 $
source_rule: being_obliged_function3+Clause C.4,
source_occurrence: returning11
being_obliged_function3domain:occurrences ofreturning according to Clause C.3
…isAccordingTo:Clause C.4
4(678/47
Clause C.4:
In the event of a
return in terms
of Clause C.3
above,
Steelmans shall
refund SkyHi
…
-./
.0/
/
Figure 13: Birth of an obligation instance from policy and evidence
6)
4// 1? ? ? ?
%"((
((
.%%#
# ((/ #
% (
.4 /%
(((%;#
((
( # ( #
%
4//2 :!
./
# 2
3 T 1#!!!J !!J%
;#
% A%5
# =
0% &A%5
#/
% @ #% "
*
ƒ : occurrences of successfully instigating → occurrences of being-obliged
'' !"
&
%
'2!"
%
$3#4
" ƒ
% & " J5# ƒ
being_obliged_function2% being_obliged_function2 $
instigating being-obliged% )
instigating1# #
being_obliged_function2(instigating1) being_obliged_function2
A%5% &#
#
.%% being_obliged_function2/
%
being_obliged_function2(instigating1)
*
being_obliged21 = .'/
source_rule: being_obliged_function2 ./
source_occurrence: instigating1 ./
obliged: Query522
Query522 = first occurrence of paying damages for the violation for which
legal action was instigated in instigating1
being_obliged21 .21 ' /
.being_obliged_function2/
.instigating1/% " $
./# #
source_rulesource_occurrence
%
Query522
% & " J5 . J1 /
'#Query517#
%D
'24(!"
#
%
6)
|Query517| '% |Query517|
'
% )# instigating1 % "#Query518
.first occurrence of paying damages for the violation for which legal action was instigated in |Query517|/#
Query522 .first occurrence of paying damages for the violation for which legal action was
instigated in instigating1/#being_obliged_function2(instigating1)#$
being_obliged21#instigating1%
" A0
7QDABB31R$0Q33R
#.W %1%L/%&#
# # # # %
;#
=0
% & #
##./
%
4//8 .
)
#
% ;# ' # '
#
#
% + Q+35R
#
'$QA !!JR%
, P # # P
%
' '!"
&./
$%
$3#4
# #
%
# being_obliged4# (
( 5! !!J%
% & #
'# Query523# the first occurrence of
generating, on 30 September 2001, year end reports, by a report-writing component%#
#
J# '
% ('
#
% 0
'#Query523#%
BP%%
$##$%#'
0#
'%
4//- ;"3
B
.W1%?% #W1%?%1/%
PP
% " = 0Q"D33#
J4?R% )#(
#
# . / % = 0
J " # ( #$$%
2(!"
(
%
##
%
6)
Q"D33# J4LR# =,0 Q"D33# J43R#
#
./%A=0Q"D33#
J1 R %
=0##%A
$%
&A.?5/0
*OA ∧ A##¬OA
%#
#being_obliged2."JJ#J45/##
% B
##%)*
fulfilling1
fulfilled: being_obliged2
violating1
violated: being_obliged2
being_void1
voided: being_obliged2
#
' %
A$% "A(
#
%
$3#4
#
*
.# # (/
% B
P "J1 P
%
Occurrence Role Participant
domain Query524 ceasing_function1
ceased Query525
Query524 = (occurrences of fulfilling) union (occurrences of violating) union (occurrences of being_void)
Query525 = participants in role theme23 in |Query524|
Table 15: Defining termination or cessation of an obligation
# fulfilling1# being_obliged2#
*
ceasing1 = .'/
source_rule: ceasing_function1 ./
source_occurrence: fulfilling1 ./
ceased: being_obliged2
& # 7& . ?J/ I QA2!#3LR% . ?/# % 5 theme * fulfilled# violated# voided ( I =0 $Q31< !!!R%
' !"
"
.%%=0
=0/
%
6)
"
*
Commercial Trade Act
…
A party is only obliged to fulfil obligations that have not ceased. Clause L.4
…
A%4 # = 0
"J?%
Occurrence Role Participant
domain Query526
obliged Query527
being_obliged_function4
isAccordingTo Clause L.4
Query526 = (occurrences of being_obliged) minus (participants in role ceased in occurrences of ceasing)
Query527 = participants in role obliged in |Query526|
Table 16: Defining ‘current’ (active) obligations
B $ being_obliged_function4
.W1%?%4/# $
# . being_obliged/
% &
<J!1%
)J4)J1(
(%
$3#4
Observation in 1975conception1
Observation in 1976
Observation in 1901
Observation in 1981
birth1
being_alive1
Observation in 2076
Observation in 2101
death1
Figure 14: Life cycle of a person
Observation at 1 Feb(No prima facie obligations)
Observation at 15 August(Prima facie obligations according to both clauses. Clause L.4 is the one we choose as describing all-things-
considered obligations.)
Clause C.2(prima facie obligation)
According to…Clause L.4
(current, all-things-considered obligation)
being_obliged_42
Observation at 1 November(No all-things-considered obligation:
The function defined in Clause L.4 does not create an obligation on 1 Nov because its domain only contains
obligations that do not participate in occurrences of ceasing.)
being_obliged2
being_obliged2
Steelmans delivers steel: delivering1Query (bucket) is filled: filling1
Obligation is fulfilled: fulfilling1Obligation ceases: ceasing1
source_rule: being_obliged_function4source_occurrence: returning11
Figure 15: Life cycle of an obligation instance
6)
4/2 :
B
E0 ' "
%
B P
'P
# #
% B
%
####
#
####%
%
&#
./ P
$7((.W %1%L/#
% , #
#
%
&#,
;##D#E#+$#-#
#
=C 0 %B
=C 0*
• .1%4%J/#
#
%
• .1%4% /%
('!"
#
%
' -!"
./#
#
%
'!"
)
P
###
Q;L2RP
%
!&
• .W1%1/%
•
.W1%?/%
•
.W1%?/%
#
% )#
' (
#
# % +
%
'84!"
"
#
(
%
*5 6
,
& ( (
# %
(
##%
B # .W?%J/#
*
$%
# #
.W?% /% .W?%5/
##
% #
% B
.W?%4/# # # (
# #
%
8(9#
/ *5 ".L:
B . 1/ # #
%B#
P#'P
A%"
."J5#J1 <"J4#J1?<"J?#J?4/#
."3#J5?/#."?#J5J/%B
$# # #
%B
.W1%?%3/*(
#$
0##%
A%
.%%
# #
/# '
#
%B
. /
P
5 $
%B
0 %
.%%W1% #W1%?%J/ isAccordingTo
####
. Clause C.4/
''!"
@P#
#
#,P#
P
0%
(/&+!
%being_in#
.%% Section 1.1/#
.Supply Agreement Between SkyHi and Steelmans/%#
.%%Managing Director/
.%%Steelmans/#.%%Philadelphia#
February 8th 2002/%
I./
# (# # (
#
.W % /%"
#$
#
( % ) # $
( * =all terms of the contract dated 1 April 2001 between
Steelmans and SkyHi are null and void0# =the provisions of Section 3 shall override (that is, conflicting
provisions are void)0# =subject to the conditions listed below …0% "
. 6 2# J!1/% & #
=The Meal Deal Offer0#=Summer
Specials0# =Premium Promotion0$
./ %
$%
.%% #
/<
I % 7(
# $ % )
#$=,0#
#%
8(9#
%QEE2?RD
7%"$*
[proposition] on [date] by Section [section number] if [conditions]
)*
x acquires British citizenship on 16 March 1987 by Section 11.1 if …
(%
) # JJ%
JJ%J#'JJ%J*
x acquires British citizenship on 16 March 1987 by Section 11.1 if …
and not [x is prevented by Section 11.2 from acquiring British citizenship]
B
((#
x acquires British citizenship on 16 March 1987 by Section 11.1
##
x acquires British citizenship on 16 March 1987 by the law as a whole
"
#%
%
B % 8((:Q;+3LR#
8 :*
%
B$#)J?##
# %
% "
* W1%?%1W1%?%3#
./%"#
# % " $
.%%/
(/&+!
% ) JL
#%
4-!
9:
Section 1:
SkyHi must pay
Steelmans
$25,000 before
1st September
2001.
1(.
2
$
being_obliged1 =isAccordingTo: Clause C.1
Figure 16: Document vs. utterance provenance
Observations at 1 February
Observations at 1 November
4-!
9:
Section 1:
SkyHi must pay
Steelmans
$25,000 before
1st September
2001.
1&%%
1&%
being_obliged1 =isAccordingTo: Clause C.1
being_in1 =contents: Clause C.1container: Section 1
being_obliged259 =isAccordingTo: Clause C.4
being_in2 =contents: Clause C.4container: Section 1
4-!
9:
Section 1:
SkyHi must pay
Steelmans
$5,000 before
15th September
2001.
7*EDEE 'H .%%Clause C.1#Clause C.4/#
.%%Section 1/(%
Figure 17: Document history: obligations and document labels
8(9#
/' ,
.1/'
#
'%
.W %?/ 4
.W %5/#"JL
1%
, .'C /
,"
%
,'"
.W?% %J/%
1
," .
/#
.
/QA22<+$22R%
. W?% %
Q D !! R/%
;
!
.
!
, " ." /x
y I
?%
;
.
4 " $ # %B%
1"% ?"I#I%
-'-!"
%
#
, .'C /
,4"
% "
Q+$2?<-3?R%"
# # #
#
#%
* $
3
,"
% "
%"
%
1
* $
,2" +
%;+$0.#
?1/ % " (
= 0 Q+34R
#
'
%
1
,8" ./ #
%
* $
,-" #
%
Table 17: Conflict detection rules
*
8(9#
/'/ *5"1 $
A##
$;##being_supplier1#"5.2!/%
)#TJ!#!!!
%5#"1.J5!/%
$; #%J# T 1#!!!#
J !!J#%
#P%%<
paying % " JJ . J45/
#being_obliged1# .#
/'Query19%
7#@ .JL4/#
.Query19/ ' #
# ($ #
being_supplier1#Query19Query10 .W5%5%5/% )#Query10
.Query100prohibiting1<
"1#J5!/%
B .
/.
/% " % "
)J2%
#
Clause C.1:SkyHi must pay
Steelmans$25,000.
Clause P.3:Payments of more than $10,000 to suppliers
are prohibited.
query19 =first (allocated) occurrence of
paying $25,000 to Steelmans
query10 = occurrences of paying
more than $10,000 to suppliers
obliged:
prohibited:
Figure 18: Conflict shown by overlap between obliged and prohibited occurrences
"EDEE0(
* W5%5%5 W5%5%4#
# being_supplier1 . /#
Query10 ./Query19 ./ %
@)1)?.
35/#Query19.being_obliged1/Query10
.prohibiting1/%)J3#
being_supplier1# #
Query19Query10 % ) !
being_supplier1Query19
Query10
%
8(9#
… is covered by …
query19
query15
query1
query4
query10 query17
query9
query18
query13
query16
query2 query7
query14
Steelmans
Figure 19: Covering relations graph before addition of being_supplier1, highlighting the obliged and prohibited occurrences, with no route connecting them
query19
query15
query1
query4
query10 query17
query9
query18
query13
query16
query2 query7
query14
… is covered by …
… is now also covered by …
Steelmans
Numbers in circles show the order in which these new relations are discovered.
3
Figure 20: Covering relations graph after addition of being_supplier1, highlighting the obliged and prohibited occurrences, the connecting route, and the dynamically-discovered conflict
#
B*
conflicting1 =
conflictor: being_obliged1
conflictor: prohibiting1
BW?%5%J
###
%
/'/' *5'"1
$;#%J.Contract
Between SkyHi and Steelmans entered into on 1st August 2001WJ% / 0
$## %D#$;#
%2. "/5"# %&
J1 !!J#
delivering1 J J1
.5!J1/%
#
'=first of (occurrences of paying for delivering1 before 1st September)0=first of (occurrences of
paying for delivering1 before 15th October)0PP
( % #) J
%
8(9#
Clause C.1:SkyHi must pay …
before 1st September.
Clause C.8:SkyHi must pay within 30 days of
delivery
being_obliged1
obliged:(first of)
occurrences of SkyHipaying for delivering1
before 1 September
being_obliged209
obliged:(first of)
occurrences of SkyHi paying for delivering1
by 15 October
Figure 21: Initial view: conflict between obligations of different strictness
& # ) J %
.W1%4% /%
*
2I=&"&$3
23%"$%2#5!#
5! P # (
5! L%D
@5@4.JL4/#%J
(5!%
L+#Iviolatingsource_occurrence countingI.0/#.J1/%
)
/
&$%B
%
*
"
@ % "
$%.#
JL /%
?H "
@
##
%
H "
& #
%
& #
.QD !! #
D !! R# W1%?%3/#
($ % B
(
#% (
(
* (
##%"(
%
"#
W?% #*
'!"
(
%
8(9#
// *5 " $
& W?% %J #
% B
0.%% /
% )#$
,*
Powers of Agents: Settled Principles of English Law28
…
An occurrence of an agent promising something on behalf of their
principal brings about an occurrence of their principal being obliged to
do the promised action.
Clause L.5
An occurrence of being aware of a prohibition that conflicts29 with an
obligation in that contract, brings about an occurrence of the
obligation being void30. That is, an obligation is void in the event that
the reliant party knew that the agent did not have the authority to
enter into the contract.
Clause L.6
…
2@$+#)A##.15.J332<4%<D/# %"D%@#$ %
3B # %B$### % =@ 0 < $ , EDEE # $ EDEE $%
5! "# 5%;##%
)
Social Conventions
…
An occurrence of a party reading a given clause brings about an
occurrence of that party being aware of the legal relation mentioned
by that clause (that is, the obligation, prohibition, or function
associated with that clause).
Clause S.1
An occurrence of a party P being obliged, in obligation Q, to pay party
R, brings about an occurrence of R being beneficiary of the obligation
Q.
Clause S.2
…
B# W1%?%J# being_obliged1.
/# % A%1
* %A
-#$$;%"
promising1"J2%
Occurrence Role Participant
promiser John promising1
promised Query19
Query19 (see page 84) = first (occurrence of SkyHi paying Steelmans $25,000 for the delivery,
where paying is before 1 September 2001)
Table 18: Representing a promise by an agent on behalf of a principal
B.
A%1/being_obliged_function5"J3%
8(9#
Occurrence Role Participant
domain Query528
obliged Query529
being_obliged_function5
isAccordingTo Clause L.5
Query528 = occurrences of promising
Query529 = participants in role [=promised] in |Query528|
Table 19: Representing the rule that a promise by an agent binds their principal
A$being_obliged1#
*
being_obliged1 = .'/
source_rule: being_obliged_function5 ./
source_occurrence: promising1 ./
obliged: Query19 ."J2/
Query19being_obliged1participants in role [=promised] in
promising1 P %% # promising1# I
'#Query529#"J3%
A%?#%J#% .J2 /
" !#" J#" %
)
Occurrence Role Participant
domain Query530
voided Query531
being_void_function1
isAccordingTo Clause L.6
Query530 = occurrences of being_aware
Informally, Query531 = obligations that are in conflict with provisions the aware party is aware of which are also
obligations where the aware party benefits
Formally, Query531 = (occurrences of being_obliged) intersection (participants in role [=conflictor] in
occurrences where participants in role [=conflictor] are participants in the role [=aware_of] in |Query530|)
intersection (participants in role [=benefit] in occurrences where participant in role [=beneficiary] is participant in
role [=aware] in |Query530|)
Table 20: Representing the rule that a prima facie obligation on a principal is voided
in the case that the reliant party was aware of lack of authority of the agent
Occurrence Role Participant
domain Query532
aware Query533
aware_of Query534
being_aware_function1
isAccordingTo Clause S.1
Query532 = occurrences of reading
Query533 = participants in role [=reader] of |Query532|
Query534 = occurrences where [participant in role [=read] in |Query532|] is in role [=isAccordingTo]
Table 21: Representing the rule that an occurrence of reading a clause brings about an
occurrence of being aware of the legal relation directly mentioned by the clause
8(9#
Occurrence Role Participant
domain Query535
benefit |Query535|
beneficiary Query536
being_beneficiary_function1
isAccordingTo Clause S.2
Query535 = occurrences of being_obliged
Informally, Query536 = ‘payee’ in the obligation in |Query535|
Formally, Query536 = results of the query returned by (Value where CriterionType is [=participant] and QueryID
is in ((subqueries of the query returned by (participants in role [=obliged] in |Query535|)) intersection (QueryIDs
where CriterionType is [=role] and Value is the query ([=payee]))))
(see Figure 3, page 85, for an example of a stored query)
Table 22: Representing the rule that being payee in an obligation to pay implies
being beneficiary of that obligation
$;0
(# $;0
# reading1# %5 .
<1/#
#Steelmans% "#
*
reading1 =
read: Clause P.3
reader: Steelmans
7#% ." /#
being_obliged1 .W1%?%J/
being_beneficiary*
being_beneficiary1 = .'/
source_rule: being_beneficiary_function1 .<" /
source_occurrence: being_obliged1 ./
benefit: being_obliged1
beneficiary: Steelmans .payeebeing_obliged1/
)
B reading1 # (
$ 'Query532
being_aware_function1." J/%"reading1
*
being_aware1 = .'/
source_rule: being_aware_function1 .<" J#J21/
source_occurrence: reading1 ./
aware: Steelmans
aware_of: prohibiting1
"being_aware1*
reading1 # prohibiting1 J5!#
'occurrences where [participant in role [=read] in reading1] is in role [=isAccordingTo] . #
#reading1# Query534" J/prohibiting1%prohibiting1
aware_of being_aware1% #Steelmans aware
being_aware1 participants in role [=reader] of reading1.#
#reading1# Query533" J/%
7# ($ being_aware1
Query530" !%"# being_aware
being_void_function1 being_void being_void1% &
being_obliged1voided*
being_void1 = .'/
source_rule: being_void_function1 .<" !#J21/
source_occurrence: being_aware1 ./
voided: being_obliged1
8(9#
"I#$*
reading1.J2?/U %5
being_obliged1.J24/U $; . # %J/
T 1#!!!
prohibiting1.J5!/U TJ!#!!!
C#*
being_aware1.J2L/U prohibiting1
being_beneficiary1.J2?/U being_obliged1
conflicting1.JL3/U # being_obliged1#
prohibiting1.W?% %J/%
B*
being_void1.J2L/U #being_obliged1#
%
C being_obliged1# prohibiting1
conflictingbeing_obliged1%
#being_obliged1#voided being_void#
being_obliged_function4.J?4/#(
( . A%4# J?4/% "# '
=# A%4#$;Y0
###$;$
%
&.being_obliged1<
J24/ #
.being_obliged_function5# J24/% ;#
#
#((#% "(
.# /
.#/
; +$0 Q;+3LR 8
)
: 8:% & . ,
/#(%
&. /#
%
& $'=Y0
=0#being_obliged1%;#=0
'=0* =#
A%1.J2 /#0%D$being_obliged1#
(( A%4
being_obliged_function4 .J?4/%
7 # ,
.
being_obliged_function4/#
#
% )#$$;0
#
# $; . /
%
//' *5'" $
@W?% % #
* . / J
. $;0 " / J1
%& ##
5! # %
'!"
@'
%
###
#Q6A33R%
8(9#
< .
being_obliged_function4# J?4/ ((
%
<
<#
% &
#
%;<
#%& $;
J! *
% & $; # *
"%
/ <
& %.#JL /#
%
t1#t2%7. /
#%'
# '
% ,
<'# %B#
%
B#W1%?%3#(.A%4/
%7#
# I(
.W?%5%J/%)
*%#>
'# => %
4!"
"
P
P(
%
) # ( <
. ) /
%
Date Commentary Session Transcript A party is only obliged to fulfil obligations that have not ceased
(Clause L.4; pg 164)
% INSERT being_obliged_function4 (pg 164)
Is SkyHi obliged to pay, according to Clause L.4?
% SELECT occurrences of being_obliged WHERE isAccordingTo=Clause L.4 AND obliged >= Query19 (pg 84)
1 Jan 2001
No (no obligations exist yet). > 0 results.
John promises SkyHi will pay Steelmans $25,000
% INSERT promising1 (pg 183)
SkyHi is obliged to pay Steelmans $25,000
=> being_obliged_function5(promising1) (alias: being_obliged1)
(pg 184) Is SkyHi obliged to pay, according to Clause L.4?
(Same SELECT query as above)
1 Aug 2001
Yes, they are. (being_obliged1 is in the range of the function being_obliged_function4, and the function therefore produces a result.)
> being_obliged_function4 (being_obliged1) > 1 result(s).
Web log evidence now indicates that Steelmans read Clause P.3 prior to entering into the contract.
% INSERT reading1 (pg 186)
Therefore, Steelmans was aware that payments of more than $10,000 were against company policy
=> being_aware_function1(reading1) (alias: being_aware1)
(pg 187) … …
Therefore, according to Clause L.6 (pg 182), the obligation to pay is voided.
=> being_void_function1(being_obliged1) (alias: being_void1)
(pg 187) Is SkyHi obliged to pay, according to Clause L.4 ?
(Same SELECT query as above)
No, they are not. > 0 results.
10 Aug 2001
Reason: The prima facie obligation is void and has therefore ceased. being_obliged_function4 therefore no longer produces an all-things-considered ‘obligation in terms of Clause L.4’ .
Figure 22: Transcript of a session:
adding and querying contracting and workflow occurrences
) ) # '=$;
#A%4Y0=70J- !!J#=Z0
J#=70.J!
8(9#
/$;0 %
%
7 # J1 !!J# $ #
$ !!JJ4!!#$;
% B SELECT' #
!!J J4!!5J% " '# J1
$ !!J J4!!#
being_obliged_function4(being_obliged1)##$
!!JJ4!!#$;%
/4 :
B(*
'
I %
%
'
(%
& . 1/#
(
###
% B
.W1%?%3/ (
.#/ $
.#/#%
&#
.%%
5J 7# ' ./ ./%
!&
## #%/ .W?%J/#
.W?% /# .W?%5/ %
"$#
#%B
.W?%4/%
# #
(
.W %5/ (
.W %?/%
& # $
%
2
7 *
( (%
%"
# #
. L%J/ . L% / % L%5
%
2/ 7
D#$
# '
%"
%
(I *
#
%
:*()
+ % &
##
'% ##
#%
2// .
# '
% " ($ .W5%5/$
'#( '%"
'
%)# '
prohibited#
%
"$ = TJ!#!!! 0%
" 1 W1%5 Query10
prohibited prohibiting1% 7#
'./
%"###
$;##being_supplier1."5#2!/
(% being_supplier1 (
$ % " ($
#being_supplier1##'
[occurrences of [being_supplier]].W5%5% /'prohibited
% 7 #paying1# % "(
$ paying1 Query10% '$ $
Query10 Participant
prohibiting1Occurrence%paying1Query10#
#paying1 % ) 5
( %
)*
7 9
#
1:
H
Figure 23: Immediate detection
" ( # $
' #
% # #
%
2//' ,
" ($
* #
$ % ;# '
% (
$ ( % # $
##
'%
%
#= 0#=" 0#
=($ I0#%"#
# (
:*()
# (
'%
"*
J% 5*
"'./
%" '
%
% ( *
D $ '
%&$#'
($
# .) 4/% "
' % )
'
'
%)#
paying# payer payee#
$'
payer # payee
% $ ' payer
$'payee%#6(+
B Q6+B3LR # $ $ #
%
(
7 9
#
&
Figure 24: Delayed detection with bottom-up batching
2/' *
#
# % B
*
. /
%*
$% B
% # #
,#%&
' #
% @ '
%B(#
%;#= 0
=0. /#
'%
:*()
2/'/ .
.W1%J/
# $
# '
$%"
0 P #
# #
P $ % "
#
# #
##%
. 5?/ (
% B #
% &#
# $ being-obliged
<) 1%"%
#.%%/
$%
"
# % #
. /#
%
!"
(
7 9
#
'
,
Figure 25: Intervention by diligent components
2/'/'
&#$#'
#%
' .%%/
% B
.W?% /% &
#
% " #
#
'
# % B
.%% ## /
$ '# % "
=0
./
%
:*()
2/'/
&
# # .%%
/#
%&#
(((
(##
# % "
.I/%&#
##
'%
) % ;
%&
%B#"L W1%5#
$ %J%
(
2/ *,**.
+ -
( .EDEE/%EDEE
QD !!J#D !!JR
% EDEE .WL%J%J/#
(.WL%J% /#.WL% %5/%
" EDEE $% 7$
.(((
##/%
."5#2!/# ."2#J5?/# # ."1#
J5!/#%"
# $ <
%
"((
$( #
'' % EDEE (
-D( % "
' (
( (
<
%
%
(
#
Q33R%
EDEE # :6
0 ->) ) 9 :% "
#'#
:*()
.%% /
.TableStore/% B ' # $
( '#
(' .*$&$&"#
? /% " '
$
% B .5?/
# EDEE
$ % & Occurrence
#%TableStore.addOccurrence(…)
%"
$
.W2%4% /%
.
DBTableStore / ( . MemoryTableStore /%
DBTableStoreMemoryTableStoreTableStore#
( #
EDEEQL#TableStore%
" resolve(String EdeeQL) EDEE0 TableStore
' EDEEQL ( %
@'OA#I
'I %&('#
I#-0HashMap.get()%
&#,(
' .%% -# VV#
HD/ ( # OAOA
%&#((
#,(#('
%
(
EDEE0 CoverageChecker
'
'% EDEE
%
'< '
%
'
% EDEE0 CoverageChecker
#
(($Q !! R%
-.
# H# &/
*
• -
%
• O((
# $ .
/'%
• B # , # #
('%)(
' .
$/% )(
# # '
( % +
#
# #'
-%
• B ( . / (
( % O( #
###(%
--!"
'
,
#
,#%
:*()
• (##
$.WL%J% /%
##
I#
((.W2%4/%
2/ :
" EDEE
% B
.5/.1/#
.W5%5% /#
$ ' .W5%5%5
?/%
&#(*
#
.W1%?%J/
. /
$
.WL% %J/
./
#
.WL% % WL% %5/
./
!&
#
('
.W1%5%J#W1%?% /
. /
#
.W1%1/
.W1%5% /
.
B/
.W1%?% /
.
F/
" EDEE
%
8
" #
.W2%J/ .W2% /% EDEE0
.W2%5/% )#
.W2%4/%
8/ :
", I
(
%
EDEE%"
$ %
(
*'.W5%J/#
.W2%J%J/# (
.W2%J% /#.W2%J%5/#
,( ( .W2%J%4/#
(.W2%J%1/#.W2%J%?/%
; &
.W2%J%L/#(.W2%J%2/#
'I.W2%J%3/%
8// *
%Q AB34R
#
=0% 6Q AB34R
$#$
,%
; Q;32R
%)#Manager
Employee (
I%
'# OA'P
P
% ) #
''*
SELECT manager_ID FROM Employee WHERE Employee.salary > 10000
SELECT manager_id FROM EmployeeManager, Employee
WHERE EmployeeManager.employee_ID = Employee.employee_ID
AND Employee.salary > 10000.
;0 ( #O
. 9/##7# (
OA%
&( #
* One manager manages each employee Many managers
manage each Employee
!
# $
% " #
'# # (
# # ,
%
8//' 3?
)Q)32R,,(
# #
%,%&
,(#EmployeeManager(
Person% Employee Manager '
, # '
Manager%
EmployeeManager%"
ManagerEmployee'#
Employee Manager% ,(
,F
%
E%QE@@ !!!R)0#(
,(I$
, #$ ,
% '
% @ ( ,
#,%
"( *
being_employed .#
employee/ managing .# manager/% B ,(
' #
; &
(
#%
" ,( # TenuredEmployee
#,Employee
TenuredEmployee#
% & # (
being_tenured% "
' (% "
# #
# P P (
%(
(##,(
# Employee#TenuredEmployee#
$%
,( # ( #
% &#
% " (
$
./ ' %
'###
Q !! R%
8// .
W2%J%J W2%J% #
% Manager
Employee#
%
#
'%@ managing#'#
!
manager managed#
%
8// ?
@ " . ?/ "@ " . L/
, # % )
#@ " "@ " x <= 4 x < 3#
A ∪ BB ∩ C% EDEE0($
# # # ,
'%"$
%
" $# ' (
%
$ #
#7)+
.W %1%L/% 7 ) + #
' ( # .
W1%?%L/#%
8//4 ?
+#(($#@+
I #
% 0
# $(#
% '
#
Customer#Product#% "
( < '
I ( % +
; &
# 7 : : Q+ !!JR#
A.A/#;"+A<meta>#
K+A#
%K+A. C@7;
,Q& !!JR: $=C< Q !!JR
#
% (
#
,# #%
8// *5
&
A , + 60 &A Q&33R%
"#%"
%
%
8//2 ,$
" (( . J1/
# . OA OA/
D+
# EDEE% ;# QD !!J# D !!J#
D !! #D !! R#
-D( OA(3 ( 5 %
(%
5 "SELECT'%:9; /(##-D(#SELECTEDEE%
'
8//8 7?
$OA.J1/#
./#
./%
8//- *5 G
) # #
(
% " $ #
%
' ##
(# # '
'I%
8/' 0#
"$ I
# % "
$
' .W2% %J/# '#
.W2% % /%$ .W2%5/%
8/'/ :
@ (# (# (
% "
(
%
%
; &
8/'/' .
" $(#
$ ' '% ) # $;0
''* being_supplierSkyHisupplied
#supplier%)
# Query1 (properly) covering Query4#Query4
(properly) covering Query10# *
'Query10'
coveringQuery10 covered#
coverers coverings# % )I# #
EdeeCovererCoveredCoverer#=
0 . 23 31/% ;#
##%
8/'/ : $ $
" EDEE
% ,
' -D#
%
8/
EDEE0.W2%5%J/
.W2%5% / % .W2%5%5/
EDEE0%
8// < 5
( O(n2) n '
.###'#'(#'(
( / % #
'#'#
P#P./
%)#Query10⊂Query4⊂
Query1 . W5%5%4/
#<covered, coverer>5*
<query10, query4># <query10, query1># <query4, query1>% &
'
n'(n × (n - 1)) ÷ 2# O(n2)
%
" #
%
8//' 5
" #
#(%
&#*
.J/ $.W5%J/
. / . 1/
% '
J!'.W5% /%
.5/ I (
$.WL%J%JWL%J% /%
; &
*5:"E$: $
B$%
-#(#-H+%
" 5
%
Machine Name Operating System Database Java CPU(s) Memory
teme Microsoft Windows
2000 Professional
Microsoft Access
2000
1.3.0 800 Mhz AMD
Athlon
256 MB
citadel Microsoft Windows
XP Professional
Microsoft Access
2002
1.4.0_01 500 Mhz
Pentium III
256 MB
jetset Microsoft Windows
2000
Microsoft Access
2000
1.3.1 500 Mhz
Pentium III
256 MB
All Windows platforms employed Sun’s JDBC-ODBC driver, included with their respective Java distributions.
flute Red Hat Linux 7.2 PostgreSQL 7.2.1 1.4.0_01 1.4 Ghz AMD
Athlon
512 MB
hot-spare-00 (elbe) Red Hat Linux 7.1 PostgreSQL 7.0.3 1.4.0_01 2 x 1.4 Ghz
AMD Athlon
2.5 GB
hot-spare-01 (nidd) Red Hat Linux 7.1 PostgreSQL 7.0.3 1.4.0_01 2 x 1.4 Ghz
AMD Athlon
512 MB
hot-spare-02 (loire) Red Hat Linux 7.2 PostgreSQL 7.2.1 1.4.0_01 2 x 1.4 Ghz
AMD Athlon
882 MB
hot-spare-03 (lyd) Red Hat Linux 7.1 PostgreSQL 7.0.3 1.4.0_01 1.4 Ghz AMD
Athlon
878 MB
gargantubrain Red Hat Linux 7.1
(bastardised); Linux
2.4.9-18smp kernel
PostgreSQL 7.1.3-3 1.4.1beta 4 x 800 Mhz
Intel Itanium
(IA-64)
16 GB
All Unix platforms employed the Postgres JDBC driver that is included with the PostgreSQL 7.1 distribution.
Table 23: Software and hardware specifications of machines used for experiments
" #
-#+'
Double(EdeeNumber#Float
(%
7
B '( # #
#
.W5%5#?/'% B
# #
%"I*
J% 1![ # 1![
%
#being_obliged1##prohibiting1#W?% %J%"
# 8to (some occurrence) (some amount) to (some participant):
8to pay $25,000 to Steelmans:% #
8against (more-than/less-than) (some amount) (some role) to (some role):#
8against more-than $10,000 paid to a supplier:%@
.# 1[ /
=(0#
(',
'%
% ![ .
being_supplier paying W5%J/# ![ 4 #
![ 4# ![
4 # ![
%
5% .%% occurrence_type-er
occurrence_type-ed#suppli-er#suppli-ed/#
.%% occurrence_type-er# occurrence_type-ee# occurrence_type-ent# pay-er# pay-ee#
paym-ent/%
4% ![ .
SkyHiSteelmans W5%J/# ![ 4#
; &
![ 4 #
![ 4# ![
%
1% 1![ 'more-than1![less-
than%
?% .amounts/#!
J#!!!#!!!%
" #
##
%
%"
.Seed A = 1029353288745/#
citadel jetset .Seed B =
1029273107527/%
) ?" 4 '
Seed A%# '
% " '
.n/I#n2#
.W2%5%J/%
50
150
250
350
450 1
151
3010
1,000
2,000
3,000
4,000
5,000
6,000
Unique Identifiers In Database
OccurrencesProvisions
5,000-6,000
4,000-5,000
3,000-4,000
2,000-3,000
1,000-2,000
0-1,000
Figure 26: Number of unique identifiers (n), as number of provisions and occurrences vary
50 100 150 200 250 300 350 400 450 5001 190 302 418 538 663 794 907 1,029 1,141 1,263
51 876 982 1,098 1,218 1,343 1,474 1,587 1,709 1,821 1,943101 1,508 1,612 1,723 1,843 1,968 2,099 2,212 2,334 2,446 2,568151 2,200 2,304 2,403 2,506 2,631 2,762 2,875 2,997 3,109 3,231201 2,869 2,973 3,072 3,167 3,287 3,418 3,531 3,653 3,765 3,887251 3,559 3,663 3,762 3,857 3,970 4,085 4,198 4,320 4,432 4,554301 4,195 4,299 4,398 4,493 4,606 4,716 4,822 4,944 5,056 5,178351 4,855 4,959 5,058 5,153 5,266 5,376 5,482 5,602 5,713 5,835
Number of Occurrences
Num
ber o
f P
rovi
sion
s
Table 24: Number of unique identifiers (n), as number of provisions and occurrences vary
; &
&# #
' $ % " (
$ (I* (I J# ($
# (I 1!# ($
1!.WL%J%JWL%J% /%
$
&#*
"
J% $ ($ % ) L
" 1
% " ( ) L
W2%5%J%)
2 " ? %
(I J%
% $($#%) 3
." L/ #
#(#teme%)5!.
" L" 2/
1J#(IJ(I1!%)
5J." 3/#
#(#teme%)5 .
" 3 " 5!/
1J#(IJ(I
1!%
5% ($#
EdeeCoverer%)55"5J
I # Seed A% ) 54
" 5 I #
%
4% ($ #
EdeeCoverer % ) 51 " 55
I #
Seed A%7#
('
'.W2%5%J#) ? J/%
"#I(($
+ * !% 1+D
#!%1+D J! J! # 31+D 51J
!!%
1% % )
5?#Seed A#
%)5L.
" 54 " 51/ #
(I J (I 1!% ) ) 5L# 1J
#%
; &
flute: y = 129.79x4 - 574.09x3 + 1070x2 - 86.167x - 684.8
hot-spare-02: y = 127.24x4 - 580.81x3 + 1115.2x2 - 677.94x - 39.169
jetset: y = 43.4x4 - 69.753x3 + 1405.5x2 - 4630x + 3532.6
citadel: y = 18.976x4 + 314.5x3 - 847.29x2 + 446.03x + 177.58
teme: y = 6.4935x4 + 190.5x3 - 475.14x2 + 574.63x - 287
-50
0
50
100
150
200
250
300
350
1 51 101 151 201 251 301 351
Thousands
Number of Provisions
Tota
l Tim
e in
Sec
onds
teme
citadel
jetset
flute
hot-spare-02
flute (trend)
hot-spare-02 (trend)
jetset (trend)
citadel (trend)
teme (trend)
Figure 27: Total time, in seconds, to insert and coverage-check provisions,
for best performing installations, with trend-lines fitted
teme citadel jetset flute hot-spare-00 hot-spare-01 hot-spare-02 hot-spare-03 gargantubrain1 2.5 4.1 2.8 2.3 1.8 1.8 1.0 2.0 2.5
51 613.0 794.3 768.7 493.2 1,072.3 1,053.3 251.7 1,066.7 5,978.7101 2,806.4 3,872.1 3,885.1 3,792.3 38,436.2 38,275.1 2,712.9 38,402.6 235,319.5151 8,275.3 12,908.7 13,042.7 13,159.4 330,584.8 328,217.0 10,946.2 328,737.1201 18,546.9 32,606.8 33,748.6 34,852.2 30,414.0251 35,681.3 65,416.0 69,879.0 80,641.8 76,281.1301 61,343.2 114,650.3 118,250.7 166,717.8 155,840.9351 98,047.5 188,430.7 199,033.4 304,569.4 289,757.6
Num
ber
of
Pro
visi
ons
Machine Name
Blank cells appear because tests on poorly-performing configurations were manually terminated at an early stage.
Table 25: Total time, in seconds, to insert and coverage-check provisions,
comparing various installations
0
500
1000
1500
2000
2500
1 51 101 151 201 251 301 351
Provisions
Ave
rage
Tim
e in
Sec
onds
Per
P
rovi
sion
teme
citadel
jetset
flute
hot-spare-00
hot-spare-01
hot-spare-02
hot-spare-03
gargantubrain
Figure 28: Average time, in seconds per provision, to insert and coverage-check provisions,
comparing various installations
teme citadel jetset flute hot-spare-00 hot-spare-01 hot-spare-02 hot-spare-03 gargantubrain1 2.5 4.1 2.8 2.3 1.8 1.8 1.0 2.0 2.5
51 12.0 15.6 15.1 9.7 21.0 20.7 4.9 20.9 117.2101 27.8 38.3 38.5 37.5 380.6 379.0 26.9 380.2 2329.9151 54.8 85.5 86.4 87.1 2189.3 2173.6 72.5 2177.1201 92.3 162.2 167.9 173.4 151.3251 142.2 260.6 278.4 321.3 303.9301 203.8 380.9 392.9 553.9 517.7351 279.3 536.8 567.0 867.7 825.5
Num
ber o
f P
rovi
sion
s
Machine Name
Blank cells appear because tests on poorly-performing configurations were manually terminated at an early stage.
Table 26: Average time, in seconds per provision, to insert and coverage-check provisions,
comparing various installations
; &
50 100 150 200 250 300 350 400 450 5001
151
301
0
10
20
30
40
50
60
70
Total Time in Seconds
Thousands
Occurrences
Provisions
60-70
50-60
40-50
30-40
20-30
10-20
0-10
Figure 29: Total time, in seconds, to insert and coverage-check occurrences,
on machine teme, for a varying number of stored provisions, and batch-size = 1
0
5
10
15
20
25
30
35
40
50 100 150 200 250 300 350 400 450 500
Thousands
Occurrences
Tota
l Tim
e in
Sec
onds
Batch Size 1
Batch Size 50
Figure 30: Total time, in seconds, to insert and coverage-check occurrences,
on machine teme, for 251 stored provisions, and different batch-sizes
50 100 150 200 250 300 350 400 450 5001 20 37 54 74 94 117 140 164 193 219
51 232 389 587 863 1,092 1,339 1,579 1,793 2,113 2,412101 659 1,108 1,626 2,411 3,051 3,736 4,405 4,990 5,884 6,715151 1,522 2,527 3,407 4,748 6,082 7,536 8,866 10,118 11,955 13,591201 2,771 4,574 6,086 8,152 10,155 12,694 14,941 17,164 20,370 23,181251 4,343 7,207 9,618 12,788 15,686 18,609 22,032 25,313 30,233 34,459301 6,124 10,104 13,624 18,227 22,478 26,472 31,031 35,621 42,797 48,932351 8,577 14,463 19,382 25,860 31,956 37,627 43,884 49,989 59,647 68,285
Number of Occurrences
Num
ber
of
Pro
visi
ons
Table 27: Total time, in seconds, to insert and coverage-check occurrences,
on machine teme, for batch-size = 1
" L" 2)5!%
50 100 150 200 250 300 350 400 450 5001 5 20 31 45 61 78 95 111 131 154
51 10 244 401 598 865 1,100 1,344 1,564 1,777 2,097101 12 664 1,119 1,671 2,486 3,197 3,932 4,582 5,206 6,076151 14 1,527 2,497 3,382 4,689 6,023 7,474 8,714 9,986 11,712201 16 2,789 4,556 6,116 8,104 10,149 12,682 14,794 17,028 20,061251 19 4,324 6,935 9,379 12,410 15,300 18,301 21,387 24,615 29,331
Number of Occurrences
Num
ber
of
Pro
visi
ons
Table 28: Total time, in seconds, to insert and coverage-check occurrences,
on machine teme, for batch-size = 50
; &
50
150
250
350
450 1
2010
20
40
60
80
100
120
140
160
180
Average Time in Seconds Per Occurrence
Occurrences
Provisions
160.0-180.0
140.0-160.0
120.0-140.0
100.0-120.0
80.0-100.0
60.0-80.0
40.0-60.0
20.0-40.0
0.0-20.0
Figure 31: Average time, in seconds per occurrence, to insert and coverage-check
occurrences, on machine teme, for a varying number of stored provisions, and batch-size = 1
0
10
20
30
40
50
60
70
80
90
100
50 100 150 200 250 300 350 400 450 500
Occurrences
Ave
rage
Tim
e in
Sec
onds
Per
Occ
urre
nce
Batch Size 1
Batch Size 50
Figure 32: Average time, in seconds per occurrence, to insert and coverage-check
occurrences, on machine teme, with 251 stored provisions, and varying batch-sizes
50 100 150 200 250 300 350 400 450 5001 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
51 4.6 3.9 3.9 4.3 4.4 4.5 4.5 4.5 4.7 4.8101 13.2 11.1 10.8 12.1 12.2 12.5 12.6 12.5 13.1 13.4151 30.4 25.3 22.7 23.7 24.3 25.1 25.3 25.3 26.6 27.2201 55.4 45.7 40.6 40.8 40.6 42.3 42.7 42.9 45.3 46.4251 86.9 72.1 64.1 63.9 62.7 62.0 62.9 63.3 67.2 68.9301 122.5 101.0 90.8 91.1 89.9 88.2 88.7 89.1 95.1 97.9351 171.5 144.6 129.2 129.3 127.8 125.4 125.4 125.0 132.5 136.6
Number of Occurrences
Num
ber
of
Pro
visi
ons
Table 29: Average time, in seconds per occurrence, to insert and coverage-check
occurrences, on machine teme, for batch-size = 1
" 3"5!)5 %
50 100 150 200 250 300 350 400 450 5001 0.1 0.2 0.2 0.2 0.2 0.3 0.3 0.3 0.3 0.3
51 0.2 2.4 2.7 3.0 3.5 3.7 3.8 3.9 3.9 4.2101 0.2 6.6 7.5 8.4 9.9 10.7 11.2 11.5 11.6 12.2151 0.3 15.3 16.6 16.9 18.8 20.1 21.4 21.8 22.2 23.4201 0.3 27.9 30.4 30.6 32.4 33.8 36.2 37.0 37.8 40.1251 0.4 43.2 46.2 46.9 49.6 51.0 52.3 53.5 54.7 58.7
Number of Occurrences
Num
ber o
f P
rovi
sion
s
Table 30: Average time, in seconds per occurrence, to insert and coverage-check
occurrences, on machine teme, for batch-size = 50
; &
0
20
40
60
80
100
120
140
160
1 51 101 151 201 251 301 351
Thousands
Provisions
Tota
l Row
s In
Ede
eCov
erer
Figure 33: Total space for provisions, in rows of EdeeCoverer table
(theoretical limit = n2 where n = number of unique identifiers in database)
Total Space1 7
51 2,972101 12,572151 28,031201 49,007251 75,563301 107,949351 146,659
Num
ber o
f P
rovi
sion
s
Table 31: Total space for provisions, in rows of EdeeCoverer table
0
50
100
150
200
250
300
350
400
450
1 51 101 151 201 251 301 351
Provisions
Ave
rage
Row
s In
Ede
eCov
erer
Per
P
rovi
sion
Figure 34: Average space for provisions, in rows of EdeeCoverer table
(theoretical limit = n where n = number of unique identifiers in database)
Average Space Per Provision
1 751 58
101 124151 186201 244251 301301 359351 418
Num
ber o
f P
rovi
sion
s
Table 32: Average space for provisions, in rows of EdeeCoverer table
; &
50 100 150 200 250 300 350 400 450 5001
151
301
0
5
10
15
20
25
30
35
40
45
Total Rows in EdeeCoverer
Thousands
Occurrences
Provisions
40-45
35-40
30-35
25-30
20-25
15-20
10-15
5-10
0-5
Figure 35: Total space for occurrences, in rows of EdeeCoverer table,
for varying numbers of provisions
(theoretical limit = n2 where n = number of unique identifiers in database)
50 100 150 200 250 300 350 400 450 5001 26 33 45 64 75 90 101 120 147 167
51 687 1,183 1,717 2,423 2,972 3,544 4,115 4,595 5,308 5,921101 1,433 2,620 3,699 5,272 6,500 7,766 8,990 10,053 11,514 12,816151 2,331 4,326 5,578 7,325 9,036 10,832 12,559 14,109 16,217 18,043201 3,276 6,276 7,911 10,050 12,075 14,488 16,721 18,811 21,637 24,010251 4,150 7,913 10,200 12,781 15,051 17,390 20,169 22,708 26,174 29,030301 5,125 9,873 12,699 15,753 18,570 21,279 24,316 27,326 31,387 34,727351 6,502 12,969 16,325 19,925 23,451 26,780 30,351 33,838 38,556 42,486
Number of Occurrences
Num
ber o
f P
rovi
sion
s
Table 33: Total space for occurrences, in rows of EdeeCoverer table,
for varying numbers of provisions
5010
015
020
025
030
035
040
045
0
500
1
151
3010
50
100
150
200
250
300
Total Conflicts Detected
Occurrences
Provisions
250-300
200-250
150-200
100-150
50-100
0-50
Figure 36: Total conflicts detected between individual prohibitions and obligations, for
varying numbers of provisions and occurrences
0
20
40
60
80
100
120
140
160
50 100 150 200 250 300 350 400 450 500
Occurrences
Tota
l Con
flict
s D
etec
ted
Batch Size 1
Batch Size 50
Figure 37: Total conflicts detected between individual prohibitions and obligations,
for 251 stored provisions, comparing different batch-sizes
; &
50 100 150 200 250 300 350 400 450 5001 0 0 0 0 0 0 0 0 0 0
51 1 4 5 5 5 5 5 5 5 5101 3 12 15 16 17 17 18 22 22 22151 12 31 39 42 44 45 50 56 57 57201 21 60 70 79 84 87 94 103 108 108251 27 73 91 102 109 115 127 136 143 143301 37 94 119 132 143 152 167 176 185 185351 57 151 179 197 217 231 250 264 273 274
Number of Occurrences
Num
ber o
f P
rovi
sion
s
Table 34: Total conflicts detected between individual prohibitions and obligations,
for batch-size = 1
"54"51)5L%
50 100 150 200 250 300 350 400 450 5001 0 0 0 0 0 0 0 0 0 0
51 0 1 4 4 4 4 4 4 4 4101 0 3 12 16 16 17 17 18 22 22151 0 11 27 36 38 40 41 46 52 53201 0 22 60 75 78 83 86 93 102 107251 0 28 73 97 102 109 115 127 136 143
Num
ber o
f P
rovi
sion
s
Number of Occurrences
Table 35: Total conflicts detected between individual prohibitions and obligations,
for batch-size = 50
#
# , (
%)5?EDEE
(%
#teme#$ 2!.
1/ ($ #
51J%#$ J5?.,
/ $#51J1!!
% ) ( # $
%
#)5!.# #)5 /
I# .)5L/#
($ %
) LB
+ A #
A
%&) L
(
% # 0 top #
.33[
I/#!%1[I%
)# # .postmaster/
32[ #-. [/
#%
B(
(#($#
(# $
(%
; &
8//
EDEE0
# EDEE0 $
%
EDEE
.W %J/ ( % "
?!! ?
@+ Q)-A !!JR%
# EDEE#
%
.W % /#
%
& # + ($P
D$&(@QA !!!R
P$'J!!!.'/%
+#'
,'%
$ #
% " . ?/ 7
+$ N D $% &A6
J!Q&A6 !!JR%
.=+0 $/# .=BI0/#
.=B0/# (
.=@0/QD6A+3JR%"=+0$
2 # =BI0 $ 55 % "
$#=B0#J25J?5L<
$ (5,JJ.@JV
4%!%5# 1 J%!3 /%
#
,(
$# $ % )
$#,((
'.W % %5#W2%J%4/%&#
#
% B
#
.W2%5% /%
$ # %
A ($ QDABB31# A22R (7(
#$Q33#+ !!JR
$ .%% 5/%
$
# %
& # % . # JL /#
# .
W % #WL%5/I
1!! %%
B
$ % B
$
% B
( #
# (.W2%5% /%
; &
8/ 30 #
" $
%&#
.W2%4%J/% )$
P .W2%4% /
$ .W2%4%5/ P
.W2%4%4W2%4%1/%
8/ / .
$ $ (
#
%
& $
. W2% %5/#
%
+ '
. W2%5%J/# (# %
'
<
'$##
% " ( # (
%B
%
8/ /' ?
B # #
# $ . 5/
. 1/% & # #
'
$
( ($
$%
% " EDEE
% ;#
(
%
8/ /
EDEE
% "
%D$*
•
(
% ) # 8user privileges may change:#
8may: authorizing% I
P
authorized % "
#%
#
P
%)
#8upon confirmation of registration, members will be able to log-in to a member’s
area of the site: 8confirmation:
confirming .%%
8confirmation by a customer services representative:/%
; &
•
& # '
%"
%##
'
#
%
8/ / ,
" I $
I %
#
# I
I
%
%7
##(
%
8/ /4
"
%(
#
% &
##%
!&
8/4 :
" I $
%
B' .W2%J/.W2% /%&#
.W2%5/%&
# #
#(%
$ .W2%4/# %
& #
<
I % B
(
(#$%
" %
-
"
"
$%&
$##
# # % " $
(
. /%&*
-/
!
".W %J/(.W %5/#
(.W %J% #W %J%5#W %5%J/% $.strings#
integers#dates/%
B # #
' .W5%J/%
5
= FF C0%
</
.W5% /
%EDEE
./ '#
.W5%5/
'%
-/'
!
&
.W %5/
.W %1/#
'I.W %5%5/%
"'$
% "
# .W4%J(W4%?/
$
# #
' %
'##
$%
-/
6 6$4!
$ .W %4/ $ $( .W %4%J/
.W %4% /%#=0
.W %1/
% ( .W %5/
( < <
< (
.W %5%4/% .W %?/#
.W %5%4#
W %?%4/%
E0 ' " .W %J%J/# $
% B E0
* ( .W5%J/<
I./#
.W1%J%J/< allocatingSake(… )
.W5%J# W1%?%J/<
.W1%?% /<
.W1%4/<;0 # # #
.W1%1#W1%5% /<=0
= 0 .W1%?%J# W1%?% /< # #
#
.W1%?%5/%
$ , .W1% /# .W1%5/#
.W1%4/#.W1%1/#.W1%?/%(
.W1%1%J#W1%1% /%
</
((((.W1%?%?/%B
.W1%?%1/.W1%?% /#(((
.W1%?%4#W1%?%3/#,.W1%?%2/.W1%?%L/%
-/
!
& # #
%7%@(
.W % /#(.W % % /%
.W % %5/ (
.W % %4/%.W %5/
.W %5%1/%.W %?/
# ( .W %?% /#
=0 .W %?%J/ #
#.W %?%1/%
B(
0*##
.W1%?%3/% - 5 $
.W5%5#W?% /%
.W?%5/#
< # ( .W?%4/% "
$ .
(/
.W?%J/'%
-/4
2!
'
.W5%5/
# .-
/% @
( % B
P.WL%J%J/
.WL%J% / P P
.WL% %J/# .WL% % /#
.WL% %5/% " > #
EDEE .WL%5/% " ((( ((
$ # $#
%
-/ :
'
I* # # '#
% @'<
%
B # #
'
%
.WJ% /*
</
# # #
%#
D+##'#I%"
$* $
%AD+
# # % D
##
<$
% #'#
' (# $% )
(($ ' #
%
(# (
I % &
$#
% " # #
I
'%"
<
##
% "
( % " $
( #
(###
((((%
5
9:
" '.W5% /%
" 5? I ' # # % "
,'%
Name Examples Syntax in EDEEQL grammar33
Algebraic, Alphabetic, and Date Queries Greater than, Less than, Equal to < 10 < ‘Jeff’ < 10 Nov 2001
> 10 > ‘Jeff’ > 10 Nov 2001 = 10 = ‘Jeff’ = 10 Nov 2001
< (less-than) > (greater-than) = (equal-to)
Set-Theoretic Queries Concept Identification = Steelmans = (identified-concept) Union Q1 ∪ … ∪ Qn (uniand) UNION (uniand) UNION … (uniand)
Intersection Q1 ∩ … ∩ Qn (intersectand) INTERSECTION (intersectand) INTERSECTION … (intersectand)
Difference Q1 – Q2 or Q1 but not Q2
(differor) – (differand) or (differor) BUT_NOT (differand)
Empty Set ∅ EMPTY_SET
Universal Set U UNIVERSE Not / Complement (U - A1) UNIVERSE – (differand)
Triplet Queries Participant Query participants in role payer in
paying1 PARTICIPANTS IN ROLE (role) IN (occurrence)
Occurrence Query
occurrences of paying where $25,000 is paid
OCCURRENCES OF (type) WHERE (participant) IS/ARE (role)
Role Query roles of Steelmans in paying1 ROLES (participant) IN (occurrence)
Ordinal Queries Item in Position
1st of [occurrences of paying where $25,000 is paid] in ascending temporal order
(position) OF (set) IN ASCENDING / DESCENDING (sequence) ORDER
Inbuilt and User-Defined Operations Various count(occurrences of paying where $25,000 is paid),
max-possible-results(first of occurrences of paying), average(…), sum(…), min(…), max(…), …
(operation-name) (set)
Table 36: Types of query 55CriterionTypes $# CAPITALS%<#>#=# – %''$=[ … ]0%
1&!
7#'$'#"
OQUERYIDS OCCURRENCES#
CRITERIONTYPE ROLE#VALUES PARTICIPANTS%"#
) )5.21/#'QueryID-CriterionType-
ValueOccurrence-Role-Participant%
/ 9
" '* '# #
% " '
"5L# '=U?% 0#=]L0#
=_30 . '/% query901# query902#
query903'54%
QueryID CriterionType Value
query901 equal-to 6.2 (n1)35
query902 less-than 7 (n2)
query903 greater-than 9 (n3)
Table 37: Representation of basic algebraic queries:
equality, strictly less than, and strictly greater than
O = '0# = '0# =0 .
/#
' ('
%)='0
'''#=0'
'
'%
54#'3!!0#''%
51#(#EdeeNumber .31/% ) <# *%%n1#n2#n3n1=6.2#n2=7#n3=9%
1
/' 9
' '#
'
%" '
" 52 # ' =UD0# =]7$0# =_0
. '/%
QueryID CriterionType Value
query904 equal-to ‘Brian’ (s4)36
query905 less-than ‘Niki’ (s5)
query906 greater-than ‘Peter’ (s6)
Table 38: Representation of basic alphabetic queries:
equality, strictly less than, and strictly greater than
' .WJ%J/# '
('%
/ :?< 9
(' # # # # #
###./%
' '
%"./'
=0% "
'"53*
5?#(#EdeeSymbol.31/%)<#*%%s4#s5#s6s4=‘Brian’#s5=‘Niki’#s6=‘Peter’%
1&!
QueryID CriterionType Value
uniand query601
uniand query602
query907
… …
Table 39: Representation of a union query
. &' '
% " ./
'=0%"
'
"4!*
QueryID CriterionType Value
intersectand query601
intersectand query602
query908
… …
Table 40: Representation of an intersection query
, '' .%%
/ ' % "
./ '
=0 =0% "
'"4J*
QueryID CriterionType Value
differor query601 query909
differand query602
Table 41: Representation of a difference query
! 1
: '%
"
%
*: ' % "
%
. 'c1
c1 #
%&'
'
'%"
'"4 *
QueryID CriterionType Value
query910 identified-concept c1
Table 42: Representation of an identification query that returns c1 if c1 is in the database
> .=0/'
%
./'
% ' $
# <
'
% "
"45*
QueryID CriterionType Value
query911 counted query601
Table 43: Representation of a query that counts the results of another query.
1&!
/ 1?9
(''
# # % (
'$((<
. /
%" ('*
1
<
(
% "44
%
QueryID CriterionType Value
query1 type paying
occurrence query1
participant query2
query4
role query3
Table 44: Representation of an occurrence query
6# =0' $ $
"41*
Occurrence Role Participant
[match role criterion] [match participant criterion]
Table 45: A graphical representation of the ‘search window’ used to
resolve an occurrence query
$1
"4?<
(
%
QueryID CriterionType Value
occurrence query5 query7
role query6
Table 46: Representation of a participant query
6# =0 ' $ $
"4L*
Occurrence Role Participant
[match occurrence criterion] [match role criterion]
Table 47: A graphical representation of the ‘search window’ used to
resolve a participant query
"42<(
%
QueryID CriterionType Value
participant query912 query914
occurrence query913
Table 48: Representation of a role query
6# = 0 ' $ $
"43*
1&!
Occurrence Role Participant
[match occurrence criterion] [match participant criterion]
Table 49: A graphical representation of the ‘search window’ used to resolve a role query
/4 19
'
'# '% &
."1!/##$#
'./<
%&./###$
#'<%
QueryID CriterionType Value
position 1
set query914
direction ascending
query915
sequence temporal
Table 50: Representation of an ordinal item-in-position query
/ >9
O % 7 '
' % (
'#(#''
%"(#(
#''%
()
/2 <*
not#and#or#any-K .%%
F K/# all# none% "
(
%@#(
#(
5L% "
$ .%% (($ =0 /% "
' < %%
(''
% " 1J
(#(%
5L) # P # (.%%paying1/P%
1&!
Example Condition
Set-Theoretic, Occurrence-Centric Evaluation (Implemented using the Occurrence-Centric Queries and Cardinality Queries defined earlier)
8: @ 8 = 0 :% & '##%
8 52 :
& 8 = 0 : I.%%/##%
8 :
@8= 0:8= 0:% % & I .%% I I /# #%7.%%I/%
8 :
&8=0:8=0:##%
8 any two or more
of39* #
# :
8 . . = 0=0= 0// : ## # .%% /% " *8./ :#8=0:8=0:8= 0 :% # .%%/<$.8any two or more of%%%:/%7(#./ < 8./././:*
- k#=any-k of0#
- $=any X of*C0X(%
all/none *C
any-k# k (.all/I.none/%
Table 51: Evaluating truth conditions in a set-theoretic, occurrence-centric manner
52 B Courier font .%% not# and# or# any-k# %/ %
537#any-k( ('#=any k or more0=any k or less0%
5'
#
"
'% " ' *
' # # # # ,
#'%"(
##
'# %
,(%
%)
'/ $
O # # #, #
'%"*
• '## . /'#D#
'D
. = 0/ ' % "
'D(
% #
D
%" ! !
%"=0'
%'OJ'O #
OJ O
QA !!!R% O P D$#
&(@#+P
#'I#QA !!!R%
# '
%
• '##
'# '%
# #'
(%)# $#
- -# # ' 8 #: .
(/8 A A:%
'## '#D# ./
' D
. ' / J ./
' D% " '#
# (
7
'% "('%
@ %5% 22
'%
• '##'#D#
' .
'/ J 'D%#
(
D%
• '##F '#D#
'
'D%
• '## '#D#
''D#
'D#
' ' D #
'D%
B./
%
'# # # '
'%)''#
? ! '
' ' % # #
' .W1%5/#
'#
##
.WL%J%J/%
%)
'/' ,$
*$&$& 8# '. /'
.universe/%
*$&$&$ 'type%
*$&$&" ' '
.%% ' /%
& (
#'
'
%
*$&$&8 ' . / '
' uniands%
*$&$&= "# ' '
'%
*$&$&D #'O
'CovererEdeeCoverer
.23#31# J?/OCovered%
*$&$&A ' '
intersectands '< # '
intersectands '%
*$&$&E *'(' equal-to
'<('#less-
than < # (
' greater-than %
'%
4!"'CriterionTypesJ%
#7)&
*$&$&! '('#O#*'('#
equal-to ' equal-to O<
(' less-than
equal-to O<#('
greater-than equal-to O%
('#O# ('
less-than less-than O%
('#O#(
' greater-than greater-than
O%'%
*$&$& # .# # / (
' identified-concept
(#(#(%
(#
being-identical
%('
('# identified-concept
'((
being-identical%
*$&$& (''
identified-concept%
*$&$& $ 'differor%%%payments but
not large paymentspayments%
*$&$& " ' 'intersectand
% %% full payments intersection large payments intersection late payments
full payments#large payments#late payments%
%)
*$&$& 8 '#O#'##
0intersectands O0intersectands%%%full
payments intersection large payments intersection late payments full
payments intersection large payments full payments intersection late payments
large payments intersection late payments%
*$&$& = ' '
uniands '%
*$&$& D '# O# '# # 0
occurrenceO0occurrence#0 role
O0 role % '#
'%
*$&$& A 'occurrence%
*$&$& E .'/ ' set % %% 1st
[persons] in descending height orderpersons%
*$&$& ! # # .%% /
# Ω# Ω.Ω(J.//# Ω(J
Ω% ) # - .
( / symbolsStartingWith()
. /
% " firstLetterOf()
4J% ## (
$=Brian0%B##
./ firstLetterOf() #
# ./
symbolsStartingWith()%
4J7#symbolsStartingWith() # - # % & # # firstLetterOf()# # - % & # (#%&#%%
#7&&
firstLetterOf() =Brian0 =B0% B $
symbolsStartingWith() $
=B0#./=Brian0%
"##firstLetterOf()#
=Brian0 symbolsStartingWith(`B’)% "
.
/
% )# #
%
7 (
'( ' % O
is-covered-by.%%is-a-subset-of/#
covers.%%is-a-superset-of/%
'/ ,$
*$&"& '#O#' '#O#
differor%
*$&"&$ '# O# ' '# O#
occurrence#role#participant%
*$&"&" '#O#''#O#
intersectand%
%)
*$&"&8 '(
set%&(
*
(
#%
# %
(*((last_average
x last_count)+total_of_new_values)÷(last_count+number_of_new_values)%
'/ ,$
'differandsP#differand
#'
differand % # differand
' # .%% $
/ '#%
"
'%"'
'P%%'%
&
&
( .%&'((()# %&'(()# %&'(()# %&'(()# %&'(()#
%&'((')# %&'((')# %*&'((')# %*&'((')# %*&'((')# %+'((')#
%,--)/ %
%,-2) -#A(6# % 11%
%#E%J33L%
%=70-2) D#6(+;#B -%""@&@
+ % ) - 0,9.+
,- +% % J4L(J12% "# S%
+J33L%
%+-) @ E-;% O6 )
A )% & + @
E - ./* + 0 ) 8 (
4 - + 2(4-.+ 83% % J23( !5% #
E%-5(1#J33?%
%-4) -% 41>% % D,%
+$#%J331%
%48) @% @ A + A%
?L%%J!!(J!5%J312%
%') @%A#7#@%*%4.5?/%%5?(43%J3? %
%<='(() "6%http://www.atg.com/% !!J%
%2) -A%%555% %%
J3L?%
%&8) D % " % 1)% 3% % 1(J?%
J32?%
&
%&&E-2) D -# D -# ; % A % ,777
)-%4.1/%%42(1L%J33L%
%&&E7-4) D -# D -# ; @# + E%
%)$,'0
+ 457%B#D%%J42(J11%J331%
%&,;<'((() D @B;#)# A @+# " Z(;% )
"% ,:
7-%1.J/%) !!!%
%&*'(() D BA%http://www.bea.com/products/weblogic/server/index.shtml% !!J%
%&88) D-% 74% % #E%
J322%
%&3--) D #) #H%"
I B$ + % -
,00% .J/% %?1(J!4% )
J333%
%&3;-) DI +# ) -# A -% I " +%
),777-0)%$#%J33?%
%&=;7-) D#6"#AD#+$% I
@ * ) % ) A
,-<1+(%J33J%
*http://www.cs.utexas.edu/ftp/pub/ops5-benchmark-suite/HOW.TO.USE%
%&E&-) D-#;#D-% )$+
+ % - 45 4
24.+3%J.4/%%4!3(4J3%J33?%
%&E77'(() D-#;#+#+E#ZB %
) +6% ! , ' ) . /
0 + , > 2).0!3% A# 7%
!!!%A7 J51%% ?1P 2J%
(H%D#6% !!J%
&
%&E77'((') D-#;#+#+E#I%D
+% 05 ) 7% -
B N%"%
%&A0--) D # -GIG' -(+# I 7# B$ % +$
%,777-%%52(41%-J333%
%&'((() DI%DI"B%
*http://www.blazesoft.com/products/docrequest.html
*J+ !!!%
%&'(() DI +% > 4 0% + !!J%
http://www.crypto.com/trustmgt/kn.html%
%&;7'(() D-# A+# +E% " (
%&QAA !!JR%%J!LPJJ3%
%&;00-4) D@B;#A@+#B@B # B% +&(
I"7%)
%5,-00%J331%
%&7-) D+$%&@%)
!!" - 0,9.+ , - +%
%4 P42%J335%
%&7&E'((() D-# +E# D-# ;@# + # +7 # #
+% 6 %,777-%
55.5/%%?2PLL%+ !!!%
%& -) D +% B * " A
%&D+-./*+1
40B) ,'
+1,-02+7.4;!D3% #% %
J33?%
%& '((() D+%
"%4:)%1. /%%25(JJ % !!!%
%& '(() D$"6%') (% !!J%
http://www.brokat.com/cgi-bin/wpnav.cgi
&
%&:'(() D@#AA%(*0*0(*0*%
!!J% * http://www.brsolutions.com/rulespeak_download,
ruletrack.shtml
%&:E&-8) D -# +# ; # D -% & @(B
(+%)
,777 ' 7 - 7
2'7;,-7 !!E3 ' - ) %
#%-J332%
%&-4) D-)+@@%A@(K*,+
A% , ) $ , - (
0 < 10 5 ( 2(@0;!=3% # "
7%J331%
%'(() 6%"A& (*B
Y,-,
7(07,2009**$## 3%A0'#
&%&D7*22(21 2!(?J(L% !!J%
%-4) A)%7+@%
)6,-,15
2,-,1;!=3%B#%% !J( !3%+J331%
%-8) A)%@
0% & $$ ; +7 ./* 4 1
, 0B 45 0 + 1 - 0%
%&%% 4L( ?4%J332%
%:- ) # "# "% 7*
,( % $#
,- <1+ % #%
J334%
%:-2) A# )# % " I
% ) 0 , -
, 15% +#% +% % 55( 4 %
J33L%
&
%,,3-8) #7 #I#)# H6% +7*)B
9+ 7 *)&"@%
)@& AP+%+J332%
%,7'(() -#$-#+S#@E%
4-* %&QAA !!JR%
%J(JL%
%,>3'(() 6# 7 # ) % " - & (
B)+%
,777057% L.3/% % 2 L(21!%
!!J%
%,<0'((() -#B #")#BZ%7O*
O&%)$###-0,9.+
,- +% #"K% %5L3(53!%
+ !!!%
%8() D)%AA%D)%
1B,%%%J3!( !5# ?2(
LL%J32!%
%=8-) 76%A%-- %
5 .4/%%444(412%J323%
%.,*-4) - , + 7% %
J331%
%++-) $#EH# #E(E%
% * >6-,0*!"#"!%
&#)%
6#)A%J335%
%;'(() $ - A -% + ;(D % &
QAA !!JR%%J!LPJJ3%
%;>'((() $ -# A -# 7' % A
@ +%) A,
- ) 5 * * 2*;$###3%
D$#%+E%%J J(J5 % !!!%
&!"#
%;M'((() 6#AA#S)% +(+
&%,777-%%2 (23%) !!!%
%7- ) $+% *
A % + 5 7& J4.J/%
7J334%
%7- ) $B)+%))%4 %(
H%D#6%J334%
%'((() - % A + D
&% ,- , 7
(07 ,2009**$###3% A0'#&#
&D722(21 2!(1 (2%-( !!!%
%'((() % 1B , 0)%
%#E%J?#%55J(54?% !!!%
%0-8) I#@# BA%
7 * & % * ->-0
ED"!E% # %
D#%J332%
%:--) +B# 6# @@%
AD+D 7+
&%1)%J333%
%<-) $ D " % * 00B +1
(5K*';K0';%B$75%
" & %
;%J33?%
%<-) $D"%*00B1(5*
+-%B$71%"
&%;%J33?%
%<H-8) #"$@#H)#@#E%
+( BBB*@% ,777
057% 4.1/%%5? (5L1%+J332%
$%&
%,'((') 7%)65+ 0%
"% # & #
A% !! %
%70-) 0 # + --# B @-% $
(( (( % ,15% 4%
%LL(JJJ%J33?%)( -J332%
%,-2) $%A("A*
% ) 10%
%% J5( %J33L%
%,-8) $% A +A% 15
,0B=,-,1+
2,+93,4*-%)#&%J332%
%,--) $ % 1( * 1
-% "% # & #
A%J333%
%,'((() $%+A%+7L'
1,021,0$##3%6%
!!!%
%,'((() -% ' 4 %5B ( *
+%(B%@#+% !!!%
%,8() %77%#%J32!%
%,-) "%101%1%"%
#A%%JL(?3%J33?%
%,&'(() $"D-%")$+"
(% ) 6 , - 7
- *% H % # "K% "+# &)&# &7)@+%
%5?!(52J% !!J%
%,,+;'(() #+#E@#A"#7"7#)7#+B#
$ ;;% D(( +A
(($%,(0:%4!.J/% !!J%
&
%,,;:'(() 7# 7# A # 7% "
A%&QAA !!JR%%J2(52%
%,,7'(() $#$"#+" % ()
0% )7*-,'97-'
*7(%S% !!J%
%,'((() % *7
( % ' 4
,08,-
02$###3%D#%- !!!%
%,3=='((() E@#);#6I#6#H%+
;* D ,( D+%
* $###&#=% " @ 6%
&"#S% !!!%
%,+-2) ) E @% A
"A%,)"#
%5,-002%,-00;!A3%;%J33L%
%,+-8) ) E@% "
"A%,:7-%5. /%
%?L(2?%B J332(33%
%,+--) E+%#$
7 % ) $# , -
,02,-,03%#7%J333%
%,;:,'(() 7# A # 7# 7%
+ A% ) ,777H,6,),
0 ,45 2,;$## 3& # B% +
!!J%
%,7'(() $ + " % "
%1,021,03 $-
' + 70% & %
%LLJ(LLL% !!J%
& &
%, $82) +% &"@ % ) !
,- 05 72,-07 !EA3%
+%+#%% 2L( 22%J32L%
%,:-4) $ +% (
% ) =-,- ,15
2,-,1!=3%+%%? (L!%J331%
%,:-2) $+-%"@A%,
0%JJ.JF /%%?(JL%J33L%
%,:'((') $ +-% )AD
)$% + 0 0% 55.5/% & )
+ (%% ?L( 3!%- !! %
%,:'((() )# )# @ @% B7VV* A
(K+%,)=,-
4 1 , 0 241+(;$###3%
H#)% !!!%
%,0-4) )B;%%&B
@ ) @ ./* , 0 - * %
B%%% 4 ( ?!%J331%
%,0H-) )# B ;# H % + *
% )
, 0 , 0% % 45( 1 %
J33?%
%*;0- ) B # A B # B 7% * B
" ,( +Y
) - 0-% +% 7Z$#7Z%
%54!(54L%J334%
%*:--) "#H#$6% ;#&*
%,%J!2.J( /%%JL3( 11%J333%
%33- ) )I +- ) 7% 05 + ( 7
0 % @ 34%!L% & &$#
aS %J334%
&'
%3E'(() )(; -%:700:)%732(
2 !?% 7 A% A# % !!J%
*http://herzberg.ca.sandia.gov/jess/
%3A-) )@A-$+%-) 0B0,%
-B %#E%J33J%
%3A;'(() ) )# - ;# A )# -# @ E# %
)&H)F%
)$## 0,9.+-%+ !!J%
%3+'(() )@ E@% D %
&B+## B6 ./* .05
7,,% A7 % (H%
D#6%%1!(?L% !!J%
%3 8') )A% @ " * F ,
%,%J3.J/%%JL(5L%
J32 %
%3 $-8) ) +% @% )B
/%(B%@#+%J332%
*http://www.aw.com/cseng/titles/0-201-89542-0/apsupp/roles2-1.html
%3-') )7 % ./ % 057
:%L.1/%%5 5(554%J33 %
%3::-8) )7 ##@% P
7-AA% &%) .%/* 1
( ) 0 7 , '
21.)0*;!E3%+#E%-J332%A7
J113%(H%D#6%J333%
%3::--) )7 ##@%-72-73
1<"&#%&&$S%
J333%
%=,-) 6IE@% ,(
%) ,'*+ 0%
#E%J335%
' '" &
%=,- ) 6IE@%
7% ) 8 , '
*,+7B+ 0% ;#"%
)J334%
%=A:-') 67#-;H#%
* + % ) E
, - < 1 + ( 2<1+(;!$3% H#
%J33 %
%=A:-') 67;#-;H#%
,( % ) , -
+20,9.+3%#%%2J(3!%J33 %
%=;--) 6D7#AZ#;Z%D
@ *A K+A% &B+
.%/*) -- 7-27-!!3% #
%+%7Z$#7Z%7J333%
%=7-4) 6# +$&% + I *#
'# % + 7 (% J2. /% % 5(J2%
J331%
%= -2) 6 %9 ) + 0 % ;
A"@;A(3L(2 %D#E%-J33L%
%='((() 6@+%&+*
%,0% 1. /%%L5(2L% !!!%
%=- ) 6@%-1B,%
%#E%%3L%J334%
%=:::'((() 6I +# D# $( E% +$
" K+A% ) 0
- ,02-,0$###3% AD#%
!!!%
%=<-8) 6"% (B$
H % &7#@E# I- ./* )
,6,),-+ 0).+
)B5;!E%%J332%
&( )
%E-8) ;"%,(@+.@+F7&+/%4*D#
+ E# 6 ./* % ,
0%%J332%
%E'(() ; % G@% !!J%http://www.haley.com/
%E-') ; 7% @ " %
)-0,9.+-%%43(12%-J33 %
%E-4) ;-%""%>,>-(,,!D
# % D$ &
#&%#&A%J331%
%E&&7-) ;@#D-#D-# +E% DA
% ) - 0,9.)0 7
';!D%#&%J33?%
%E-) ;@%.0,0B.0,50%
"%A%+J33?%
%E&-2) ; 7# D # % I "
"67$%*>6-,0*!A#$ %
& #)%6#)A%7J33L%
%EE-2) ;;E% 9>,+7(*)/& 6*&*
&$%J33L%*http://www.businessrulesgroup.org/
*1+ !!!%
%E+-) ;;E% "@% 59 7
0 15% )# &% + A@ && H% b5 45%
J335%
%E+>H-8) ; 7#E +#7A# $-D# H%
" "+% * !E##E%
)& %6#)A%-J332%
%E7-2) ;+$% 7@@%
&+A .%/* 10% E% #"
7%%5J5(55 %J33L%
%E 28) ;B7% 61-:*%
$BB%6%B#"%J3L2%
( *+,&
%E -') ;&+%%)
D 7 - . / . ) 27-..);!$3%
(H%D%% 2L(5!2%J33 %
%E;--) ;-#@#AE7%
A* A ,% )
'%;A#D#E%7J333%
%EH'((() ; -# )# HI % 0 7%
%#E% !!!%
%E:-8) ;+7+%-%,777,-%
. /%%3!(3J%+(J332%
%EH'(() ; + H H% "* A @ D
%&QAA !!JR%%22(J!?%
%EHE-2) ;-#HD#;%7A
+* 6I E&% + 5
7% 5.J/% &* 7 A D
.B$ J33?/% % # "
7%%L3(3 %-J33L%
%.:8-) &%65)
)60%A#E%J323%http://www.iasc.org.uk/
%.:-2) & % ,
0B,0""27)03% A#E% J33L% *
http://www.iasc.org.uk/
%.:-8) & % ,
0B ,0 "A 2) - 1 - 3%
A#E%J332%*http://www.iasc.org.uk/
%.&7'(() &D+@%http://www.research.ibm.com/rules/home.html
%.;1='(() &A6&%&A6D@% !!J%
http://www.ilog.com/products/rules/rules_2001.pdf
%.'(() &K+A+% !!J%http://www.ipedo.com/
&*- .
%.:1-4) & I .&F& -"JF JFB6L/%.
+ ) M * M ) $B 6% &
J!L4?( F&"("@K%3! %J331%
%.:1--) & I%+ 10F1%
&F& 3!L1%J333%
%.:1--) & I% , M .
+ ) M , + 1% &F&
J4L1!%J333%
%A3>'((() - 7@# ) # 7 "-# 0D # # D%
D+%,:
,%J4. /%%J41(J23% !!!%
%A '((') --&%-0% 4+
)&.)&/%A#I%
!! %
%A7'((() -$ +-;% 01)% ;%
7-%%433(145#?!L(? 3% !!!%
%A:-) --&+% IA
*"7% J +-(-
B @- ./* + 1 - 0B 4 0
0%E%J335%
%A:-) - -& +%
% : ,9)1% 4.5/% %4 L(
445%J33?%
%A:'((() --& +% (&% 0,
' 6 7 - 267-;##3% B
#%#% !!!%
%A::-2) -, # # H% A A
%),77700
)%$#%%J?4(JL4%+J33L%
%%% &
%++'(() EI #EB#EI&%H(D (
(I B$ % ) 0
, ' 70 270;# 3% @# &%
A 7 J35% (H% D#
6%%L4(22% !!J%
%+=H--) E+#6#H$-%-.'5B-65
70)*,7H$ED"=+#4%J333%
%+-8) E % $ D " ) A
D % ) " %5,
- 0 0 2%,-00;!E3% E # ;% -
J332%
%+-8) E % Θ" A KJ F"
O%)" %5,-00
2%,-00!E3% E # ;% & %
%JL?(J21%-J332%
%+'(() E%@,*
" ' " @
% 7 , - , 15
2,-,1$## 3%A#+%+%%J22(J31%+ !!J%
%+7-) E+%#"#
%)$D%5,
-00%E#;%& %
%435(1! %-J335%
%+7-2) E + % +
B$*"
)% -,0% J1.4/% +
%7Z$#7Z%%5 J(5?L%J33L%
%+ -2) E"% +% +
+ +, 6 7
6>%$H%;#6%J33L%
%+-) E;@%6+1%E%
J335%
&% %"
%+-4) ED @% Z*6 (
%,777057% J.J!/%
J331%
%+-8) E@%P"-D"%,)
. / . 1 0 2..10$D3% & %
J332%
%+ -2) E%&)A%+)
1%&7" )@%#7%-J33L%
%+-2) E 6# @( # @I B % , (
*65*)%"@2F3L%
&#AI%J33L%
%+-8) E 6# @( # @I B %
B$+P@(% &B #
7 6 ./* - - M
.)%A7J5?4%
(H%D#6%%33(J !%J332%
%+'((() E 6# @( # @I B * $
$ ,# %-
-0%5 .J/%+ !!!%
%+:'(() E6#@(#@IB #$$+%D(
,(% - - %
44.4/%%33(J!4% !!J%
%+H- ) E 6# @( # @I B # H % "6*
+$,(%:. /
.)%4%J334%
%+:8) E$ @ +% A( % 45
9-%4% ;+;#A"(H% %?L(31%
J32?%
%+<'((() E "Z(;% A+
% , : 7
-%1.J/%) !!!%
$/" &
%;'(() A% 6(@' *6
"% =,777,0 *72*7;# 3%
"#%% 43( ?5% !!J%
%;&>--) A-#D@#7'%A%)
D 4- ,2,!!3% +&"%
#+%% 3J( 32%-J333%
%;,-') A @+ I % ) & * &
&%,,0%-J33 %
%;8() A@+%-4+,+B1-+ 6-%
"%.
& +/# " B #
%#%-J32!%
%;88) A @+% D % - .
,0?. /%%2L(J!2%J322%
%;-8) A @+% " % : 7
0,7-%2.5/%%5(2%J332%
%;22) A A% ) - M 0 15 1% @
%#"7%J3LL%
%;'((() A E% 0 , 0 7%
% !!!%
%; '((() A+% --) 61% +"%
A% !!!%
%;1--) AE"%+;D@
%-:%4 .5/%% J( 5J%J333%
%;:,7'(() AE#A##+7% 7D
%,0:%JJ.5/%D$%
#E%% 3( 4L% !!J%
%;<--) AA# # "B % O & (
& % ,777 5 +
7%JJ.4/%-FJ333%
&
%;- ) A@+@Z%K* %:
,0%J .J/%%J41(J?3%J331%
%;:-2) A +% D@,+%)
,777 7 + . / - ' 27+.-;!A3%
6#%%5?(4L%J33L%
%;:--) A +% (D
+% ,777 05 7% &
& +% 1.?/% % 21 (2?3% 7F
J333%
%7#8) +$%)@@@%:
)1%J1%%4!5(4 1%J32?%
%7#88) +$%@*HA%&
-.%/**)%%#E%%?3(
3 %J322%
%7#--) +$%)A%&+7
$$;./*41,0&450
+1-0%&%#"7%
% 3(15%J333%
%7&-8) + D -% D * @D(D %
)>074,L-..0;!E%)#7+%%JJL(J5J%J332%
%7&&-4) + S# D # D # @ E% D
%$,'0
+ 45720+47;!=3%B#%-
J331%
%7-') + +- D% ) B %
@ @ @ J21!1 .2!345/ JJFJ!F3 % &D+ @ %
7J33 %
%7,&:-) +@+##D@-#B%
(B
'J3??%&+-.%/*67%
DD$%#E%J3?3%
, -&
%7-8) +I +% + P ; #
7# &%&E#$
# + S ./* ) $ , 7
+ . /-'27+.-;!E3%& %7J332%
%7*:0'(() +D# #-#B% )-,
M< 0%& ")@)5!?!% !!J%
*http://www.ietf.org/rfc/rfc3060.txt?number=3060
%7-2) + D% . /.05-% % ;%
7-%J33L%
%7--) +D%((6..05B,+(-%
*http://www.eiffel.com/doc/manuals/technology/contract/
%7=<7-8) +I+# 6 # ""# +(B $ # B;# D +#
A B % "
% , : - , 0%
L.4/%B%% 43( L4%J332%
%7'(() +%http://www.microsoft.com/siteserver/% !!J%
%7'(() +%http://www.microsoft.com/commerceserver/% !!J%
%7-4) + S% 7 . + 0% "%
#O%%J14( 42%
J331%
%782) +$ % "@ "* &
% )04- ,2,
EA3%+E%)#%J32L%
%7 '((() + % EO+A )AD*
A%,:7-%1.J/%) !!!%
%71'(() +-D#HA#@7%7A
(6 % "! ,
-. /.102..10>0$## 3%
D#%-( !!J%
&0 .
%7 28) +% ##% 1)%
% % 4J1(454% J3L2% @ % " S ./*
J4*"%%7Z$#
7Z%%J3J( J %J32J%
%7:-) +- +% ;
+% ,777:0-% JJ.3/% %
J4!4(J4J4%J335%
%7:- ) +-+%
+% : .-% 4.J/% %
%J( %J334%
%7:-2) +( + +% 6 +* 6I
+A%,777H,.)H(-0+
07:%4. /%-J33L%
%7:7'(() + +# +# + D% " @
%$' 4,
0=,-%+#
% + !!J% ;$"@
;A( !!J(J !%*http://www.hpl.hp.com/techreports/2001/HPL-2001-120.pdf
%7:D-4) + # +# Z 7% ) 0
+ 0% @ @ 31FJ!%
#&%A#E%J331%
%7'((() +$7;H%A(6&*
+ ; % -
057%3.5/%% L5(5!1% !!!%
%7<'(() +$"A% &FA%
:)1%5!%%J11(J21% !!J%
%70-) +--B @-%+1-0B40
0%-B %#E%J335%
%>:A-8) 7"-##-7@%@(
% ) ",-
02,-0!E3%#)%% ( 3%J332%
-/ &
%1:'(() I &
.&/%,)0-% !!J%
*http://www.oasis-open.org/committees/provision/Intro-102301.doc
%1:'((') I &
.&/% .0,0 L1 - ) )
0<$&#%- !! %
*http://www.oasis-open.org/committees/ebxml-cppa/documents/ebcpp-2.0.pdf
%17-) + +7 %
'%,-*7%
#%J33?%
%17='(() , + 6% +6 + A
#HJ%4% !!J%
*http://www.omg.org/technology/documents/formal/uml.htm
%-() "% 707B00 0%
+&"%#+%J33!%
%,--) 7BI%%--0%
5J.J/%%?5(J!5%J333%
%*:'((() - # -+# -% *
% , - 6
)%+#% !!!%
%;'((() @ A % O
H% ) $D , - < 1
+ 2<1+($###3%%424(431% !!!%
%:-2) $$ ; +% A ((
%&7.%/*+ +1B74
4 *% A 7% ?5% E
%% 5( ? %J33L%
%:-8) $E%D
+% & I # -, # ./*
+ M*)% A7 J533%
(H%D#6%% 1L( 2!%J332%
&/"
%:<'(() "&%@@&&% !!J%
http://www.pst.com/rete.htm
%-) 6% A E @%
) 6,'-1
2-1'!D3%E$A%D%% 55( 4 %+
J33?%
%:8) @@ ##-%"A@%>
15:%55. ?L/%J325%
%-8) @I B % + "6 P
&% & O 6# # D(
"-+./* ) !,-+ 7
02+7L;!E3% H#% J332% A
7 J4?!% (H% D# 6%
J332%
%=0'((') @+#6D7#B+%7
% -,% &
" %)# !! %
%'(() @ 6% A&* " D % !!J%
* http://www.ghg.net/clips/CLIPS.html http://www.ghgcorp.com/clips/CLIPS-
FAQ
%M3'(() @#Sc'#)%
+% ) , - ,
- 0 2,-,-0$## 3% K# % A 7
3%(H%D#6%%JL (JL?%
7 !!J%
%:&E'((() D##D-#;+#"% D
@ 4%)>>9$%#%- !!!%
*http://www.elvin.dstc.edu.au/doc/papers/index.html
%:&-8) + D-% @
%)5;!E%%%445P412%J332%
% &
%:-) ) -% & # # % &
D+ - ./* +140%
%%J34( J1%J33?%
%:-) $ % ( + 0% "%
A%J33?%
%:--) +% " B$ % ,777-%
-(J333%
%:A-2) )# -# - -&%
I%&@.%/*"#%5,
-00%%5L5(52 %J33L%
%:,'((() +B $ -% H %
-0,% %%J?1(J23% !!!%
%:-) -@% 0 B %
%J3?3%
%:--) +% A % ) '% ;
A#D#E%7J333%
%:'(() +% " 7 % -
-1% .4/%%12J(? % !!J%
%:=<H'((() # 6 +# " )# H -# A -# A -% "
A .A/ H J%!
% 4,0,* D8=!% 7 &
".7&"/%6#+% !!!%
%:E88) $+# ; 7# % ""6@ @
+%057%J4.L/%-J322%
%:.;'((') &A &% ' N - !! % *
http://www.sil.org/linguistics/GlossaryOfLinguisticTerms/WhatIsDiscourseDeixis.htm
%:+-) $+EI6% "7(6
+%-- %54.J!/%J33J%
%:+-4) )E$@%H %,)
$ , - 1 ) 2,-1) !=3% +&" %
#+%%?L(2 %J331%
&%%
%:;;'(() +#A-#A .%/* ))+
0 45B , ' 2) $## 3% D# E%
A 7 J331% (H% D#
6%- !!J%
%: - ) +%+%:
450% .4/%%J334%
%: -4) +%+&%),777
$,'0+ 457
20+47!=3%B#D%-J331%
%: '((() +#7#7D%7)0*-99*H !D #"&0)B
0 0 ) + 0% &
#% !!!%
%:;88) "#A(#@A%&A
D+ *%) !EE
-0,9.+-+%#&A%%4!4(
4J %-J322%
%:8() @% " 7 * ;(
% ,777-%
3.J /%J32!%
%: '(() 6"K+A%http://www.softwareag.com/tamino/% !!J%
%: $'((() -)% 5 *B 1 ) -
6%D$F%6#% !!!%
%:'((() +% 40*7%
"% A% -
!!!%
%::++8) +-#)#E$@#EI$)#;#;"%
"D7A%--%
3.1/%%5L!(52?%+J32?%
1"2&
%:'((') $I % 1 O 5 <P
%% &$ A &H
@(Ba"; .@B";/%
#6% !! %)%
%:'((() +% )% "#4%!%
#&# %- !!!%
%:H84) -@H$% 6,1%
%#E%J321%
%:--) # B+# &D%
7$ %,777-%-(J333%
%:,'((() 6# @ @# I -A6% A
% + 5
7%51%%J J(J5?% !!!%
%<&--) " D -A% - -% E A%
A#E%J333%
%<=>1-') "#6#7# $ D% O
(%) !!$-0,9.+,
- +% # % % 5 J(55!% -
J33 %
%< -8) " -% ,B , )%
BAA%7Z$#7Z%%J(14%J332%
%< --) "%7* -65'5
0%"%S%J333%
%<<--) " Z(; " B % A +
%
,:7-2,:7-3% 5. /% %2L(J!4% B
J332(J333%
%<0'(() " E B 6% ( D @*
% , ) , ' . 7
0B07.2.7007.$## 3%@#&%
!!J%
&"2324
%<0'(() "EB6%( +D
D@% ,) $#,- -
27*$## 3%Z$#-% 7 !!J%
%7-) +% 01)+01>*)+; 9B
*"&"%J33?%
% '(() %
http://www.ness-europe.com/products/usoftdeveloperseries/default.htm. !!J%
%-) B+% " 6 @ (7(
B$ + % & 7 B$ " ./*
) , ' - , )
, 7 2,),-?!D3% % JL3( !J% # +%
7J33?%
%EE- ) B+# ; E+# ; 6-% +
$(7(% &+6#
#+6./* ) 0'-
0-')4*6%%5J(1!%J334%
%H-) H$;-%%%J33?%
%H'(() HA%http://www.versata.com/. !!J%
%04) B6;%A%%?!%%J(J1%J31J%
%0'((() B 6% ( I
&%&-%DI%$./*+
,0B 8,777,(' +
,0%H#A%+ !!!%
%0'(() B 6% " (,(@ +(+* "
H D% *%
"% !!J%
%07-4) B$ + .B+/% " B$ @
+* & J%J% -## ##"% J331% *
http://www.wfmc.org/standards/docs.htm
%0-) B-%"@%,777
5+7%2.4/%%125(131%J33?%
2,5 26&
%0-4) B @% +
"% ) ,6,)H,777
,0,45% D#%
+J331%
%0@'(() B; KA% (% !,6,)$&D'
-+ 0,7-02+0!3% !!J%
[[[[ This page exists just to force the printer beech to print the last page of the bibliography ]]]]
[[[[ This page exists just to force the printer beech to print the last page of the bibliography ]]]]
[[[[ This page exists just to force the printer beech to print the last page of the bibliography ]]]]
[[[[ This page exists just to force the printer beech to print the last page of the bibliography ]]]]
top related