This repository has been archived on 2018-08-08. You can view files and clone it, but cannot push or open issues or pull requests.
SecureBPMN/designer/examples/LoanOrigination/generated/LoanOrigination.sate

758 lines
30 KiB
Plaintext

% SATE OUTPUT
% SORTS
sort(hc_axiom).
sort(action).
sort(fresh_const).
sort(fresh_nat).
sort(message).
sort(nat).
sort(set).
sort(set_typed).
sort(humanTaskName).
sort(humanTaskName_temp).
sort(humanTaskName_typed).
sort(role).
sort(role_temp).
sort(role_typed).
sort(automatedTaskName).
sort(automatedTaskName_temp).
sort(automatedTaskName_typed).
sort(user).
sort(user_temp).
sort(user_typed).
sort(data_typed).
sort(taskInstance_typed).
sort(fluent).
sort(userORrole).
sort(taskName).
sort(entity).
sort(data).
% CONSTANTS
constant(initial_state(initial_state_id),fluent).
constant(fpk(fresh_public_key_id,nat,nat),fresh_public_key_typed).
constant(puk(fresh_public_key_typed),fresh_public_key).
constant(fsk(fresh_symmetric_key_id,nat,nat),fresh_symmetric_key_typed).
constant(sk(fresh_symmetric_key_typed),fresh_symmetric_key).
constant(fn(fresh_nonce_id,nat,nat),fresh_nonce_typed).
constant(nonce(fresh_nonce_typed),fresh_nonce).
constant(fmr(fresh_agent_id,nat,nat),fresh_agent_typed).
constant(mr(fresh_agent_typed),fresh_agent).
constant(ff(fresh_function_id,nat,nat),fresh_function_typed).
constant(fu(fresh_function_typed),fresh_function).
constant(fnat(fresh_nat_id,nat,nat),fresh_nat).
constant(fmsg(fresh_message_id,nat,nat),fresh_message).
constant(f_protocol_id_typed(fresh_protocol_id_typed_id,nat,nat),fresh_protocol_id_typed).
constant(pid(fresh_protocol_id_typed),fresh_protocol_id).
constant(fresh(fresh_const),fluent).
constant(s,nat).
constant(0,nat).
constant(mc_pair,data_typed).
constant(task,taskInstance_typed).
constant(start_event_startevent1,fluent).
constant(parallelgateway1_to_usertask3,fluent).
constant(parallelgateway1_to_servicetask2,fluent).
constant(parallelgateway4_to_usertask5,fluent).
constant(exclusivegateway1_to_usertask8,fluent).
constant(exclusivegateway1_to_exclusivegateway2,fluent).
constant(exclusivegateway2_to_usertask9,fluent).
constant(exclusivegateway3_to_parallelgateway1,fluent).
constant(exclusivegateway4_to_usertask7,fluent).
constant(exclusivegateway4_to_exclusivegateway3,fluent).
constant(usertask1,humanTaskName_typed).
constant(usertask2,humanTaskName_typed).
constant(usertask3,humanTaskName_typed).
constant(usertask4,humanTaskName_typed).
constant(usertask5,humanTaskName_typed).
constant(usertask6,humanTaskName_typed).
constant(usertask7,humanTaskName_typed).
constant(usertask8,humanTaskName_typed).
constant(usertask9,humanTaskName_typed).
constant(in_usertask1,set_typed).
constant(out_usertask1,set_typed).
constant(in_usertask2,set_typed).
constant(out_usertask2,set_typed).
constant(in_usertask3,set_typed).
constant(out_usertask3,set_typed).
constant(in_servicetask2,set_typed).
constant(out_servicetask2,set_typed).
constant(in_usertask4,set_typed).
constant(out_usertask4,set_typed).
constant(in_usertask5,set_typed).
constant(out_usertask5,set_typed).
constant(in_usertask6,set_typed).
constant(out_usertask6,set_typed).
constant(in_usertask7,set_typed).
constant(out_usertask7,set_typed).
constant(in_usertask8,set_typed).
constant(out_usertask8,set_typed).
constant(in_usertask9,set_typed).
constant(out_usertask9,set_typed).
constant(manager,role_typed).
constant(supervisor,role_typed).
constant(clerk,role_typed).
constant(servicetask2,automatedTaskName_typed).
constant(user1_manager,user_typed).
constant(user2_manager,user_typed).
constant(user1_supervisor,user_typed).
constant(user2_supervisor,user_typed).
constant(user1_clerk,user_typed).
constant(user2_clerk,user_typed).
constant(mr(agent_typed),agent).
constant(nonce(nonce_typed),nonce).
constant(sk(sk_typed),symmetric_key).
constant(puk(puk_typed),public_key).
constant(private_key_lb(private_key_typed),private_key).
constant(fu(function_typed),function).
constant(pid(protocol_id_typed),protocol_id).
constant(bool_lb(bool_typed),bool).
constant(set_lb(set_typed),set).
constant(ch(channel_typed),channel).
constant(s(nat),nat).
constant(contains(message,set),fluent).
constant(user_to_role(user,role),fluent).
constant(poto(userORrole,taskName),fluent).
constant(task_to_data(taskName,set,set),fluent).
constant(aknows(entity,data),fluent).
constant(mc_pair(data,data),data_typed).
constant(contains(set,data),fluent).
constant(task(taskName,nat),taskInstance_typed).
constant(canExecute(user,role,humanTaskName),fluent).
constant(granted(user,role,taskInstance),fluent).
constant(executed(user,taskInstance),fluent).
constant(ready(taskInstance),fluent).
constant(done(taskInstance),fluent).
constant(taskName_lb(humanTaskName_temp),humanTaskName).
constant(taskName_lb(humanTaskName_temp),humanTaskName).
constant(taskName_lb(humanTaskName_temp),humanTaskName).
constant(taskName_lb(humanTaskName_temp),humanTaskName).
constant(humanTaskName_lb(humanTaskName_typed),humanTaskName_temp).
constant(userORrole_lb(role_temp),role).
constant(userORrole_lb(role_temp),role).
constant(role_lb(role_typed),role_temp).
constant(taskName_lb(automatedTaskName_temp),automatedTaskName).
constant(taskName_lb(automatedTaskName_temp),automatedTaskName).
constant(taskName_lb(automatedTaskName_temp),automatedTaskName).
constant(taskName_lb(automatedTaskName_temp),automatedTaskName).
constant(automatedTaskName_lb(automatedTaskName_typed),automatedTaskName_temp).
constant(entity_lb(user_temp),user).
constant(entity_lb(user_temp),user).
constant(user_lb(user_typed),user_temp).
constant(init_1,initial_state_id).
constant(counter_w_usertask1(nat),fluent).
constant(counter_w_usertask2(nat),fluent).
constant(counter_w_usertask3(nat),fluent).
constant(counter_w_servicetask2(nat),fluent).
constant(counter_w_usertask4(nat),fluent).
constant(counter_w_usertask5(nat),fluent).
constant(counter_w_usertask6(nat),fluent).
constant(counter_w_usertask7(nat),fluent).
constant(counter_w_usertask8(nat),fluent).
constant(counter_w_usertask9(nat),fluent).
constant(n0,fresh_nat_id).
constant(n1,fresh_nat_id).
constant(n3,fresh_nat_id).
constant(n4,fresh_nat_id).
constant(n5,fresh_nat_id).
constant(n9,fresh_nat_id).
constant(n10,fresh_nat_id).
constant(n12,fresh_nat_id).
constant(n14,fresh_nat_id).
constant(n16,fresh_nat_id).
% SUPERSORTS
super_sort(puk_typed,fresh_public_key_typed).
super_sort(fresh_const,fresh_public_key).
super_sort(sk_typed,fresh_symmetric_key_typed).
super_sort(fresh_const,fresh_symmetric_key).
super_sort(nonce_typed,fresh_nonce_typed).
super_sort(fresh_const,fresh_nonce).
super_sort(agent_typed,fresh_agent_typed).
super_sort(fresh_const,fresh_agent).
super_sort(function_typed,fresh_function_typed).
super_sort(fresh_const,fresh_function).
super_sort(nat,fresh_nat).
super_sort(fresh_const,fresh_nat).
super_sort(message,fresh_message).
super_sort(fresh_const,fresh_message).
super_sort(protocol_id_typed,fresh_protocol_id_typed).
super_sort(fresh_const,fresh_protocol_id).
super_sort(message,agent).
super_sort(message,nonce).
super_sort(message,symmetric_key).
super_sort(message,public_key).
super_sort(message,private_key).
super_sort(message,function).
super_sort(message,nat).
super_sort(message,protocol_id).
super_sort(message,bool).
super_sort(entity,organization).
super_sort(entity,user).
super_sort(data,object).
super_sort(data,set).
super_sort(userORrole,user).
super_sort(userORrole,role).
super_sort(taskName,automatedTaskName).
super_sort(taskName,humanTaskName).
super_sort(taskName_typed,humanTaskName_temp).
super_sort(userORrole_typed,role_temp).
super_sort(taskName_typed,automatedTaskName_temp).
super_sort(entity_typed,user_temp).
% INITIAL STATES
facts([initial_state(init_1),
user_to_role(entity_lb(user_lb(user1_manager)),userORrole_lb(role_lb(manager))),
user_to_role(entity_lb(user_lb(user2_manager)),userORrole_lb(role_lb(manager))),
user_to_role(entity_lb(user_lb(user1_supervisor)),userORrole_lb(role_lb(supervisor))),
user_to_role(entity_lb(user_lb(user2_supervisor)),userORrole_lb(role_lb(supervisor))),
user_to_role(entity_lb(user_lb(user1_clerk)),userORrole_lb(role_lb(clerk))),
user_to_role(entity_lb(user_lb(user2_clerk)),userORrole_lb(role_lb(clerk))),
start_event_startevent1,
task_to_data(taskName_lb(humanTaskName_lb(usertask1)),set_lb(in_usertask1),set_lb(out_usertask1)),
task_to_data(taskName_lb(humanTaskName_lb(usertask2)),set_lb(in_usertask2),set_lb(out_usertask2)),
task_to_data(taskName_lb(humanTaskName_lb(usertask3)),set_lb(in_usertask3),set_lb(out_usertask3)),
task_to_data(taskName_lb(automatedTaskName_lb(servicetask2)),set_lb(in_servicetask2),set_lb(out_servicetask2)),
task_to_data(taskName_lb(humanTaskName_lb(usertask4)),set_lb(in_usertask4),set_lb(out_usertask4)),
task_to_data(taskName_lb(humanTaskName_lb(usertask5)),set_lb(in_usertask5),set_lb(out_usertask5)),
task_to_data(taskName_lb(humanTaskName_lb(usertask6)),set_lb(in_usertask6),set_lb(out_usertask6)),
task_to_data(taskName_lb(humanTaskName_lb(usertask7)),set_lb(in_usertask7),set_lb(out_usertask7)),
task_to_data(taskName_lb(humanTaskName_lb(usertask8)),set_lb(in_usertask8),set_lb(out_usertask8)),
task_to_data(taskName_lb(humanTaskName_lb(usertask9)),set_lb(in_usertask9),set_lb(out_usertask9)),
counter_w_usertask1(0),
counter_w_usertask2(0),
counter_w_usertask3(0),
counter_w_servicetask2(0),
counter_w_usertask4(0),
counter_w_usertask5(0),
counter_w_usertask6(0),
counter_w_usertask7(0),
counter_w_usertask8(0),
counter_w_usertask9(0)]).
% RULES
constant(sc_authorizeTaskExecution_1(user_typed,role_typed,humanTaskName_typed,nat),action).
action(sc_authorizeTaskExecution_1(A,R,HT,N),
true,
[canExecute(entity_lb(user_lb(A)),userORrole_lb(role_lb(R)),taskName_lb(humanTaskName_lb(HT))),
ready(taskInstance_lb(task(taskName_lb(humanTaskName_lb(HT)),N)))],
[granted(entity_lb(user_lb(A)),userORrole_lb(role_lb(R)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(HT)),N)))],
[ready(taskInstance_lb(task(taskName_lb(humanTaskName_lb(HT)),N)))]).
constant(sc_h_taskExecution_1(user_typed,role_typed,humanTaskName_typed,nat,set_typed,set_typed),action).
action(sc_h_taskExecution_1(A,R,HT,N,IN,OUT),
true,
[granted(entity_lb(user_lb(A)),userORrole_lb(role_lb(R)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(HT)),N))),
task_to_data(taskName_lb(humanTaskName_lb(HT)),set_lb(IN),set_lb(OUT))],
[executed(entity_lb(user_lb(A)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(HT)),N))),
done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(HT)),N))),
task_to_data(taskName_lb(humanTaskName_lb(HT)),set_lb(IN),set_lb(OUT)),
aknows(entity_lb(user_lb(A)),set_lb(IN)),
aknows(entity_lb(user_lb(A)),set_lb(OUT))],
[granted(entity_lb(user_lb(A)),userORrole_lb(role_lb(R)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(HT)),N)))]).
constant(sc_atask_execution_1(automatedTaskName_typed,nat,set_typed,set_typed),action).
action(sc_atask_execution_1(AT,N,IN,OUT),
true,
[ready(taskInstance_lb(task(taskName_lb(automatedTaskName_lb(AT)),N))),
task_to_data(taskName_lb(automatedTaskName_lb(AT)),set_lb(IN),set_lb(OUT))],
[done(taskInstance_lb(task(taskName_lb(automatedTaskName_lb(AT)),N))),
task_to_data(taskName_lb(automatedTaskName_lb(AT)),set_lb(IN),set_lb(OUT))],
[ready(taskInstance_lb(task(taskName_lb(automatedTaskName_lb(AT)),N)))]).
constant(sc_w_usertask1_1(nat),action).
action(sc_w_usertask1_1(Xvar),
true,
[start_event_startevent1,
counter_w_usertask1(Xvar)],
[ready(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask1)),fnat(n0,Xvar,0)))),
counter_w_usertask1(s(Xvar))],
[start_event_startevent1,
counter_w_usertask1(Xvar)]).
constant(sc_w_usertask2_1(nat,nat),action).
action(sc_w_usertask2_1(N2,Xvar),
true,
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask1)),N2))),
counter_w_usertask2(Xvar)],
[ready(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask2)),fnat(n1,Xvar,0)))),
counter_w_usertask2(s(Xvar))],
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask1)),N2))),
counter_w_usertask2(Xvar)]).
constant(sc_w_parallelgateway1_1,action).
action(sc_w_parallelgateway1_1,
true,
[exclusivegateway3_to_parallelgateway1],
[parallelgateway1_to_usertask3,
parallelgateway1_to_servicetask2],
[exclusivegateway3_to_parallelgateway1]).
constant(sc_w_usertask3_1(nat),action).
action(sc_w_usertask3_1(Xvar),
true,
[parallelgateway1_to_usertask3,
counter_w_usertask3(Xvar)],
[ready(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask3)),fnat(n3,Xvar,0)))),
counter_w_usertask3(s(Xvar))],
[parallelgateway1_to_usertask3,
counter_w_usertask3(Xvar)]).
constant(sc_w_servicetask2_1(nat),action).
action(sc_w_servicetask2_1(Xvar),
true,
[parallelgateway1_to_servicetask2,
counter_w_servicetask2(Xvar)],
[ready(taskInstance_lb(task(taskName_lb(automatedTaskName_lb(servicetask2)),fnat(n4,Xvar,0)))),
counter_w_servicetask2(s(Xvar))],
[parallelgateway1_to_servicetask2,
counter_w_servicetask2(Xvar)]).
constant(sc_w_usertask4_1(nat,nat),action).
action(sc_w_usertask4_1(N6,Xvar),
true,
[done(taskInstance_lb(task(taskName_lb(automatedTaskName_lb(servicetask2)),N6))),
counter_w_usertask4(Xvar)],
[ready(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask4)),fnat(n5,Xvar,0)))),
counter_w_usertask4(s(Xvar))],
[done(taskInstance_lb(task(taskName_lb(automatedTaskName_lb(servicetask2)),N6))),
counter_w_usertask4(Xvar)]).
constant(sc_w_parallelgateway4_1(nat,nat),action).
action(sc_w_parallelgateway4_1(N7,N8),
true,
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask3)),N7))),
done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask4)),N8)))],
[parallelgateway4_to_usertask5],
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask3)),N7))),
done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask4)),N8)))]).
constant(sc_w_usertask5_1(nat),action).
action(sc_w_usertask5_1(Xvar),
true,
[parallelgateway4_to_usertask5,
counter_w_usertask5(Xvar)],
[ready(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask5)),fnat(n9,Xvar,0)))),
counter_w_usertask5(s(Xvar))],
[parallelgateway4_to_usertask5,
counter_w_usertask5(Xvar)]).
constant(sc_w_usertask6_1(nat,nat),action).
action(sc_w_usertask6_1(N11,Xvar),
true,
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask5)),N11))),
counter_w_usertask6(Xvar)],
[ready(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask6)),fnat(n10,Xvar,0)))),
counter_w_usertask6(s(Xvar))],
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask5)),N11))),
counter_w_usertask6(Xvar)]).
constant(sc_w_usertask7_1(nat),action).
action(sc_w_usertask7_1(Xvar),
true,
[exclusivegateway4_to_usertask7,
counter_w_usertask7(Xvar)],
[ready(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask7)),fnat(n12,Xvar,0)))),
counter_w_usertask7(s(Xvar))],
[exclusivegateway4_to_usertask7,
counter_w_usertask7(Xvar)]).
constant(sc_exclusivegateway1_branch1_1(nat),action).
action(sc_exclusivegateway1_branch1_1(N13),
true,
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask7)),N13)))],
[exclusivegateway1_to_usertask8],
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask7)),N13)))]).
constant(sc_exclusivegateway1_branch2_1(nat),action).
action(sc_exclusivegateway1_branch2_1(N13),
true,
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask7)),N13)))],
[exclusivegateway1_to_exclusivegateway2],
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask7)),N13)))]).
constant(sc_w_usertask8_1(nat),action).
action(sc_w_usertask8_1(Xvar),
true,
[exclusivegateway1_to_usertask8,
counter_w_usertask8(Xvar)],
[ready(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask8)),fnat(n14,Xvar,0)))),
counter_w_usertask8(s(Xvar))],
[exclusivegateway1_to_usertask8,
counter_w_usertask8(Xvar)]).
constant(sc_exclusivegateway2_branch1_1(nat),action).
action(sc_exclusivegateway2_branch1_1(N15),
true,
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask8)),N15)))],
[exclusivegateway2_to_usertask9],
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask8)),N15)))]).
constant(sc_exclusivegateway2_branch2_1,action).
action(sc_exclusivegateway2_branch2_1,
true,
[exclusivegateway1_to_exclusivegateway2],
[exclusivegateway2_to_usertask9],
[exclusivegateway1_to_exclusivegateway2]).
constant(sc_w_usertask9_1(nat),action).
action(sc_w_usertask9_1(Xvar),
true,
[exclusivegateway2_to_usertask9,
counter_w_usertask9(Xvar)],
[ready(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask9)),fnat(n16,Xvar,0)))),
counter_w_usertask9(s(Xvar))],
[exclusivegateway2_to_usertask9,
counter_w_usertask9(Xvar)]).
constant(sc_exclusivegateway3_branch1_1(nat),action).
action(sc_exclusivegateway3_branch1_1(N41),
true,
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask2)),N41)))],
[exclusivegateway3_to_parallelgateway1],
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask2)),N41)))]).
constant(sc_exclusivegateway3_branch2_1,action).
action(sc_exclusivegateway3_branch2_1,
true,
[exclusivegateway4_to_exclusivegateway3],
[exclusivegateway3_to_parallelgateway1],
[exclusivegateway4_to_exclusivegateway3]).
constant(sc_exclusivegateway4_branch1_1(nat),action).
action(sc_exclusivegateway4_branch1_1(N42),
true,
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask6)),N42)))],
[exclusivegateway4_to_usertask7],
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask6)),N42)))]).
constant(sc_exclusivegateway4_branch2_1(nat),action).
action(sc_exclusivegateway4_branch2_1(N42),
true,
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask6)),N42)))],
[exclusivegateway4_to_exclusivegateway3],
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask6)),N42)))]).
% CONSTRAINTS
% GOALS
goal(sod_securitySod1_1(U0,N17,N18,N19),true,
[executed(entity_lb(user_lb(U0)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask5)),N17))),
executed(entity_lb(user_lb(U0)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask6)),N18))),
executed(entity_lb(user_lb(U0)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask7)),N19)))]).
goal(sod_securitySod1_2(U0,U1,N20,N21,N22),true,
[executed(entity_lb(user_lb(U0)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask6)),N20))),
executed(entity_lb(user_lb(U0)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask7)),N21))),
executed(entity_lb(user_lb(U1)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask5)),N22)))]).
goal(sod_securitySod1_3(U0,U1,N23,N24,N25),true,
[executed(entity_lb(user_lb(U0)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask5)),N23))),
executed(entity_lb(user_lb(U0)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask6)),N24))),
executed(entity_lb(user_lb(U1)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask7)),N25)))]).
goal(sod_securitySod1_4(U0,U1,N26,N27,N28),true,
[executed(entity_lb(user_lb(U0)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask5)),N26))),
executed(entity_lb(user_lb(U0)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask7)),N27))),
executed(entity_lb(user_lb(U1)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask6)),N28)))]).
goal(sod_securitySod2_1(U0,N29,N30,N31),true,
[executed(entity_lb(user_lb(U0)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask4)),N29))),
executed(entity_lb(user_lb(U0)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask5)),N30))),
executed(entity_lb(user_lb(U0)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask3)),N31)))]).
goal(sod_securitySod2_2(U0,U1,N32,N33,N34),true,
[executed(entity_lb(user_lb(U0)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask4)),N32))),
executed(entity_lb(user_lb(U0)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask3)),N33))),
executed(entity_lb(user_lb(U1)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask5)),N34)))]).
goal(sod_securitySod2_3(U0,U1,N35,N36,N37),true,
[executed(entity_lb(user_lb(U0)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask4)),N35))),
executed(entity_lb(user_lb(U0)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask5)),N36))),
executed(entity_lb(user_lb(U1)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask3)),N37)))]).
goal(sod_securitySod2_4(U0,U1,N38,N39,N40),true,
[executed(entity_lb(user_lb(U0)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask5)),N38))),
executed(entity_lb(user_lb(U0)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask3)),N39))),
executed(entity_lb(user_lb(U1)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask4)),N40)))]).
% EQUATIONS
% USER_AXIOMS
% HC_AXIOMS
constant(rbac_ac(user_typed,role_typed,humanTaskName_typed),hc_axiom).
hc_axiom(rbac_ac(A,R,HT),
true,
[user_to_role(entity_lb(user_lb(A)),userORrole_lb(role_lb(R))),
poto(userORrole_lb(role_lb(R)),taskName_lb(humanTaskName_lb(HT)))],
[canExecute(entity_lb(user_lb(A)),userORrole_lb(role_lb(R)),taskName_lb(humanTaskName_lb(HT)))]).
constant(direct_ac(user_typed,role_typed,humanTaskName_typed),hc_axiom).
hc_axiom(direct_ac(A,R,HT),
true,
[user_to_role(entity_lb(user_lb(A)),userORrole_lb(role_lb(R))),
poto(entity_lb(user_lb(A)),taskName_lb(humanTaskName_lb(HT)))],
[canExecute(entity_lb(user_lb(A)),userORrole_lb(role_lb(R)),taskName_lb(humanTaskName_lb(HT)))]).
constant(poto_usertask1,hc_axiom).
hc_axiom(poto_usertask1,
true,
[],
[poto(userORrole_lb(role_lb(clerk)),taskName_lb(humanTaskName_lb(usertask1)))]).
constant(poto_usertask2,hc_axiom).
hc_axiom(poto_usertask2,
true,
[],
[poto(userORrole_lb(role_lb(supervisor)),taskName_lb(humanTaskName_lb(usertask2)))]).
constant(poto_usertask3,hc_axiom).
hc_axiom(poto_usertask3,
true,
[],
[poto(userORrole_lb(role_lb(supervisor)),taskName_lb(humanTaskName_lb(usertask3)))]).
constant(poto_usertask4,hc_axiom).
hc_axiom(poto_usertask4,
true,
[],
[poto(userORrole_lb(role_lb(supervisor)),taskName_lb(humanTaskName_lb(usertask4)))]).
constant(poto_usertask5,hc_axiom).
hc_axiom(poto_usertask5,
true,
[],
[poto(userORrole_lb(role_lb(supervisor)),taskName_lb(humanTaskName_lb(usertask5)))]).
constant(poto_usertask6,hc_axiom).
hc_axiom(poto_usertask6,
true,
[],
[poto(userORrole_lb(role_lb(manager)),taskName_lb(humanTaskName_lb(usertask6)))]).
constant(poto_usertask7,hc_axiom).
hc_axiom(poto_usertask7,
true,
[],
[poto(userORrole_lb(role_lb(manager)),taskName_lb(humanTaskName_lb(usertask7)))]).
constant(poto_usertask8,hc_axiom).
hc_axiom(poto_usertask8,
true,
[],
[poto(userORrole_lb(role_lb(clerk)),taskName_lb(humanTaskName_lb(usertask8)))]).
constant(poto_usertask9,hc_axiom).
hc_axiom(poto_usertask9,
true,
[],
[poto(userORrole_lb(role_lb(clerk)),taskName_lb(humanTaskName_lb(usertask9)))]).
% INVOKED DURING THE LOADING (USEFUL FOR SETTING)
init_sate :-
set(verification_abstraction,off),
set(if2sate_version,2).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% NOTE: these prolog facts are not mandatory and are useful only for
% printing a user-friendly output when the triple_step optimization
% is enabled. The user is invited to neglect these declarations.
triple_step_action(authorizeTaskExecution(A,R,HT,N),
true,
[canExecute(entity_lb(user_lb(A)),userORrole_lb(role_lb(R)),taskName_lb(humanTaskName_lb(HT))),
ready(taskInstance_lb(task(taskName_lb(humanTaskName_lb(HT)),N)))],
[granted(entity_lb(user_lb(A)),userORrole_lb(role_lb(R)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(HT)),N)))],
[ready(taskInstance_lb(task(taskName_lb(humanTaskName_lb(HT)),N)))]).
triple_step_action(h_taskExecution(A,R,HT,N,IN,OUT),
true,
[granted(entity_lb(user_lb(A)),userORrole_lb(role_lb(R)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(HT)),N))),
task_to_data(taskName_lb(humanTaskName_lb(HT)),set_lb(IN),set_lb(OUT))],
[executed(entity_lb(user_lb(A)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(HT)),N))),
done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(HT)),N))),
task_to_data(taskName_lb(humanTaskName_lb(HT)),set_lb(IN),set_lb(OUT)),
aknows(entity_lb(user_lb(A)),set_lb(IN)),
aknows(entity_lb(user_lb(A)),set_lb(OUT))],
[granted(entity_lb(user_lb(A)),userORrole_lb(role_lb(R)),taskInstance_lb(task(taskName_lb(humanTaskName_lb(HT)),N)))]).
triple_step_action(atask_execution(AT,N,IN,OUT),
true,
[ready(taskInstance_lb(task(taskName_lb(automatedTaskName_lb(AT)),N))),
task_to_data(taskName_lb(automatedTaskName_lb(AT)),set_lb(IN),set_lb(OUT))],
[done(taskInstance_lb(task(taskName_lb(automatedTaskName_lb(AT)),N))),
task_to_data(taskName_lb(automatedTaskName_lb(AT)),set_lb(IN),set_lb(OUT))],
[ready(taskInstance_lb(task(taskName_lb(automatedTaskName_lb(AT)),N)))]).
triple_step_action(w_usertask1(Xvar),
true,
[start_event_startevent1,
counter_w_usertask1(Xvar)],
[ready(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask1)),fnat(n0,Xvar,0)))),
counter_w_usertask1(s(Xvar))],
[start_event_startevent1,
counter_w_usertask1(Xvar)]).
triple_step_action(w_usertask2(N2,Xvar),
true,
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask1)),N2))),
counter_w_usertask2(Xvar)],
[ready(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask2)),fnat(n1,Xvar,0)))),
counter_w_usertask2(s(Xvar))],
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask1)),N2))),
counter_w_usertask2(Xvar)]).
triple_step_action(w_parallelgateway1,
true,
[exclusivegateway3_to_parallelgateway1],
[parallelgateway1_to_usertask3,
parallelgateway1_to_servicetask2],
[exclusivegateway3_to_parallelgateway1]).
triple_step_action(w_usertask3(Xvar),
true,
[parallelgateway1_to_usertask3,
counter_w_usertask3(Xvar)],
[ready(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask3)),fnat(n3,Xvar,0)))),
counter_w_usertask3(s(Xvar))],
[parallelgateway1_to_usertask3,
counter_w_usertask3(Xvar)]).
triple_step_action(w_servicetask2(Xvar),
true,
[parallelgateway1_to_servicetask2,
counter_w_servicetask2(Xvar)],
[ready(taskInstance_lb(task(taskName_lb(automatedTaskName_lb(servicetask2)),fnat(n4,Xvar,0)))),
counter_w_servicetask2(s(Xvar))],
[parallelgateway1_to_servicetask2,
counter_w_servicetask2(Xvar)]).
triple_step_action(w_usertask4(N6,Xvar),
true,
[done(taskInstance_lb(task(taskName_lb(automatedTaskName_lb(servicetask2)),N6))),
counter_w_usertask4(Xvar)],
[ready(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask4)),fnat(n5,Xvar,0)))),
counter_w_usertask4(s(Xvar))],
[done(taskInstance_lb(task(taskName_lb(automatedTaskName_lb(servicetask2)),N6))),
counter_w_usertask4(Xvar)]).
triple_step_action(w_parallelgateway4(N7,N8),
true,
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask3)),N7))),
done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask4)),N8)))],
[parallelgateway4_to_usertask5],
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask3)),N7))),
done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask4)),N8)))]).
triple_step_action(w_usertask5(Xvar),
true,
[parallelgateway4_to_usertask5,
counter_w_usertask5(Xvar)],
[ready(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask5)),fnat(n9,Xvar,0)))),
counter_w_usertask5(s(Xvar))],
[parallelgateway4_to_usertask5,
counter_w_usertask5(Xvar)]).
triple_step_action(w_usertask6(N11,Xvar),
true,
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask5)),N11))),
counter_w_usertask6(Xvar)],
[ready(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask6)),fnat(n10,Xvar,0)))),
counter_w_usertask6(s(Xvar))],
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask5)),N11))),
counter_w_usertask6(Xvar)]).
triple_step_action(w_usertask7(Xvar),
true,
[exclusivegateway4_to_usertask7,
counter_w_usertask7(Xvar)],
[ready(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask7)),fnat(n12,Xvar,0)))),
counter_w_usertask7(s(Xvar))],
[exclusivegateway4_to_usertask7,
counter_w_usertask7(Xvar)]).
triple_step_action(exclusivegateway1_branch1(N13),
true,
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask7)),N13)))],
[exclusivegateway1_to_usertask8],
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask7)),N13)))]).
triple_step_action(exclusivegateway1_branch2(N13),
true,
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask7)),N13)))],
[exclusivegateway1_to_exclusivegateway2],
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask7)),N13)))]).
triple_step_action(w_usertask8(Xvar),
true,
[exclusivegateway1_to_usertask8,
counter_w_usertask8(Xvar)],
[ready(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask8)),fnat(n14,Xvar,0)))),
counter_w_usertask8(s(Xvar))],
[exclusivegateway1_to_usertask8,
counter_w_usertask8(Xvar)]).
triple_step_action(exclusivegateway2_branch1(N15),
true,
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask8)),N15)))],
[exclusivegateway2_to_usertask9],
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask8)),N15)))]).
triple_step_action(exclusivegateway2_branch2,
true,
[exclusivegateway1_to_exclusivegateway2],
[exclusivegateway2_to_usertask9],
[exclusivegateway1_to_exclusivegateway2]).
triple_step_action(w_usertask9(Xvar),
true,
[exclusivegateway2_to_usertask9,
counter_w_usertask9(Xvar)],
[ready(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask9)),fnat(n16,Xvar,0)))),
counter_w_usertask9(s(Xvar))],
[exclusivegateway2_to_usertask9,
counter_w_usertask9(Xvar)]).
triple_step_action(exclusivegateway3_branch1(N41),
true,
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask2)),N41)))],
[exclusivegateway3_to_parallelgateway1],
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask2)),N41)))]).
triple_step_action(exclusivegateway3_branch2,
true,
[exclusivegateway4_to_exclusivegateway3],
[exclusivegateway3_to_parallelgateway1],
[exclusivegateway4_to_exclusivegateway3]).
triple_step_action(exclusivegateway4_branch1(N42),
true,
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask6)),N42)))],
[exclusivegateway4_to_usertask7],
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask6)),N42)))]).
triple_step_action(exclusivegateway4_branch2(N42),
true,
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask6)),N42)))],
[exclusivegateway4_to_exclusivegateway3],
[done(taskInstance_lb(task(taskName_lb(humanTaskName_lb(usertask6)),N42)))]).
correspondence_between_action_and_step_compressed_rule(Act,SCAct) :-
atom_concat('sc_',Act,TmpAct),
atom_concat(TmpAct,_,SCAct).
% PREDICATE TO EVALUATE ON_THE_FLY_CONDITIONS
on_the_fly_conditions([]).
on_the_fly_conditions([C|Cs]) :-
call(C),
on_the_fly_conditions(Cs).