: Public Text
Created: 16/06/2021 13:52:11
Modified: 14/12/2021 16:46:08
Project:
Advanced:
RSM is laid down as a set of class diagrams grouped into packages, following most recent UML specifications (here: UML 2.5).<br/>Only a small part of UML language elements are used, so the model remains "unsophisticated":<br/><ul>
<li>to be easily understood by human readers;</li><li>to ease model transformation (ontology extraction, code generation, etc.), avoiding stumbling blocks or information loss.</li></ul>
OCL constraints, stereotypes and tagged values (as language extensions) were used when strictly necessary, which was rarely the case.<br/><b><br/></b><b>OCL constraints</b><br/><br/>In general, RSM 1.2 does not use constraints. RSM should open for all sorts of usages, foreseen or unforeseen, so we preferred to leave it open. It is the user's responsibility to ensure consistent usage, with or without OCL. More OCL constraints can be added by the RSM user, e.g. for "foolproofing" model usage in particular use cases.<br/><br/>However, some OCL constraints were introduced in a limited number of cases:<br/><ul>
<li>{redefines} on attributes or association roles, when derived classes also specialize the meaning of the attribute or role.</li><li>{XOR} (exclusive OR) for semantic clarification</li></ul><p/>