Conventions on uml:Package elements

Title: Partitioning of the model

Identifier: rule:package-partitioning

Statement: Packages should be used to define a logical partition of the model.

Description:

Packages should be used to define a logical partition of the model. They serve as the primary method for the vertical slicing of the conceptual model as described in the layering and slicing section of [costetchi2020a].

See also: SEMIC Style Guide Rule [CMC-R15]

Title: Hierarchy of packages

Identifier: rule:package-hierarchy

Statement: Packages may form hierarchies.

Description:

Packages may form hierarchies. In this case the hierarchical relation is interpreted as meronymy, denoting a constituent parts of the package. Formally they are translated into owl:import statements.The module corresponding to the parent package imports modules corresponding to the child packages.

Title: Empty packages

Identifier: rule:package-empty

Statement: There shall be no empty packages.

Description:

No empty packages shall be present in the model. A package is empty if it contains no child elements.

Title: Package naming

Identifier: rule:package-name

Statement: Package names shall be short lowercase strings representing an acronym or a short name.

Description:

All packages shall have a name. Package names shall be short, lowercase, normalised strings representing an acronym or a short name. They may serve as proxies for the namespace prefixes and used to resolve the name of any comprised elements when the prefix is not provided. This however should not be used as a primary naming method, but rather for suggesting corrections in the element name.