Persistence Package

Overview

The org.openehr.lang.bmm_persistence package, shown below, defines a simplified form of the main BMM model suitable for persisting and human authoring. The openEHR BMM schemas are authored in the P_BMM form of the BMM, using the openEHR ODIN syntax.

LANG bmm persistence
Figure 1. lang.bmm_persistence Package

The general approach taken in this model is that attributes named bmm_xxx and of type BMM_XXX are derived from the persisted attributes of the P_BMM_XXX classes of this model. In other words, they are in-memory only references to reconstructed instances of BMM_XXX types.

Class Definitions

The classes of the persistence package are grouped below by role: the structural skeleton (schema and packages), the class-definition kinds, the type-reference hierarchy, and the three kinds of class feature (properties, functions and constants).

Schema and Packaging

The foundational and structural classes: the abstract P_BMM_MODEL_ELEMENT root, the schema and its descriptor, and the package hierarchy that holds the class definitions.

P_BMM_MODEL_ELEMENT Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_MODEL_ELEMENT (abstract)

Description

Persistent form of BMM_MODEL_ELEMENT.

Attributes

Signature

Meaning

0..1

documentation: String

Optional documentation of this element.

P_BMM_MODEL_ELEMENT (abstract)

Persistent form of BMM_MODEL_ELEMENT.

Attributes

documentation: String [0..1]

Optional documentation of this element.

{
    "name": "P_BMM_MODEL_ELEMENT",
    "documentation": "Persistent form of `BMM_MODEL_ELEMENT`.",
    "is_abstract": true,
    "properties": {
        "documentation": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "documentation",
            "documentation": "Optional documentation of this element.",
            "type": "String"
        }
    }
}
p bmm model element

P_BMM_SCHEMA Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_SCHEMA

Description

Persisted form of BMM_SCHEMA.

Inherit

P_BMM_PACKAGE_CONTAINER, BMM_SCHEMA

Attributes

Signature

Meaning

0..1

primitive_types: List<P_BMM_CLASS>

Primitive type definitions. Persisted attribute.

0..1

class_definitions: List<P_BMM_CLASS>

Class definitions. Persisted attribute.

Functions

Signature

Meaning

1..1
(effected)

validate_created (): void

Pre_state: state = State_created

Post_state: passed implies state = State_validated_created

Implementation of validate_created()

1..1
(effected)

load_finalise (): void

Pre_state: state = State_validated_created

Post_state: state = State_includes_processed or state = State_includes_pending

Implementation of load_finalise()

1..1
(effected)

merge (
other: P_BMM_SCHEMA[1]
): void

Pre_state: state = State_includes_pending
Pre_other_valid: includes_to_process.has (included_schema.schema_id)

Implementation of merge()

1..1
(effected)

validate (): void

Implementation of validate()

1..1
(effected)

create_bmm_model (): void

Pre_state: state = P_BMM_PACKAGE_STATE.State_includes_processed

Implementation of create_bmm_model()

1..1

canonical_packages (): P_BMM_PACKAGE

Package structure in which all top-level qualified package names like xx.yy.zz have been expanded out to a hierarchy of BMM_PACKAGE objects.

P_BMM_SCHEMA

Persisted form of BMM_SCHEMA.

Inherits: BMM_MODEL_METADATA, P_BMM_PACKAGE_CONTAINER, BMM_SCHEMA

Attributes

packages: Hash<String,P_BMM_PACKAGE> [1..1]

Package structure as a hierarchy of packages each potentially containing names of classes in that package in the original model.
Inherited from P_BMM_PACKAGE_CONTAINER

rm_publisher: String [1..1]

Publisher of model expressed in the schema.
Inherited from BMM_MODEL_METADATA

rm_release: String [1..1]

Release of model expressed in the schema as a 3-part numeric, e.g. "3.1.0" .
Inherited from BMM_MODEL_METADATA

bmm_version: String [1..1]

Version of BMM model, enabling schema evolution reasoning. Persisted attribute.
Inherited from BMM_SCHEMA

includes: Hash<String,BMM_INCLUDE_SPEC> [0..1]

Inclusion list of any form of BMM model, in the form of a hash of individual include specifications, each of which at least specifies the id of another schema, and may specify a namespace via which types from the included schemas are known in this schema. Persisted attribute.
Inherited from BMM_SCHEMA

bmm_model: BMM_MODEL [0..1]

Generated by create_bmm_model from persisted elements.
Inherited from BMM_SCHEMA

state: BMM_SCHEMA_STATE [1..1]

Current processing state.
Inherited from BMM_SCHEMA

model_name: String [0..1]

Name of this model, if this schema is a model root point. Not set for sub-schemas that are not considered models on their own.
Inherited from BMM_SCHEMA

schema_name: String [1..1]

Name of model expressed in schema; a 'schema' usually contains all of the packages of one 'model' of a publisher. A publisher with more than one model can have multiple schemas.
Inherited from BMM_SCHEMA

schema_revision: String [1..1]

Revision of schema.
Inherited from BMM_SCHEMA

schema_lifecycle_state: String [1..1]

Schema development lifecycle state.
Inherited from BMM_SCHEMA

schema_author: String [1..1]

Primary author of schema.
Inherited from BMM_SCHEMA

schema_description: String [1..1]

Description of schema.
Inherited from BMM_SCHEMA

schema_contributors: List<String> [0..1]

Contributing authors of schema.
Inherited from BMM_SCHEMA

primitive_types: List<P_BMM_CLASS> [0..1]

Primitive type definitions. Persisted attribute.

class_definitions: List<P_BMM_CLASS> [0..1]

Class definitions. Persisted attribute.

Functions

validate_created (): void

Pre_state: state = State_created

Post_state: passed implies state = State_validated_created [1..1]

Implementation of validate_created()

load_finalise (): void

Pre_state: state = State_validated_created

Post_state: state = State_includes_processed or state = State_includes_pending [1..1]

Implementation of load_finalise()

merge (
other: P_BMM_SCHEMA[1]
): void

Pre_state: state = State_includes_pending
Pre_other_valid: includes_to_process.has (included_schema.schema_id) [1..1]

Implementation of merge()

validate (): void [1..1]

Implementation of validate()

create_bmm_model (): void

Pre_state: state = P_BMM_PACKAGE_STATE.State_includes_processed [1..1]

Implementation of create_bmm_model()

read_to_validate (): Boolean

Post_state: state = State_includes_processed [1..1]

True when validation may be commenced.
Inherited from BMM_SCHEMA

schema_id (): String [1..1]

Identifier of this schema, used for stating inclusions and identifying files. Formed as:

{BMM_DEFINITIONS}.create_schema_id ( rm_publisher, schema_name, rm_release)

E.g. "openehr_rm_ehr_1.0.4".
Inherited from BMM_SCHEMA

canonical_packages (): P_BMM_PACKAGE [1..1]

Package structure in which all top-level qualified package names like xx.yy.zz have been expanded out to a hierarchy of BMM_PACKAGE objects.

{
    "name": "P_BMM_SCHEMA",
    "documentation": "Persisted form of `BMM_SCHEMA`.",
    "ancestors": [
        "P_BMM_PACKAGE_CONTAINER",
        "BMM_SCHEMA"
    ],
    "properties": {
        "primitive_types": {
            "_type": "P_BMM_CONTAINER_PROPERTY",
            "name": "primitive_types",
            "documentation": "Primitive type definitions. Persisted attribute.",
            "type_def": {
                "container_type": "List",
                "type": "P_BMM_CLASS"
            },
            "cardinality": {
                "lower": 0,
                "upper_unbounded": true
            }
        },
        "class_definitions": {
            "_type": "P_BMM_CONTAINER_PROPERTY",
            "name": "class_definitions",
            "documentation": "Class definitions. Persisted attribute.",
            "type_def": {
                "container_type": "List",
                "type": "P_BMM_CLASS"
            },
            "cardinality": {
                "lower": 0,
                "upper_unbounded": true
            }
        }
    },
    "functions": {
        "validate_created": {
            "name": "validate_created",
            "documentation": "Implementation of `_validate_created()_`",
            "pre_conditions": {
                "Pre_state": "state = State_created"
            },
            "post_conditions": {
                "Post_state": "passed implies state = State_validated_created"
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "void"
            }
        },
        "load_finalise": {
            "name": "load_finalise",
            "documentation": "Implementation of `_load_finalise()_`",
            "pre_conditions": {
                "Pre_state": "state = State_validated_created"
            },
            "post_conditions": {
                "Post_state": "state = State_includes_processed or state = State_includes_pending"
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "void"
            }
        },
        "merge": {
            "name": "merge",
            "documentation": "Implementation of `_merge()_`",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "P_BMM_SCHEMA"
                }
            },
            "pre_conditions": {
                "Pre_state": "state = State_includes_pending",
                "Pre_other_valid": "includes_to_process.has (included_schema.schema_id)"
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "void"
            }
        },
        "validate": {
            "name": "validate",
            "documentation": "Implementation of `_validate()_`",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "void"
            }
        },
        "create_bmm_model": {
            "name": "create_bmm_model",
            "documentation": "Implementation of `_create_bmm_model()_`",
            "pre_conditions": {
                "Pre_state": "state = P_BMM_PACKAGE_STATE.State_includes_processed"
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "void"
            }
        },
        "canonical_packages": {
            "name": "canonical_packages",
            "documentation": "Package structure in which all top-level qualified package names like `xx.yy.zz` have been expanded out to a hierarchy of `BMM_PACKAGE` objects.",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "P_BMM_PACKAGE"
            }
        }
    }
}
p bmm schema

P_BMM_SCHEMA_DESCRIPTOR Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_SCHEMA_DESCRIPTOR

Description

Concrete descendant of BMM_SCHEMA_DESCRIPTOR that provides a way to read an ODIN or other similarly encoded P_BMM schema file.

Inherit

