UUID and Naming conventions for STEPLIB¶
This page decribes how the convensions for UUID and names
Todo
text for this section
Naming Conventions¶
The following conventions are defined:
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 ...)
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
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
Section author: Judith Crockford (AP243)