blob: 13970bb78383ac93f7e99aa60931308f645d5575 [file] [log] [blame]
(*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*)
theory ResrcAttr
imports Main UsrAttr TrustLevel ResrcType InfoType
begin
locale ResrcAttr=gid:SysId nogid valid_gid +
iid:SysId noiid valid_iid +
TrustLevel trusted untrusted is_trusted +
PresrcType device normal is_normal +
InfoType data func is_data
for nogid::"'gid"
and valid_gid::"'gid\<Rightarrow>bool"
and noiid::"'iid"
and valid_iid::"'iid\<Rightarrow>bool"
and trusted::"'trustlevel"
and untrusted::"'trustlevel"
and is_trusted::"'trustlevel\<Rightarrow>bool"
and device::"'presrctype"
and normal::"'presrctype"
and is_normal::"'presrctype\<Rightarrow>bool"
and data::"'infotype"
and func::"'infotype"
and is_data::"'infotype\<Rightarrow>bool" +
fixes noresrcattr::'resrcattr
and resrc_attr::"'gid\<Rightarrow>'iid\<Rightarrow>'trustlevel\<Rightarrow>'presrctype\<Rightarrow>'infotype\<Rightarrow>'resrcattr"
and resrcattr_presrcid::"'resrcattr\<Rightarrow>'gid"
and resrcattr_infoid::"'resrcattr\<Rightarrow>'iid"
and resrcattr_trustlevel::"'resrcattr\<Rightarrow>'trustlevel"
and resrcattr_presrctype::"'resrcattr\<Rightarrow>'presrctype"
and resrcattr_infotype::"'resrcattr\<Rightarrow>'infotype"
assumes RESRCATTRHLR1:"resrcattr_presrcid noresrcattr=nogid"
assumes RESRCATTRHLR2:"resrcattr_infoid noresrcattr=noiid"
assumes RESRCATTRHLR3:"resrcattr_trustlevel noresrcattr=untrusted"
assumes RESRCATTRHLR4:"resrcattr_presrctype noresrcattr=normal"
assumes RESRCATTRHLR5:"resrcattr_infotype noresrcattr=data"
assumes RESRCATTRHLR6:"resrcattr_presrcid(resrc_attr pid iid tr pt it)=pid"
assumes RESRCATTRHLR7:"resrcattr_infoid(resrc_attr pid iid tr pt it)=iid"
assumes RESRCATTRHLR8:"resrcattr_trustlevel(resrc_attr pid iid tr pt it)=tr"
assumes RESRCATTRHLR9:"resrcattr_presrctype(resrc_attr pid iid tr pt it)=pt"
assumes RESRCATTRHLR10:"resrcattr_infotype(resrc_attr pid iid tr pt it)=it"
assumes RESRCATTRHLR11:"\<exists>pid iid tr pt it. x=resrc_attr pid iid tr pt it\<or>x=noresrcattr"
print_locale! ResrcAttr
locale SubjAttr=ResrcAttr nogid valid_gid noiid valid_iid trusted untrusted
is_trusted device normal is_normal data func is_data
noresrcattr resrc_attr resrcattr_presrcid resrcattr_infoid
resrcattr_trustlevel resrcattr_presrctype
resrcattr_infotype +
cattr:UsrAttr nouid valid_uid nousrattr usr_attr usrattr_id +
UsrAttrConf nouid valid_uid nousrattr usr_attr usrattr_id
nousrattrconf usrattr_conf is_usrattrconf find_usrid
delete_usrattr get_usrattr valid_usrattrconf
for nogid::"'gid"
and valid_gid::"'gid\<Rightarrow>bool"
and noiid::"'iid"
and valid_iid::"'iid\<Rightarrow>bool"
and trusted::"'trustlevel"
and untrusted::"'trustlevel"
and is_trusted::"'trustlevel\<Rightarrow>bool"
and device::"'presrctype"
and normal::"'presrctype"
and is_normal::"'presrctype\<Rightarrow>bool"
and data::"'infotype"
and func::"'infotype"
and is_data::"'infotype\<Rightarrow>bool"
and noresrcattr::'resrcattr
and resrc_attr::"'gid\<Rightarrow>'iid\<Rightarrow>'trustlevel\<Rightarrow>'presrctype\<Rightarrow>'infotype\<Rightarrow>'resrcattr"
and resrcattr_presrcid::"'resrcattr\<Rightarrow>'gid"
and resrcattr_infoid::"'resrcattr\<Rightarrow>'iid"
and resrcattr_trustlevel::"'resrcattr\<Rightarrow>'trustlevel"
and resrcattr_presrctype::"'resrcattr\<Rightarrow>'presrctype"
and resrcattr_infotype::"'resrcattr\<Rightarrow>'infotype"
and nouid::"'uid"
and valid_uid::"'uid\<Rightarrow>bool"
and nousrattr::'usrattr
and usr_attr::"'uid\<Rightarrow>'usrattr"
and usrattr_id::"'usrattr\<Rightarrow>'uid"
and nousrattrconf::"'usrattrconf"
and usrattr_conf::"'usrattrconf\<Rightarrow>'usrattr\<Rightarrow>'usrattrconf"
and is_usrattrconf::"'usrattrconf\<Rightarrow>bool"
and find_usrid::"'usrattrconf\<Rightarrow>'usrattr\<Rightarrow>bool"
and delete_usrattr::"'usrattrconf\<Rightarrow>'usrattr\<Rightarrow>'usrattrconf"
and get_usrattr::"'usrattrconf\<Rightarrow>'uid\<Rightarrow>'usrattr"
and valid_usrattrconf::"'usrattrconf\<Rightarrow>bool" +
fixes nosubjattr::'subjattr
and subj_attr::"'usrattr\<Rightarrow>'usrattrconf\<Rightarrow>'resrcattr\<Rightarrow>'subjattr"
and subjattr_callerattr::"'subjattr\<Rightarrow>'usrattr"
and subjattr_participants::"'subjattr\<Rightarrow>'usrattrconf"
and subjattr_resrcattr::"'subjattr\<Rightarrow>'resrcattr"
assumes SUBJATTRHLR1:"subjattr_callerattr nosubjattr=nousrattr"
assumes SUBJATTRHLR2:"subjattr_participants nosubjattr=nousrattrconf"
assumes SUBJATTRHLR3:"subjattr_resrcattr nosubjattr=noresrcattr"
assumes SUBJATTRHLR4:"subjattr_callerattr(subj_attr uattr conf attr)=uattr"
assumes SUBJATTRHLR5:"subjattr_participants(subj_attr uattr conf attr)=conf"
assumes SUBJATTRHLR6:"subjattr_resrcattr(subj_attr uattr conf attr)=attr"
assumes SUBJATTRHLR7:"\<exists>uattr conf attr. x=subj_attr uattr conf attr\<or>x=nosubjattr"
print_locale! SubjAttr
locale ObjAttr=ResrcAttr nogid valid_gid noiid valid_iid trusted untrusted
is_trusted device normal is_normal data func is_data
noresrcattr resrc_attr resrcattr_presrcid resrcattr_infoid
resrcattr_trustlevel resrcattr_presrctype
resrcattr_infotype +
UsrAttrConf nouid valid_uid nousrattr usr_attr usrattr_id
nousrattrconf usrattr_conf is_usrattrconf find_usrid
delete_usrattr get_usrattr valid_usrattrconf
for nogid::"'gid"
and valid_gid::"'gid\<Rightarrow>bool"
and noiid::"'iid"
and valid_iid::"'iid\<Rightarrow>bool"
and trusted::"'trustlevel"
and untrusted::"'trustlevel"
and is_trusted::"'trustlevel\<Rightarrow>bool"
and device::"'presrctype"
and normal::"'presrctype"
and is_normal::"'presrctype\<Rightarrow>bool"
and data::"'infotype"
and func::"'infotype"
and is_data::"'infotype\<Rightarrow>bool"
and noresrcattr::'resrcattr
and resrc_attr::"'gid\<Rightarrow>'iid\<Rightarrow>'trustlevel\<Rightarrow>'presrctype\<Rightarrow>'infotype\<Rightarrow>'resrcattr"
and resrcattr_presrcid::"'resrcattr\<Rightarrow>'gid"
and resrcattr_infoid::"'resrcattr\<Rightarrow>'iid"
and resrcattr_trustlevel::"'resrcattr\<Rightarrow>'trustlevel"
and resrcattr_presrctype::"'resrcattr\<Rightarrow>'presrctype"
and resrcattr_infotype::"'resrcattr\<Rightarrow>'infotype"
and nouid::"'uid"
and valid_uid::"'uid\<Rightarrow>bool"
and nousrattr::'usrattr
and usr_attr::"'uid\<Rightarrow>'usrattr"
and usrattr_id::"'usrattr\<Rightarrow>'uid"
and nousrattrconf::"'usrattrconf"
and usrattr_conf::"'usrattrconf\<Rightarrow>'usrattr\<Rightarrow>'usrattrconf"
and is_usrattrconf::"'usrattrconf\<Rightarrow>bool"
and find_usrid::"'usrattrconf\<Rightarrow>'usrattr\<Rightarrow>bool"
and delete_usrattr::"'usrattrconf\<Rightarrow>'usrattr\<Rightarrow>'usrattrconf"
and get_usrattr::"'usrattrconf\<Rightarrow>'uid\<Rightarrow>'usrattr"
and valid_usrattrconf::"'usrattrconf\<Rightarrow>bool" +
fixes noobjattr::'objattr
and obj_attr::"'usrattrconf\<Rightarrow>'resrcattr\<Rightarrow>'objattr"
and objattr_owners::"'objattr\<Rightarrow>'usrattrconf"
and objattr_resrcattr::"'objattr\<Rightarrow>'resrcattr"
assumes OBJATTRHLR1:"objattr_owners noobjattr=nousrattrconf"
assumes OBJATTRHLR2:"objattr_resrcattr noobjattr=noresrcattr"
assumes OBJATTRHLR3:"objattr_owners(obj_attr conf attr)=conf"
assumes OBJATTRHLR4:"objattr_resrcattr(obj_attr conf attr)=attr"
assumes OBJATTRHLR5:"\<exists>conf attr. x=obj_attr conf attr\<or>x=noobjattr"
print_locale! ObjAttr
locale InfoAttr=ResrcAttr nogid valid_gid noiid valid_iid trusted untrusted
is_trusted device normal is_normal data func is_data
noresrcattr resrc_attr resrcattr_presrcid resrcattr_infoid
resrcattr_trustlevel resrcattr_presrctype
resrcattr_infotype +
UsrAttrConf nouid valid_uid nousrattr usr_attr usrattr_id
nousrattrconf usrattr_conf is_usrattrconf find_usrid
delete_usrattr get_usrattr valid_usrattrconf
for nogid::"'gid"
and valid_gid::"'gid\<Rightarrow>bool"
and noiid::"'iid"
and valid_iid::"'iid\<Rightarrow>bool"
and trusted::"'trustlevel"
and untrusted::"'trustlevel"
and is_trusted::"'trustlevel\<Rightarrow>bool"
and device::"'presrctype"
and normal::"'presrctype"
and is_normal::"'presrctype\<Rightarrow>bool"
and data::"'infotype"
and func::"'infotype"
and is_data::"'infotype\<Rightarrow>bool"
and noresrcattr::'resrcattr
and resrc_attr::"'gid\<Rightarrow>'iid\<Rightarrow>'trustlevel\<Rightarrow>'presrctype\<Rightarrow>'infotype\<Rightarrow>'resrcattr"
and resrcattr_presrcid::"'resrcattr\<Rightarrow>'gid"
and resrcattr_infoid::"'resrcattr\<Rightarrow>'iid"
and resrcattr_trustlevel::"'resrcattr\<Rightarrow>'trustlevel"
and resrcattr_presrctype::"'resrcattr\<Rightarrow>'presrctype"
and resrcattr_infotype::"'resrcattr\<Rightarrow>'infotype"
and nouid::"'uid"
and valid_uid::"'uid\<Rightarrow>bool"
and nousrattr::'usrattr
and usr_attr::"'uid\<Rightarrow>'usrattr"
and usrattr_id::"'usrattr\<Rightarrow>'uid"
and nousrattrconf::"'usrattrconf"
and usrattr_conf::"'usrattrconf\<Rightarrow>'usrattr\<Rightarrow>'usrattrconf"
and is_usrattrconf::"'usrattrconf\<Rightarrow>bool"
and find_usrid::"'usrattrconf\<Rightarrow>'usrattr\<Rightarrow>bool"
and delete_usrattr::"'usrattrconf\<Rightarrow>'usrattr\<Rightarrow>'usrattrconf"
and get_usrattr::"'usrattrconf\<Rightarrow>'uid\<Rightarrow>'usrattr"
and valid_usrattrconf::"'usrattrconf\<Rightarrow>bool" +
fixes noinfoattr::'infoattr
and info_attr::"'usrattrconf\<Rightarrow>'resrcattr\<Rightarrow>'infoattr"
and infoattr_owners::"'infoattr\<Rightarrow>'usrattrconf"
and infoattr_resrcattr::"'infoattr\<Rightarrow>'resrcattr"
assumes INFOATTRHLR1:"infoattr_owners noinfoattr=nousrattrconf"
assumes INFOATTRHLR2:"infoattr_resrcattr noinfoattr=noresrcattr"
assumes INFOATTRHLR3:"infoattr_owners(info_attr conf attr)=conf"
assumes INFOATTRHLR4:"infoattr_resrcattr(info_attr conf attr)=attr"
assumes INFOATTRHLR5:"\<exists>conf attr. x=info_attr conf attr\<or>x=noinfoattr"
print_locale! InfoAttr
end