BMM_SCHEMA_DESCRIPTOR

Attributes

Signature

Meaning

0..1
(redefined)

bmm_schema: P_BMM_SCHEMA

Persistent form of model.

P_BMM_SCHEMA_DESCRIPTOR

Concrete descendant of BMM_SCHEMA_DESCRIPTOR that provides a way to read an ODIN or other similarly encoded P_BMM schema file.

Inherits: BMM_SCHEMA_DESCRIPTOR

Attributes

bmm_schema: P_BMM_SCHEMA [0..1]

Persistent form of model.

bmm_model: BMM_MODEL [0..1]

Computable form of model.
Inherited from BMM_SCHEMA_DESCRIPTOR

schema_id: String [1..1]

Schema id, formed by

{BMM_DEFINITIONS}.create_schema_id( meta_data.item({BMM_DEFINITIONS}.Metadata_model_publisher), meta_data.item({BMM_DEFINITIONS}.Metadata_schema_name), meta_data.item({BMM_DEFINITIONS}.Metadata_model_release)

e.g. openehr_rm_1.0.3, openehr_test_1.0.1, iso_13606_1_2008_2.1.2.
Inherited from BMM_SCHEMA_DESCRIPTOR

meta_data: Hash<String,String> [1..1]

Table of {key, value} of schema meta-data, keys are string values defined by {BMM_DEFINITIONS}.Metadata_* constants.
Inherited from BMM_SCHEMA_DESCRIPTOR

includes: List<String> [0..1]

Identifiers of schemas included by this schema.
Inherited from BMM_SCHEMA_DESCRIPTOR

Functions

is_top_level (): Boolean [1..1]

True if this is a top-level schema, i.e. not included by some other schema.
Inherited from BMM_SCHEMA_DESCRIPTOR

is_bmm_compatible (): Boolean [1..1]

True if the BMM version found in the schema (or assumed, if none) is compatible with that in this software.
Inherited from BMM_SCHEMA_DESCRIPTOR

load (): void [1..1]

Load schema into in-memory form, i.e. a P_BMM_SCHEMA instance, if structurally valid. If successful, p_schema will be set.
Inherited from BMM_SCHEMA_DESCRIPTOR

validate_merged (): void [1..1]

Validate loaded schema and report errors.
Inherited from BMM_SCHEMA_DESCRIPTOR

validate_includes (
all_schemas_list: List<String>
): void [1..1]

Validate includes list for this schema, to see if each mentioned schema exists in all_schemas list.
Inherited from BMM_SCHEMA_DESCRIPTOR

create_model (): void [1..1]

Create schema, i.e. the BMM_MODEL from one P_BMM_SCHEMA schema.
Inherited from BMM_SCHEMA_DESCRIPTOR

{
    "name": "P_BMM_SCHEMA_DESCRIPTOR",
    "documentation": "Concrete descendant of `BMM_SCHEMA_DESCRIPTOR` that provides a way to read an ODIN or other similarly encoded P_BMM schema file.",
    "ancestors": [
        "BMM_SCHEMA_DESCRIPTOR"
    ],
    "properties": {
        "bmm_schema": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "bmm_schema",
            "documentation": "Persistent form of model.",
            "type": "P_BMM_SCHEMA"
        }
    }
}
p bmm schema descriptor

P_BMM_PACKAGE_CONTAINER Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_PACKAGE_CONTAINER

Description

Persisted form of a model component that contains packages.

Attributes

Signature

Meaning

1..1

packages: Hash<String,P_BMM_PACKAGE>

Package structure as a hierarchy of packages each potentially containing names of classes in that package in the original model.

P_BMM_PACKAGE_CONTAINER

Persisted form of a model component that contains packages.

Attributes

packages: Hash<String,P_BMM_PACKAGE> [1..1]

Package structure as a hierarchy of packages each potentially containing names of classes in that package in the original model.

{
    "name": "P_BMM_PACKAGE_CONTAINER",
    "documentation": "Persisted form of a model component that contains packages.",
    "properties": {
        "packages": {
            "_type": "P_BMM_GENERIC_PROPERTY",
            "name": "packages",
            "documentation": "Package structure as a hierarchy of packages each potentially containing names of classes in that package in the original model.",
            "is_mandatory": true,
            "type_def": {
                "root_type": "Hash",
                "generic_parameters": [
                    "String",
                    "P_BMM_PACKAGE"
                ]
            }
        }
    }
}
p bmm package container

P_BMM_PACKAGE Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_PACKAGE

Description

Persisted form of a package as a tree structure whose nodes can contain more packages and/or classes.

Inherit

P_BMM_PACKAGE_CONTAINER, P_BMM_MODEL_ELEMENT

Attributes

Signature

Meaning

1..1

name: String

Name of the package from schema; this name may be qualified if it is a top-level package within the schema, or unqualified. Persistent attribute.

0..1

classes: List<String>

List of classes in this package. Persistent attribute.

0..1

bmm_package_definition: BMM_PACKAGE

BMM_PACKAGE created by create_bmm_package_definition.

Functions

Signature

Meaning

1..1

merge (
other: P_BMM_PACKAGE[1]
): void

Merge packages and classes from other (from an included P_BMM_SCHEMA) into this package.

1..1

create_bmm_package_definition (): void

Generate a BMM_PACKAGE_DEFINITION object and write it to bmm_package_definition.

P_BMM_PACKAGE

Persisted form of a package as a tree structure whose nodes can contain more packages and/or classes.

Inherits: P_BMM_PACKAGE_CONTAINER, P_BMM_MODEL_ELEMENT

Attributes

packages: Hash<String,P_BMM_PACKAGE> [1..1]

Package structure as a hierarchy of packages each potentially containing names of classes in that package in the original model.
Inherited from P_BMM_PACKAGE_CONTAINER

documentation: String [0..1]

Optional documentation of this element.
Inherited from P_BMM_MODEL_ELEMENT

name: String [1..1]

Name of the package from schema; this name may be qualified if it is a top-level package within the schema, or unqualified. Persistent attribute.

classes: List<String> [0..1]

List of classes in this package. Persistent attribute.

bmm_package_definition: BMM_PACKAGE [0..1]

BMM_PACKAGE created by create_bmm_package_definition.

Functions

merge (
other: P_BMM_PACKAGE[1]
): void [1..1]

Merge packages and classes from other (from an included P_BMM_SCHEMA) into this package.

create_bmm_package_definition (): void [1..1]

Generate a BMM_PACKAGE_DEFINITION object and write it to bmm_package_definition.

{
    "name": "P_BMM_PACKAGE",
    "documentation": "Persisted form of a package as a tree structure whose nodes can contain more packages and/or classes.",
    "ancestors": [
        "P_BMM_PACKAGE_CONTAINER",
        "P_BMM_MODEL_ELEMENT"
    ],
    "properties": {
        "name": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "name",
            "documentation": "Name of the package from schema; this name may be qualified if it is a top-level package within the schema, or unqualified. Persistent attribute.",
            "is_mandatory": true,
            "type": "String"
        },
        "classes": {
            "_type": "P_BMM_CONTAINER_PROPERTY",
            "name": "classes",
            "documentation": "List of classes in this package. Persistent attribute.",
            "type_def": {
                "container_type": "List",
                "type": "String"
            },
            "cardinality": {
                "lower": 0,
                "upper_unbounded": true
            }
        },
        "bmm_package_definition": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "bmm_package_definition",
            "documentation": "`BMM_PACKAGE` created by `_create_bmm_package_definition_`.",
            "type": "BMM_PACKAGE"
        }
    },
    "functions": {
        "merge": {
            "name": "merge",
            "documentation": "Merge packages and classes from other (from an included `P_BMM_SCHEMA`) into this package.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "P_BMM_PACKAGE"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "void"
            }
        },
        "create_bmm_package_definition": {
            "name": "create_bmm_package_definition",
            "documentation": "Generate a `BMM_PACKAGE_DEFINITION` object and write it to `_bmm_package_definition_`.",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "void"
            }
        }
    }
}
p bmm package

Classes

The kinds of class definition: ordinary classes, pure interfaces, enumerations, and the generic parameter declarations attached to generic classes.

P_BMM_CLASS Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_CLASS

Description

Definition of persistent form of BMM_CLASS for serialisation to ODIN, JSON, XML etc.

Inherit

P_BMM_MODEL_ELEMENT

Attributes

Signature

Meaning

1..1

name: String

Name of the class. Persisted attribute.

0..1

ancestors: List<String>

List of immediate inheritance parents. If there are generic ancestors, use ancestor_defs instead. Persisted attribute.

0..1

properties: Hash<String,P_BMM_PROPERTY>

List of attributes defined in this class. Persistent attribute.

0..1

is_abstract: Boolean

True if this is an abstract type. Persisted attribute.

0..1

is_override: Boolean

True if this class definition overrides one found in an included schema.

0..1

generic_parameter_defs: Hash<String,P_BMM_GENERIC_PARAMETER>

List of generic parameter definitions. Persisted attribute.

1..1

source_schema_id: String

Reference to original source schema defining this class. Set during BMM_SCHEMA materialise. Useful for GUI tools to enable user to edit the schema file containing a given class (i.e. taking into account that a class may be in any of the schemas in a schema inclusion hierarchy).

0..1

bmm_class: BMM_CLASS

BMM_CLASS object built by create_bmm_class_definition and populate_bmm_class_definition.

1..1

uid: Integer

Unique id generated for later comparison during merging, in order to detect if two classes are the same. Assigned in post-load processing.

0..1

ancestor_defs: List<P_BMM_GENERIC_TYPE>

List of structured inheritance ancestors, used only in the case of generic inheritance. Persisted attribute.

Functions

Signature

Meaning

1..1

is_generic (): Boolean

Post: Result := generic_parameter_defs /= Void

True if this class is a generic class.

1..1

create_bmm_class (): void

