{"id":10060,"date":"2023-06-23T16:24:59","date_gmt":"2023-06-23T07:24:59","guid":{"rendered":"https:\/\/www.sambuichi.jp\/?p=10060"},"modified":"2023-06-25T15:57:49","modified_gmt":"2023-06-25T06:57:49","slug":"semantic-model-definition-using-uml","status":"publish","type":"post","link":"https:\/\/www.sambuichi.jp\/?p=10060","title":{"rendered":"Study report Part 2 Semantic model definition using ISO\/IEC 19505 OMG UML"},"content":{"rendered":"<p>Views: 44<\/p><div id=\"header\">\n<h1>Study report Part 2 Semantic model definition using ISO\/IEC 19505 OMG UML<\/h1>\n<div id=\"toc\" class=\"toc2\">\n<div id=\"toctitle\">Table of Contents<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_comments_on_part_2\">1. Comments on Part 2<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_draft_4_2_4_2_account_segment\">1.1. Draft 4.2.4.2 ACCOUNT SEGMENT<\/a><\/li>\n<li><a href=\"#_attribute_not_fully_listed_in_table_3\">1.2. Attribute not fully listed in Table 3<\/a><\/li>\n<li><a href=\"#_the_association_representation_in_table_4_does_not_follow_the_uml_standard\">1.3. The association representation in Table 4 does not follow the UML standard<\/a><\/li>\n<li><a href=\"#_types_of_association_in_isoiec_19505\">1.4. Types of association in ISO\/IEC 19505<\/a><\/li>\n<li><a href=\"#_multiplicity_in_isoiec_19505\">1.5. Multiplicity in ISO\/IEC 19505<\/a><\/li>\n<li><a href=\"#_explanation_of_multiplicity\">1.6. Explanation of Multiplicity<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_uml_diagram_for_account_segment\">2. UML diagram for Account Segment<\/a><\/li>\n<li><a href=\"#_revised_table_definition_for_account_segment\">3. Revised table definition for Account Segment<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_proposed_table_format_change_for_part_2_4_1_2\">3.1. Proposed table format change for Part 2 4.1.2<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_iso_111792023_and_cardinality_of_attributes\">4. ISO 11179:2023 and cardinality of attributes<\/a><\/li>\n<li><a href=\"#_iso_11179_and_cardinality_of_attributes\">5. ISO 11179 and cardinality of attributes<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<div id=\"content_adoc\">\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph data-line-7\">\n<p>Nobuyuki SAMBUICHI<\/p>\n<\/div>\n<div class=\"paragraph data-line-9\">\n<p><a href=\"https:\/\/www.iso.org\/committee\/5648297.html\" data-href=\"https:\/\/www.iso.org\/committee\/5648297.html\">ISO\/TC295 Audit data services<\/a>\/SG1 Semantic model Convener<\/p>\n<\/div>\n<div class=\"paragraph data-line-11\">\n<p>In the 2023 version of ISO\/IEC 11179, we can define the UML semantic model and hierarchical logical data model with the ISO\/IEC 11179-3 terms without using ISO 15000-5 CCS.<br \/>\nThe electronic version of ISO\/IEC 11179-1:2023 and ISO\/IEC 11179-3:2023 can be downloaded from the<br \/>\n<a href=\"https:\/\/standards.iso.org\/ittf\/PubliclyAvailableStandards\/index.html\" data-href=\"https:\/\/standards.iso.org\/ittf\/PubliclyAvailableStandards\/index.html\">ISO\/IEC Information Technology Task Force (ITTF) web site<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph data-line-15\">\n<p>Proposal for tabular natation of UML model is described in the following page.<\/p>\n<\/div>\n<div class=\"paragraph data-line-18\">\n<div class=\"title\">User<\/div>\n<p>Do you know ISO\/IEC 11179-31:2023(en)?<\/p>\n<\/div>\n<div class=\"paragraph data-line-21\">\n<div class=\"title\">ChatGPT<\/div>\n<p>I&#8217;m sorry, but as an AI with a knowledge cutoff in September 2021, I don&#8217;t have specific information about ISO\/IEC 11179-31:2023. The ISO\/IEC 11179 is a standard for metadata registries (MDR), a set of international standards relating to the representation of data about data, but I cannot provide information about updates or amendments made after my last training data.<\/p>\n<\/div>\n<div class=\"paragraph data-line-23\">\n<p>If it&#8217;s been recently released, you&#8217;ll probably need to look for official resources or databases that keep up-to-date with new ISO standards. ISO standards are typically available for purchase and sometimes available in part or in summary through national standards organizations, libraries, or companies that deal specifically with that area of standardization.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1 data-line-25\">\n<h2 id=\"_comments_on_part_2\">1. Comments on Part 2<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph data-line-27\">\n<p>Analysis of semantic models and message development frameworks for Audit Data Services \u2014 Part 2: Technical explanation with GL_Details as Proof Of Concept<\/p>\n<\/div>\n<div class=\"sect2 data-line-29\">\n<h3 id=\"_draft_4_2_4_2_account_segment\">1.1. Draft 4.2.4.2 ACCOUNT SEGMENT<\/h3>\n<div class=\"paragraph data-line-31\">\n<p>Contains associated Account Segment information.<\/p>\n<\/div>\n<div class=\"paragraph data-line-33\">\n<p>Table 3 \u2014 Properties of Account Segment<\/p>\n<\/div>\n<table class=\"tableblock frame-all grid-all stretch data-line-35\">\n<colgroup>\n<col style=\"width: 33.3333%;\">\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 50.0001%;\">\n<\/colgroup>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">Property term<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">Representation term<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">Description<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">Account Segment Number<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">STRING<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">Sequence number of the associated Account Segment.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">Account Segment Code<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">STRING<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">Account Segment Code.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"paragraph data-line-41\">\n<p>Table 4 \u2014 Relations of Account Segment<\/p>\n<\/div>\n<table class=\"tableblock frame-all grid-all stretch data-line-43\">\n<colgroup>\n<col style=\"width: 50%;\">\n<col style=\"width: 25%;\">\n<col style=\"width: 25%;\">\n<\/colgroup>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">Object class term to<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">Relation type<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">Cardinality<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">GL ACCOUNT SEGMENT<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">ASSOCIATION<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">n..1<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"sect2 data-line-48\">\n<h3 id=\"_attribute_not_fully_listed_in_table_3\">1.2. Attribute not fully listed in Table 3<\/h3>\n<div class=\"paragraph data-line-50\">\n<p>Table 56 of ISO 21378:2019 \u2014 4.5.5 GL Account Segment GL_Account Segment defines 6 fields, whereas Table 4 of Part 2 defines only 2 attributes.<\/p>\n<\/div>\n<div class=\"paragraph data-line-52\">\n<p>Recommended change:<\/p>\n<\/div>\n<div class=\"paragraph data-line-54\">\n<p>To avoid unnecessary discussion, define all fields defined in ISO 21378:2019.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2 data-line-56\">\n<h3 id=\"_the_association_representation_in_table_4_does_not_follow_the_uml_standard\">1.3. The association representation in Table 4 does not follow the UML standard<\/h3>\n<div class=\"paragraph data-line-58\">\n<p>Table 4 \u2014 Relations of Account Segment Cardinality does not follow ISO\/IEC 19505 OMG UML.<\/p>\n<\/div>\n<div class=\"paragraph data-line-60\">\n<p>Following two standard documents<br \/>\n<a href=\"https:\/\/www.omg.org\/spec\/UML\/ISO\/19505-1\/PDF\" data-href=\"https:\/\/www.omg.org\/spec\/UML\/ISO\/19505-1\/PDF\">ISO\/IEC 19505-1:2012(en) Information technology \u2014 Object Management Group Unified Modeling Language (OMG UML) \u2014 Part 1: Infrastructure<\/a> and<br \/>\n<a href=\"https:\/\/www.omg.org\/spec\/UML\/ISO\/19505-2\/PDF\" data-href=\"https:\/\/www.omg.org\/spec\/UML\/ISO\/19505-2\/PDF\">ISO\/IEC 19505-2:2012(en) Information technology &#8211; Object Management Group Unified Modeling Language (OMG UML), Superstructure<\/a><br \/>\nSHALL be the normative reference document.<\/p>\n<\/div>\n<div class=\"paragraph data-line-66\">\n<p>Associations are defined in the following clauses.<br \/>\n11.4.1 Association (Part 1)<br \/>\n7.3.3 Association (from Kernel) (Part 2)<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2 data-line-70\">\n<h3 id=\"_types_of_association_in_isoiec_19505\">1.4. Types of association in ISO\/IEC 19505<\/h3>\n<div class=\"paragraph data-line-72\">\n<p>Following dialogue with ChatGPT will provide general understandings for Association in ISO\/IEC 19505 OMG UML.<br \/>\nChatGPT is reported mixed with part1 and part2, but it is well summarized.<\/p>\n<\/div>\n<div class=\"paragraph data-line-76\">\n<div class=\"title\">User<\/div>\n<p>What is the definition of association in OMG UML 2.0?<br \/>\nProvide kinds of association and how to express characteristics such as occurence of end point class. Provide reference chapter number in ISO\/IEC 19505-1:2012(E) and ISO\/IEC 19505-2:2012(E) with your answer.<\/p>\n<\/div>\n<div class=\"paragraph data-line-80\">\n<div class=\"title\">ChatGPT<\/div>\n<p>In OMG UML 2.0, an association represents a relationship between two or more classifiers (classes or other types) within a system. It captures a structural connection and interaction between the associated classifiers. The association describes how instances of these classifiers are connected or related to each other.<\/p>\n<\/div>\n<div class=\"paragraph data-line-82\">\n<p>OMG UML 2.0 does not explicitly define different kinds of associations, but it provides flexibility to model various types of associations based on the characteristics and semantics of the connected classifiers. Some common kinds of associations include:<\/p>\n<\/div>\n<div class=\"paragraph data-line-84\">\n<p><strong>Binary Association<\/strong>: An association between two classifiers. It is the simplest form of association.<\/p>\n<\/div>\n<div class=\"paragraph data-line-86\">\n<p><strong>N-ary Association<\/strong>: An association between three or more classifiers. It allows multiple classifiers to be connected together.<\/p>\n<\/div>\n<div class=\"paragraph data-line-88\">\n<p><strong>Aggregation<\/strong>: An association representing a whole-part relationship, where one classifier (the whole) is composed of or includes other classifiers (the parts). Aggregation is denoted by a diamond-shaped symbol on the side of the whole classifier.<\/p>\n<\/div>\n<div class=\"paragraph data-line-90\">\n<p><strong>Composition<\/strong>: A stronger form of aggregation, where the parts are exclusive to the whole and have a lifecycle dependency on the whole. Composition is denoted by a filled diamond-shaped symbol on the side of the whole classifier.<\/p>\n<\/div>\n<div class=\"paragraph data-line-92\">\n<p><strong>Qualified Association<\/strong>: An association with additional qualifiers that further describe the relationship between the classifiers. Qualifiers can be attributes or associations themselves.<\/p>\n<\/div>\n<div class=\"paragraph data-line-94\">\n<p>Regarding the references you mentioned, ISO\/IEC 19505-1:2012(E) and ISO\/IEC 19505-2:2012(E) are the official specifications for the UML 2.5.1 standard, not specifically UML 2.0. The UML 2.0 specification does not have an official ISO\/IEC standard number. However, the concepts and characteristics of associations in UML 2.0 are also applicable to UML 2.5.1.<\/p>\n<\/div>\n<div class=\"paragraph data-line-96\">\n<p>If you are specifically looking for information in the UML 2.5.1 specification, the relevant chapters are as follows:<\/p>\n<\/div>\n<div class=\"paragraph data-line-98\">\n<p>ISO\/IEC 19505-1:2012(E) &#8211; UML Infrastructure: Chapter 7 &#8211; Association (NOTE This chapter is in 19505-2)<\/p>\n<\/div>\n<div class=\"paragraph data-line-100\">\n<p>ISO\/IEC 19505-2:2012(E) &#8211; UML Superstructure: Chapter 11 &#8211; Associations (NOTE This chapter is in 19505-1)<\/p>\n<\/div>\n<div class=\"paragraph data-line-102\">\n<p>Please note that the chapter numbers may vary slightly depending on the specific edition or version of the UML specification. It&#8217;s always best to refer to the official UML specification documents for the most accurate and up-to-date information.<\/p>\n<\/div>\n<div class=\"paragraph data-line-104\">\n<p>TC295 will define following 3 types of association.<\/p>\n<\/div>\n<div class=\"paragraph data-line-106\">\n<p><strong>Association<\/strong> is a binary association and expressed as an ASSOCIATION.<\/p>\n<\/div>\n<div class=\"paragraph data-line-108\">\n<p><strong>Composition<\/strong> is aSpecial case of Aggregation association and expressed as an HAS_A. A table without <strong>Composition<\/strong> is not usable.<\/p>\n<\/div>\n<div class=\"paragraph data-line-110\">\n<p><strong>Specialization<\/strong> is a Generalization and Specialization relationship and not defined in ISO\/IEC 19505. This type of association is required to support rich reusability of the semantic model and is expressed as IS_A.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2 data-line-112\">\n<h3 id=\"_multiplicity_in_isoiec_19505\">1.5. Multiplicity in ISO\/IEC 19505<\/h3>\n<div class=\"paragraph data-line-113\">\n<p>We shall follow the multiplicity notation from UML. There is no definition on cardinality n..1 .<br \/>\nFollowing texts are summary by ChatGPT.<\/p>\n<\/div>\n<div class=\"quoteblock data-line-117\">\n<blockquote>\n<div class=\"paragraph data-line-119\">\n<p>In the ISO\/IEC 19505-2:2012(E) standard, specifically in Chapter 7.3.3 &#8220;Association&#8221; from the UML Superstructure, the definition and characteristics of associations are described. Here is a summary of the key points covered in that section:<\/p>\n<\/div>\n<div class=\"paragraph data-line-121\">\n<p>An association is a structural relationship between two or more classifiers, representing a connection and interaction between them.<br \/>\nAssociations are depicted as solid lines connecting the participating classifiers.<\/p>\n<\/div>\n<div class=\"paragraph data-line-124\">\n<p>The standard does not explicitly define different types of associations, but various kinds of associations can be modeled based on the semantics and characteristics of the connected classifiers.<\/p>\n<\/div>\n<div class=\"paragraph data-line-126\">\n<p>Each end of the association represents the participation of a classifier in the relationship.<\/p>\n<\/div>\n<div class=\"paragraph data-line-128\">\n<p>Multiplicity is used to express the cardinality or number of instances that can participate in the association from each end.<\/p>\n<\/div>\n<div class=\"paragraph data-line-130\">\n<p>Multiplicity is represented using notation such as &#8220;0..1&#8221; (zero or one instance), &#8220;1&#8221; (exactly one instance), &#8220;0..&#8221; (zero or more instances), &#8220;1..&#8221; (one or more instances), or specific numerical ranges.<\/p>\n<\/div>\n<div class=\"paragraph data-line-132\">\n<p>The multiplicity of each endpoint is typically shown near the end of the association line, adjacent to the classifier it represents.<br \/>\nIf the multiplicity is not specified, it is considered to be &#8220;1&#8221; by default, meaning exactly one instance is expected.<\/p>\n<\/div>\n<div class=\"paragraph data-line-135\">\n<p>The multiplicity range can be extended to include additional constraints using OCL (Object Constraint Language) expressions or other means.<br \/>\nIt&#8217;s important to note that the specific details and conventions for drawing associations and expressing multiplicities may vary slightly depending on the modeling tool or diagramming style being used. However, the concepts and principles outlined in the ISO\/IEC 19505-2:2012(E) standard provide the foundation for understanding associations and their characteristics in UML.<\/p>\n<\/div>\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; ChatGPT<br \/>\n<cite>Summary of ISO\/IEC 19505-2:2012(en)<\/cite>\n<\/div>\n<\/div>\n<div class=\"quoteblock data-line-140\">\n<blockquote>\n<div class=\"paragraph data-line-142\">\n<p>The following adornments are shown on the four association ends in Figure 7.22.<br \/>\n<span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.sambuichi.jp\/wp-content\/uploads\/2023\/06\/Figure-7.22.png\" alt=\"Figure 7.22\"><\/span><br \/>\nIn Figure 7.22 &#8211; Association ends with various adornments<br \/>\nThe following adornments are shown on the four association ends in Figure 7.22.<br \/>\n\u2022 Names a, b, and d on three of the ends.<br \/>\n\u2022 Multiplicities 0..1 on a, * on b, 1 on the unnamed end, and 0..1 on d.<br \/>\n\u2022 Specification of ordering on b.<br \/>\n\u2022 Subsetting on d. For an instance of class C, the collection d is a subset of the collection b. This is equivalent to the OCL<br \/>\nconstraint:<br \/>\ncontext C inv: b&#8594;includesAll(d)<\/p>\n<\/div>\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; OMG<br \/>\n<cite>ISO\/IEC 19505-2:2012(en)<\/cite>\n<\/div>\n<\/div>\n<div class=\"paragraph data-line-154\">\n<p>ISO\/IEC 19505-1:2012(E) defines notation for the Multiplicities for the end point in Clause 9.12.1 MultiplicityElement as follows;<\/p>\n<\/div>\n<div class=\"quoteblock data-line-157\">\n<blockquote>\n<div class=\"paragraph data-line-158\">\n<p>9.12.1 MultiplicityElement<\/p>\n<\/div>\n<div class=\"paragraph data-line-160\">\n<p><strong>Notation<\/strong><\/p>\n<\/div>\n<div class=\"paragraph data-line-162\">\n<p>The specific notation for a MultiplicityElement is defined by the concrete subclasses. In general, the notation will include<br \/>\na multiplicity specification, which is shown as a text string containing the bounds of the interval, and a notation for<br \/>\nshowing the optional ordering and uniqueness specifications.<\/p>\n<\/div>\n<div class=\"paragraph data-line-166\">\n<p>The multiplicity bounds are typically shown in the format:<\/p>\n<\/div>\n<div class=\"paragraph data-line-168\">\n<p><strong>&lt;lower-bound&gt;\u2019..\u2019 &lt;upper-bound&gt;<\/strong><\/p>\n<\/div>\n<div class=\"paragraph data-line-170\">\n<p>where &lt;lower-bound&gt; is a non-negative integer and &lt;upper-bound&gt; is an unlimited natural number. The asterisk (*) is<br \/>\nused as part of a multiplicity specification to represent the unlimited (or infinite) upper bound.<\/p>\n<\/div>\n<div class=\"paragraph data-line-173\">\n<p>If the Multiplicity is associated with an element whose notation is a text string (such as an attribute, etc.), the multiplicity<br \/>\nstring will be placed within square brackets ([]) as part of that text string. Figure 9.33 shows two multiplicity strings as<br \/>\npart of attribute specifications within a class symbol.<\/p>\n<\/div>\n<div class=\"paragraph data-line-177\">\n<p>If the Multiplicity is associated with an element that appears as a symbol (such as an association end), the multiplicity<br \/>\nstring is displayed without square brackets and may be placed near the symbol for the element. Figure 9.34 shows two<br \/>\nmultiplicity strings as part of the specification of two association ends.<\/p>\n<\/div>\n<div class=\"paragraph data-line-181\">\n<p>The specific notation for the ordering and uniqueness specifications may vary depending on the specific subclass of<br \/>\nMultiplicityElement. A general notation is to use a property string containing ordered or unordered to define the ordering,<br \/>\nand unique or nonunique to define the uniqueness.<\/p>\n<\/div>\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; OMG<br \/>\n<cite>ISO\/IEC 19505-1:2012(en) 9.12.1 MultiplicityElement<\/cite>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect2 data-line-186\">\n<h3 id=\"_explanation_of_multiplicity\">1.6. Explanation of Multiplicity<\/h3>\n<div class=\"paragraph data-line-189\">\n<p>Following questions to ChatGPT are intended to clarify the meaning of multiplicity.<\/p>\n<\/div>\n<div class=\"paragraph data-line-192\">\n<div class=\"title\">User<\/div>\n<p>What is the meaning of multiplicity 0..1 for starting end pint of the association?<\/p>\n<\/div>\n<div class=\"paragraph data-line-195\">\n<div class=\"title\">ChatGPT<\/div>\n<p>In the context of an association in UML, the multiplicity expression &#8220;0..1&#8221; for the starting endpoint of the association signifies that there can be zero or one instance of the associated classifier participating in the relationship.<\/p>\n<\/div>\n<div class=\"paragraph data-line-197\">\n<p>Here&#8217;s what the &#8220;0..1&#8221; multiplicity notation means:<\/p>\n<\/div>\n<div class=\"paragraph data-line-199\">\n<p>&#8220;0&#8221; indicates that the participation is optional, meaning there may not be any instances associated with the starting end of the association.<br \/>\n&#8220;1&#8221; indicates that if there is participation, it can involve at most one instance associated with the starting end of the association.<br \/>\nIn practical terms, this means that the association allows for the possibility of having no instances associated with the starting end, or having a single instance associated with it. It provides flexibility in modeling scenarios where the participation of the classifier on the starting end may or may not be present, but if it is present, it can only be associated with a single instance.<\/p>\n<\/div>\n<div class=\"paragraph data-line-203\">\n<p>For example, consider an association between the classes &#8220;Car&#8221; and &#8220;Owner&#8221; where the multiplicity of the Car end is &#8220;0..1&#8221;. This implies that a car may or may not have an owner (optional participation), but if it does have an owner, it can only have one owner.<\/p>\n<\/div>\n<div class=\"paragraph data-line-205\">\n<p>It&#8217;s important to note that the interpretation and application of multiplicity constraints may vary depending on the specific modeling context and the intent of the model. The precise semantics of the association, including multiplicity constraints, should be clarified and agreed upon within the modeling and design process.<\/p>\n<\/div>\n<div class=\"paragraph data-line-208\">\n<div class=\"title\">User<\/div>\n<p>What is the meaning of multiplicity 0 fro both starting and ending end point?<\/p>\n<\/div>\n<div class=\"paragraph data-line-211\">\n<div class=\"title\">ChatGPT<\/div>\n<p>When both the starting and ending endpoints of an association in UML have a multiplicity of &#8220;0&#8221;, it signifies that the participation of instances on both ends is optional. Here&#8217;s what the multiplicity &#8220;0&#8221; notation means in this context:<\/p>\n<\/div>\n<div class=\"paragraph data-line-213\">\n<p>&#8220;0&#8221; indicates that the participation is optional, meaning there may or may not be instances associated with the respective ends of the association.<br \/>\nIn practical terms, this means that neither end of the association is required to have any associated instances. Instances can choose to participate or not participate in the relationship.<\/p>\n<\/div>\n<div class=\"paragraph data-line-216\">\n<p>For example, consider an association between the classes &#8220;Student&#8221; and &#8220;Course&#8221; where the multiplicity of both ends is &#8220;0&#8221;. This implies that a student may or may not be enrolled in any courses, and a course may or may not have any enrolled students. Both participation scenarios are possible, but not mandatory.<\/p>\n<\/div>\n<div class=\"paragraph data-line-218\">\n<p>It&#8217;s important to note that the interpretation and application of multiplicity constraints may vary depending on the specific modeling context and the intent of the model. The precise semantics of the association, including multiplicity constraints, should be defined and understood within the context of the system being modeled.<\/p>\n<\/div>\n<div class=\"paragraph data-line-221\">\n<div class=\"title\">User<\/div>\n<p>What does class attribute multiplicity mean? Let me explain with some examples.<\/p>\n<\/div>\n<div class=\"paragraph data-line-224\">\n<div class=\"title\">ChatGPT<\/div>\n<p>In UML, the multiplicity of a class attribute specifies the number of instances that can be associated with the attribute. It indicates the cardinality or count of the values that can be held by the attribute for each instance of the class. The multiplicity can be defined for both simple attributes (such as integers, strings, etc.) and associations.<\/p>\n<\/div>\n<div class=\"paragraph data-line-226\">\n<p>Here are some examples to illustrate the meaning of multiplicity for class attributes:<\/p>\n<\/div>\n<div class=\"paragraph data-line-228\">\n<p>Single-valued attribute:<\/p>\n<\/div>\n<div class=\"paragraph data-line-230\">\n<p><strong>Multiplicity: &#8220;1&#8221;<\/strong><br \/>\nMeaning: Each instance of the class can have exactly one value assigned to this attribute. It is a mandatory attribute.<br \/>\nOptional attribute:<\/p>\n<\/div>\n<div class=\"paragraph data-line-234\">\n<p><strong>Multiplicity: &#8220;0..1&#8221;<\/strong><br \/>\nMeaning: Each instance of the class can have zero or one value assigned to this attribute. It is an optional attribute that may or may not have a value.<br \/>\nMulti-valued attribute:<\/p>\n<\/div>\n<div class=\"paragraph data-line-238\">\n<p><strong>Multiplicity:<\/strong> &#8220;*&#8221;<br \/>\nMeaning: Each instance of the class can have any number of values (zero or more) assigned to this attribute. It allows multiple values to be stored in the attribute.<br \/>\nBounded range of values:<\/p>\n<\/div>\n<div class=\"paragraph data-line-242\">\n<p><strong>Multiplicity: &#8220;2..5&#8221;<\/strong><br \/>\nMeaning: Each instance of the class can have a minimum of two and a maximum of five values assigned to this attribute. It restricts the number of values within a specific range.<br \/>\nThese examples demonstrate how the multiplicity of a class attribute defines the permissible number of values associated with that attribute for each instance of the class. The multiplicity notation allows for a wide range of cardinality expressions, including exact values, ranges, and special symbols like &#8220;*&#8221;, which represents unlimited or unbounded multiplicity.<\/p>\n<\/div>\n<div class=\"paragraph data-line-246\">\n<p>It&#8217;s important to note that the precise semantics of attribute multiplicity can vary depending on the modeling context and the conventions established within the project or organization. It is crucial to clarify and document the intended meaning and behavior of attributes in the specific system being modeled.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1 data-line-248\">\n<h2 id=\"_uml_diagram_for_account_segment\">2. UML diagram for Account Segment<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph data-line-250\">\n<p>This diagram specifies every field listed in ISO 21378:2019.<\/p>\n<\/div>\n<div class=\"paragraph data-line-252\">\n<p>PK is notate with representation and associations are defined arrow between classes with Multiplicities adornments and attribute name.<\/p>\n<\/div>\n<div class=\"imageblock kroki data-line-256\">\n<div class=\"content\">\n<img decoding=\"async\" src=\"https:\/\/kroki.io\/mermaid\/png\/eNqtVE1Lw0AQvfdXLHtUU_QqIkhii1pUrAehyLBNJulCslt2Jwc95Le7aZNW8qnibbMz7817j8mGqbA2kCIxIpswFpafzM8t6Ux-YgQ3YahzRbDEJENFK36ssarGqhp_dwT9UHbJToslGakSeH4oBjrB1xGOcylNWLBXDVZm21TGH-BuBEmtzkDTBg0IcuPWOaEFYRAcFxFGk4PP-QICJCFTu-LzBavOOx_HUlP3vc6NEincBc22po23Ns9fNU-Pov2NMARPcZ2J0767YjquFewttBqdgu9GnLRa8WOerdH0YP4p6dYmda1Pu68ZfzPkg_Rh6MvtrNvxIKxjnMhwHOVrY9ButYrK2TOZ4u8nBWhDI7dlyj9zN_ZDdbPw8-n0hLMrz2P8gg8vdBVaP5Ej8LzrHVHXJrXz76GqefaUg-_AiOsvuEm6pg==\" alt=\"Account Segment Diagram\">\n<\/div>\n<div class=\"title\">Figure 1. Account Segment Diagram<\/div>\n<\/div>\n<div class=\"paragraph data-line-285\">\n<p>Referencing GL_Account_Segment from GL_Details cannot explain in UML<br \/>\n<a href=\"https:\/\/www.sambuichi.jp\/?p=10132\" class=\"undefined\" data-href=\"https:\/\/www.sambuichi.jp\/?p=10132\">https:\/\/www.sambuichi.jp\/?p=10132<\/a><br \/>\n.Source code for the diagram above by Mermaid<\/p>\n<\/div>\n<div class=\"listingblock data-line-289\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">classDiagram\r\n  class Customized_Account_Segment[\"Customized Account Segment\"]\r\n  Customized_Account_Segment : +~String_PK~ Customized_Account_Segment_Code\r\n  Customized_Account_Segment : +~note~ To_simplify_notation,_other_attributes_are_omitted\r\n\r\n  class GL_Details[\"GL Details\"]\r\n  GL_Details : +~String_PK~ Journal_ID\r\n  GL_Details : +~note~ To_simplify_notation,_other_attributes_are_omitted\r\n\r\n  class Chart_Of_Accounts[\"Chart of Accounts\"]\r\n  Chart_Of_Accounts : ~String_PK~ GL_Account_Number\r\n  Chart_Of_Accounts : +~note~ To_simplify_notation,_other_attributes_are_omitted\r\n\r\n  class GL_Account_Segment[\"Account Segment\"]\r\n  GL_Account_Segment : +~String_PK~ Account_Segment_Number\r\n  GL_Account_Segment : +~String_REF~ GL_Account_Number\r\n  GL_Account_Segment : +~String~ Account_Segment_Name\r\n  GL_Account_Segment : +~String~ Corresponding_File\r\n  GL_Account_Segment : +~String~ Account_Segment_Description\r\n  GL_Account_Segment : +~String_REF~ Customized_Account_Segment_Code\r\n\r\n  GL_Account_Segment \"0..*\" &lt;-- \"1\" GL_Details : Account_Segment_Number\r\n\r\n  GL_Account_Segment \"0..1\" --&gt; \"1\" Chart_Of_Accounts : GL_Account_Number\r\n\r\n  GL_Account_Segment \"1..1\" --&gt; \"0..1\" Customized_Account_Segment : Customized_Account_Segment_Code<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph data-line-318\">\n<p>PK means Primary key and REF means Reference identifier.<\/p>\n<\/div>\n<div class=\"paragraph data-line-320\">\n<p>NOTE<br \/>\nAlthough ISO 21387:2019 defines the primary key as a combination of Account_Segment_Number and GL_Account_Number, it is recommended to have a single primary key for each object class.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1 data-line-323\">\n<h2 id=\"_revised_table_definition_for_account_segment\">3. Revised table definition for Account Segment<\/h2>\n<div class=\"sectionbody\">\n<div class=\"sect2 data-line-325\">\n<h3 id=\"_proposed_table_format_change_for_part_2_4_1_2\">3.1. Proposed table format change for Part 2 4.1.2<\/h3>\n<div class=\"paragraph data-line-327\">\n<p>Part2 specifies following table definition in Sub-clause 4.1.2 Representation of object classes<\/p>\n<\/div>\n<div class=\"quoteblock data-line-330\">\n<blockquote>\n<div class=\"paragraph data-line-332\">\n<p>4.1.2.1\tRepresentation of object class properties<\/p>\n<\/div>\n<div class=\"paragraph data-line-334\">\n<p>Table 1 \u2014 Object class properties (model)<\/p>\n<\/div>\n<table class=\"tableblock frame-all grid-all stretch data-line-336\">\n<colgroup>\n<col style=\"width: 33.3333%;\">\n<col style=\"width: 33.3333%;\">\n<col style=\"width: 33.3334%;\">\n<\/colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Property term<\/th>\n<th class=\"tableblock halign-left valign-top\">Representation term<\/th>\n<th class=\"tableblock halign-left valign-top\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><\/td>\n<td class=\"tableblock halign-left valign-top\"><\/td>\n<td class=\"tableblock halign-left valign-top\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"paragraph data-line-341\">\n<p>The object class properties table [Table 1] has the following columns:<br \/>\n<strong>Property term<\/strong><br \/>\nName of the property<br \/>\n<strong>Representation term<\/strong><br \/>\nA representation term is a word, or a combination of words, that semantically represent the data type (value domain) of a data element.<br \/>\nExamples used in this document are:<br \/>\n\u2014\tDate<br \/>\n\u2014\tTime<br \/>\n\u2014\tString<br \/>\n\u2014\tAmount<br \/>\n\u2014\tIdentifier<br \/>\n\u2014\tBoolean<br \/>\n<strong>Description<\/strong><br \/>\nDescription of the property<br \/>\nNote: Properties can have a &#8220;value domain&#8221; which is the permitted range of values. That can be defined in a code list or through a rule. This is not elaborated in the proof of concept.<\/p>\n<\/div>\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; ChatGPT<br \/>\n<cite>Summary of ISO\/TC 295<\/cite>\n<\/div>\n<\/div>\n<div class=\"paragraph data-line-358\">\n<p>Table 3 (revised) \u2014 GL Account Segment<\/p>\n<\/div>\n<table class=\"tableblock frame-all grid-all stretch data-line-360\">\n<colgroup>\n<col style=\"width: 33.3333%;\">\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 50.0001%;\">\n<\/colgroup>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">Property term<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">Representation term<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">Description<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">GL Account Number<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">String<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">The GL account number.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">Account Segment Number<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">String<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">The number of the Account Segment.<br \/>\nCase 1 If the value of this field is 0, the record is used to explain a fixed account segment that is distinguished by Account Segment Name of the record.<br \/>\nCase 2 If the value of this field is 5, the record is used to explain the No.5 field of Account Segment X, named Account Segment 5 in the tables, such as GL Details. This number is generated either by manual input or by the system.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">Account Segment Name<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">String<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">The name of the Account Segment.<br \/>\nCase 1 If the value of Account Segment Number of the record is 0, the field contains the name of a fixed account segment, such as Account Segment Employee.<br \/>\nCase 2 If the value of Account Segment Number of the record is 5, the field value should be the name of a customized account segment, like welfare expenditure.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">Corresponding File<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">String<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">The table corresponding to account segment.<br \/>\nCase 1 If the value of Account Segment Number of the record is 0, the field contains the table name corresponding to the fixed account segment, such as BAS Employee for Account Segment Employee.<br \/>\nCase 2 If the value of Account Segment Number is larger than 0, and no other table besides BAS Customized Account Segment contains the basic information of the customized account segment, the field value should be BAS Customized Account Segment.<br \/>\nCase 3 If the value of Account Segment Number is larger than 0, and there is a table contains the basic information of the customized account segment, the field value should be the table\u2019s name, such as BAS Customer.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">Account Segment Description<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">String<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">The detailed description of the Account Segment Name.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">Customized Account Segment Code<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">String<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">The code of the customized account segment. Shall match the Customized Account Segment Code in the BAS Customized Account Segment table.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"quoteblock data-line-398\">\n<blockquote>\n<div class=\"paragraph data-line-399\">\n<p>4.1.2.2\tRepresentation of object class relations<br \/>\nTable 2 \u2014 Object class relations (model)<\/p>\n<\/div>\n<table class=\"tableblock frame-all grid-all stretch data-line-402\">\n<colgroup>\n<col style=\"width: 33.3333%;\">\n<col style=\"width: 33.3333%;\">\n<col style=\"width: 33.3334%;\">\n<\/colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Object class term to<\/th>\n<th class=\"tableblock halign-left valign-top\">Relation type<\/th>\n<th class=\"tableblock halign-left valign-top\">Cardinality<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><\/td>\n<td class=\"tableblock halign-left valign-top\"><\/td>\n<td class=\"tableblock halign-left valign-top\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"paragraph data-line-407\">\n<p>The object class relations table [Table 2] has the following columns:<br \/>\n<strong>Object class term to<\/strong><br \/>\nObject class term to is the name of the object class with which the described object class has a relationship.<\/p>\n<\/div>\n<div class=\"paragraph data-line-411\">\n<p><strong>Relation type<\/strong><br \/>\nIn this document the following relation types are used:<br \/>\n\u2014\tAssociation<br \/>\n\u2014\tComposition<br \/>\n\u2014\tSpecialization<br \/>\nSpecialization is denoted by relation type &#8220;IS_A&#8221; in this document.<\/p>\n<\/div>\n<div class=\"paragraph data-line-418\">\n<p><strong>Cardinality<\/strong><br \/>\nCardinality captures how many of one object class instances participates in the relationship with how many of the other object class instance.<\/p>\n<\/div>\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; ChatGPT<br \/>\n<cite>Summary of ISO\/TC 295<\/cite>\n<\/div>\n<\/div>\n<div class=\"paragraph data-line-422\">\n<p>A starting endpoint multiplicity value of 1 is assumed. The cardinality in Table 2 corresponds to the multiplicity value of the terminating endpoint.<\/p>\n<\/div>\n<div class=\"paragraph data-line-424\">\n<p>4.1.2.2 The representation of object class relationships assumes that the starting endpoint has a multiplicity of 1, but as in this case, the cardinality of the starting endpoint shall be reported to be clearly understood. This is a tabular representation of Figure 1.<\/p>\n<\/div>\n<div class=\"paragraph data-line-426\">\n<p>Table 4 (revised) \u2014 Association of GL Account Segment<\/p>\n<\/div>\n<table class=\"tableblock frame-all grid-all stretch data-line-428\">\n<colgroup>\n<col style=\"width: 22.2222%;\">\n<col style=\"width: 22.2222%;\">\n<col style=\"width: 11.1111%;\">\n<col style=\"width: 11.1111%;\">\n<col style=\"width: 22.2222%;\">\n<col style=\"width: 11.1112%;\">\n<\/colgroup>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">Property term<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">Object class term from<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">Starting (from) Cardinality<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">Relation type<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">Object class term to<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">Ending (to) Cardinality<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\" rowspan=\"2\">\n<p class=\"tableblock\">Account Segment Number<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">GL Account Segment<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">0..*<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">Association<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">GL Details<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">1<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">GL Account Segment<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">0..*<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">Association<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">NOTE: There are many object class associated to GL Account Segment. To simplify, other object classes are omitted<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">1<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">GL Account Number<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">Chart Of Accounts<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">1<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">Association<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">GL Account Segment<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">0..1<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">Customized Account Segment Code<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">Customized Account Segment<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">0..1<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">Association<\/p>\n<\/td>\n<td class=\"tableblock halign-left valign-top\">\n<p class=\"tableblock\">GL Account Segment<\/p>\n<\/td>\n<td class=\"tableblock halign-center valign-top\">\n<p class=\"tableblock\">1<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"paragraph data-line-464\">\n<p>Note: Both to and from are required to distinguish between associated object classes.<br \/>\nNote: 1 is equivalent to 1..1 .<\/p>\n<\/div>\n<div class=\"paragraph data-line-467\">\n<p>To use a GL account segment, you need a GL detail that references the GL account number. However, from a GL detail perspective, the GL account segment is optional and not always defined. Also, a GL detail can have any number of associations to GL account segments.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1 data-line-469\">\n<h2 id=\"_iso_111792023_and_cardinality_of_attributes\">4. ISO 11179:2023 and cardinality of attributes<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph data-line-471\">\n<p>ISO\/IEC 11179-3 Metamodel for registry common facilities support new terms to specify Metadata such as <code>cardinality<\/code>, <code>association<\/code>, <code>composite<\/code>.<\/p>\n<\/div>\n<div class=\"quoteblock data-line-476\">\n<blockquote>\n<div class=\"paragraph data-line-478\">\n<p><strong>Introduction<\/strong><br \/>\nIn ISO\/IEC 11179-3, the structure of a Metadata Registry is specified in the form of a conceptual data model. ISO\/IEC 11179-3 specifies a metamodel for \u201cregistry common facilities\u201d, which is intended to be extended by other parts of ISO\/IEC 11179 for specific purposes.<br \/>\nThis document provides a specification of the extensions to the registry metamodel specified in ISO\/IEC 11179-3 to enable the registration of metadata about data elements and associated concepts, such as \u201cdata element concepts\u201d, \u201cconceptual domains\u201d and \u201cvalue domains\u201d. Generically, these are all referred to as \u201cmetadata items\u201d. Such metadata are necessary to clearly describe, record, analyse, classify and administer data.<br \/>\nThis document is part of the 4th edition modularization of the ISO\/IEC 11179 series. It extracts the Data Description package from ISO\/IEC 11179-3:2013 to make it more accessible and renames it \u201cMetamodel for data specification registration\u201d. At the same time, some enhancements have been made as follows:<br \/>\n\u2014 support for externally defined \u201creference enumerated conceptual domains\u201d (7.4.2.6) and \u201creference enumerated value domains\u201d (7.4.2.13);<br \/>\n\u2014 support for sub-setting of value domains (7.7) and conceptual domains (7.8) within a specified context;<br \/>\n\u2014 support for composite data elements and data types (7.9);<br \/>\n\u2014 finer-grained conformance options (see 5.3);<br \/>\n\u2014 relaxation of some constraints in the standard, while giving registration authorities the ability to enforce them if they wish (see 6.5).<\/p>\n<\/div>\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; ISO\/IEC 11179-3 Information technology \u2014 Metadata registries (MDR) \u2014 Part 3 Metamodel for registry common facilities\n<\/div>\n<\/div>\n<div class=\"paragraph data-line-489\">\n<p>In the 2023 version, we can define the UML semantic model and hierarchical logical data model with the following terms without using ISO 15000-5 CCS.<\/p>\n<\/div>\n<div class=\"quoteblock data-line-492\">\n<blockquote>\n<div class=\"paragraph data-line-493\">\n<p><strong>3 Terms and definitions<\/strong><\/p>\n<\/div>\n<div class=\"paragraph data-line-495\">\n<p><strong>3.1 Terms related to metamodel constructs<\/strong><\/p>\n<\/div>\n<div class=\"paragraph data-line-498\">\n<p>3.1.1<br \/>\n<code>class<\/code><br \/>\n&lt;metamodel&gt; description of a set of <code>objects<\/code> (3.2.1) that share the same <code>attributes<\/code> (3.1.11), operations, methods, relati`onships (3.1.4) and semantics<br \/>\nNote 1 to entry: Adapted from ISO\/IEC 19505-2:2012, 7.3.7[27].<br \/>\n3.1.2<br \/>\n<code>abstract class<\/code><br \/>\n&lt;metamodel&gt; <code>class<\/code> (3.1.1) that does not provide a complete declaration and typically cannot be instantiated<br \/>\nNote 1 to entry: An abstract class is intended to be used by other classes as a general class for <code>specialization<\/code> (3.1.8).<br \/>\nNote 2 to entry: Cf. concrete class (3.1.3).<br \/>\nNote 3 to entry: Adapted from ISO\/IEC 19505-1:2012, 9.19.1[26] Classifier.isAbstract<br \/>\n3.1.3<br \/>\n<code>concrete class<\/code><br \/>\n&lt;metamodel&gt; <code>class<\/code> (3.1.1) that can be instantiated<br \/>\nNote 1 to entry: Cf. <code>abstract class<\/code> (3.1.2).<br \/>\n3.1.4<br \/>\n<code>relationship<\/code><br \/>\n&lt;metamodel&gt; connection among model elements<br \/>\nNote 1 to entry: In this document, a relationship is one of: an <code>association<\/code> (3.1.5), a <code>generalization<\/code> (3.1.7) or a <code>specialization<\/code> (3.1.8).<br \/>\n3.1.5<br \/>\n<code>association<\/code><br \/>\n&lt;metamodel&gt; semantic <code>relationship<\/code> (3.1.4) between two <code>classes<\/code> (3.1.1) or between two or more instances of the same class<br \/>\nNote 1 to entry: An association is a type of relationship.<br \/>\nNote 2 to entry: Adapted from ISO\/IEC 19505-2:2012, 7.3.3[27] Association.<br \/>\n3.1.7<br \/>\n<code>generalization<\/code><br \/>\n&lt;metamodel&gt; <code>relationship<\/code> (3.1.4) between a more general class (the parent) and a more specific class (the child) that is fully consistent with the general class and that adds additional information<br \/>\nNote 1 to entry: A generalization is a type of <code>relationship<\/code> (3.1.4).<br \/>\nNote 2 to entry: The more general class is referred to as the <code>superclass<\/code> (3.1.9).<br \/>\nNote 3 to entry: The more specific class is referred to as a <code>subclass<\/code> (3.1.10).<br \/>\nNote 4 to entry: A generalization is directed from the subclass to the superclass.<br \/>\nNote 5 to entry: \u2018Fully consistent\u2019 means that the subclass has all of the <code>attributes<\/code> (3.1.11) and <code>relationships<\/code> (3.1.4) of the superclass.<br \/>\nNote 6 to entry: cf. <code>specialization<\/code> (3.1.8); generalization is the inverse of specialization.<br \/>\nNote 7 to entry: Adapted from ISO\/IEC 19505-2:2012, 7.3.20[27].<br \/>\n3.1.8<br \/>\n<code>specialization<\/code><br \/>\n&lt;metamodel&gt; <code>relationship<\/code> (3.1.4) between a more general class (the parent) and a more specific class (the child) that is fully consistent with the general class and that adds additional information<br \/>\nNote 1 to entry: A specialization is a type of <code>relationship<\/code> (3.1.4).<br \/>\nNote 2 to entry: The more general class is referred to as the <code>superclass<\/code> (3.1.9).<br \/>\nNote 3 to entry: The more specific class is referred to as a <code>subclass<\/code> (3.1.10).<br \/>\nNote 4 to entry: A specialization is directed from the superclass to the subclass.<br \/>\nNote 5 to entry: \u2018Fully consistent\u2019 means that the subclass has all of the <code>attributes<\/code> (3.1.11) and <code>relationships<\/code> (3.1.4) of the superclass.<br \/>\nNote 6 to entry: cf. <code>generalization<\/code> (3.1.7); specialization is the inverse of generalization.<br \/>\nNote 7 to entry: Adapted from ISO\/IEC 19505-2:2012, 7.3.20[27].<br \/>\n3.1.9<br \/>\n<code>superclass<\/code><br \/>\n&lt;metamodel&gt; <code>class<\/code> (3.1.1) that is a <code>generalization<\/code> (3.1.7) of one or more other classes<br \/>\nNote 1 to entry: The classes being generalized are known as <code>subclasses<\/code> (3.1.10).<br \/>\nNote 2 to entry: In UML, subclasses of a superclass are by default not <code>disjoint<\/code> (3.2.39). This document specifies when subclasses are required to be disjoint. Further, when the superclass is not intended to be instantiated alone, this document shows the superclass as abstract, thus preventing the superclass being instantiated other than through one or more of its subclasses. An <code>abstract class<\/code> (3.1.2) is indicated by showing the class name in italics in any class diagram that uses it.<br \/>\nNote 3 to entry: A particular class can be a superclass with respect to one relationship, but a subclass with respect to another relationship.<br \/>\n3.1.10<br \/>\nsubclass<br \/>\n&lt;metamodel&gt; class (3.1.1) that is a specialization (3.1.8) of another class<br \/>\nNote 1 to entry: The class being specialized is known as the superclass (3.1.9).<br \/>\nNote 2 to entry: In UML, subclasses of a superclass are by default not disjoint (3.2.39). This document specifies when subclasses are required to be disjoint. Further, when the superclass is not intended to be instantiated alone, this document shows the superclass as abstract, thus preventing the superclass being instantiated other than through one or more of its subclasses. An abstract class (3.1.2) is indicated by showing the class name in italics in any class diagram that uses it.<br \/>\nNote 3 to entry: A particular class can be a subclass with respect to one relationship, but a superclass with respect to another relationship.<br \/>\n3.1.11<br \/>\n<code>attribute<\/code><br \/>\n&lt;metamodel&gt; <code>characteristic<\/code> (3.2.4) of an <code>object<\/code> (3.2.1) or set of objects<br \/>\n3.1.12<br \/>\n<code>composite attribute<\/code><br \/>\n&lt;metamodel&gt; <code>attribute<\/code> (3.1.11) whose <code>datatype<\/code> (3.1.13) is non-atomic<br \/>\nEXAMPLE See Administered_Item.registration_state (9.4.2.4), where registration_state is a composite attribute with Registration_State (9.4.4) as its composite datatype (3.1.15).<br \/>\n3.1.13<br \/>\n<code>datatype<\/code><br \/>\nset of distinct values, characterized by properties of those values and by operations on those values<\/p>\n<\/div>\n<div class=\"paragraph data-line-565\">\n<p><strong>3.2 Terms related to concepts<\/strong><\/p>\n<\/div>\n<div class=\"paragraph data-line-567\">\n<p>3.2.1<br \/>\n<code>object<\/code><br \/>\nanything perceivable or conceivable<br \/>\nNote 1 to entry: Objects can be material (e.g. &#8216;engine&#8217;, &#8216;sheet of paper&#8217;, &#8216;diamond&#8217;), immaterial (e.g. &#8216;conversion ratio&#8217;, &#8216;project plan&#8217;) or imagined (e.g. &#8216;unicorn&#8217;, &#8216;scientific hypothesis&#8217;).<\/p>\n<\/div>\n<div class=\"paragraph data-line-572\">\n<p>3.2.2<br \/>\n<code>object class<\/code><br \/>\nset of ideas, abstractions or things in the real world that are identified with explicit boundaries and meaning and whose properties and behaviour follow the same rules<\/p>\n<\/div>\n<div class=\"paragraph data-line-576\">\n<p>3.2.3<br \/>\n<code>property<\/code><br \/>\nquality common to all members of an` object class` (3.2.2)<\/p>\n<\/div>\n<div class=\"paragraph data-line-580\">\n<p>3.2.4<br \/>\n<code>characteristic<\/code><br \/>\nabstraction of a <code>property<\/code> (3.2.3)<br \/>\nEXAMPLE &#8216;Having a cable for connecting with a computer&#8217; as a characteristic of the concept &#8216;cord mouse&#8217;.<br \/>\nNote 1 to entry: Characteristics are used for describing <code>concepts<\/code> (3.2.7).<\/p>\n<\/div>\n<div class=\"paragraph data-line-586\">\n<p>3.2.7<br \/>\n<code>concept<\/code><br \/>\nunit of knowledge created by a unique combination of <code>characteristics<\/code> (3.2.4)<br \/>\nNote 1 to entry: Concepts are not necessarily bound to particular natural languages. They are, however, influenced by the social or cultural background which often leads to different categorizations.<br \/>\nNote 2 to entry: A concept is independent of its representation.<\/p>\n<\/div>\n<div class=\"paragraph data-line-592\">\n<p>3.2.8<br \/>\n<code>concept relation<\/code><br \/>\nrelation between <code>concepts<\/code> (3.2.7)<\/p>\n<\/div>\n<div class=\"paragraph data-line-596\">\n<p>3.2.37<br \/>\n<code>cardinality<\/code><br \/>\nnumber of elements in a set<br \/>\nNote 1 to entry: cf. <code>multiplicity<\/code> (3.2.38).<br \/>\nNote 2 to entry: Adapted from ISO\/IEC 19501:2005[25], Glossary.<br \/>\n3.2.38<br \/>\n<code>multiplicity<\/code><br \/>\nspecification of the range of allowable <code>cardinalities<\/code> (3.2.37) that a set can assume<br \/>\nNote 1 to entry: Multiplicity specifications can be given for roles within <code>associations<\/code> (3.1.5) or <code>attributes<\/code> (3.1.11) within a <code>class<\/code> (3.1.1).<br \/>\nNote 2 to entry: A multiplicity is a (possibly infinite) subset of the non-negative integers.<br \/>\nNote 3 to entry: Adapted from ISO\/IEC 19501:2005, Glossary.<\/p>\n<\/div>\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; ISO\/IEC 11179-3 Information technology \u2014 Metadata registries (MDR) \u2014 Part 3 Metamodel for registry common facilities\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1 data-line-609\">\n<h2 id=\"_iso_11179_and_cardinality_of_attributes\">5. ISO 11179 and cardinality of attributes<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph data-line-612\">\n<p>Sometimes it is better not to define cardinality at the semantic modeling level defined by UML.<\/p>\n<\/div>\n<div class=\"paragraph data-line-614\">\n<p>Object classes are based on ISO 11179 and this standard does not support attribute cardinality.<\/p>\n<\/div>\n<div class=\"paragraph data-line-616\">\n<p>The next dialog explains this issue.<\/p>\n<\/div>\n<div class=\"paragraph data-line-619\">\n<div class=\"title\">User<\/div>\n<p>Can iso 11179 define multiplicity for attribute?<\/p>\n<\/div>\n<div class=\"paragraph data-line-622\">\n<div class=\"title\">ChatGPT<\/div>\n<p>ISO\/IEC 11179 is a standard that provides guidelines for managing metadata registries, specifically focusing on the registration and administration of data elements. While ISO\/IEC 11179 does not explicitly define multiplicity for attributes, it provides guidelines for defining and registering data elements, which can include attributes.<\/p>\n<\/div>\n<div class=\"paragraph data-line-624\">\n<p>ISO\/IEC 11179 defines various concepts and components related to data elements, such as data element concepts, data element names, and data element descriptions. It provides a framework for standardizing the representation and management of data elements in a metadata registry.<\/p>\n<\/div>\n<div class=\"paragraph data-line-626\">\n<p>Multiplicity, in the context of attribute cardinality or the number of values that can be associated with an attribute, is not explicitly addressed in ISO\/IEC 11179. The standard focuses more on the structure and administration of metadata, including naming conventions, identification, and classification of data elements.<\/p>\n<\/div>\n<div class=\"paragraph data-line-628\">\n<p>However, ISO\/IEC 11179 can still be used as a reference for managing metadata and providing guidelines for describing attributes within a metadata registry. Organizations can adopt ISO\/IEC 11179 principles and adapt them to suit their specific needs, including the representation of attribute multiplicity within their metadata management practices.<\/p>\n<\/div>\n<div class=\"paragraph data-line-630\">\n<p>It&#8217;s worth noting that ISO\/IEC 11179 is not exclusively dedicated to attribute multiplicity, but rather provides broader guidelines for metadata management and data element registration.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"footer\">\n<div id=\"footer-text\">\nLast updated 2023-06-25 15:53:19 +0900\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Views: 44 Study report Part 2 Semantic model definition using ISO\/IEC 19505 OMG UML Table of Contents 1. Comme [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":10076,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[71,69,30],"tags":[],"_links":{"self":[{"href":"https:\/\/www.sambuichi.jp\/index.php?rest_route=\/wp\/v2\/posts\/10060"}],"collection":[{"href":"https:\/\/www.sambuichi.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sambuichi.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sambuichi.jp\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sambuichi.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10060"}],"version-history":[{"count":32,"href":"https:\/\/www.sambuichi.jp\/index.php?rest_route=\/wp\/v2\/posts\/10060\/revisions"}],"predecessor-version":[{"id":10211,"href":"https:\/\/www.sambuichi.jp\/index.php?rest_route=\/wp\/v2\/posts\/10060\/revisions\/10211"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sambuichi.jp\/index.php?rest_route=\/wp\/v2\/media\/10076"}],"wp:attachment":[{"href":"https:\/\/www.sambuichi.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10060"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sambuichi.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10060"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sambuichi.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10060"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}