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

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_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_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_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

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_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_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_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

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

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