Create bmm_class_definition.

1..1

populate_bmm_class (
a_bmm_schema: BMM_MODEL[1]
): void

Add remaining model elements from Current to bmm_class_definition.

P_BMM_CLASS

Definition of persistent form of BMM_CLASS for serialisation to ODIN, JSON, XML etc.

Inherits: P_BMM_MODEL_ELEMENT

Attributes

documentation: String [0..1]

Optional documentation of this element.
Inherited from P_BMM_MODEL_ELEMENT

name: String [1..1]

Name of the class. Persisted attribute.

ancestors: List<String> [0..1]

List of immediate inheritance parents. If there are generic ancestors, use ancestor_defs instead. Persisted attribute.

properties: Hash<String,P_BMM_PROPERTY> [0..1]

List of attributes defined in this class. Persistent attribute.

is_abstract: Boolean [0..1]

True if this is an abstract type. Persisted attribute.

is_override: Boolean [0..1]

True if this class definition overrides one found in an included schema.

generic_parameter_defs: Hash<String,P_BMM_GENERIC_PARAMETER> [0..1]

List of generic parameter definitions. Persisted attribute.

source_schema_id: String [1..1]

Reference to original source schema defining this class. Set during BMM_SCHEMA materialise. Useful for GUI tools to enable user to edit the schema file containing a given class (i.e. taking into account that a class may be in any of the schemas in a schema inclusion hierarchy).

bmm_class: BMM_CLASS [0..1]

BMM_CLASS object built by create_bmm_class_definition and populate_bmm_class_definition.

uid: Integer [1..1]

Unique id generated for later comparison during merging, in order to detect if two classes are the same. Assigned in post-load processing.

ancestor_defs: List<P_BMM_GENERIC_TYPE> [0..1]

List of structured inheritance ancestors, used only in the case of generic inheritance. Persisted attribute.

Functions

is_generic (): Boolean

Post: Result := generic_parameter_defs /= Void [1..1]

True if this class is a generic class.

create_bmm_class (): void [1..1]

Create bmm_class_definition.

populate_bmm_class (
a_bmm_schema: BMM_MODEL[1]
): void [1..1]

Add remaining model elements from Current to bmm_class_definition.

{
    "name": "P_BMM_CLASS",
    "documentation": "Definition of persistent form of `BMM_CLASS` for serialisation to ODIN, JSON, XML etc.",
    "ancestors": [
        "P_BMM_MODEL_ELEMENT"
    ],
    "properties": {
        "name": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "name",
            "documentation": "Name of the class. Persisted attribute.",
            "is_mandatory": true,
            "type": "String"
        },
        "ancestors": {
            "_type": "P_BMM_CONTAINER_PROPERTY",
            "name": "ancestors",
            "documentation": "List of immediate inheritance parents. If there are generic ancestors, use `_ancestor_defs_` instead. Persisted attribute.",
            "type_def": {
                "container_type": "List",
                "type": "String"
            },
            "cardinality": {
                "lower": 0,
                "upper_unbounded": true
            }
        },
        "properties": {
            "_type": "P_BMM_GENERIC_PROPERTY",
            "name": "properties",
            "documentation": "List of attributes defined in this class. Persistent attribute.",
            "type_def": {
                "root_type": "Hash",
                "generic_parameters": [
                    "String",
                    "P_BMM_PROPERTY"
                ]
            }
        },
        "is_abstract": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "is_abstract",
            "documentation": "True if this is an abstract type. Persisted attribute.",
            "type": "Boolean"
        },
        "is_override": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "is_override",
            "documentation": "True if this class definition overrides one found in an included schema.",
            "type": "Boolean"
        },
        "generic_parameter_defs": {
            "_type": "P_BMM_GENERIC_PROPERTY",
            "name": "generic_parameter_defs",
            "documentation": "List of generic parameter definitions. Persisted attribute.",
            "type_def": {
                "root_type": "Hash",
                "generic_parameters": [
                    "String",
                    "P_BMM_GENERIC_PARAMETER"
                ]
            }
        },
        "source_schema_id": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "source_schema_id",
            "documentation": "Reference to original source schema defining this class. Set during `BMM_SCHEMA` materialise. Useful for GUI tools to enable user to edit the schema file containing a given class (i.e. taking into account that a class may be in any of the schemas in a schema inclusion hierarchy).",
            "is_mandatory": true,
            "type": "String"
        },
        "bmm_class": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "bmm_class",
            "documentation": "`BMM_CLASS` object built by `_create_bmm_class_definition_` and `_populate_bmm_class_definition_`.",
            "type": "BMM_CLASS"
        },
        "uid": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "uid",
            "documentation": "Unique id generated for later comparison during merging, in order to detect if two classes are the same. Assigned in post-load processing.",
            "is_mandatory": true,
            "type": "Integer"
        },
        "ancestor_defs": {
            "_type": "P_BMM_CONTAINER_PROPERTY",
            "name": "ancestor_defs",
            "documentation": "List of structured inheritance ancestors, used only in the case of generic inheritance. Persisted attribute.",
            "type_def": {
                "container_type": "List",
                "type": "P_BMM_GENERIC_TYPE"
            },
            "cardinality": {
                "lower": 0,
                "upper_unbounded": true
            }
        }
    },
    "functions": {
        "is_generic": {
            "name": "is_generic",
            "documentation": "True if this class is a generic class.",
            "post_conditions": {
                "Post": "Result := generic_parameter_defs /= Void"
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "create_bmm_class": {
            "name": "create_bmm_class",
            "documentation": "Create `_bmm_class_definition_`.",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "void"
            }
        },
        "populate_bmm_class": {
            "name": "populate_bmm_class",
            "documentation": "Add remaining model elements from Current to `_bmm_class_definition_`.",
            "parameters": {
                "a_bmm_schema": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "a_bmm_schema",
                    "type": "BMM_MODEL"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "void"
            }
        }
    }
}
p bmm class

P_BMM_GENERIC_PARAMETER Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_GENERIC_PARAMETER

Description

Persistent form of BMM_GENERIC_PARAMETER.

Inherit

P_BMM_MODEL_ELEMENT

Attributes

Signature

Meaning

1..1

name: String

Name of the parameter, e.g. 'T' etc. Persisted attribute. Name is limited to 1 character, upper case.

0..1

conforms_to_type: String

Optional conformance constraint - the name of a type to which a concrete substitution of this generic parameter must conform. Persisted attribute.

0..1

bmm_generic_parameter: BMM_PARAMETER_TYPE

BMM_GENERIC_PARAMETER created by create_bmm_generic_parameter.

Functions

Signature

Meaning

1..1

create_bmm_generic_parameter (
a_bmm_schema: BMM_MODEL[1]
): void

Create bmm_generic_parameter.

Invariants

Post_name: name.count = 1 and name.is_upper

P_BMM_GENERIC_PARAMETER

Persistent form of BMM_GENERIC_PARAMETER.

Inherits: P_BMM_MODEL_ELEMENT

Attributes

documentation: String [0..1]

Optional documentation of this element.
Inherited from P_BMM_MODEL_ELEMENT

name: String [1..1]

Name of the parameter, e.g. 'T' etc. Persisted attribute. Name is limited to 1 character, upper case.

conforms_to_type: String [0..1]

Optional conformance constraint - the name of a type to which a concrete substitution of this generic parameter must conform. Persisted attribute.

bmm_generic_parameter: BMM_PARAMETER_TYPE [0..1]

BMM_GENERIC_PARAMETER created by create_bmm_generic_parameter.

Functions

create_bmm_generic_parameter (
a_bmm_schema: BMM_MODEL[1]
): void [1..1]

Create bmm_generic_parameter.

Invariants

Post_name: name.count = 1 and name.is_upper

{
    "name": "P_BMM_GENERIC_PARAMETER",
    "documentation": "Persistent form of `BMM_GENERIC_PARAMETER`.",
    "ancestors": [
        "P_BMM_MODEL_ELEMENT"
    ],
    "properties": {
        "name": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "name",
            "documentation": "Name of the parameter, e.g. 'T' etc. Persisted attribute. Name is limited to 1 character, upper case.",
            "is_mandatory": true,
            "type": "String"
        },
        "conforms_to_type": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "conforms_to_type",
            "documentation": "Optional conformance constraint - the name of a type to which a concrete substitution of this generic parameter must conform. Persisted attribute.",
            "type": "String"
        },
        "bmm_generic_parameter": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "bmm_generic_parameter",
            "documentation": "`BMM_GENERIC_PARAMETER` created by `_create_bmm_generic_parameter_`.",
            "type": "BMM_PARAMETER_TYPE"
        }
    },
    "functions": {
        "create_bmm_generic_parameter": {
            "name": "create_bmm_generic_parameter",
            "documentation": "Create `_bmm_generic_parameter_`.",
            "parameters": {
                "a_bmm_schema": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "a_bmm_schema",
                    "type": "BMM_MODEL"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "void"
            }
        }
    },
    "invariants": {
        "Post_name": "name.count = 1 and name.is_upper"
    }
}
p bmm generic parameter

P_BMM_ENUMERATION Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_ENUMERATION

Description

Persistent form of BMM_ENUMERATION attributes.

Inherit

P_BMM_CLASS

Attributes

Signature

Meaning

0..1

item_names: List<String>

0..1

item_values: List<Any>

0..1
(redefined)

bmm_class: BMM_ENUMERATION

BMM_CLASS object build by create_bmm_class_definition and populate_bmm_class_definition.

P_BMM_ENUMERATION

Persistent form of BMM_ENUMERATION attributes.

Inherits: P_BMM_MODEL_ELEMENT, P_BMM_CLASS

Attributes

documentation: String [0..1]

Optional documentation of this element.
Inherited from P_BMM_MODEL_ELEMENT

name: String [1..1]

Name of the class. Persisted attribute.
Inherited from P_BMM_CLASS

