source: examples/access_tests/creddy_prover/policy.sh @ 7751094

mei_rt2
Last change on this file since 7751094 was 2e9455f, checked in by Mei <mei@…>, 11 years ago

1) added namespace
2) tweak ?This,
3) allowing linking role/oset as constraining conditions
4) adding access_tests regression testing that uses GENI's access policy
5) added couple multi contexts regression tests
6) add compression/uncompression calls to abac_encode_string/abac_decode_string
(libstrongwan only allows 512 char for attribute rule storage)
7) add attribute_now option to creddy that takes a whole char string for attribute
rule

  • Property mode set to 100755
File size: 22.0 KB
Line 
1#!/bin/sh
2
3#####################################################################
4# This policy.sh contains the RT2 policy rules Ted Faber
5# translated from Jeff Chase's GENI authorization writeup for prolog
6#
7#
8keyloc=`pwd`
9
10makeWho() {
11    WHO=$1
12    rm -rf ${WHO}_*.pem
13    creddy --generate --cn ${WHO}
14}
15makeWho G
16makeWho PA
17makeWho SA
18
19g=`creddy --keyid --cert $keyloc/G_ID.pem`
20pa=`creddy --keyid --cert $keyloc/PA_ID.pem`
21sa=`creddy --keyid --cert $keyloc/SA_ID.pem`
22
23#####################################################################
24sfile=sfile
25echo "s/$g/G/g "  > $sfile 
26echo "s/$pa/PA/g "  >> $sfile
27echo "s/$sa/SA/g "  >> $sfile
28
29#####################################################################
30pname=yap_clauses
31namespace=access1
32
33#####################################################################
34## G.identityProvider <- (G.geniRoot).identityProvider
35attr="[keyid:$g].role:identityProvider <- [keyid:$g].role:geniRoot.role:identityProvider"
36name=G_idenProver__gRoot_idenProvider_attr.der
37creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
38
39## G.sliceAuthority <- (G.geniRoot).sliceAuthority
40attr="[keyid:$g].role:sliceAuthority <- [keyid:$g].role:geniRoot.role:sliceAuthority"
41name=G_sliceAuthority__gRoot_sliceAuthority_attr.der
42creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
43
44## G.projectAuthority <- (G.geniRoot).projectAuthority
45attr="[keyid:$g].role:projectAuthority <- [keyid:$g].role:geniRoot.role:projectAuthority"
46name=G_projAuthority__gRoot_projAuthority_attr.der
47creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
48
49## G.geniProxy <- (G.geniRoot).geniProxy
50attr="[keyid:$g].role:geniProxy <- [keyid:$g].role:geniRoot.role:geniProxy"
51name=G_geniProxy__gRoot_geniProxy_attr.der
52creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
53
54## G.aggregate <- (G.geniRoot).aggregate
55attr="[keyid:$g].role:aggregate <- [keyid:$g].role:geniRoot.role:aggregate"
56name=G_aggr__gRoot_aggr_attr.der
57creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
58
59## G.gmoc <- (G.geniRoot).gmoc
60attr="[keyid:$g].role:gmoc <- [keyid:$g].role:geniRoot.role:gmoc"
61name=G_gmoc__gRoot_gmoc_attr.der
62creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
63
64## G.geniUser <- (G.identityProvider).geniUser
65attr="[keyid:$g].role:geniUser <- [keyid:$g].role:identityProvider.role:geniUser"
66name=G_geniUser__idenProvider_geniUser_attr.der
67creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
68
69## G.geniPI <- (G.identityProvider).geniPI
70attr="[keyid:$g].role:geniPI <- [keyid:$g].role:identityProvider.role:geniPI"
71name=G_geniPI__idenProvider_geniPI_attr.der
72creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
73
74## G.root(?P) <- (G.projectAuthority).root(?P)
75attr="[keyid:$g].role:root([string:?P]) <- [keyid:$g].role:projectAuthority.role:root([string:?P])"
76name=G_root_qP__projAuthority_root_qP_attr.der
77creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
78
79## G.root(?S) <- (G.sliceAuthority).root(?S)
80attr="[keyid:$g].role:root([string:?S]) <- [keyid:$g].role:sliceAuthority.role:root([string:?S])"
81name=G_root_qP__sliceAuthority_root_qP_attr.der
82creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
83
84## G.qualifiedProject <- (G.root(?this)).project
85attr="[keyid:$g].oset:qualifiedProject <- [keyid:$g].role:root([?this]).oset:project"
86name=G_qualProject__root_qTHIS_proj_attr.der
87creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
88
89## PA.member(?P:PA.standard) <- PA.member_(?P)
90attr="[keyid:$pa].role:member([string:?P[keyid:$pa].oset:standard])<-[keyid:$pa].role:member_([string:?P])"
91name=PA_member_qP_std__PA_memberDel_qP_attr.der
92creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
93
94## PA.member(?P:PA.standard) <- PA.delegate_member_(?P)
95attr="[keyid:$pa].role:member([string:?P[keyid:$pa].oset:standard])<-[keyid:$pa].role:delegate_member_([string:?P])"
96name=PA_member_qP_std__PA_delmemberDel_qP_attr.der
97creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
98
99## PA.member(?P:PA.standard) <- PA.owner(?P)
100attr="[keyid:$pa].role:member([string:?P[keyid:$pa].oset:standard])<-[keyid:$pa].role:owner([string:?P])"
101name=PA_member_qP_std__PA_owner_qP_attr.der
102creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
103
104## PA.member_(?P:PA.standard) <- PA.owner(?P)
105attr="[keyid:$pa].role:member_([string:?P[keyid:$pa].oset:standard])<-[keyid:$pa].role:owner([string:?P])"
106name=PA_memberDel_qP_std__PA_owner_qP_attr.der
107creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
108
109## PA.member(?P:PA.standard) <- (PA.owner(?P)).member(?P)
110attr="[keyid:$pa].role:member([string:?P[keyid:$pa].oset:standard])<-[keyid:$pa].role:owner([string:?P]).role:member([string:?P])"
111name=PA_member_qP_std__PA_owner_qP_member_qP_attr.der
112creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
113
114## PA.member(?P:PA.standard) <- (PA.member_(?P)).member(?P)
115attr="[keyid:$pa].role:member([string:?P[keyid:$pa].oset:standard])<-[keyid:$pa].role:member_([string:?P]).role:member([string:?P])"
116name=PA_member_qP_std__PA_memberDel_qP_member_qP_attr.der
117creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
118
119## PA.delegate_member_(?P:PA.standard) <- (PA.owner(?P)).delegate_member_(?P)
120attr="[keyid:$pa].role:delegate_member_([string:?P[keyid:$pa].oset:standard])<-[keyid:$pa].role:owner([string:?P]).role:delegate_member_([string:?P])"
121name=PA_delmemberDel_qP_std__PA_owner_qP_delmemberDel_qP_attr.der
122creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
123
124## PA.member_(?P:PA.standard) <- (PA.delegate_member_(?P)).member_(?P)
125attr="[keyid:$pa].role:member_([string:?P[keyid:$pa].oset:standard])<-[keyid:$pa].role:delegate_member_([string:?P]).role:member_([string:?P])"
126name=PA_memberDel_qP_std__PA_delmemberDel_qP_memberDel_qP_attr.der
127creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
128
129## PA.member_(?P:PA.standard) <- (PA.owner(?P)).member_(?P)
130attr="[keyid:$pa].role:member_([string:?P[keyid:$pa].oset:standard])<-[keyid:$pa].role:owner([string:?P]).role:member_([string:?P])"
131name=PA_memberDel_qP_std__PA_owner_qP_memberDel_qP_attr.der
132creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
133
134## PA.memberQ(?P:PA.standard, ?Priv:PA.std_ops) <- PA.member(?P)
135attr="[keyid:$pa].role:memberQ([string:?P[keyid:$pa].oset:standard], [string:?Priv[keyid:$pa].oset:std_ops]) <- [keyid:$pa].role:member([string:?P])"
136name=PA_memberQ_qP_std_qPRIV_stdops__member_qP_attr.der
137creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
138
139## PA.memberQ(?P:PA.standard, ?Priv:PA.std_ops) <- PA.memberQ_(?P, ?Priv)
140attr="[keyid:$pa].role:memberQ([string:?P[keyid:$pa].oset:standard], [string:?Priv[keyid:$pa].oset:std_ops]) <- [keyid:$pa].role:memberQ_([string:?P],[string:?Priv])"
141name=PA_memberQ_qP_std_qPRIV_stdops__memberQDel_qP_qPRIV_stdops_attr.der
142creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
143
144## PA.memberQ(?P:PA.standard, ?Priv:PA.std_ops) <- PA.delegate_memberQ_(?P, ?Priv)
145attr="[keyid:$pa].role:memberQ([string:?P[keyid:$pa].oset:standard], [string:?Priv[keyid:$pa].oset:std_ops]) <- [keyid:$pa].role:delegate_memberQ_([string:?P],[string:?Priv])"
146name=PA_memberQ_qP_std_qPRIV_stdops__delmemberQDel_qP_qPRIV_stdops_attr.der
147creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
148
149## PA.memberQ(?P:PA.standard, ?Priv:PA.std_ops) <- (PA.memberQ_(?P, ?Priv)).memberQ(?P, ?Priv)
150attr="[keyid:$pa].role:memberQ([string:?P[keyid:$pa].oset:standard], [string:?Priv[keyid:$pa].oset:std_ops]) <- [keyid:$pa].role:memberQ_([string:?P],[string:?Priv]).role:memberQ([string:?P],[string:?Priv])"
151name=PA_memberQ_qP_std_qPRIV_stdops__memberQDel_qP_qPRIV_stdops_memberQ_qP_qPRIV_stdops_attr.der
152creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
153
154## PA.memberQ(?P:PA.standard, ?Priv:PA.std_ops) <- (PA.owner(?P)).memberQ(?P, ?Priv)
155attr="[keyid:$pa].role:memberQ([string:?P[keyid:$pa].oset:standard], [string:?Priv[keyid:$pa].oset:std_ops]) <- [keyid:$pa].role:owner([string:?P]).role:memberQ([string:?P],[string:?Priv])"
156name=PA_memberQ_qP_std_qPRIV_stdops__owner_qP_memberQ_qP_qPRIV_stdops_attr.der
157creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
158
159## PA.delegate_memberQ_(?P:PA.standard, ?Priv:PA.std_ops) <- (PA.owner(?P)).delegate_memberQ(?P, ?Priv)
160attr="[keyid:$pa].role:delegate_memberQ_([string:?P[keyid:$pa].oset:standard], [string:?Priv[keyid:$pa].oset:std_ops]) <- [keyid:$pa].role:owner([string:?P]).role:delegate_memberQ_([string:?P],[string:?Priv])"
161name=PA_delmemberQDel_qP_std_qPRIV_stdops__owner_qP_delmemberQDel_qP_qPRIV_stdops_attr.der
162creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
163
164## PA.memberQ_(?P:PA.standard, ?Priv:PA.std_ops) <- (PA.delegate_memberQ_(?P,?Priv)).memberQ_(?P,?Priv)
165attr="[keyid:$pa].role:memberQ_([string:?P[keyid:$pa].oset:standard], [string:?Priv[keyid:$pa].oset:std_ops])<-[keyid:$pa].role:delegate_memberQ_([string:?P],[string:?Priv]).role:memberQ_([string:?P],[string:?Priv])"
166name=PA_memberQDel_qP_std_qPRIV_stdops__PA_delmemberQDel_qP_qPRIV_memberQDel_qP_qPRIV_attr.der
167creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
168
169## PA.memberQ_(?P:PA.standard, ?Priv:PA.std_ops) <- (PA.owner(?P)).memberQ_(?P, ?Priv)
170attr="[keyid:$pa].role:memberQ_([string:?P[keyid:$pa].oset:standard], [string:?Priv[keyid:$pa].oset:std_ops]) <- [keyid:$pa].role:owner([string:?P]).role:memberQ_([string:?P],[string:?Priv])"
171name=PA_memberQDel_qP_std_qPRIV_stdops__owner_qP_memberQDel_qP_qPRIV_stdops_attr.der
172creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
173
174## PA.memberQ_(?P:PA.standard, ?Priv:PA.std_ops) <- PA.member_(?P)
175attr="[keyid:$pa].role:memberQ_([string:?P[keyid:$pa].oset:standard], [string:?Priv[keyid:$pa].oset:std_ops]) <- [keyid:$pa].role:member_([string:?P])"
176name=PA_memberQDel_qP_std_qPRIV_stdops__memberDel_qP_attr.der
177creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
178
179## PA.std_ops <- "info"
180attr="[keyid:$pa].oset:std_ops <- [string:'info']"
181name=PA_stdops__info_attr.der
182creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
183
184## PA.std_ops <- "instantiate"
185attr="[keyid:$pa].oset:std_ops <- [string:'instantiate']"
186name=PA_stdops__instantiate_attr.der
187creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
188
189## PA.std_ops <- "stop"
190attr="[keyid:$pa].oset:std_ops <- [string:'stop']"
191name=PA_stdops__stop_attr.der
192creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
193
194## PA.memberQ_(?P:PA.standard, ?Priv:PA.std_ops) <- PA.member_(?P)
195attr="[keyid:$pa].role:memberQ_([string:?P[keyid:$pa].oset:standard],[string:?Priv[keyid:$pa].oset:std_ops]) <- [keyid:$pa].role:member_([string:?P])"
196name=PA_memberQDel_qP_std_qPRIV_stdops__memberDel_qP_attr.der
197creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
198
199## SA.controls_(?S:SA.standard) <- (SA.delegate_controls_(?S)).controls_(?S)
200attr="[keyid:$sa].role:controls_([string:?S[keyid:$sa].oset:standard]) <- [keyid:$sa].role:delegate_controls_([string:?S]).role:controls_([string:?S])"
201name=SA_ctrlsDel_std__delctrlsDel_qS_ctrlsDel_qS_attr.der
202creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
203
204## SA.delegate_controls_(?S:SA.standard) <- (SA.owner(?S)).delegate_controls_(?S)
205attr="[keyid:$sa].role:delegate_controls_([string:?S[keyid:$sa].oset:standard]) <- [keyid:$sa].role:owner([string:?S]).role:delegate_controls_([string:?S])"
206name=SA_delctrlsDel_std__owner_qS_delctrlsDel_qS_attr.der
207creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
208
209## SA.controls_(?S:SA.standard) <- (SA.owner(?S)).controls_(?S)
210attr="[keyid:$sa].role:controls_([string:?S[keyid:$sa].oset:standard]) <- [keyid:$sa].role:owner([string:?S]).role:controls_([string:?S])"
211name=SA_ctrlsDel_std__owner_qS_ctrlsDel_qS_attr.der
212creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
213
214## SA.controls(?S:SA.standard) <- SA.owner(?S)
215attr="[keyid:$sa].role:controls([string:?S[keyid:$sa].oset:standard]) <- [keyid:$sa].role:owner([string:?S])"
216name=SA_ctrls_std__owner_qS_attr.der
217creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
218
219## SA.controls_(?S:SA.standard) <- SA.owner(?S)
220attr="[keyid:$sa].role:controls_([string:?S[keyid:$sa].oset:standard]) <- [keyid:$sa].role:owner([string:?S])"
221name=SA_ctrlsDel_std__owner_qS_attr.der
222creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
223
224## SA.controls(?S:SA.standard) <- (SA.owner(?S)).controls(?S)
225attr="[keyid:$sa].role:controls([string:?S[keyid:$sa].oset:standard]) <- [keyid:$sa].role:owner([string:?S]).role:controls([string:?S])"
226name=SA_ctrls_std__owner_qS_ctrls_qS_attr.der
227creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
228
229## SA.controls(?S:SA.standard) <- (SA.controls_(?S)).controls(?S)
230attr="[keyid:$sa].role:controls([string:?S[keyid:$sa].oset:standard]) <- [keyid:$sa].role:controls_([string:?S]).role:controls([string:?S])"
231name=SA_ctrls_std__ctrlsDel_qS_ctrls_qS_attr.der
232creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
233
234## SA.controls(?S:SA.standard) <- SA.controls_(?S)
235attr="[keyid:$sa].role:controls([string:?S[keyid:$sa].oset:standard]) <- [keyid:$sa].role:controls_([string:?S])"
236name=SA_ctrls_qS_std__ctrlsDel_qS_attr.der
237creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
238
239## SA.controls(?S:SA.standard) <- SA.delegate_controls_(?S)
240attr="[keyid:$sa].role:controls([string:?S[keyid:$sa].oset:standard]) <- [keyid:$sa].role:delegate_controls_([string:?S])"
241name=SA_ctrls_qS_std__delctrlsDel_qS_attr.der
242creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
243
244## SA.controlsQ_(?S:SA.standard, ?Priv:PA.std_ops) <- (SA.delegate_controlsQ_(?S, ?Priv)).controlsQ_(?S, ?Priv)
245attr="[keyid:$sa].role:controlsQ_([string:?S[keyid:$sa].oset:standard],[string:?Priv[keyid:$pa].oset:std_ops]) <- [keyid:$sa].role:delegate_controlsQ_([string:?S],[string:?Priv]).role:controlsQ_([string:?S],[string:?Priv])"
246name=SA_ctrlsQDel_qS_std_qPRIV_stdops__delctrlsQDel_qS_qPRIV_stdops_ctrlsQDel_qS_qPRIV_stdops_attr.der
247creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
248
249## SA.delegate_controlsQ_(?S:SA.standard, ?Priv:PA.std_ops) <- (SA.owner(?S)).delegate_controlsQ_(?S, ?Priv)
250attr="[keyid:$sa].role:delegate_controlsQ_([string:?S[keyid:$sa].oset:standard],[string:?Priv[keyid:$pa].oset:std_ops]) <- [keyid:$sa].role:owner([string:?S]).role:delegate_controlsQ_([string:?S],[string:?Priv])"
251name=SA_delctrlsQDel_qS_std_qPRIV_stdops__owner_qS_delctrlsQDel_qS_qPRIV_stdops_attr.der
252creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
253
254## SA.controlsQ_(?S:SA.standard, ?Priv:PA.std_ops) <- (SA.owner(?S)).controlsQ_(?S, ?Priv)
255attr="[keyid:$sa].role:controlsQ_([string:?S[keyid:$sa].oset:standard],[string:?Priv[keyid:$pa].oset:std_ops]) <- [keyid:$sa].role:owner([string:?S]).role:controlsQ_([string:?S],[string:?Priv])"
256name=SA_ctrlsQDel_qS_std_qPRIV_stdops__owner_qS_ctrlsQDel_qS_qPRIV_stdops_attr.der
257creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
258
259## SA.controlsQ_(?S:SA.standard, ?Priv:PA.std_ops) <- SA.delegate_controls_(?S)
260attr="[keyid:$sa].role:controlsQ_([string:?S[keyid:$sa].oset:standard],[string:?Priv[keyid:$pa].oset:std_ops]) <- [keyid:$sa].role:delegate_controls_([string:?S])"
261name=SA_ctrlsQDel_qS_std_qPRIV_stdops__delctrlsDel_qS_attr.der
262creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
263
264## SA.controlsQ_(?S:SA.standard, ?Priv:PA.std_ops) <- SA.controls_(?S)
265attr="[keyid:$sa].role:controlsQ_([string:?S[keyid:$sa].oset:standard],[string:?Priv[keyid:$pa].oset:std_ops]) <- [keyid:$sa].role:controls_([string:?S])"
266name=SA_ctrlsQDel_qS_std_qPRIV_stdops__ctrlsDel_qS_attr.der
267creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
268
269## SA.controlsQ_(?S:SA.standard, ?Priv:PA.std_ops) <- (SA.delegate_controlsQ_(?S, ?Priv))
270attr="[keyid:$sa].role:controlsQ_([string:?S[keyid:$sa].oset:standard],[string:?Priv[keyid:$pa].oset:std_ops]) <- [keyid:$sa].role:delegate_controlsQ_([string:?S],[string:?Priv])"
271name=SA_ctrlsQDel_qS_std_qPRIV_stdops__ctrlsQDel_qS_qPRIV_stdops_attr.der
272creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
273
274## SA.controlsQ(?S:SA.standard, ?Priv:PA.std_ops) <- (SA.controlsQ_(?S, ?Priv)).controlsQ(?S, ?Priv)
275attr="[keyid:$sa].role:controlsQ([string:?S[keyid:$sa].oset:standard],[string:?Priv[keyid:$pa].oset:std_ops]) <- [keyid:$sa].role:controlsQ_([string:?S],[string:?Priv]).role:controlsQ([string:?S],[string:?Priv])"
276name=SA_ctrlsQDel_qS_std_qPRIV_stdops__ctrlsQDel_qS_qPRIV_stdops_ctrlsQ_qS_qPRIV_stdops_attr.der
277creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
278
279## SA.controlsQ(?S:SA.standard, ?Priv:PA.std_ops) <- (SA.owner(?S)).controlsQ(?S, ?Priv)
280attr="[keyid:$sa].role:controlsQ([string:?S[keyid:$sa].oset:standard],[string:?Priv[keyid:$pa].oset:std_ops]) <- [keyid:$sa].role:owner([string:?S]).role:controlsQ([string:?S],[string:?Priv])"
281name=SA_ctrlsQ_qS_std_qPRIV_stdops__owners_qS_ctrlsQ_qS_qPRIV_stdops_attr.der
282creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
283
284## SA.controlsQ(?S:SA.standard, ?Priv:PA.std_ops) <- SA.controlsQ_(?S, ?Priv)
285attr="[keyid:$sa].role:controlsQ([string:?S[keyid:$sa].oset:standard],[string:?Priv[keyid:$pa].oset:std_ops]) <- [keyid:$sa].role:controlsQ_([string:?S],[string:?Priv])"
286name=SA_ctrlsQ_qS_std_qPRIV_stdops__ctrlsQDel_qS_qPRIV_stdops_attr.der
287creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
288
289## SA.controlsQ(?S:SA.standard, ?Priv:PA.std_ops) <- SA.controls(?S)
290attr="[keyid:$sa].role:controlsQ([string:?S[keyid:$sa].oset:standard],[string:?Priv[keyid:$pa].oset:std_ops]) <- [keyid:$sa].role:controls([string:?S])"
291name=SA_ctrlsQ_qS_std_qPRIV_stdops__ctrls_qS_attr.der
292creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
293
294## PA.createRoot <- PA.GeniPI
295attr="[keyid:$pa].role:createRoot <- [keyid:$pa].role:geniPI"
296name=PA_createRoot__geniPI_attr.der
297creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
298
299## SA.createSlice(?P:SA.qualifiedProject) <- SA.geniUser & (SA.projectAuthority).memberQ(?P, "instantiate")
300attr="[keyid:$sa].role:createSlice([string:?P[keyid:$sa].oset:qualifiedProject]) <- [keyid:$sa].role:geniUser & [keyid:$sa].role:projectAuthority.role:memberQ([string:?P],[string:'instantiate'])"
301name=SA_createSlice_qP_qualProject__geniUser_projAthority_memberQ_instantiate_attr.der
302creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
303
304## SA.controlsQ(?S:SA.inStdProject(?P), "info") <- (SA.projectAuthority).memberQ(?P, "info")
305attr="[keyid:$sa].role:controlsQ([string:?S[keyid:$sa].oset:inStdProject([string:?P])],[string:'info']) <- [keyid:$sa].role:projectAuthority.role:memberQ([string:?P],[string:'info'])" 
306name=SA_ctrlsQ_qS_inStdProj_qP_info__projAuthority_memberQ_qP_info_attr.der
307creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
308
309## SA.controlsQ(?S:SA.inStdProject(?P), "stop") <- (SA.projectAuthority).owner(?P)
310attr="[keyid:$sa].role:controlsQ([string:?S[keyid:$sa].oset:inStdProject([string:?P])], [string:'stop']) <- [keyid:$sa].role:projectAuthority.role:owner([string:?P])"
311name=SA_ctrlsQ_qS_inStdProject_qP_stop__projAuthority_owner_qP_attr.der
312creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
313
314## SA.controlsQ(?S:SA.inStdProject(?P), "info") <- (SA.projectAuthority).owner(?P)
315attr="[keyid:$sa].role:controlsQ([string:?S[keyid:$sa].oset:inStdProject([string:?P])], [string:'info']) <- [keyid:$sa].role:projectAuthority.role:owner([string:?P])"
316name=SA_ctrlsQ_qS_inStdProject_qP_info__projAuthority_owner_qP_attr.der
317creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
318
319## SA.controlsQ(?S:SA.standard, "stop") <- SA.gmoc
320attr="[keyid:$sa].role:controlsQ([string:?S[keyid:$sa].oset:standard], [string:'stop']) <- [keyid:$sa].role:gmoc"
321name=SA_ctrlsQ_qS_std_stop__gmoc_attr.der
322creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
323
324## SA.controlsQ(?S:SA.standard, "info") <- SA.gmoc
325attr="[keyid:$sa].role:controlsQ([string:?S[keyid:$sa].oset:standard], [string:'info']) <- [keyid:$sa].role:gmoc"
326name=SA_ctrlsQ_qS_std_info__gmoc_attr.der
327creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
328
329## SA.inStdProject(?P:PA.standard) <- SA.inProjet(?P) & SA.standard
330attr="[keyid:$sa].oset:inStdProject([string:?P[keyid:$pa].oset:standard]) <- [keyid:$sa].oset:inProject([string:?P]) & [keyid:$sa].oset:standard"
331name=SA_inStdProject_qP_std__inProject_qP_std_qP_attr.der
332creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
333
334## SA.createSlice(?P:SA.qualifiedProject) <- SA.geniProxy &
335##         SA.speaksFor(?C:(SA.projectAuthority).memberQ(?P, "instantiate"))
336attr="[keyid:$sa].role:createSlice([string:?P[keyid:$sa].oset:qualifiedProject]) <- [keyid:$sa].role:geniProxy & [keyid:$sa].role:speaksFor([principal:?C[keyid:$sa].role:projectAuthority.role:memberQ([string:?P],[string:'instantiate'])])"
337name=SA_createSlice_qP_qualProject__geniProxy_speaksFor_qC_projAuthority_memberQ_qP_instantiate_attr.der
338creddy --attrnow --string "$attr" --out $name --out_prolog $pname --namespace $namespace
339
340
Note: See TracBrowser for help on using the repository browser.