UUID and Naming conventions for STEPLIB

Warning

../../_images/construction.png

This page is under construction.

To contribute or participate contact support@boost-lab.net

This page decribes how the convensions for UUID and names

Todo

text for this section

UUID

Todo

all of this section

Naming Conventions

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 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 ...)

../../_images/namingConvention.png
../../_images/NamingEnum.png
../../_images/NamingProperty.png

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 (To Be Agreed) 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

The suggested convention is as follows:

  • (private) Part Property of type Classification
    • Prefix lowerCamelCase for classification string
    • Suffix Classification
    • e.g. modelTypeClassification
  • Reference Property and Instance Specification of type ExternalOwlClass
    • Prefix lowerCamelCase for classification string
    • Suffix OwlClass
    • e.g. modelTypeOwlClass
  • contraint property
    • lowerCamelCase version of Constraint Block
../../_images/ht_common_classificationNaming.png

Figure 30 Naming convention for elements used in mapping classifications

Enumeration mapping

The suggested convention is as follows:

  • ValueType Enumeration
    • Prefix: UpperCamelCase
    • Suffix: Enum
    • E.g. PropertyValueCharacteristicEnum
  • Enumeration Literal
    • lower_snake_case
    • E.g. upper_bound
  • Instance Specification
    • Prefix: ValueType name in lowerCamelCase
    • Suffix: _enumeration_literal_name in lower_snake_case
    • E.g. propertyValueCharacteristicEnum_upper_bound
../../_images/ht_common_enumerationNaming.png

Figure 31 Naming convention for elements used in mapping enmerations

Section author: Judith Crockford (AP243)