ancestors: List<String> [0..1]

List of immediate inheritance parents. If there are generic ancestors, use ancestor_defs instead. Persisted attribute.
Inherited from P_BMM_CLASS

properties: Hash<String,P_BMM_PROPERTY> [0..1]

List of attributes defined in this class. Persistent attribute.
Inherited from P_BMM_CLASS

is_abstract: Boolean [0..1]

True if this is an abstract type. Persisted attribute.
Inherited from P_BMM_CLASS

is_override: Boolean [0..1]

True if this class definition overrides one found in an included schema.
Inherited from P_BMM_CLASS

generic_parameter_defs: Hash<String,P_BMM_GENERIC_PARAMETER> [0..1]

List of generic parameter definitions. Persisted attribute.
Inherited from P_BMM_CLASS

source_schema_id: String [1..1]

Reference to original source schema defining this class. Set during BMM_SCHEMA materialise. Useful for GUI tools to enable user to edit the schema file containing a given class (i.e. taking into account that a class may be in any of the schemas in a schema inclusion hierarchy).
Inherited from P_BMM_CLASS

bmm_class: BMM_ENUMERATION [0..1]

BMM_CLASS object build by create_bmm_class_definition and populate_bmm_class_definition.

uid: Integer [1..1]

Unique id generated for later comparison during merging, in order to detect if two classes are the same. Assigned in post-load processing.
Inherited from P_BMM_CLASS

ancestor_defs: List<P_BMM_GENERIC_TYPE> [0..1]

List of structured inheritance ancestors, used only in the case of generic inheritance. Persisted attribute.
Inherited from P_BMM_CLASS

item_names: List<String> [0..1]

item_values: List<Any> [0..1]

Functions

is_generic (): Boolean

Post: Result := generic_parameter_defs /= Void [1..1]

True if this class is a generic class.
Inherited from P_BMM_CLASS

create_bmm_class (): void [1..1]

Create bmm_class_definition.
Inherited from P_BMM_CLASS

populate_bmm_class (
a_bmm_schema: BMM_MODEL[1]
): void [1..1]

Add remaining model elements from Current to bmm_class_definition.
Inherited from P_BMM_CLASS

{
    "name": "P_BMM_ENUMERATION",
    "documentation": "Persistent form of `BMM_ENUMERATION` attributes.",
    "ancestors": [
        "P_BMM_CLASS"
    ],
    "properties": {
        "item_names": {
            "_type": "P_BMM_CONTAINER_PROPERTY",
            "name": "item_names",
            "type_def": {
                "container_type": "List",
                "type": "String"
            },
            "cardinality": {
                "lower": 0,
                "upper_unbounded": true
            }
        },
        "item_values": {
            "_type": "P_BMM_CONTAINER_PROPERTY",
            "name": "item_values",
            "type_def": {
                "container_type": "List",
                "type": "Any"
            },
            "cardinality": {
                "lower": 0,
                "upper_unbounded": true
            }
        },
        "bmm_class": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "bmm_class",
            "documentation": "`BMM_CLASS` object build by `_create_bmm_class_definition_` and `_populate_bmm_class_definition_`.",
            "type": "BMM_ENUMERATION"
        }
    }
}
p bmm enumeration

P_BMM_ENUMERATION_STRING Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_ENUMERATION_STRING

Description

Persistent form of BMM_ENUMERATION_STRING.

Inherit

P_BMM_ENUMERATION

Attributes

Signature

Meaning

0..1
(redefined)

bmm_class: BMM_ENUMERATION_STRING

BMM_CLASS object build by create_bmm_class_definition and populate_bmm_class_definition.

P_BMM_ENUMERATION_STRING

Persistent form of BMM_ENUMERATION_STRING.

Inherits: P_BMM_MODEL_ELEMENT, P_BMM_CLASS, P_BMM_ENUMERATION

Attributes

documentation: String [0..1]

Optional documentation of this element.
Inherited from P_BMM_MODEL_ELEMENT

name: String [1..1]

Name of the class. Persisted attribute.
Inherited from P_BMM_CLASS

ancestors: List<String> [0..1]

List of immediate inheritance parents. If there are generic ancestors, use ancestor_defs instead. Persisted attribute.
Inherited from P_BMM_CLASS

properties: Hash<String,P_BMM_PROPERTY> [0..1]

List of attributes defined in this class. Persistent attribute.
Inherited from P_BMM_CLASS

is_abstract: Boolean [0..1]

True if this is an abstract type. Persisted attribute.
Inherited from P_BMM_CLASS

is_override: Boolean [0..1]

True if this class definition overrides one found in an included schema.
Inherited from P_BMM_CLASS

generic_parameter_defs: Hash<String,P_BMM_GENERIC_PARAMETER> [0..1]

List of generic parameter definitions. Persisted attribute.
Inherited from P_BMM_CLASS

source_schema_id: String [1..1]

Reference to original source schema defining this class. Set during BMM_SCHEMA materialise. Useful for GUI tools to enable user to edit the schema file containing a given class (i.e. taking into account that a class may be in any of the schemas in a schema inclusion hierarchy).
Inherited from P_BMM_CLASS

bmm_class: BMM_ENUMERATION_STRING [0..1]

BMM_CLASS object build by create_bmm_class_definition and populate_bmm_class_definition.

uid: Integer [1..1]

Unique id generated for later comparison during merging, in order to detect if two classes are the same. Assigned in post-load processing.
Inherited from P_BMM_CLASS

ancestor_defs: List<P_BMM_GENERIC_TYPE> [0..1]

List of structured inheritance ancestors, used only in the case of generic inheritance. Persisted attribute.
Inherited from P_BMM_CLASS

item_names: List<String> [0..1]

+ Inherited from P_BMM_ENUMERATION

item_values: List<Any> [0..1]

+ Inherited from P_BMM_ENUMERATION

Functions

is_generic (): Boolean

Post: Result := generic_parameter_defs /= Void [1..1]

True if this class is a generic class.
Inherited from P_BMM_CLASS

create_bmm_class (): void [1..1]

Create bmm_class_definition.
Inherited from P_BMM_CLASS

populate_bmm_class (
a_bmm_schema: BMM_MODEL[1]
): void [1..1]

Add remaining model elements from Current to bmm_class_definition.
Inherited from P_BMM_CLASS

{
    "name": "P_BMM_ENUMERATION_STRING",
    "documentation": "Persistent form of `BMM_ENUMERATION_STRING`.",
    "ancestors": [
        "P_BMM_ENUMERATION"
    ],
    "properties": {
        "bmm_class": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "bmm_class",
            "documentation": "`BMM_CLASS` object build by `_create_bmm_class_definition_` and `_populate_bmm_class_definition_`.",
            "type": "BMM_ENUMERATION_STRING"
        }
    }
}
p bmm enumeration string

P_BMM_ENUMERATION_INTEGER Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_ENUMERATION_INTEGER

Description

Persistent form of an instance of BMM_ENUMERATION_INTEGER.

Inherit

P_BMM_ENUMERATION

Attributes

Signature

Meaning

0..1
(redefined)

bmm_class: BMM_ENUMERATION_INTEGER

BMM_CLASS object build by create_bmm_class_definition and populate_bmm_class_definition.

P_BMM_ENUMERATION_INTEGER

Persistent form of an instance of BMM_ENUMERATION_INTEGER.

Inherits: P_BMM_MODEL_ELEMENT, P_BMM_CLASS, P_BMM_ENUMERATION

Attributes

documentation: String [0..1]

Optional documentation of this element.
Inherited from P_BMM_MODEL_ELEMENT

name: String [1..1]

Name of the class. Persisted attribute.
Inherited from P_BMM_CLASS

ancestors: List<String> [0..1]

List of immediate inheritance parents. If there are generic ancestors, use ancestor_defs instead. Persisted attribute.
Inherited from P_BMM_CLASS

properties: Hash<String,P_BMM_PROPERTY> [0..1]

List of attributes defined in this class. Persistent attribute.
Inherited from P_BMM_CLASS

is_abstract: Boolean [0..1]

True if this is an abstract type. Persisted attribute.
Inherited from P_BMM_CLASS

is_override: Boolean [0..1]

True if this class definition overrides one found in an included schema.
Inherited from P_BMM_CLASS

generic_parameter_defs: Hash<String,P_BMM_GENERIC_PARAMETER> [0..1]

List of generic parameter definitions. Persisted attribute.
Inherited from P_BMM_CLASS

source_schema_id: String [1..1]

Reference to original source schema defining this class. Set during BMM_SCHEMA materialise. Useful for GUI tools to enable user to edit the schema file containing a given class (i.e. taking into account that a class may be in any of the schemas in a schema inclusion hierarchy).
Inherited from P_BMM_CLASS

bmm_class: BMM_ENUMERATION_INTEGER [0..1]

BMM_CLASS object build by create_bmm_class_definition and populate_bmm_class_definition.

uid: Integer [1..1]

Unique id generated for later comparison during merging, in order to detect if two classes are the same. Assigned in post-load processing.
Inherited from P_BMM_CLASS

ancestor_defs: List<P_BMM_GENERIC_TYPE> [0..1]

List of structured inheritance ancestors, used only in the case of generic inheritance. Persisted attribute.
Inherited from P_BMM_CLASS

item_names: List<String> [0..1]

+ Inherited from P_BMM_ENUMERATION

item_values: List<Any> [0..1]

+ Inherited from P_BMM_ENUMERATION

Functions

is_generic (): Boolean

Post: Result := generic_parameter_defs /= Void [1..1]

True if this class is a generic class.
Inherited from P_BMM_CLASS

create_bmm_class (): void [1..1]

Create bmm_class_definition.
Inherited from P_BMM_CLASS

populate_bmm_class (
a_bmm_schema: BMM_MODEL[1]
): void [1..1]

Add remaining model elements from Current to bmm_class_definition.
Inherited from P_BMM_CLASS

