.. comment all inline tags to start with _how_uuid_ .. _how_uuid_top: ****************************************** UUID and Naming conventions for STEPLIB ****************************************** .. include:: /pages/common/pageunderconstruction.txt :start-line: 3 This page decribes how the convensions for UUID and names .. contents:: :local: :depth: 2 :backlinks: top .. todo:: text for this section .. index:: pair: UUID; How to .. _how_uuid_uuid: ================== UUID ================== .. todo:: all of this section .. index:: pair: Naming; How to - Common .. _how_uuid_naming: ================== Naming Conventions ================== .. contents:: The following conventions are defined: :local: :depth: 1 :backlinks: top Files and Folders ----------------- The files and folders should use the same name as the item within the file. E.g. SysML model: Domain Model is stored in a folder/file as Domain_model/dvlp/Domain_model.mdzip Model Elements -------------- Do not use plurals in the name. This is because the :ref:`auto generation of the documentation ` strips plurality from the description words when looking for comparisons to generate hyperlinks. .. todo:: confirm these naming conventions - Model and Package may be changed to Upper_snake_case ==================================== ====================================================== =========================================================================== Element Convention Usage: Example ==================================== ====================================================== =========================================================================== Model (not used) UpperCamelCase e.g. DomainModel Package(Organizational) Upper_snake_case e.g. Application_protocols, Domain_model Package UpperCamelCase e.g. RequirementManagement Block UpperCamelCase e.g. RequirementSource, ActivityAssignmentSelect, AlternatePartRelationship Properties (public) UpperCamelCase Part, Value, Reference properties e.g. Id Description Source ClassifiedAs Properties (private) lowerCamelCase Used in mappings e.g. selectText, idAssign, roleSelect ValueType UpperCamelCaseEnum Enumerations e.g. PartCategoryEnum, TerminalJointTypeEnum Enumeration Literal lower_snake_case Enumeration values e.g. cavity_plug_profile ConstraintBlock UpperCamelCase(TBA) Used in DomainModel and in Mappings Constraints lowerCamelCase Used in ??? ConstraintProperty lowerCamelCase Used in Constraint blocks ConstraintParameter lowerCamelCase Used in Constraint blocks Operations lowerCamelCase Used in Services e.g. getAllElements Relations no name Assocations, Generalizations, Binding Connectors FlowPort lowerCamelCase e.g. descAsgn or breakdown if name in just one word Instance Specification lowerCamelCase e.g. nameClass Target ARM block lower_snake_case e.g. name_of_the_mapped_domain_block or _breakdown if name in just one word Intermediate ARM block initials in lower case, with number if multiple usages e.g. dta1 String constraint of an ARM attribut lowerCamelCase e.g. theAttribute1 ==================================== ====================================================== =========================================================================== => IMPORTANT : **DO NOT START WITH UPPER CASE** in parametric elements (except for the mapped domain block ...) .. figure:: /images/howto/Domain_model_to_ARM_mapping/namingConvention.png :scale: 100% .. figure:: /images/howto/Domain_model_to_ARM_mapping/NamingEnum.png :scale: 100% .. figure:: /images/howto/Domain_model_to_ARM_mapping/NamingProperty.png :scale: 100% Association, Relationship, Assignment ------------------------------------- The following are the general rules for when to call something an Association, Relationship of Assignment. Association: A link between two objects * no directionality or precedence * normally, but not always, of different types or subtypes e.g. Zone and something in the zone Relationship: A dependency between two objects * normally, but not always, of the same type or subtypes Assignment: An allocation of an object to a target object * implies direction from an object to a target object * normally, but not always, of different types or subtypes e.g. assignment of a start date to a project Diagrams -------- .. todo:: confirm these naming conventions Diagrams have the same convention as the model elements except additionally there is an "_xxx" suffix, where xxx indicates the diagram purpose. The suffix conventions (|TBA|) are shown in the table below: =============== ================================ ================================================================================ Suffix Example Purpose =============== ================================ ================================================================================ _BDD PersonOrganization_BDD The Block Definition Diagram, showing properties and associations for the blocks _mapping Organization_mapping The Parametric Diagram mapping between layers _members ActivityAssignmentSelect_members Block Definition diagrams used to illustrate a select type =============== ================================ ================================================================================ Classification mapping ---------------------- .. include:: howtoUUIDnamingClassification.txt Enumeration mapping ------------------- .. include:: howtoUUIDnamingEnumeration.txt .. sectionauthor:: |Judith Crockford| .. include:: /keywords.rst