• 2.61 MB
  • 2022-04-22 13:41:02 发布

GBT17645.24(5)-2003工业自动化系统与集成零件库第24部分逻辑资源:供应商库的逻辑模型(5).pdf

  • 50页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'免费标准下载网(www.freebz.net)GB/T17645.24-2003/ISO13584-24:200211.25.8导入表是可见的或可应用的规则imported-tables-are-visible-or-applicable-rule(导人表是可见的或可应用的规则)规则检查:当表被类用a_priori_semantics_relationship输人时,这个表对于该类来说是可见的或可应用的。注:可应用的表包括通过语法关系输入的表。这条规则使从表已被输人的类中输入表成为可能。EXPRESS描述:*)RULEimported-tables-are_visible_or_applicable_ruleFOR(a_priori_semantic_relationship,table-element);WHEREWR1:QUERY(rel<二a_priori_semantic_relationshipIQUERY(tab<,rel.referenced-tablesIQUERY(cl<*rel.referenced_classes}NOTvisible_tables(cl,[tab])ANDNOTapplicable-tables(c1,[tab]))=rel.referenced-classes)=[])=a_priorisemantic-relationship;END-RULE;一imported-tables_are_visibIe_or_appIicable-ruIe(关形式限制:WR1:任何a_priori_semantics_relationship的referenced_properties属性定义的输人表对属于该a-priori-semantics-relationship的referenced一classes集的任一类来说应是可见的或可应用的。11.25.9导入文档是可见的或可应用的规则imported_documents_are_visible_or_applicable-rule(导人文档是可见的或可应用的规则)规则检查:当文档被类用a-priori-semanticsrelationship输入时,这个文档对于该类来说是可见的或可应用的。注:可应用的文档包括通过语法关系输入的文档。这条规则使从文档已被输入的类中输人文档成为可能。EXPRESS描述:二)RULEimported-documents-are-visible-or-applicable-ruleFOR(a_priori_semantic-relationship,document_element);WHEREWR1:QUERY(rel<‘a_priori_semantic-relationship}QUERY(doc<*rel.referenced-documents}QUERY(c1<,rel.referenced-classes}NOTvisible_documents(cl,[doc])ANDNOTapplicable_documents(cl,[doc]))=rel.referenced_classes)=仁」)=a_priori_semantic-relationship;END-RULE;一imported_documents-are_visible_or_applicable_rule(*形式限制:WRl:任何a_priori_semantics_relationship的:eferenced_properties属性定义的输人文档对属于该a_priori_semantics_relationship的:eferenced_classes集的任一类来说应是可见的或可应用的。免费标准下载网(www.freebz.net)无需注册即可下载 免费标准下载网(www.freebz.net)GB/T17645.24-2003/ISO13584-24:200211.26ISO13584扩展字典模式:函数定义为了规定有关ISO13584-extended-dictionary-schema中定义的实体的约束,这一节收集了这类函数集。11.26.1可见特性函数visible-properties(可见特性)函数检查从。1参数标识的类起,对应prop的属性是可见的。如果属性的DET引用了类或这个类的任何超类的BSU,从这个类起,属性是可见的。在当前的交换环境中,如果因为cl的超类无效而使已知可见属性可能不完全,那么函数返回值不确定。EXPRESS描述:关)FUNCTIONvisible_properties(c1:class_BSU;prop:AGGREGATEOFproperty_BSU):LOGICAL;LOCALok:BOOLEAN:=TRUE;END-LOCAL;IFNOTEXISTS(cl)THENRETURN(UNKNOWN);END-IF;REPEATi:=1toSIZEOF(prop);IFNOT(prop[i]INcompute_known_visible_properties(cl))THENok:=FALSE;END-IF;END-REPEAT;IFNOT(ok)ANDNOT(all_class_descriptions_reachable(cl))THENRETURN(UNKNOWN);END_IF;IFNOT(ok)ANDall_class_descriptions_reachable(cl)THENRETURN(FALSE);END-IF;RETURN(TRUE);ENDesFUNCTION;一visible-properties(关11.26.2可见类型函数visible-types(可见类型)函数检查从cl参数标识的类起,对应typ的类型是可见的。如果类型的DET引用了类或这个类的任何超类的BSU,从这个类起,类型是可见的。在当前的交换环境中,如果因为cl的超类无效而使已知可见数据类型可能不完全,那么函数返回值不确定。EXPRESS描述:*)FUNCTIONvisible_types(cl;class_BSU;免费标准下载网(www.freebz.net)无需注册即可下载 免费标准下载网(www.freebz.net)GB/T17645.24-2003/ISO13584-24:2002typ:AGGREGATEOFdata_type_BSU):LOGICALLOCALok:BOOLEAN:=TRUEEND-LOCAL;IFNOTEXISTS(cl)THENRETURN(UNKNOWN)END-IF;REPEATi:=1toSIZEOF(typ);IFNOT(typ[i]INcompute_known_visible_data_types(cl))THENok:二FALSE;END-IF;ENDeeREPEAT;IFNOT(ok)ANDNOT(all_class_descriptions_reachable(cl))THENRETURN(UNKNOWN);END_IF;IFNOT(ok)ANDall_class_descriptions_reachable(cl)THENRETURN(FALSE);ENDLIF;RETURN(TRUE)END-FUNCTION;-visible-types(,11.26.3可见表函数Visible_tables(可见表)函数检查从c1参数标识的类起,对应tab的表是可见的。如果表的DET引用了类或这个类的任何超类的BSU,从这个类起,表是可见的。如果BSU定义不能计算出整个可见表集,且从tab起的table_BSU没有证明是可见的,那么函数返回值不确定。EXPRESS描述:*)FUNCTIONvisible_tables(cl:class_BSU;tab:AGGREGATEOFtable_BSU):LOGICAL;IFNOTEXISTS(cl)THENRETURN(UNKNOWN);ENI)一IF;REPEATi:=SIZEOF(tab)TOIBY一I;IFtab巨i].name-scope=clTHENtab::tab一tab[i];END-IF;免费标准下载网(www.freebz.net)无需注册即可下载 免费标准下载网(www.freebz.net)GB/T17645.24-2003/ISO13584-24:2002END-REPEAT;IFSIZEOF(tab)=0THENRETURN(TRUE);END-IF;IFSIZEOF(cl.definition)=0THENRETURN(UNKNOWN);END-IF;IFEXISTS(cl.definition[1]class.its_superclass)THENRETURN(visible_tables(cl.definition[1]class.its_superclass,tab));ELSERETURN(FALSE);END-IF;ENDLFUNCTION;-visible-tables(二11.26.4可见文档函数visibledocuments(可见文档)函数检查从。1参数标识的类起,对应do。的文档是可见的。如果文档的DET引用了类或这个类的任何超类的BSU,从这个类起,文档是可见的。如果BSU定义不能计算出整个可见文档集,且从do。起的documentBSU没有证明是可见的,那么函数返回值不确定。EXPRESS描述:*)FUNCTIONvisible_documents(cl:class_BSU;doc:AGGREGATEOFdocument_BSU):LOGICAL;IFNOTEXISTS(cl)THENRETURN(UNKNOWN)END_IF;REPEATi:=SIZEOF(doc)TO1BY-1;IFdoc[i].name-scope=ClTHENdoc:二doc一doc[i];END-IF;END-REPEAT;IFSIZEOF(doc)=0THENRETURN(TRUE);END-IF;免费标准下载网(www.freebz.net)无需注册即可下载 免费标准下载网(www.freebz.net)GB/T17645.24-2003/ISO13584-24:2002IFSIZEOF(cl.definition)二0THENRETURN(UNKNOWN);END-IF;IFEXISTS(cl.definition[1]class.its_superclass)THENRETURN(visible_documents(cl.definition[1]class.its_superclass,doc));ELSERETURN(FALSE);ENDLIF;ENDLFUNCTION;一visible_documents(*11.26.5可应用特性函数applicable-properties(可应用特性)函数检查:对于cl参数标识的类来说,对应prop的特性是可应用的。如果特性的property_BSU属于类或这个类的任何超类的described-by特性,或如果特性的property_BSU是由类或这个类的任何超类输入的,对这个类来说,特性是可应用的。特别要注意的是:属于类的known-applicable-properties(已知可应用特性)特性的所有特性对于这个类来说是可应用的。如果dictionary-elements定义不能计算出整个可应用特性集,并且如果从typ起的property_BSU没有证明是可应用的,那么函数返回值不确定。EXPRESS描述:二)FUNCTIONapplicable_properties(cl:class_BSU;prop:AGGREGATEOFproperty_BSU):LOGICAL;IFSIZEOF(prop)=0THENRETURN(TRUE)END-IF;IFNOTEXISTS(cl)THENRETURN(UNKNOWN)END-IF;IFSIZEOF(cl.definition)=0THENRETURN(UNKNOWN);ENDLIF;prop:=prop一list_to_set(cl.definition[1]class.described-by);IFISO13584-EXTENDED-DICTIONARY-SCHEMA"+‘.A_PRIORI_SEMANTIC_RELATIONSHIP"INTYPEOF(cl.definition[1])THEN免费标准下载网(www.freebz.net)无需注册即可下载 免费标准下载网(www.freebz.net)GB/T17645.24-2003/ISO13584-24:2002prop:二prop一list_to_set(cl.definition[1]a-priori-semantic-relationship.referenced-properties);END-IF;IFSIZEOF(prop)=0THENRETURN(TRUE);ELSEIFEXISTS(cl.definition[1]class.its_superclass)THENRETURN(applicable_properties(cl.definition[1]class.its_superclass,prop));ELSERETURN(FALSE);END_IF;END_IF;ENDweFUNCTION;-applicable-properties(*11.26.6可应用类型函数applicable-types(可应用类型)函数检查:对于cl参数标识的类来说,对应typ的类型是可应用的。如果类型的data_type_BSU属于类或这个类的任何超类的defined-types属性,或如果属性的data-type_BSU是由类或这个类的任何超类输入的,对这个类来说,类型是可应用的。特别要注意的是:属于类的known-applicable-data-types(已知可应用数据类型)属性的所有数据类型对于这个类来说是可应用的。如果dictionary-elements定义不能计算出整个可应用类型集,并且如果从typ起的data-type_BSU没有证明是可应用的,那么函数返回值不确定。EXPRESS描述:二)FUNCTIONapplicable-types(cl:class_BSU;typ:AGGREGATEOFdata_type_BSU):LOGICAL;IFSIZEOF(typ)=0THENRETURN(TRUE);END-IF;IFNOTEXISTS(cl)THENRETURN(UNKNOWN);END-IF;IFSIZEOF(cl.definition)=0THENRETURN(UNKNOWN);END-IF;免费标准下载网(www.freebz.net)无需注册即可下载 免费标准下载网(www.freebz.net)GB/T17645.24-2003/ISO13584-24:2002typ:=typ一cl.definition[1]class.defined-types;IF("ISO13584-EXTENDED-DICTIONARY-SCHEMA"+‘.A_PRIORI_SEMANTIC_RELATIONSHIP"INTYPEOF(cl.definition[1]))THENtyp:=typ-cl.definition巨1]a_priori_semantic_relationship.referenced_data_types;END_IF;IFSIZEOF(typ)=0THENRETURN(TRUE);ELSEIFEXISTS(cl.definition[1]class.its_superclass)THENRETURN(applicable-types(c1.definition[1]class.its_superclass,typ));ELSERETURN(FALSE);END-IF;END-IF;EN几FUNCTION;-applicable-types(关11.26.7可应用表函数applicable-tables(可应用表)函数检查:对于cl参数标识的类来说,对应tab的表是可应用的。如果class-table-relationship包含表的related-tokens列表中的相应tabie_BSU,并引用类或这个类的任何超类作为表的relating-class属性,对这个类来说,表是可应用的。如果相应的table_BSU是由类或这个类的任何超类输人的,它也是可应用的。如果dictionary-elements定义不能计算出整个可应用表集,并且如果从tab起的table_BSU没有证明是可应用的,那么函数返回值不确定。EXPRESS描述:*)FUNCTIONapplicable-tables(cl:class_BSU;tab:AGGREGATEOFtableidentification):LOGICAL;IFSIZEOF(tab)=0THENRETURN(TRUE)END-IF;IFNOTEXISTS(cl)THENRETURN(UNKNOWN)ENI〕一IF;免费标准下载网(www.freebz.net)无需注册即可下载 免费标准下载网(www.freebz.net)GB/T17645,24-2003/ISO13584-24:2002IFSIZEOF(cl.definition)=0THENRETURN(UNKNOWN);END_IF;tab:二tab一retrieve_tables(cl);IFISO13584-EXTENDED-DICTIONARY-SCHEMA"+‘.A_PRIORI_SEMANTIQRELATIONSHIP"INTYPEOF(cl.definition[l])THENtab:=tab一。1.definition[1]a_priori_semantic_relationship‘reference走tables;END-IF;IFSIZEOF(tab)=0THENRETURN(TRUE);ELSEIFEXISTS(cl.definition[1]class.its_superclass)THENRETURN(applicable_tables(cl.definition[1]class.its_superclass,tab));ELSERETURN(FALSE);END_IF;ENI汇IF;END_FUNCTION;-applicable-tables(,11.26.8检索表函数retrieve-tables(检索表)函数通过。lass-table-relationship搜集与类直接相关的表集。EXPRESS描述:*)FUNCTIONretrieve_tables(cl:class_BSU):SET[0:?]OFtable_BSU;-requires:{SIZEOF(cl.definition)<>O}LOCALs;SET[0:?]OFtable_BSU:=巨];END-LOCAL;REPEATi:=1TOSIZEOF(cl.definition[1]class.associated-items);IFISO13584EXTENDED-DICTIONARY_SCHEMA"+‘.CLASS-TABLE-RELATIONSHIP"INTYPEOF(cl.definition[l]class.associated_items[i])THENs:二s+cl.definition[1]class.associated_items[i]免费标准下载网(www.freebz.net)无需注册即可下载 免费标准下载网(www.freebz.net)GB/T17645.24-2003/ISO13584-24:2002.related_tokens;END-IF;END-REPEAT;RETURN(s);ENDFUNCTION;一retrievetables(关11.26.9可应用文档函数applicable-documents(可应用文档)函数检查:对于cl参数标识的类来说,对应doc的文档是可应用的。如果class-document-relationship包含文档的related-tokens列表中的相应document_BSU,并引用类或这个类的任何超类作为文档的relating-class属性,对这个类来说,表是可应用的。如果相应的document_BSU是由类或这个类的任何超类输人的,它也是可应用的。如果dictionary-elements定义不能计算出整个可应用文档集,并且如果从do。起的document-BSU没有证明是可应用的,那么函数返回值不确定。EXPRESS描述:斧)FUNCTIONapplicable_documents(cl:class_BSUdoc:AGGREGATEOFdocumentBSU):LOGICALIFSIZEOF(doc)=0THENRETURN(TRUE)END_IF;IFNOTEXISTS(cl)THENRETURN(UNKNOWN)END-IF;IFSIZEOF(cl.definition)=0THENRETURN(UNKNOWN);END-IF;doc:=doc一retrieve_documents(cl);IF"ISO13584_EXTENDE几DICTIONARY_SCHEMA"+‘。A_PRIORI_SEMANTIC_RELATIONSHIP"INTYPEOF(cl.definition[1])THENDoe:=doc一cl.definition[I]a_priori_semantic-relationship.referenced-documents;END-IF;IFSIZEOF(doc)=0THENRETURN(TRUE);ELSEIFEXISTS(cl.definition[1]class.its_superclass)免费标准下载网(www.freebz.net)无需注册即可下载 免费标准下载网(www.freebz.net)GB/T17645.24-2003/ISO13584-24:2002THENRETURN(applicable-documents(c1.definition[1]class.its_superclass,doc));ELSERETURN(FALSE);END-IF;ENDLIF;END_FUNCTION;-applicable-documents(二11.26.10检索文档函数retrieve-documents(检索文档)函数通过class-document-relationship搜集与类直接相关的文档集。EXPRESS描述:二)FUNCTIONretrieve_documents(cl:class_BSU):SET仁0:?]OFdocumentBSU;一requires:{SIZEOF(cl.definition)<>O}LOCALs:SET[0:?]OFdocument_BSU:=[〕;END-LOCAL;REPEATi:=1TOSIZEOF(cl.definition[1]class.associated-items);IF"ISO13584_EXTENDE几DICTIONARYSCHEMA"+‘.CLAS-DOUMENT-RELATIONSHIP"INTYPEOF(cl.definition[I]class.associated_items[i])THENs:二s-}-cl.definition[1]class.associated_items[i]class_document_relationship.related-tokens;ENDLIF;ENDesREPEAT,RETURN(s);END-FUNCTION;一retrieve-documents(,11.26.11生成外部引用的函数makes-reference-outside(生成外部引用)函数检查property_or_data_type_BSU集是否引用了不属于1参数的class_BSUs。如果所有的引用都在1参数中,它返回假;如果某些引用在1参数外,它返回真。在下列情况中,property_BSU或data_type_BSU引用class_BSU,—它的namescope是这个class_BSU,或—提供了它的定义dictionary-element并作为它的域来引用class_BSU(is-part-of关系),或—提供了它的定义dictionary-element并作为它的域来引用另外一个引用class_BSU(回归定义)的data_type_BSUo用makes-reference_outside函数检查这种引用。免费标准下载网(www.freebz.net)无需注册即可下载 免费标准下载网(www.freebz.net)GB/T17645.24-2003/ISO13584-24:2002EXPRESS描述:关)FUNCTIONmakes-reference-outside(p:AGGREGATEOFproperty_or_data_type_BSU;1:LIST[1:?]OFclass_BSU):BOOLEAN;LOCALbool:BOOLEAN:=FALSE;temp:SET仁0:1]OFclass_BSU:=「〕;END-LOCAL;REPEATj:=1TOSIZEOF(p);IF((("ISO13584_IEC61360_DICTIONARY_SCHEMA.PROPERTY_BSU"INTYPEOF(p[j]))AND(NOT(p[j]property_bsu.name-scopeIN1)))OR(("ISO13584_IEC61360_DICTIONARY_SCHEMA.DATA_TYPE_BSU"INTYPEOF(p[j]))AND(NOT(p[j]data_type_bsu.name-scopeIN1))))THENbool:=TRUE;RETURN(bool);ENDIF:IF((("ISO13584_IEC61360_DICTIONARY_SCHEMA.PROPERTY_BSU"INTYPEOF(p[j]))AND(NOT(SIZEOF(p[j]basic_semantic_unit.definition)=0)))OR(("ISO13584_IEC61360_DICTIONARY_SCHEMA.DATA_TYPE_BSU"INTYPEOF(p[j]))AND(NOT(SIZEOF(p[j]basic_semantic_unit.definition)=0))))THENIF("ISO13584_IEC61360_DICTIONARYSCHEMA.CLASS-INSTANCE-TYPEINdata_type_typeof(p[j]))THENtemp:=data_type_class_of(p[j]);IFNOT(temp[l]IN1)THENboot:=boolORTRUE;ELSEbool:=boolORFALSE;END-IF;END_IF;IFSIZEOF(data_type_named_type(p[j]))二1THEN免费标准下载网(www.freebz.net)无需注册即可下载 免费标准下载网(www.freebz.net)GB/T17645.24-2003/ISO13584-24:2002bool:=boolORmakes_reference_outside(data-type-named-type(p[j]),1);END_IF;END-IF;END_REPEAT;RETURN(bool);ENI无FUNCTION;一makes-reference-outside(关11.26.12按前缀排序的类列表函数prefix_ordered_class_list(按前缀排序的类列表)函数检查从一个类到另一个类的所有直接或间接引用是按类列表顺序向后引用的。类通过下列属性直接引用。lass_BSU:—class.its_superclass:is-a关系,和,如果类是通过a_priori_semantic_relationship定义的;—classa-priori-semantic-relationship.referenced_classes.类间接引用。lass_BSU:—当这个类引用的property_BSU或data_type_BSU本身直接或间接引用T这个class_BSU,或—当通过其relating-class属性引用这个类的class_BSU_relationship通过其related-tokens属性引用了。lass_BSUoproperty_BSU或data_type_BSU引用class_BSU,当:—它的name-scope是这个class_BSU,或—提供T它的定义dictionary-element并作为它的域来引用。lass_BSU(is-part-of关系),或—提供了它的定义dictionary-element并作为它的域来引用另外一个引用。lass_BSU(回归定义)的data_type_BSUa用makes-reference-outside函数检查这种引用。在ISO13584-extended-dictionary-schema中,class_BSU在下列五种情况中按类列表顺序间接向前引用class_BSUoa)当其described-by属性包含使用makes-reference-outside的property_BSU,b)或当类是通过a_priori_semantic_relationship定义的,并且其由继承的属性referenced-prop-erties定义的输入属性包含了使用makes-reference-outside的property_BSUoc)或当其defined-types属性包含了使用makes-reference_outside的data_type_BSU,d)或当类是通过a_priori_semantic_relationship定义的,并且其由继承的属性referenced_datatypes(已引用数据类型)定义的输入数据类型包含了使用makes_reference_outside的data-type_BSUoe)或当其associated-items属性包含了其relatedtokens使用makes-reference-outside的class-BSU_relationship.在ISO13584-extended-dictionary-schema的相关环境中,这种情形可能在下列两种情况中发生:1)class_BSU_relationship是包含table_BSU的class-tabIe-relationship,且table_BSU通过name-scope属性使用makes-referenceoutside,或2)class_BSU_relationship是包含document_BSU的class-document-relationship,且docu-ment_BSU通过name-scope属性使用makes-reference_outside,免费标准下载网(www.freebz.net)无需注册即可下载 免费标准下载网(www.freebz.net)GB/T17645.24-2003/ISO13584-24:2002EXPRESS描述:FUNCTIONprefix_ordered_class_list(classes:LIST[2:?]OFclass_BSU):BOOLEANLOCALrelated_token:class_related_BSU;一itemsassociatedwith-aclassthroughaclass_BSU_relationshipEND-LOCAL;REPEATi:=1TOSIZEOF(classes);IFSIZEOF(classes[i].definition)=1THENIF(EXISTS(classes[i].definition[1]class.its_superclass))AND(NOT((classes[i].definition[1]class.its_superclass)IN(makes_sub_list(classes,1,i一1))))THENRETURN(FALSE);END-IF;IF("ISO13584-EXTENDE几DICTIONARY-SCHEMA"+,.A}PRIORI_SEMANTIC_RELATIONSHIP"INTYPEOF(classes仁i].definition仁1]))THENIF(QUERY(x<二classes[i].definition[1]a-priori-semantic-relationship.referenced_classes}NOT(xINmakes-sub-list(classes,1,i一1)))<>[])THENRETURN(FALSE);ENI)一IF;END_IF;IFNOT(SIZEOF(classes[i].definition仁1]class.described-by)=0)THENIF(makes_reference_outside(classes[i].definition[1]class.described-by,makes-sub-list(classes,1,i)))THENRETURN(FALSE);END一IF;ENDLIF;IF("ISO13584-EXTENDE几DICTIONARY-SCHEMA"+‘.A_PRIORI_SEMANTIC_RELATIONSHIP"免费标准下载网(www.freebz.net)无需注册即可下载 免费标准下载网(www.freebz.net)GB/T17645.24-2003/ISO13584-24:2002INTYPEOF(classes[i].definition[l]))THENIFmakes-reference-outside(classes[i].definition[l]a_priorisemantic_relationship.referenced-properties,makes-sub-list(classes,1,i一1))THENRETURN(FALSE);ENl)一IF;END_IF;IFNOT(SIZEOF(classes[i].definition[1]class.defined-types)=0)THENIFmakes_reference_outside(classes[i].definition[]]class.defined-types,makes-sub-list(classes,1,i))THENRETURN(FALSE);END_IF;END-IF;IF("ISO13584_EXTENDED_DICTIONARY_SCHEMA"+‘.A_PRIORI_SEMANTIC_RELATIONSHIP"INTYPEOF(classes[i].definition[1]))THENIFmakes-reference-outside(classes[i].definition[1]a-priori-semantic-relationship.referenced-data-types,makes-sub-list(classes,1,i一1))THENRETURN(FALSE);END_IF;ENDLIF;IFNOT(SIZEOF(classes[i].definition[1]class.associated-items)二0)THENREPEATj:=1TOSIZEOF(classes[i].definition[1]class.associated-items);REPEATk:=1TOSIZEOF(classes[i].definition[1]class.associated_items[j]class_BSU_relationship.related-tokens);related-token:二classes[i].definition[l]class.associateditems[j]class_BSU_relationship.relatedtokens[k];免费标准下载网(www.freebz.net)无需注册即可下载 免费标准下载网(www.freebz.net)GB/T17645.24-2003八SO13584-24:2002IF(("ISO13584-EXTENDED-DICTIONARY-SCHEMA"+,.TABLE_BSU")IN(TYPEOF(related_token)))ANDNOT(related_tokentable-BSU.name-scopeINmakes-sub-list(classes,1,i))THENRETURN(FALSE);END-IF;IF(("ISO13584-EXTENDED-DICTIONARY-SCHEMA"+‘.DOCUMENT_BSU")IN(TYPEOF(related_token)))ANDNOT(related_tokendocument_BSU.name-scopeINmakes-sub-list(classes,1,i))THENRETURN(FALSE);END-IF;END-REPEAT;ENDesREPEAT;END_IF;ENDeeIF;ENDesREPEAT;RETURN(TRUE);END-FUNCTION;一prefix-ordered-class-list(二11.26.13功能视图v_c_v函数通过遍历类层次定义的继承树,functional_view_v_c_v(功能视图v_c_v)函数计算由view-control-variables类中定义的特性列表。它调用用回归法计算view-control-variables特性的retrieve_func-tional_view_v_c_v函数。在调用all-class-descriptions-reachable函数后调用这个函数。因此,如果dictionary_elements某些无效,它返回空LIST.如果class_BSUcl没有引用功能视图类,那么它返回空集。EXPRESS描述:*)FUNCTIONfunctional_view_v_c_v(cl:class_BSU):LISTOFproperty_BSU;IFNOTEXISTS(cl)THENRETURN([]);一clisindeterminateEND-IF;IFNOT(all_class_descriptions_reachable(cl))THENRETURN此〕);一somedictionary-elementarenotavailableENI〕一IF;免费标准下载网(www.freebz.net)无需注册即可下载 免费标准下载网(www.freebz.net)GB/T17645.24-2003/ISO13584-24:2002IFNOT("ISO13584_EXTENDEDLDI(,"TIONARY_SCHEMA.FUNCTIONAL_VIEVi几CLASS"INTYPEOF(cl.definition[I]))THENRETURN([]);END-IF;RETURN(retrieve_functional_view_v_c_v(cl,[]));ENDesFUNCTION;-functional_view_v_c_v(*11.26.14检索功能视图v_c_v函数通过遍历类层次定义的继承树,retrieve_functional_view_v_c_v(检索功能视图v_c_v)函数计算类或其所有超类中定义为view-control-variables的特性列表。它调用用回归法确定view-control-varia-bles特性的retrievefunctional_viewv_c_v函数。如果classBSUcl没有引用功能视图类,那么它返回空集。EXPRESS描述:*)FUNCTIONretrieve_functional_view_v_c_v(cl:class_BSU;pr:LISTOFproperty_BSU):LISTOFproperty_BSU;LOCALprop:LISTOFproperty_BSU:=pr;END_LOCAL;IFSIZEOF(cl.definition)=0-abnormalcaseTHENRETURN([]);END_IF;IFNOT(’ISO13584_EXTENDED-DICTIONARY-SCHEMA.FUNCTIONAL-VIEW-CLASS"INTYPEOF(cl.definition[1]))THENRETURN([]);END-IF;IFSIZEOF(cl.definition)=1THENprop:二prop+cl.definition[1]functional_view_class.view-control-variables;-view-control-variablesofthisclassEND-IF;IFNOT(EXISTS(cl.definition[1]class.its_superclass))THENRETURN(prop);ELSERETURN(retrieve_functiona址view_v_c_v(cl.definition[1]class.its_superclass,prop));免费标准下载网(www.freebz.net)无需注册即可下载 免费标准下载网(www.freebz.net)GB/T17645.24-2003/ISO13584-24:2002END-IF;END-FUNCTION;一retrievefunctional_view_v_c_v(*11.26.15数据类型命名的类型函数data-type-named-type(数据类型命名的类型)函数计算用来指定property_BSU或data-type_BSU域的named-type。它只返回域定义中使用的第一个data_type_BSUo如果data-type(数据类型)与named-type没有关联,或参数type_spec的定义无效,那么函数返回空集。EXPRESS描述:二)FUNCTIONdata_type_named_type(type_spec:property_or_data_type_BSU):SET[0:1]OFdata_type_BSU;LOCALres:BOOLEAN:=FALSE;s:SET[0:1]OFdata_type_BSU:二[〕x:data-type;ENDeeLOCAL;IFNOTEXISTS(type-spec)THENRETURN([]);一type_specisindeterminateEND-IF;IF("ISO13584_IEC61360_DICTIONARY_SCHEMA.PROPERTY_BSU"INTYPEOF(type_spec))THENIFNOT(SIZEOF(type_spec.definition)=0)THENx:=type_spec.definition[1]property_DET.domain;res:=TRUE;END_IF;ELSEIFNOT(SIZEOF(type_spec.definition)=0)THENx:=type_spec.definition仁1]data_type_element.type-definition;res:=TRUE;END-IF;ENI)一IF;IFresTHENIF(ISO13584_IEC61360_DICTIONARY_SCHEMA.NAMED-TYPEINTYPEOF(x))免费标准下载网(www.freebz.net)无需注册即可下载 免费标准下载网(www.freebz.net)GB/T17645.24-2003/ISO13584-24:2002THENs:=s+xnamed-type.referred-type;END-IF;END-IF;RETURN(s);END-FUNCTION;一data-type-named-type11.26.16数据类型typeof函数data_type_typeof(数据类型typeof)函数与data-type有关的EXPRESSTYPEOF函数一样运行,该data-type定义了property_BSU或data_type_BSU的最终域。如果data-type与name走types有关联,函数递归遍历它们的referred-types(引用类型)属性,一直到simple-type或complex-type为止。那么函数返回应用于这个实体的EXPRESSTYPEOF函数的结果。如果BSU定义无效,结果是函数不能判断simple-type或complex-type,那么函数返回空的STRING集。EXPRESS描述:FUNCTIONdata_type_typeof(typespec:property_or_data_type_BSU)SETOFSTRING;LOCALres:BOOLEAN:=FALSE;x:data-type;ENDLOCALIFNOTEXISTS(type_spec)THENRETURN([]);-type-specisindeterminateEND-IF;IF("ISO13584_IEC61360_DICTIONARY_SCHEMA.PROPERTY_BSU"INTYPEOF(type_spec))THENIFNOT(SIZEOF(type_spec.definition)一0)THENx:=type_spec.definition[1]property_DET.domain;res:=TRUE;END-IF;ELSEIFNOT(SIZEOF(type_spec.definition)=0)THENx:二type_spec.definition[1]data_type_element.typedefinition;res:=TRUE;免费标准下载网(www.freebz.net)无需注册即可下载 免费标准下载网(www.freebz.net)GB/T17645.24-2003/ISO13584-24:2002END-IF;END-IF;IFNOT(res)THENRETURN([]);END-IF;IF("ISO13584_IEC61360_DICTIONARY_SCHEMA.NAMED-TYPE"INTYPEOF(x))THENIFNOT(SIZEOF(xnamed-type.referred-type.definition)=0)THENRETURN(data-type-typeof(xnamed-type.referred-type));ELSERETURN([〕);END_IF;ELSERETURN(TYPEOF(x));END-IF;EN几FUNCTION;一data-type-typeof(,11.26.17数据类型⋯⋯的类data-type-class-of(数据类型⋯⋯的类)函数计算property_BSU或data_type_BSU所定义的最终域的类。该函数调用data_type_typeof函数后应用。如果data-type不是class-instance-type类型,或data-type与named-type有关联,且其BSU定义无效,函数返回空集。EXPRESS描述:*)FUNCTIONdata-type-class-of(type_spec:property_or_data-type-BSU):SET仁0:1]OFclass_BSU;LOCALres:BOOLEAN:=FALSE;s:SET[0:1]OFclass_BSU:=[];x:data-type;END-LOCAL;IFNOTEXISTS(type-spec)THENRETURN([]);一type_specisindeterminateEND-IF;IF("ISO13584_IEC61360_DICTIONARY_SCHEMA.PROPERTY_BSU"INTYPEOF(type_spec))THENIFNOT(SIZEOF(type_spec.definition)=0)免费标准下载网(www.freebz.net)无需注册即可下载 免费标准下载网(www.freebz.net)GB/T17645.24-2003/ISO13584-24:2002THENx:=typespec.definition[1]property_DET.domain;res:!TRUE;END-IF;ELSEIFNOT(SIZEOF(type_spec.definition)=0)THENx:=typespec.definition仁1]data_type_element,type-definition;res:=TRUE;END-IF;END-IF;IFresTHENIF(ISO13584IEC61360_DICTIONARY_SCHEMA.CLASS-INSTANCE-TYPE"INTYPEOF(x))THENs:=s十xclass_instance_type.domain;RETURN(s);END-IF;IF("ISO13584IEC61360_DICTIONARY_SCHEMA.NAMED-TYPE"INTYPEOF(x))THENs:二data.type-class-of(xnamed-type.referred-type);RETURN(s);ENDLIF;END-IF;RETURN(s);EN几FUNCTION;一data-type-class-of(二11.26.18数据类型类型名函数data-type-type-name(数据类型类型名)函数计算entity-instance-type的type-name属性,且en-tity-instance-type定义了property_BSU或data_type_BSU的最终域。该函数在调用data_type_ty-peof函数应用。如果data-type不是entity-instance-type类型,或data-type与named-type有关联,且其BSU定义无效,函数返回空集。EXPRESS描述:二)FUNCTIONdata_type_type_name(t;property_or_data_type_BSU):SET[0:?]OFSTRING;LOCAL免费标准下载网(www.freebz.net)无需注册即可下载 免费标准下载网(www.freebz.net)GB/T17645.24-2003八SO13584-24:2002res:BOOLEAN:=FALSE;s:SET[0:1]OFSTRING:=[]x:data-type;END-LOCAL;IFNOTEXISTS(t)THENRETURN([]);一tisindeterminateEND-IF;IF("ISO13584_IEC61360_DICTIONARY_SCHEMA.PROPERTY_BSU"INTYPEOF(t))THENIFNOT(SIZEOF(t.definition)=0)THENx:=t.definition[l]property_DET.domain;res:=TRUE;END-IF;ELSEIFNOT(SIZEOF(t.definition)=0)THENx:=t.definition[1]data_type_element.type-definition;res:=TRUE;END_IF;END-IF;IFresTHENIF(ISO13584-IEC61360-DICTIONARY-SCHEMA.ENTITY-INSTANCE-TYPEINTYPEOF(x))THENs:=xentity_instance_type.type-name;ENDLIF;IF("ISO13584_IEC61360_DICTIONARY_SCHEMA.NAMED-TYPEINTYPEOF(x))THENs:二data_type_type_name(xnamed_type.referred-type);END_IF;END-IF;RETURN(s);END_FUNCTION;-data-type-type-name(*11.26.19数据类型层规范函数data-type-level-spec(数据类型层规范)函数计算level-type的levels属性,且level-type定义了property_BSU或data_type_BSU的最终域。该函数在调用data_type_typeof函数后应用。免费标准下载网(www.freebz.net)无需注册即可下载 免费标准下载网(www.freebz.net)GB/T17645.24-2003/ISO13584-24:2002如果data-type不是level-type类型,或某些data-type与named-type有关联,且其BSU定义无效,函数返回空LIST,EXPRESS描述:*)FUNCTIONdata_type_level_spec(t:property_or_data_type_BSU):LIST仁0:4]OFUNIQUELevel;LOCALres:BOOLEAN:二FALSE;s:LIST[0:4]OFUNIQUElevel:=[];x:data-type;END-LOCAL;IFNOTEXISTS(t)THENRETURN([]);-tisindeterminateEND-IF;IF("ISO13584_IEC61360_DICTIONARY_SCHEMA.PROPERTY_BSU"INTYPEOF(t))THENIFNOT(SIZEOF(t.definition)=0)THENx:=t.definition[1]property_DET.domain;res:=TRUE;END_IF;ELSEIFNOT(SIZEOF(t.definition)=0)THENx:=t.definition[1]data-type-element.type-definition;res:=TRUE;END-IF;END_IF;IFresTHENIF("ISO13584IEC61360_DICTIONARY_SCHEMA.LEVEL-TYPE"INTYPEOF

您可能关注的文档