{
    "name": "P_BMM_ENUMERATION_INTEGER",
    "documentation": "Persistent form of an instance of `BMM_ENUMERATION_INTEGER`.",
    "ancestors": [
        "P_BMM_ENUMERATION"
    ],
    "properties": {
        "bmm_class": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "bmm_class",
            "documentation": "`BMM_CLASS` object build by `_create_bmm_class_definition_` and `_populate_bmm_class_definition_`.",
            "type": "BMM_ENUMERATION_INTEGER"
        }
    }
}
p bmm enumeration integer

Types

The type-reference hierarchy used to express the types of properties, function parameters and results.

P_BMM_TYPE Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_TYPE (abstract)

Description

Persistent form of BMM_TYPE.

Attributes

Signature

Meaning

0..1

bmm_type: BMM_TYPE

Result of create_bmm_type() call.

Functions

Signature

Meaning

1..1
(abstract)

create_bmm_type (
a_schema: BMM_MODEL[1],
a_class_def: BMM_CLASS[1]
): void

Create appropriate BMM_XXX object; effected in descendants.

1..1
(abstract)

as_type_string (): String

Formal name of the type for display.

P_BMM_TYPE (abstract)

Persistent form of BMM_TYPE.

Attributes

bmm_type: BMM_TYPE [0..1]

Result of create_bmm_type() call.

Functions

(abstract) create_bmm_type (
a_schema: BMM_MODEL[1],
a_class_def: BMM_CLASS[1]
): void [1..1]

Create appropriate BMM_XXX object; effected in descendants.

(abstract) as_type_string (): String [1..1]

Formal name of the type for display.

{
    "name": "P_BMM_TYPE",
    "documentation": "Persistent form of `BMM_TYPE`.",
    "is_abstract": true,
    "properties": {
        "bmm_type": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "bmm_type",
            "documentation": "Result of `_create_bmm_type()_` call.",
            "type": "BMM_TYPE"
        }
    },
    "functions": {
        "create_bmm_type": {
            "name": "create_bmm_type",
            "documentation": "Create appropriate `BMM_XXX` object; effected in descendants.",
            "is_abstract": true,
            "parameters": {
                "a_schema": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "a_schema",
                    "type": "BMM_MODEL"
                },
                "a_class_def": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "a_class_def",
                    "type": "BMM_CLASS"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "void"
            }
        },
        "as_type_string": {
            "name": "as_type_string",
            "documentation": "Formal name of the type for display.",
            "is_abstract": true,
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "String"
            }
        }
    }
}
p bmm type

P_BMM_BASE_TYPE Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_BASE_TYPE (abstract)

Description

Persistent form of BMM_PROPER_TYPE.

Inherit

P_BMM_TYPE

Attributes

Signature

Meaning

0..1

value_constraint: String

P_BMM_BASE_TYPE (abstract)

Persistent form of BMM_PROPER_TYPE.

Inherits: P_BMM_TYPE

Attributes

bmm_type: BMM_TYPE [0..1]

Result of create_bmm_type() call.
Inherited from P_BMM_TYPE

value_constraint: String [0..1]

Functions

(abstract) create_bmm_type (
a_schema: BMM_MODEL[1],
a_class_def: BMM_CLASS[1]
): void [1..1]

Create appropriate BMM_XXX object; effected in descendants.
Inherited from P_BMM_TYPE

(abstract) as_type_string (): String [1..1]

Formal name of the type for display.
Inherited from P_BMM_TYPE

{
    "name": "P_BMM_BASE_TYPE",
    "documentation": "Persistent form of `BMM_PROPER_TYPE`.",
    "is_abstract": true,
    "ancestors": [
        "P_BMM_TYPE"
    ],
    "properties": {
        "value_constraint": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "value_constraint",
            "type": "String"
        }
    }
}
p bmm base type

P_BMM_SIMPLE_TYPE Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_SIMPLE_TYPE

Description

Persistent form of BMM_SIMPLE_TYPE.

Inherit

P_BMM_BASE_TYPE

Attributes

Signature

Meaning

1..1

type: String

Name of type - must be a simple class name.

0..1
(redefined)

bmm_type: BMM_SIMPLE_TYPE

Result of create_bmm_type() call.

P_BMM_SIMPLE_TYPE

Persistent form of BMM_SIMPLE_TYPE.

Inherits: P_BMM_TYPE, P_BMM_BASE_TYPE

Attributes

bmm_type: BMM_SIMPLE_TYPE [0..1]

Result of create_bmm_type() call.

value_constraint: String [0..1]

+ Inherited from P_BMM_BASE_TYPE

type: String [1..1]

Name of type - must be a simple class name.

Functions

(abstract) create_bmm_type (
a_schema: BMM_MODEL[1],
a_class_def: BMM_CLASS[1]
): void [1..1]

Create appropriate BMM_XXX object; effected in descendants.
Inherited from P_BMM_TYPE

(abstract) as_type_string (): String [1..1]

Formal name of the type for display.
Inherited from P_BMM_TYPE

{
    "name": "P_BMM_SIMPLE_TYPE",
    "documentation": "Persistent form of `BMM_SIMPLE_TYPE`.",
    "ancestors": [
        "P_BMM_BASE_TYPE"
    ],
    "properties": {
        "type": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "type",
            "documentation": "Name of type - must be a simple class name.",
            "is_mandatory": true,
            "type": "String"
        },
        "bmm_type": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "bmm_type",
            "documentation": "Result of `_create_bmm_type()_` call.",
            "type": "BMM_SIMPLE_TYPE"
        }
    }
}
p bmm simple type

P_BMM_OPEN_TYPE Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_OPEN_TYPE

Description

Persistent form of BMM_PARAMETER_TYPE.

Inherit

P_BMM_BASE_TYPE

Attributes

Signature

Meaning

1..1

type: String

Simple type parameter as a single letter like 'T', 'G' etc.

0..1
(redefined)

bmm_type: Any

Result of create_bmm_type() call.

P_BMM_OPEN_TYPE

Persistent form of BMM_PARAMETER_TYPE.

Inherits: P_BMM_TYPE, P_BMM_BASE_TYPE

Attributes

bmm_type: Any [0..1]

Result of create_bmm_type() call.

value_constraint: String [0..1]

+ Inherited from P_BMM_BASE_TYPE

type: String [1..1]

Simple type parameter as a single letter like 'T', 'G' etc.

Functions

(abstract) create_bmm_type (
a_schema: BMM_MODEL[1],
a_class_def: BMM_CLASS[1]
): void [1..1]

Create appropriate BMM_XXX object; effected in descendants.
Inherited from P_BMM_TYPE

(abstract) as_type_string (): String [1..1]

Formal name of the type for display.
Inherited from P_BMM_TYPE

{
    "name": "P_BMM_OPEN_TYPE",
    "documentation": "Persistent form of `BMM_PARAMETER_TYPE`.",
    "ancestors": [
        "P_BMM_BASE_TYPE"
    ],
    "properties": {
        "type": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "type",
            "documentation": "Simple type parameter as a single letter like 'T', 'G' etc.",
            "is_mandatory": true,
            "type": "String"
        },
        "bmm_type": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "bmm_type",
            "documentation": "Result of `_create_bmm_type()_` call.",
            "type": "Any"
        }
    }
}
p bmm open type

P_BMM_GENERIC_TYPE Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_GENERIC_TYPE

Description

Persistent form of BMM_GENERIC_TYPE.

Inherit

P_BMM_BASE_TYPE

Attributes

Signature

Meaning

1..1

root_type: String

Root type of this generic type, e.g. Interval in Interval<Integer>.

1..1

generic_parameter_defs: List<P_BMM_TYPE>

Generic parameters of the root_type in this type specifier if non-simple types. The order must match the order of the owning class’s formal generic parameter declarations. Persistent attribute.

0..1

generic_parameters: List<String>

Generic parameters of the root_type in this type specifier, if simple types. The order must match the order of the owning class’s formal generic parameter declarations. Persistent attribute.

0..1
(redefined)

bmm_type: BMM_GENERIC_TYPE

Result of create_bmm_type() call.

Functions

Signature

Meaning

0..1

generic_parameter_refs (): List<P_BMM_TYPE>

Generic parameters of the root_type in this type specifier. The order must match the order of the owning class’s formal generic parameter declarations

P_BMM_GENERIC_TYPE

Persistent form of BMM_GENERIC_TYPE.

Inherits: P_BMM_TYPE, P_BMM_BASE_TYPE

Attributes

bmm_type: BMM_GENERIC_TYPE [0..1]

Result of create_bmm_type() call.

value_constraint: String [0..1]

+ Inherited from P_BMM_BASE_TYPE

root_type: String [1..1]

Root type of this generic type, e.g. Interval in Interval<Integer>.

generic_parameter_defs: List<P_BMM_TYPE> [1..1]

Generic parameters of the root_type in this type specifier if non-simple types. The order must match the order of the owning class’s formal generic parameter declarations. Persistent attribute.

generic_parameters: List<String> [0..1]

Generic parameters of the root_type in this type specifier, if simple types. The order must match the order of the owning class’s formal generic parameter declarations. Persistent attribute.

Functions

(abstract) create_bmm_type (
a_schema: BMM_MODEL[1],
a_class_def: BMM_CLASS[1]
): void [1..1]

Create appropriate BMM_XXX object; effected in descendants.
Inherited from P_BMM_TYPE

(abstract) as_type_string (): String [1..1]

Formal name of the type for display.
Inherited from P_BMM_TYPE

generic_parameter_refs (): List<P_BMM_TYPE> [0..1]

Generic parameters of the root_type in this type specifier. The order must match the order of the owning class’s formal generic parameter declarations

{
    "name": "P_BMM_GENERIC_TYPE",
    "documentation": "Persistent form of `BMM_GENERIC_TYPE`.",
    "ancestors": [
        "P_BMM_BASE_TYPE"
    ],
    "properties": {
        "root_type": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "root_type",
            "documentation": "Root type of this generic type, e.g. `Interval` in `Interval<Integer>`.",
            "is_mandatory": true,
            "type": "String"
        },
        "generic_parameter_defs": {
            "_type": "P_BMM_CONTAINER_PROPERTY",
            "name": "generic_parameter_defs",
            "documentation": "Generic parameters of the root_type in this type specifier if non-simple types. The order must match the order of the owning class's formal generic parameter declarations. Persistent attribute.",
            "is_mandatory": true,
            "type_def": {
                "container_type": "List",
                "type": "P_BMM_TYPE"
            },
            "cardinality": {
                "lower": 1,
                "upper_unbounded": true
            }
        },
        "generic_parameters": {
            "_type": "P_BMM_CONTAINER_PROPERTY",
            "name": "generic_parameters",
            "documentation": "Generic parameters of the `_root_type_` in this type specifier, if simple types. The order must match the order of the owning class's formal generic parameter declarations. Persistent attribute.",
            "type_def": {
                "container_type": "List",
                "type": "String"
            },
            "cardinality": {
                "lower": 0,
                "upper_unbounded": true
            }
        },
        "bmm_type": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "bmm_type",
            "documentation": "Result of `_create_bmm_type()_` call.",
            "type": "BMM_GENERIC_TYPE"
        }
    },
    "functions": {
        "generic_parameter_refs": {
            "name": "generic_parameter_refs",
            "documentation": "Generic parameters of the root_type in this type specifier. The order must match the order of the owning class's formal generic parameter declarations",
            "result": {
                "_type": "P_BMM_CONTAINER_TYPE",
                "container_type": "List",
                "type": "P_BMM_TYPE"
            },
            "is_nullable": true
        }
    }
}
p bmm generic type

P_BMM_CONTAINER_TYPE Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_CONTAINER_TYPE

Description

Persistent form of BMM_CONTAINER_TYPE.

Inherit

P_BMM_TYPE

Attributes

Signature

Meaning

1..1

container_type: String

The type of the container. This converts to the root_type in BMM_GENERIC_TYPE. Persisted attribute.

0..1

type_def: P_BMM_BASE_TYPE

Type definition of type, if not a simple String type reference. Persisted attribute.

0..1

type: String

The target type; this converts to the first parameter in generic_parameters in BMM_GENERIC_TYPE. Persisted attribute.

0..1
(redefined)

bmm_type: BMM_CONTAINER_TYPE

Result of create_bmm_type() call.

Functions

Signature

Meaning

1..1

type_ref (): P_BMM_BASE_TYPE

The target type; this converts to the first parameter in generic_parameters in BMM_GENERIC_TYPE. Persisted attribute.

P_BMM_CONTAINER_TYPE

Persistent form of BMM_CONTAINER_TYPE.

Inherits: P_BMM_TYPE

Attributes

bmm_type: BMM_CONTAINER_TYPE [0..1]

Result of create_bmm_type() call.

container_type: String [1..1]

The type of the container. This converts to the root_type in BMM_GENERIC_TYPE. Persisted attribute.

type_def: P_BMM_BASE_TYPE [0..1]

Type definition of type, if not a simple String type reference. Persisted attribute.

type: String [0..1]

The target type; this converts to the first parameter in generic_parameters in BMM_GENERIC_TYPE. Persisted attribute.

Functions

(abstract) create_bmm_type (
a_schema: BMM_MODEL[1],
a_class_def: BMM_CLASS[1]
): void [1..1]

Create appropriate BMM_XXX object; effected in descendants.
Inherited from P_BMM_TYPE

(abstract) as_type_string (): String [1..1]

Formal name of the type for display.
Inherited from P_BMM_TYPE

type_ref (): P_BMM_BASE_TYPE [1..1]

The target type; this converts to the first parameter in generic_parameters in BMM_GENERIC_TYPE. Persisted attribute.

{
    "name": "P_BMM_CONTAINER_TYPE",
    "documentation": "Persistent form of `BMM_CONTAINER_TYPE`.",
    "ancestors": [
        "P_BMM_TYPE"
    ],
    "properties": {
        "container_type": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "container_type",
            "documentation": "The type of the container. This converts to the `_root_type_` in `BMM_GENERIC_TYPE`. Persisted attribute.",
            "is_mandatory": true,
            "type": "String"
        },
        "type_def": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "type_def",
            "documentation": "Type definition of `_type_`, if not a simple String type reference. Persisted attribute.",
            "type": "P_BMM_BASE_TYPE"
        },
        "type": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "type",
            "documentation": "The target type; this converts to the first parameter in `_generic_parameters_` in `BMM_GENERIC_TYPE`. Persisted attribute.",
            "type": "String"
        },
        "bmm_type": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "bmm_type",
            "documentation": "Result of `_create_bmm_type()_` call.",
            "type": "BMM_CONTAINER_TYPE"
        }
    },
    "functions": {
        "type_ref": {
            "name": "type_ref",
            "documentation": "The target type; this converts to the first parameter in `_generic_parameters_` in `BMM_GENERIC_TYPE`. Persisted attribute.",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "P_BMM_BASE_TYPE"
            }
        }
    }
}
p bmm container type

P_BMM_INDEXED_CONTAINER_TYPE Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_INDEXED_CONTAINER_TYPE

Inherit

P_BMM_CONTAINER_TYPE

Attributes

Signature

Meaning

1..1

index_type: String

0..1
(redefined)

bmm_type: BMM_INDEXED_CONTAINER_TYPE

Result of create_bmm_type() call.

P_BMM_INDEXED_CONTAINER_TYPE

Inherits: P_BMM_TYPE, P_BMM_CONTAINER_TYPE

Attributes

bmm_type: BMM_INDEXED_CONTAINER_TYPE [0..1]

Result of create_bmm_type() call.

container_type: String [1..1]

The type of the container. This converts to the root_type in BMM_GENERIC_TYPE. Persisted attribute.
Inherited from P_BMM_CONTAINER_TYPE

type_def: P_BMM_BASE_TYPE [0..1]

Type definition of type, if not a simple String type reference. Persisted attribute.
Inherited from P_BMM_CONTAINER_TYPE

type: String [0..1]

The target type; this converts to the first parameter in generic_parameters in BMM_GENERIC_TYPE. Persisted attribute.
Inherited from P_BMM_CONTAINER_TYPE

index_type: String [1..1]

Functions

(abstract) create_bmm_type (
a_schema: BMM_MODEL[1],
a_class_def: BMM_CLASS[1]
): void [1..1]

Create appropriate BMM_XXX object; effected in descendants.
Inherited from P_BMM_TYPE

(abstract) as_type_string (): String [1..1]

Formal name of the type for display.
Inherited from P_BMM_TYPE

type_ref (): P_BMM_BASE_TYPE [1..1]

The target type; this converts to the first parameter in generic_parameters in BMM_GENERIC_TYPE. Persisted attribute.
Inherited from P_BMM_CONTAINER_TYPE

{
    "name": "P_BMM_INDEXED_CONTAINER_TYPE",
    "ancestors": [
        "P_BMM_CONTAINER_TYPE"
    ],
    "properties": {
        "index_type": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "index_type",
            "is_mandatory": true,
            "type": "String"
        },
        "bmm_type": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "bmm_type",
            "documentation": "Result of `_create_bmm_type()_` call.",
            "type": "BMM_INDEXED_CONTAINER_TYPE"
        }
    }
}
p bmm indexed container type

Properties

The persisted forms of class attributes: single-valued, open (generic parameter), generic, and container variants.

P_BMM_PROPERTY Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_PROPERTY (abstract)

Description

Persistent form of BMM_PROPERTY.

Inherit

P_BMM_MODEL_ELEMENT

Attributes

Signature

Meaning

1..1

name: String

Name of this property within its class. Persisted attribute.

0..1

is_mandatory: Boolean

True if this property is mandatory in its class. Persisted attribute.

0..1

is_computed: Boolean

True if this property is computed rather than stored in objects of this class. Persisted Attribute.

0..1

is_im_infrastructure: Boolean

True if this property is info model 'infrastructure' rather than 'data'. Persisted attribute.

0..1

is_im_runtime: Boolean

True if this property is info model 'runtime' settable property. Persisted attribute.

0..1

type_def: P_BMM_TYPE

Type definition of this property, if not a simple String type reference. Persisted attribute.

0..1

bmm_property: BMM_PROPERTY

BMM_PROPERTY created by create_bmm_property_definition.

Functions

Signature

Meaning

1..1

create_bmm_property (
a_bmm_schema: BMM_MODEL[1],
a_class_def: BMM_CLASS[1]
): void

Create bmm_property_definition from P_BMM_XX parts.

P_BMM_PROPERTY (abstract)

Persistent form of BMM_PROPERTY.

Inherits: P_BMM_MODEL_ELEMENT

Attributes

documentation: String [0..1]

Optional documentation of this element.
Inherited from P_BMM_MODEL_ELEMENT

name: String [1..1]

Name of this property within its class. Persisted attribute.

is_mandatory: Boolean [0..1]

True if this property is mandatory in its class. Persisted attribute.

is_computed: Boolean [0..1]

True if this property is computed rather than stored in objects of this class. Persisted Attribute.

is_im_infrastructure: Boolean [0..1]

True if this property is info model 'infrastructure' rather than 'data'. Persisted attribute.

is_im_runtime: Boolean [0..1]

True if this property is info model 'runtime' settable property. Persisted attribute.

type_def: P_BMM_TYPE [0..1]

Type definition of this property, if not a simple String type reference. Persisted attribute.

bmm_property: BMM_PROPERTY [0..1]

BMM_PROPERTY created by create_bmm_property_definition.

Functions

create_bmm_property (
a_bmm_schema: BMM_MODEL[1],
a_class_def: BMM_CLASS[1]
): void [1..1]

Create bmm_property_definition from P_BMM_XX parts.

{
    "name": "P_BMM_PROPERTY",
    "documentation": "Persistent form of `BMM_PROPERTY`.",
    "is_abstract": true,
    "ancestors": [
        "P_BMM_MODEL_ELEMENT"
    ],
    "properties": {
        "name": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "name",
            "documentation": "Name of this property within its class. Persisted attribute.",
            "is_mandatory": true,
            "type": "String"
        },
        "is_mandatory": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "is_mandatory",
            "documentation": "True if this property is mandatory in its class. Persisted attribute.",
            "type": "Boolean"
        },
        "is_computed": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "is_computed",
            "documentation": "True if this property is computed rather than stored in objects of this class. Persisted Attribute.",
            "type": "Boolean"
        },
        "is_im_infrastructure": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "is_im_infrastructure",
            "documentation": "True if this property is info model 'infrastructure' rather than 'data'. Persisted attribute.",
            "type": "Boolean"
        },
        "is_im_runtime": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "is_im_runtime",
            "documentation": "True if this property is info model 'runtime' settable property. Persisted attribute.",
            "type": "Boolean"
        },
        "type_def": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "type_def",
            "documentation": "Type definition of this property, if not a simple String type reference. Persisted attribute.",
            "type": "P_BMM_TYPE"
        },
        "bmm_property": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "bmm_property",
            "documentation": "BMM_PROPERTY created by create_bmm_property_definition.",
            "type": "BMM_PROPERTY"
        }
    },
    "functions": {
        "create_bmm_property": {
            "name": "create_bmm_property",
            "documentation": "Create `_bmm_property_definition_` from `P_BMM_XX` parts.",
            "parameters": {
                "a_bmm_schema": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "a_bmm_schema",
                    "type": "BMM_MODEL"
                },
                "a_class_def": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "a_class_def",
                    "type": "BMM_CLASS"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "void"
            }
        }
    }
}
p bmm property

P_BMM_SINGLE_PROPERTY Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_SINGLE_PROPERTY

Description

Persistent form of BMM_SINGLE_PROPERTY.

Inherit

P_BMM_PROPERTY

Attributes

Signature

Meaning

0..1

type: String

If the type is a simple type, then this attribute will hold the type name. If the type is a container or generic, then type_ref will hold the type definition. The resulting type is generated in type_def.

0..1

type_ref: P_BMM_SIMPLE_TYPE

Type definition of this property computed from type for later use in bmm_property.

0..1
(redefined)

bmm_property: BMM_UNITARY_PROPERTY

BMM_PROPERTY created by create_bmm_property_definition.

Functions

Signature

Meaning

1..1

type_def (): P_BMM_SIMPLE_TYPE

Generate type_ref from type and save.

P_BMM_SINGLE_PROPERTY

Persistent form of BMM_SINGLE_PROPERTY.

Inherits: P_BMM_MODEL_ELEMENT, P_BMM_PROPERTY

Attributes

documentation: String [0..1]

Optional documentation of this element.
Inherited from P_BMM_MODEL_ELEMENT

name: String [1..1]

Name of this property within its class. Persisted attribute.
Inherited from P_BMM_PROPERTY

is_mandatory: Boolean [0..1]

True if this property is mandatory in its class. Persisted attribute.
Inherited from P_BMM_PROPERTY

is_computed: Boolean [0..1]

True if this property is computed rather than stored in objects of this class. Persisted Attribute.
Inherited from P_BMM_PROPERTY

is_im_infrastructure: Boolean [0..1]

True if this property is info model 'infrastructure' rather than 'data'. Persisted attribute.
Inherited from P_BMM_PROPERTY

is_im_runtime: Boolean [0..1]

True if this property is info model 'runtime' settable property. Persisted attribute.
Inherited from P_BMM_PROPERTY

type_def: P_BMM_TYPE [0..1]

Type definition of this property, if not a simple String type reference. Persisted attribute.
Inherited from P_BMM_PROPERTY

bmm_property: BMM_UNITARY_PROPERTY [0..1]

BMM_PROPERTY created by create_bmm_property_definition.

type: String [0..1]

If the type is a simple type, then this attribute will hold the type name. If the type is a container or generic, then type_ref will hold the type definition. The resulting type is generated in type_def.

type_ref: P_BMM_SIMPLE_TYPE [0..1]

Type definition of this property computed from type for later use in bmm_property.

Functions

create_bmm_property (
a_bmm_schema: BMM_MODEL[1],
a_class_def: BMM_CLASS[1]
): void [1..1]

Create bmm_property_definition from P_BMM_XX parts.
Inherited from P_BMM_PROPERTY

type_def (): P_BMM_SIMPLE_TYPE [1..1]

Generate type_ref from type and save.

{
    "name": "P_BMM_SINGLE_PROPERTY",
    "documentation": "Persistent form of `BMM_SINGLE_PROPERTY`.",
    "ancestors": [
        "P_BMM_PROPERTY"
    ],
    "properties": {
        "type": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "type",
            "documentation": "If the type is a simple type, then this attribute will hold the type name. If the type is a container or generic, then type_ref will hold the type definition. The resulting type is generated in type_def.",
            "type": "String"
        },
        "type_ref": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "type_ref",
            "documentation": "Type definition of this property computed from `_type_` for later use in `_bmm_property_`.",
            "type": "P_BMM_SIMPLE_TYPE"
        },
        "bmm_property": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "bmm_property",
            "documentation": "`BMM_PROPERTY` created by `_create_bmm_property_definition_`.",
            "type": "BMM_UNITARY_PROPERTY"
        }
    },
    "functions": {
        "type_def": {
            "name": "type_def",
            "documentation": "Generate `_type_ref_` from `_type_` and save.",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "P_BMM_SIMPLE_TYPE"
            }
        }
    }
}
p bmm single property

P_BMM_SINGLE_PROPERTY_OPEN Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_SINGLE_PROPERTY_OPEN

Description

Persistent form of a BMM_SINGLE_PROPERTY_OPEN.

Inherit

P_BMM_PROPERTY

Attributes

Signature

Meaning

0..1

type_ref: P_BMM_OPEN_TYPE

Type definition of this property computed from type for later use in bmm_property.

0..1

type: String

Type definition of this property, if a simple String type reference. Really we should use type_def to be regular in the schema, but that makes the schema more wordy and less clear. So we use this persisted String value, and compute the type_def on the fly. Persisted attribute.

0..1
(redefined)

bmm_property: BMM_UNITARY_PROPERTY

BMM_PROPERTY created by create_bmm_property_definition.

Functions

Signature

Meaning

1..1

type_def (): P_BMM_OPEN_TYPE

Generate type_ref from type and save.

P_BMM_SINGLE_PROPERTY_OPEN

Persistent form of a BMM_SINGLE_PROPERTY_OPEN.

Inherits: P_BMM_MODEL_ELEMENT, P_BMM_PROPERTY

Attributes

documentation: String [0..1]

Optional documentation of this element.
Inherited from P_BMM_MODEL_ELEMENT

name: String [1..1]

Name of this property within its class. Persisted attribute.
Inherited from P_BMM_PROPERTY

is_mandatory: Boolean [0..1]

True if this property is mandatory in its class. Persisted attribute.
Inherited from P_BMM_PROPERTY

is_computed: Boolean [0..1]

True if this property is computed rather than stored in objects of this class. Persisted Attribute.
Inherited from P_BMM_PROPERTY

is_im_infrastructure: Boolean [0..1]

True if this property is info model 'infrastructure' rather than 'data'. Persisted attribute.
Inherited from P_BMM_PROPERTY

is_im_runtime: Boolean [0..1]

True if this property is info model 'runtime' settable property. Persisted attribute.
Inherited from P_BMM_PROPERTY

type_def: P_BMM_TYPE [0..1]

Type definition of this property, if not a simple String type reference. Persisted attribute.
Inherited from P_BMM_PROPERTY

bmm_property: BMM_UNITARY_PROPERTY [0..1]

BMM_PROPERTY created by create_bmm_property_definition.

type_ref: P_BMM_OPEN_TYPE [0..1]

Type definition of this property computed from type for later use in bmm_property.

type: String [0..1]

Type definition of this property, if a simple String type reference. Really we should use type_def to be regular in the schema, but that makes the schema more wordy and less clear. So we use this persisted String value, and compute the type_def on the fly. Persisted attribute.

Functions

create_bmm_property (
a_bmm_schema: BMM_MODEL[1],
a_class_def: BMM_CLASS[1]
): void [1..1]

Create bmm_property_definition from P_BMM_XX parts.
Inherited from P_BMM_PROPERTY

type_def (): P_BMM_OPEN_TYPE [1..1]

Generate type_ref from type and save.

{
    "name": "P_BMM_SINGLE_PROPERTY_OPEN",
    "documentation": "Persistent form of a `BMM_SINGLE_PROPERTY_OPEN`.",
    "ancestors": [
        "P_BMM_PROPERTY"
    ],
    "properties": {
        "type_ref": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "type_ref",
            "documentation": "Type definition of this property computed from `_type_` for later use in `_bmm_property_`.",
            "type": "P_BMM_OPEN_TYPE"
        },
        "type": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "type",
            "documentation": "Type definition of this property, if a simple String type reference. Really we should use `_type_def_` to be regular in the schema, but that makes the schema more wordy and less clear. So we use this persisted String value, and compute the `_type_def_` on the fly. Persisted attribute.",
            "type": "String"
        },
        "bmm_property": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "bmm_property",
            "documentation": "`BMM_PROPERTY` created by `_create_bmm_property_definition_`.",
            "type": "BMM_UNITARY_PROPERTY"
        }
    },
    "functions": {
        "type_def": {
            "name": "type_def",
            "documentation": "Generate `_type_ref_` from `_type_` and save.",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "P_BMM_OPEN_TYPE"
            }
        }
    }
}
p bmm single property open

P_BMM_GENERIC_PROPERTY Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_GENERIC_PROPERTY

Description

Persistent form of BMM_GENERIC_PROPERTY.

Inherit

P_BMM_PROPERTY

Attributes

Signature

Meaning

0..1
(redefined)

type_def: P_BMM_GENERIC_TYPE

Type definition of this property, if not a simple String type reference. Persistent attribute.

0..1
(redefined)

bmm_property: BMM_UNITARY_PROPERTY

BMM_PROPERTY created by create_bmm_property_definition.

P_BMM_GENERIC_PROPERTY

Persistent form of BMM_GENERIC_PROPERTY.

Inherits: P_BMM_MODEL_ELEMENT, P_BMM_PROPERTY

Attributes

documentation: String [0..1]

Optional documentation of this element.
Inherited from P_BMM_MODEL_ELEMENT

name: String [1..1]

Name of this property within its class. Persisted attribute.
Inherited from P_BMM_PROPERTY

is_mandatory: Boolean [0..1]

True if this property is mandatory in its class. Persisted attribute.
Inherited from P_BMM_PROPERTY

is_computed: Boolean [0..1]

True if this property is computed rather than stored in objects of this class. Persisted Attribute.
Inherited from P_BMM_PROPERTY

is_im_infrastructure: Boolean [0..1]

True if this property is info model 'infrastructure' rather than 'data'. Persisted attribute.
Inherited from P_BMM_PROPERTY

is_im_runtime: Boolean [0..1]

True if this property is info model 'runtime' settable property. Persisted attribute.
Inherited from P_BMM_PROPERTY

type_def: P_BMM_GENERIC_TYPE [0..1]

Type definition of this property, if not a simple String type reference. Persistent attribute.

bmm_property: BMM_UNITARY_PROPERTY [0..1]

BMM_PROPERTY created by create_bmm_property_definition.

Functions

create_bmm_property (
a_bmm_schema: BMM_MODEL[1],
a_class_def: BMM_CLASS[1]
): void [1..1]

Create bmm_property_definition from P_BMM_XX parts.
Inherited from P_BMM_PROPERTY

{
    "name": "P_BMM_GENERIC_PROPERTY",
    "documentation": "Persistent form of `BMM_GENERIC_PROPERTY`.",
    "ancestors": [
        "P_BMM_PROPERTY"
    ],
    "properties": {
        "type_def": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "type_def",
            "documentation": "Type definition of this property, if not a simple String type reference. Persistent attribute.",
            "type": "P_BMM_GENERIC_TYPE"
        },
        "bmm_property": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "bmm_property",
            "documentation": "`BMM_PROPERTY` created by `_create_bmm_property_definition_`.",
            "type": "BMM_UNITARY_PROPERTY"
        }
    }
}
p bmm generic property

P_BMM_CONTAINER_PROPERTY Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_CONTAINER_PROPERTY

Description

Persistent form of BMM_CONTAINER_PROPERTY.

Inherit

P_BMM_PROPERTY

Attributes

Signature

Meaning

0..1

cardinality: Interval<Integer>

Cardinality of this property in its class. Persistent attribute.

0..1
(redefined)

type_def: P_BMM_CONTAINER_TYPE

Type definition of this property, if not a simple String type reference. Persistent attribute.

0..1
(redefined)

bmm_property: BMM_CONTAINER_PROPERTY

BMM_PROPERTY created by create_bmm_property.

Functions

Signature

Meaning

1..1
(redefined)

create_bmm_property (
a_bmm_schema: BMM_MODEL[1],
a_class_def: BMM_CLASS[1]
): void

Create bmm_property_definition.

P_BMM_CONTAINER_PROPERTY

Persistent form of BMM_CONTAINER_PROPERTY.

Inherits: P_BMM_MODEL_ELEMENT, P_BMM_PROPERTY

Attributes

documentation: String [0..1]

Optional documentation of this element.
Inherited from P_BMM_MODEL_ELEMENT

name: String [1..1]

Name of this property within its class. Persisted attribute.
Inherited from P_BMM_PROPERTY

is_mandatory: Boolean [0..1]

True if this property is mandatory in its class. Persisted attribute.
Inherited from P_BMM_PROPERTY

is_computed: Boolean [0..1]

True if this property is computed rather than stored in objects of this class. Persisted Attribute.
Inherited from P_BMM_PROPERTY

is_im_infrastructure: Boolean [0..1]

True if this property is info model 'infrastructure' rather than 'data'. Persisted attribute.
Inherited from P_BMM_PROPERTY

is_im_runtime: Boolean [0..1]

True if this property is info model 'runtime' settable property. Persisted attribute.
Inherited from P_BMM_PROPERTY

type_def: P_BMM_CONTAINER_TYPE [0..1]

Type definition of this property, if not a simple String type reference. Persistent attribute.

bmm_property: BMM_CONTAINER_PROPERTY [0..1]

BMM_PROPERTY created by create_bmm_property.

cardinality: Interval<Integer> [0..1]

Cardinality of this property in its class. Persistent attribute.

Functions

create_bmm_property (
a_bmm_schema: BMM_MODEL[1],
a_class_def: BMM_CLASS[1]
): void [1..1]

Create bmm_property_definition.

{
    "name": "P_BMM_CONTAINER_PROPERTY",
    "documentation": "Persistent form of `BMM_CONTAINER_PROPERTY`.",
    "ancestors": [
        "P_BMM_PROPERTY"
    ],
    "properties": {
        "cardinality": {
            "_type": "P_BMM_GENERIC_PROPERTY",
            "name": "cardinality",
            "documentation": "Cardinality of this property in its class. Persistent attribute.",
            "type_def": {
                "root_type": "Interval",
                "generic_parameters": [
                    "Integer"
                ]
            }
        },
        "type_def": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "type_def",
            "documentation": "Type definition of this property, if not a simple String type reference. Persistent attribute.",
            "type": "P_BMM_CONTAINER_TYPE"
        },
        "bmm_property": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "bmm_property",
            "documentation": "`BMM_PROPERTY` created by `_create_bmm_property_`.",
            "type": "BMM_CONTAINER_PROPERTY"
        }
    },
    "functions": {
        "create_bmm_property": {
            "name": "create_bmm_property",
            "documentation": "Create `_bmm_property_definition_`.",
            "parameters": {
                "a_bmm_schema": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "a_bmm_schema",
                    "type": "BMM_MODEL"
                },
                "a_class_def": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "a_class_def",
                    "type": "BMM_CLASS"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "void"
            }
        }
    }
}
p bmm container property

P_BMM_INDEXED_CONTAINER_PROPERTY Class

  • Definition

  • Effective

  • BMM

  • UML

Class

P_BMM_INDEXED_CONTAINER_PROPERTY

Inherit

P_BMM_CONTAINER_PROPERTY

Attributes

Signature

Meaning

0..1
(redefined)

type_def: P_BMM_INDEXED_CONTAINER_TYPE

Type definition of this property, if not a simple String type reference. Persistent attribute.

0..1
(redefined)

bmm_property: BMM_INDEXED_CONTAINER_PROPERTY

BMM_PROPERTY created by create_bmm_property.

P_BMM_INDEXED_CONTAINER_PROPERTY

Inherits: P_BMM_MODEL_ELEMENT, P_BMM_PROPERTY, P_BMM_CONTAINER_PROPERTY

Attributes

documentation: String [0..1]

Optional documentation of this element.
Inherited from P_BMM_MODEL_ELEMENT

name: String [1..1]

Name of this property within its class. Persisted attribute.
Inherited from P_BMM_PROPERTY

is_mandatory: Boolean [0..1]

True if this property is mandatory in its class. Persisted attribute.
Inherited from P_BMM_PROPERTY

is_computed: Boolean [0..1]

True if this property is computed rather than stored in objects of this class. Persisted Attribute.
Inherited from P_BMM_PROPERTY

is_im_infrastructure: Boolean [0..1]

True if this property is info model 'infrastructure' rather than 'data'. Persisted attribute.
Inherited from P_BMM_PROPERTY

is_im_runtime: Boolean [0..1]

True if this property is info model 'runtime' settable property. Persisted attribute.
Inherited from P_BMM_PROPERTY

type_def: P_BMM_INDEXED_CONTAINER_TYPE [0..1]

Type definition of this property, if not a simple String type reference. Persistent attribute.

bmm_property: BMM_INDEXED_CONTAINER_PROPERTY [0..1]

BMM_PROPERTY created by create_bmm_property.

cardinality: Interval<Integer> [0..1]

Cardinality of this property in its class. Persistent attribute.
Inherited from P_BMM_CONTAINER_PROPERTY

Functions

create_bmm_property (
a_bmm_schema: BMM_MODEL[1],
a_class_def: BMM_CLASS[1]
): void [1..1]

Create bmm_property_definition.
Inherited from P_BMM_CONTAINER_PROPERTY

{
    "name": "P_BMM_INDEXED_CONTAINER_PROPERTY",
    "ancestors": [
        "P_BMM_CONTAINER_PROPERTY"
    ],
    "properties": {
        "type_def": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "type_def",
            "documentation": "Type definition of this property, if not a simple String type reference. Persistent attribute.",
            "type": "P_BMM_INDEXED_CONTAINER_TYPE"
        },
        "bmm_property": {
            "_type": "P_BMM_SINGLE_PROPERTY",
            "name": "bmm_property",
            "documentation": "`BMM_PROPERTY` created by `_create_bmm_property_`.",
            "type": "BMM_INDEXED_CONTAINER_PROPERTY"
        }
    }
}
p bmm indexed container property

Functions

The persisted forms of class functions (routines) and their formal parameters, following the same single, open, container and generic distinctions as properties.

Constants

The persisted form of a named, typed constant defined on a class.