The CASCaRA metamodel is a 'platform independent model' (PIM) in OMG terms and defines both the CADSCaRA types (above the dashed line) and the CASCaRA instances (below the dashed line), forming the CASCaRA Product Information Graph in the application domain. CASCaRA types are owl:Class, owl:DatatypeProperty or owl:ObjectProperty. Identifiable CASCaRA instances are owl:NamedIndividual. In the specification/ implementation domain, both CASCaRA types and instances are application data which are modeled as UML classes:
All constraints must be satisfied in addition to the JSON-LD schemata, XML schemata or RDF shapes.
| Element Type | Diagram |
| Notation | UML Class Diagram |
Each property belongs to a single anEntity, aRelationship or aPackage. A property has no identifier, thus a property update results in a new revision of the item to which it belongs. Is project data ('payload') having a clear meaning, datatype and range through its type Property.
Details:
| Element Type | Class |
| aProperty | composes |
aProperty
|
| aProperty | has part |
value
|
|
anElement
|
hasProperty | aProperty |
|
CASCaRA_Metamodel_Diagram
|
shows | aProperty |
| aProperty | specializes |
Item
|
| aProperty | type |
Property
|
The value of aProperty.
Details:
| Element Type | uml:Property |
|
aProperty
|
has part | value |
|
CASCaRA_Metamodel_Diagram
|
shows | value |
A link instance serving as source for a reified aRelationship. aSourceLink has no identifier, thus a property update results in a new revision of the item to which it belongs.
From a semantic point of view, there is no need to make a distinction between aSourceLink and aTargetLink at the metamodel level. The distinction can be done and is made at ontology level in the CASCaRA Semantic Infrastructure. However it is much easier to check the pattern/schema/shape and to ingest data, if the itemType makes the distinction.
Details:
Example:
| Element Type | Class |
|
aRelationship
|
hasSourceLink | aSourceLink |
|
CASCaRA_Metamodel_Diagram
|
shows | aSourceLink |
| aSourceLink | specializes |
aLink
|
All sub-classes of this class (in UML terms) are identifiable, means they have an identifier, a title (name) and optionally a description.
Details:
| Element Type | Class |
|
aPackage
|
graph | Identifiable |
| Identifiable | has part |
creator
description id modified priorRevision revision title |
|
CASCaRA_Metamodel_Diagram
|
shows | Identifiable |
|
anElement
Configurable Element |
specializes | Identifiable |
| Identifiable | specializes |
Item
|
A globally unique identifier, either a fully qualified URI or a name with namespace standing for an URI, see aPackage context.
| Element Type | uml:Property |
|
Identifiable
Value |
has part | id |
|
CASCaRA_Metamodel_Diagram
|
shows | id |
A multiLanguageText. Maps to dcterms:title or rdf:label.
Details:
| Element Type | uml:Property |
|
Identifiable
Value |
has part | title |
|
CASCaRA_Metamodel_Diagram
|
shows | title |
A multiLanguageText. Maps to dcterms:description.
Details:
| Element Type | uml:Property |
|
Identifiable
|
has part | description |
|
CASCaRA_Metamodel_Diagram
|
shows | description |
A ISO-8601 DateTime value recording the point in time of the last change.
| Element Type | uml:Property |
|
Identifiable
|
has part | modified |
|
CASCaRA_Metamodel_Diagram
|
shows | modified |
A unique string identifying the revision of the entity or relationship instance.
| Element Type | uml:Property |
|
Identifiable
|
has part | revision |
|
CASCaRA_Metamodel_Diagram
|
shows | revision |
Links to the previous revisions of an entity or relationship instance. It is a list with
| Element Type | uml:Property |
|
Identifiable
|
has part | priorRevision |
|
CASCaRA_Metamodel_Diagram
|
shows | priorRevision |
The person committing the last change. Is often an e-mail address.
| Element Type | uml:Property |
|
Identifiable
|
has part | creator |
|
CASCaRA_Metamodel_Diagram
|
shows | creator |
A super-class (in UML terms) of Entity (type of entities) and Relationship (type of relationships).
Details:
| Element Type | Class |
|
Link
|
enumeratedEndpoint | Element |
| Element | enumeratedProperty |
Property
|
| Element | has part |
color
definition globalTitle icon |
|
CASCaRA_Metamodel_Diagram
|
shows | Element |
|
Entity
Enumeration Relationship |
specializes | Element |
| Element | specializes |
Identifiable
|
A multiLanguageText mandatory for all types. Maps to skos:definition.
| Element Type | uml:Property |
|
Element
|
has part | definition |
|
CASCaRA_Metamodel_Diagram
|
shows | definition |
An icon defined with a type can be used to decorate the instances.
Example:
| Element Type | uml:Property |
|
Element
|
has part | icon |
|
CASCaRA_Metamodel_Diagram
|
shows | icon |
| Element Type | uml:Property |
|
Element
|
has part | color |
|
CASCaRA_Metamodel_Diagram
|
shows | color |
The title assigned by matching the title with the terms of the ontology by the 'globalize' operation.
| Element Type | uml:Property |
|
Configurable
Element |
has part | globalTitle |
|
CASCaRA_Metamodel_Diagram
|
shows | globalTitle |
Is an identifiable link type. It is used as a named connector between a reified Relationship and its source and target, or as a named connector between an Entity and a directly related target. A Link is an owl:ObjectProperty.
Details:
Examples:
| Element Type | Class |
| Link | enumeratedEndpoint |
Element
|
|
Relationship
|
enumeratedSourceLink | Link |
|
Entity
Relationship |
enumeratedTargetLink | Link |
| Link | has part |
revisionAware
|
|
CASCaRA_Metamodel_Diagram
|
shows | Link |
| Link | specializes |
Configurable
Link |
|
aLink
|
type | Link |
Indicates whether an instance of this type is valid for a specific or any revision of the specified endpoints.
Details:
Examples:
| Element Type | uml:Property |
|
Link
|
has part | revisionAware |
|
CASCaRA_Metamodel_Diagram
|
shows | revisionAware |
A link instance pointing to the target of a reified aRelationship or to one or more targets of anEntity. aTargetLink has no identifier, thus a property update results in a new revision of the item to which it belongs.
From a semantic point of view, there is no need to make a distinction between aSourceLink and aTargetLink at the metamodel level. The distinction can be done and is made at ontology level in the CASCaRA Semantic Infrastructure. However it is much easier to check the pattern/schema/shape and to ingest data, if the itemType is explicit.
Details:
Examples:
| Element Type | Class |
|
anEntity
aRelationship |
hasTargetLink | aTargetLink |
| aTargetLink | hasValue |
Value
|
|
CASCaRA_Metamodel_Diagram
|
shows | aTargetLink |
| aTargetLink | specializes |
aLink
|
Entity is a type of model elements, such as a system component or a requirement. An Entity is an owl:Class.
Details:
| Element Type | Class |
| Entity | enumeratedTargetLink |
Link
|
|
CASCaRA_Metamodel_Diagram
|
shows | Entity |
| Entity | specializes |
Element
Entity |
|
anEntity
|
type | Entity |
Is used for instances of model-elements such as a system component or a requirement. Is project data ('payload') having a clear meaning through its type Entity.
Details:
| Element Type | Class |
| anEntity | hasTargetLink |
aTargetLink
|
|
CASCaRA_Metamodel_Diagram
|
shows | anEntity |
|
aPackage
|
specializes | anEntity |
| anEntity | specializes |
anElement
|
| anEntity | type |
Entity
|
Is used for relations between entities, such as a 'system component satisfies a requirement'. All relationships are bilateral and directed. Is project data ('payload') having a clear meaning through its type Relationship.
Details:
| Element Type | Class |
| aRelationship | hasSourceLink |
aSourceLink
|
| aRelationship | hasTargetLink |
aTargetLink
|
|
CASCaRA_Metamodel_Diagram
|
shows | aRelationship |
| aRelationship | specializes |
anElement
|
| aRelationship | type |
Relationship
|
The super-class (in UML terms) of all CASCaRA metamodel items specifying the type of item to allow for simple schema checking and transformation.
Details:
| Element Type | Class |
| Item | has part |
itemType
|
|
CASCaRA_Metamodel_Diagram
|
shows | Item |
|
aLink
aProperty Identifiable |
specializes | Item |
Denotes CASCaRA types and instances in terms of this metamodel. It must be made explicit in all representations without native reasoner, such as in object-oriented programming, JSON, JSON-LD and XML. It may be omitted in RDF/OWL, as the top of the type hierarchy shall correspond to the metamodel itemType (see CASCaRA Semantic Infrastructure and the itemType can be derived with a standard OWL reasoner.
Details:
| Element Type | uml:Property |
|
Item
|
has part | itemType |
|
CASCaRA_Metamodel_Diagram
|
shows | itemType |
Is a super-class (in UML terms) for link instances aSourceLink and aTargetLink.
Details:
| Element Type | Class |
| aLink | hasEndpoint |
anElement
|
|
CASCaRA_Metamodel_Diagram
|
shows | aLink |
|
aSourceLink
aTargetLink |
specializes | aLink |
| aLink | specializes |
Item
|
| aLink | type |
Link
|
A super-class (in UML terms) of anEntity and aRelationship.
Details:
| Element Type | Class |
|
aLink
|
hasEndpoint | anElement |
| anElement | hasProperty |
aProperty
|
|
CASCaRA_Metamodel_Diagram
|
shows | anElement |
|
anEntity
aRelationship |
specializes | anElement |
| anElement | specializes |
Identifiable
|
Every type Entity and Relationship can have an individual set of configurable properties, each of which is uniquely defined by id (name), datatype and range. A Property is an owl:DatatypeProperty.
Details:
Example:
| Element Type | Class |
| Property | composes |
Property
|
|
Element
|
enumeratedProperty | Property |
| Property | has part |
datatype
maxInclusive maxLength minInclusive pattern |
|
CASCaRA_Metamodel_Diagram
|
shows | Property |
| Property | specializes |
Configurable
Property |
|
aProperty
|
type | Property |
One of the xs: data types. Shall be anyURI.
| Element Type | uml:Property |
|
Enumeration
Property |
has part | datatype |
|
CASCaRA_Metamodel_Diagram
|
shows | datatype |
Maximum length of a property value with datatype 'xs:string'. Is not allowed with any other datatype.
| Element Type | uml:Property |
|
Property
|
has part | maxLength |
|
CASCaRA_Metamodel_Diagram
|
shows | maxLength |
The minimum value a property of this type may have. May be applied only for numeric datatypes. It the intrinsic minimum value of the datatype by default.
| Element Type | uml:Property |
|
Property
|
has part | minInclusive |
|
CASCaRA_Metamodel_Diagram
|
shows | minInclusive |
The maximum value a property of this type may have. May be applied only for numeric datatypes. It the intrinsic maximum value of the datatype by default.
| Element Type | uml:Property |
|
Property
|
has part | maxInclusive |
|
CASCaRA_Metamodel_Diagram
|
shows | maxInclusive |
A Regular Expression that must evaluate successfully with the property value. Can also be used to limit the number of decimals of a number, as there is no restriction like xs:fractionDigits in SHACL.
| Element Type | uml:Property |
|
Property
|
has part | pattern |
|
CASCaRA_Metamodel_Diagram
|
shows | pattern |
A type of relationships between two entities to allow assertions such as 'a system component satisfies a requirement'. All relationships are bilateral and directed. This allows for statements according to propositional logic. They can be easily mapped to many technologies such as RDF or even ReqIF. Being reified, a Relationship is an owl:Class.
Details:
| Element Type | Class |
| Relationship | enumeratedSourceLink |
Link
|
| Relationship | enumeratedTargetLink |
Link
|
| Relationship | has part |
globalReversed
|
|
CASCaRA_Metamodel_Diagram
|
shows | Relationship |
| Relationship | specializes |
Element
Relationship |
|
aRelationship
|
type | Relationship |
If set, the instances of the Relationship are interpreted in reverse direction when evaluated in the global graph.
Example:
| Element Type | uml:Property |
|
Relationship
|
has part | globalReversed |
|
CASCaRA_Metamodel_Diagram
|
shows | globalReversed |
A type defining a set of enumerated values, where each value has an id and either a multi-language title in case of datatype xs:string or otherwise a simple value.
A corresponding Link type must be defined with an enumeratedEndpoint to this Enumeration. For example, anEntity 'Requirement-XYZ' has aTargetLink 'Priority' pointing to aValue 'medium' being an instance of Enumeration 'Priority-Values'.
Details:
| Element Type | Class |
| Enumeration | enumeratedValue |
Value
|
| Enumeration | has part |
datatype
|
|
CASCaRA_Metamodel_Diagram
|
shows | Enumeration |
| Enumeration | specializes |
Element
Enumeration |
One of the xs: data types. Shall be anyURI.
| Element Type | uml:Property |
|
Enumeration
Property |
has part | datatype |
|
CASCaRA_Metamodel_Diagram
|
shows | datatype |
A container for any selection of identifiable metamodel items. Standardized and addressable types can be omitted from aPackage. aPackage may contain specific types (from organization or project ontologies) plus the instances of interest.
Details:
| Element Type | Class |
| aPackage | graph |
Identifiable
|
| aPackage | has part |
context
|
|
CASCaRA_Metamodel_Diagram
|
shows | aPackage |
| aPackage | specializes |
anEntity
|
A list of IRIs per namespace abbreviation. Used as sequence of @prefix in RDF/Turtle, sequence of xmlns: in XML and @context in JSON-LD.
| Element Type | uml:Property |
|
aPackage
|
has part | context |
|
CASCaRA_Metamodel_Diagram
|
shows | context |
Besides 'native' properties which are defined by the metamodel (such as title and description), an Element can have configurable properties and links. Those configurable properties and links support a dynamic data model, so that the ontology can evolve over time without software change. Additional detail such as data type and range can be provided to build dynamic forms, for example. It is in fact the core feature to separate CASCaRA syntax and semantics.
Details:
| Element Type | Class |
| Configurable | has part |
defaultValue
globalTitle maxCount minCount readOnly |
|
CASCaRA_Metamodel_Diagram
|
shows | Configurable |
|
Link
Property |
specializes | Configurable |
| Configurable | specializes |
Identifiable
|
The minimum count of a 'configurable' defined by an Element type for its instances. Thus anElement owning aProperty or aLink must have at least this number of occurrences. Is '0' by default.
For example, if a property type 'Priority' has a minCount=1 and a requirement type specifies an enumeratedProperty 'Priority', a requirement instance must have at least one property of type Priority (with a value).
| Element Type | uml:Property |
|
Configurable
|
has part | minCount |
|
CASCaRA_Metamodel_Diagram
|
shows | minCount |
The maximum count of a 'configurable' defined by an Element type for its instances. Thus anElement owning aProperty or aLink must have at most this number of occurrences. Is '0' by default.
For example, if a property type 'Priority' has a maxCount=1 and a requirement type specifies an enumeratedProperty 'Priority', a requirement instance must have no more than one property of type Priority (with a value).
| Element Type | uml:Property |
|
Configurable
|
has part | maxCount |
|
CASCaRA_Metamodel_Diagram
|
shows | maxCount |
Optional default value(s) in case an Element's property does not have an individual value when instantiated. It may be changed later on, unless readOnly is set, and must follow the definitions of the Property type resp. Link type at all times, of course.
Details:
| Element Type | uml:Property |
|
Configurable
|
has part | defaultValue |
|
CASCaRA_Metamodel_Diagram
|
shows | defaultValue |
The property value of an individual aPackage, anEntity or aRelationship is assiged with the defaultValue at creation and may not be updated or deleted during the individual's lifetime.
For example, this feature is needed to represent SysML v2 models where constant attributes are defined at type level and assigned to all instances.
| Element Type | uml:Property |
|
Configurable
|
has part | readOnly |
|
CASCaRA_Metamodel_Diagram
|
shows | readOnly |
The title assigned by matching the title with the terms of the ontology by the 'globalize' operation.
| Element Type | uml:Property |
|
Configurable
Element |
has part | globalTitle |
|
CASCaRA_Metamodel_Diagram
|
shows | globalTitle |
Is a defined value of an Enumeration. If present, it must have either a title or a value.
Details:
An instance (anEntity, aRelationship or aPackage) then has aTargetLink pointing to zero to many (0..n) enumeratedValues with hasView. The permissible number of values is defined by minCount and maxCount of the type of aTargetLink.
| Element Type | Class |
|
Enumeration
|
enumeratedValue | Value |
| Value | has part |
id
title |
|
aTargetLink
|
hasValue | Value |
|
CASCaRA_Metamodel_Diagram
|
shows | Value |
A globally unique identifier, either a fully qualified URI or a name with namespace standing for an URI, see aPackage context.
| Element Type | uml:Property |
|
Identifiable
Value |
has part | id |
|
CASCaRA_Metamodel_Diagram
|
shows | id |
A multiLanguageText. Maps to dcterms:title or rdf:label.
Details:
| Element Type | uml:Property |
|
Identifiable
Value |
has part | title |
|
CASCaRA_Metamodel_Diagram
|
shows | title |
Schemata are (resp. will be) made available for the native CASCaRA formats; they are 'Platform Specific Models' (PSM) in OMG terms:
Note: Schemata can only check the format of a data-set. Constraints apply in addition. Please refer to the Metamodel chapter above.
| Element Type | Package |
| Element Type | Model Elements (Glossary) |
Is a super-class (in UML terms) for link instances aSourceLink and aTargetLink.
Details:
| Element Type | Class |
| aLink | hasEndpoint |
anElement
|
|
CASCaRA_Metamodel_Diagram
|
shows | aLink |
|
aSourceLink
aTargetLink |
specializes | aLink |
| aLink | specializes |
Item
|
| aLink | type |
Link
|
A super-class (in UML terms) of anEntity and aRelationship.
Details:
| Element Type | Class |
|
aLink
|
hasEndpoint | anElement |
| anElement | hasProperty |
aProperty
|
|
CASCaRA_Metamodel_Diagram
|
shows | anElement |
|
anEntity
aRelationship |
specializes | anElement |
| anElement | specializes |
Identifiable
|
Is used for instances of model-elements such as a system component or a requirement. Is project data ('payload') having a clear meaning through its type Entity.
Details:
| Element Type | Class |
| anEntity | hasTargetLink |
aTargetLink
|
|
CASCaRA_Metamodel_Diagram
|
shows | anEntity |
|
aPackage
|
specializes | anEntity |
| anEntity | specializes |
anElement
|
| anEntity | type |
Entity
|
A container for any selection of identifiable metamodel items. Standardized and addressable types can be omitted from aPackage. aPackage may contain specific types (from organization or project ontologies) plus the instances of interest.
Details:
| Element Type | Class |
| aPackage | graph |
Identifiable
|
| aPackage | has part |
context
|
|
CASCaRA_Metamodel_Diagram
|
shows | aPackage |
| aPackage | specializes |
anEntity
|
Each property belongs to a single anEntity, aRelationship or aPackage. A property has no identifier, thus a property update results in a new revision of the item to which it belongs. Is project data ('payload') having a clear meaning, datatype and range through its type Property.
Details:
| Element Type | Class |
| aProperty | composes |
aProperty
|
| aProperty | has part |
value
|
|
anElement
|
hasProperty | aProperty |
|
CASCaRA_Metamodel_Diagram
|
shows | aProperty |
| aProperty | specializes |
Item
|
| aProperty | type |
Property
|
Is used for relations between entities, such as a 'system component satisfies a requirement'. All relationships are bilateral and directed. Is project data ('payload') having a clear meaning through its type Relationship.
Details:
| Element Type | Class |
| aRelationship | hasSourceLink |
aSourceLink
|
| aRelationship | hasTargetLink |
aTargetLink
|
|
CASCaRA_Metamodel_Diagram
|
shows | aRelationship |
| aRelationship | specializes |
anElement
|
| aRelationship | type |
Relationship
|
A link instance serving as source for a reified aRelationship. aSourceLink has no identifier, thus a property update results in a new revision of the item to which it belongs.
From a semantic point of view, there is no need to make a distinction between aSourceLink and aTargetLink at the metamodel level. The distinction can be done and is made at ontology level in the CASCaRA Semantic Infrastructure. However it is much easier to check the pattern/schema/shape and to ingest data, if the itemType makes the distinction.
Details:
Example:
| Element Type | Class |
|
aRelationship
|
hasSourceLink | aSourceLink |
|
CASCaRA_Metamodel_Diagram
|
shows | aSourceLink |
| aSourceLink | specializes |
aLink
|
A link instance pointing to the target of a reified aRelationship or to one or more targets of anEntity. aTargetLink has no identifier, thus a property update results in a new revision of the item to which it belongs.
From a semantic point of view, there is no need to make a distinction between aSourceLink and aTargetLink at the metamodel level. The distinction can be done and is made at ontology level in the CASCaRA Semantic Infrastructure. However it is much easier to check the pattern/schema/shape and to ingest data, if the itemType is explicit.
Details:
Examples:
| Element Type | Class |
|
anEntity
aRelationship |
hasTargetLink | aTargetLink |
| aTargetLink | hasValue |
Value
|
|
CASCaRA_Metamodel_Diagram
|
shows | aTargetLink |
| aTargetLink | specializes |
aLink
|
| Element Type | uml:Property |
|
Element
|
has part | color |
|
CASCaRA_Metamodel_Diagram
|
shows | color |
Besides 'native' properties which are defined by the metamodel (such as title and description), an Element can have configurable properties and links. Those configurable properties and links support a dynamic data model, so that the ontology can evolve over time without software change. Additional detail such as data type and range can be provided to build dynamic forms, for example. It is in fact the core feature to separate CASCaRA syntax and semantics.
Details:
| Element Type | Class |
| Configurable | has part |
defaultValue
globalTitle maxCount minCount readOnly |
|
CASCaRA_Metamodel_Diagram
|
shows | Configurable |
|
Link
Property |
specializes | Configurable |
| Configurable | specializes |
Identifiable
|
A list of IRIs per namespace abbreviation. Used as sequence of @prefix in RDF/Turtle, sequence of xmlns: in XML and @context in JSON-LD.
| Element Type | uml:Property |
|
aPackage
|
has part | context |
|
CASCaRA_Metamodel_Diagram
|
shows | context |
The person committing the last change. Is often an e-mail address.
| Element Type | uml:Property |
|
Identifiable
|
has part | creator |
|
CASCaRA_Metamodel_Diagram
|
shows | creator |
One of the xs: data types. Shall be anyURI.
| Element Type | uml:Property |
|
Enumeration
Property |
has part | datatype |
|
CASCaRA_Metamodel_Diagram
|
shows | datatype |
Optional default value(s) in case an Element's property does not have an individual value when instantiated. It may be changed later on, unless readOnly is set, and must follow the definitions of the Property type resp. Link type at all times, of course.
Details:
| Element Type | uml:Property |
|
Configurable
|
has part | defaultValue |
|
CASCaRA_Metamodel_Diagram
|
shows | defaultValue |
A multiLanguageText mandatory for all types. Maps to skos:definition.
| Element Type | uml:Property |
|
Element
|
has part | definition |
|
CASCaRA_Metamodel_Diagram
|
shows | definition |
A multiLanguageText. Maps to dcterms:description.
Details:
| Element Type | uml:Property |
|
Identifiable
|
has part | description |
|
CASCaRA_Metamodel_Diagram
|
shows | description |
A super-class (in UML terms) of Entity (type of entities) and Relationship (type of relationships).
Details:
| Element Type | Class |
|
Link
|
enumeratedEndpoint | Element |
| Element | enumeratedProperty |
Property
|
| Element | has part |
color
definition globalTitle icon |
|
CASCaRA_Metamodel_Diagram
|
shows | Element |
|
Entity
Enumeration Relationship |
specializes | Element |
| Element | specializes |
Identifiable
|
Entity is a type of model elements, such as a system component or a requirement. An Entity is an owl:Class.
Details:
| Element Type | Class |
| Entity | enumeratedTargetLink |
Link
|
|
CASCaRA_Metamodel_Diagram
|
shows | Entity |
| Entity | specializes |
Element
Entity |
|
anEntity
|
type | Entity |
A type defining a set of enumerated values, where each value has an id and either a multi-language title in case of datatype xs:string or otherwise a simple value.
A corresponding Link type must be defined with an enumeratedEndpoint to this Enumeration. For example, anEntity 'Requirement-XYZ' has aTargetLink 'Priority' pointing to aValue 'medium' being an instance of Enumeration 'Priority-Values'.
Details:
| Element Type | Class |
| Enumeration | enumeratedValue |
Value
|
| Enumeration | has part |
datatype
|
|
CASCaRA_Metamodel_Diagram
|
shows | Enumeration |
| Enumeration | specializes |
Element
Enumeration |
If set, the instances of the Relationship are interpreted in reverse direction when evaluated in the global graph.
Example:
| Element Type | uml:Property |
|
Relationship
|
has part | globalReversed |
|
CASCaRA_Metamodel_Diagram
|
shows | globalReversed |
The title assigned by matching the title with the terms of the ontology by the 'globalize' operation.
| Element Type | uml:Property |
|
Configurable
Element |
has part | globalTitle |
|
CASCaRA_Metamodel_Diagram
|
shows | globalTitle |
An icon defined with a type can be used to decorate the instances.
Example:
| Element Type | uml:Property |
|
Element
|
has part | icon |
|
CASCaRA_Metamodel_Diagram
|
shows | icon |
A globally unique identifier, either a fully qualified URI or a name with namespace standing for an URI, see aPackage context.
| Element Type | uml:Property |
|
Identifiable
Value |
has part | id |
|
CASCaRA_Metamodel_Diagram
|
shows | id |
All sub-classes of this class (in UML terms) are identifiable, means they have an identifier, a title (name) and optionally a description.
Details:
| Element Type | Class |
|
aPackage
|
graph | Identifiable |
| Identifiable | has part |
creator
description id modified priorRevision revision title |
|
CASCaRA_Metamodel_Diagram
|
shows | Identifiable |
|
anElement
Configurable Element |
specializes | Identifiable |
| Identifiable | specializes |
Item
|
The super-class (in UML terms) of all CASCaRA metamodel items specifying the type of item to allow for simple schema checking and transformation.
Details:
| Element Type | Class |
| Item | has part |
itemType
|
|
CASCaRA_Metamodel_Diagram
|
shows | Item |
|
aLink
aProperty Identifiable |
specializes | Item |
Denotes CASCaRA types and instances in terms of this metamodel. It must be made explicit in all representations without native reasoner, such as in object-oriented programming, JSON, JSON-LD and XML. It may be omitted in RDF/OWL, as the top of the type hierarchy shall correspond to the metamodel itemType (see CASCaRA Semantic Infrastructure and the itemType can be derived with a standard OWL reasoner.
Details:
| Element Type | uml:Property |
|
Item
|
has part | itemType |
|
CASCaRA_Metamodel_Diagram
|
shows | itemType |
Is an identifiable link type. It is used as a named connector between a reified Relationship and its source and target, or as a named connector between an Entity and a directly related target. A Link is an owl:ObjectProperty.
Details:
Examples:
| Element Type | Class |
| Link | enumeratedEndpoint |
Element
|
|
Relationship
|
enumeratedSourceLink | Link |
|
Entity
Relationship |
enumeratedTargetLink | Link |
| Link | has part |
revisionAware
|
|
CASCaRA_Metamodel_Diagram
|
shows | Link |
| Link | specializes |
Configurable
Link |
|
aLink
|
type | Link |
The maximum count of a 'configurable' defined by an Element type for its instances. Thus anElement owning aProperty or aLink must have at most this number of occurrences. Is '0' by default.
For example, if a property type 'Priority' has a maxCount=1 and a requirement type specifies an enumeratedProperty 'Priority', a requirement instance must have no more than one property of type Priority (with a value).
| Element Type | uml:Property |
|
Configurable
|
has part | maxCount |
|
CASCaRA_Metamodel_Diagram
|
shows | maxCount |
The maximum value a property of this type may have. May be applied only for numeric datatypes. It the intrinsic maximum value of the datatype by default.
| Element Type | uml:Property |
|
Property
|
has part | maxInclusive |
|
CASCaRA_Metamodel_Diagram
|
shows | maxInclusive |
Maximum length of a property value with datatype 'xs:string'. Is not allowed with any other datatype.
| Element Type | uml:Property |
|
Property
|
has part | maxLength |
|
CASCaRA_Metamodel_Diagram
|
shows | maxLength |
The minimum count of a 'configurable' defined by an Element type for its instances. Thus anElement owning aProperty or aLink must have at least this number of occurrences. Is '0' by default.
For example, if a property type 'Priority' has a minCount=1 and a requirement type specifies an enumeratedProperty 'Priority', a requirement instance must have at least one property of type Priority (with a value).
| Element Type | uml:Property |
|
Configurable
|
has part | minCount |
|
CASCaRA_Metamodel_Diagram
|
shows | minCount |
The minimum value a property of this type may have. May be applied only for numeric datatypes. It the intrinsic minimum value of the datatype by default.
| Element Type | uml:Property |
|
Property
|
has part | minInclusive |
|
CASCaRA_Metamodel_Diagram
|
shows | minInclusive |
A ISO-8601 DateTime value recording the point in time of the last change.
| Element Type | uml:Property |
|
Identifiable
|
has part | modified |
|
CASCaRA_Metamodel_Diagram
|
shows | modified |
A Regular Expression that must evaluate successfully with the property value. Can also be used to limit the number of decimals of a number, as there is no restriction like xs:fractionDigits in SHACL.
| Element Type | uml:Property |
|
Property
|
has part | pattern |
|
CASCaRA_Metamodel_Diagram
|
shows | pattern |
Links to the previous revisions of an entity or relationship instance. It is a list with
| Element Type | uml:Property |
|
Identifiable
|
has part | priorRevision |
|
CASCaRA_Metamodel_Diagram
|
shows | priorRevision |
Every type Entity and Relationship can have an individual set of configurable properties, each of which is uniquely defined by id (name), datatype and range. A Property is an owl:DatatypeProperty.
Details:
Example:
| Element Type | Class |
| Property | composes |
Property
|
|
Element
|
enumeratedProperty | Property |
| Property | has part |
datatype
maxInclusive maxLength minInclusive pattern |
|
CASCaRA_Metamodel_Diagram
|
shows | Property |
| Property | specializes |
Configurable
Property |
|
aProperty
|
type | Property |
The property value of an individual aPackage, anEntity or aRelationship is assiged with the defaultValue at creation and may not be updated or deleted during the individual's lifetime.
For example, this feature is needed to represent SysML v2 models where constant attributes are defined at type level and assigned to all instances.
| Element Type | uml:Property |
|
Configurable
|
has part | readOnly |
|
CASCaRA_Metamodel_Diagram
|
shows | readOnly |
A type of relationships between two entities to allow assertions such as 'a system component satisfies a requirement'. All relationships are bilateral and directed. This allows for statements according to propositional logic. They can be easily mapped to many technologies such as RDF or even ReqIF. Being reified, a Relationship is an owl:Class.
Details:
| Element Type | Class |
| Relationship | enumeratedSourceLink |
Link
|
| Relationship | enumeratedTargetLink |
Link
|
| Relationship | has part |
globalReversed
|
|
CASCaRA_Metamodel_Diagram
|
shows | Relationship |
| Relationship | specializes |
Element
Relationship |
|
aRelationship
|
type | Relationship |
A unique string identifying the revision of the entity or relationship instance.
| Element Type | uml:Property |
|
Identifiable
|
has part | revision |
|
CASCaRA_Metamodel_Diagram
|
shows | revision |
Indicates whether an instance of this type is valid for a specific or any revision of the specified endpoints.
Details:
Examples:
| Element Type | uml:Property |
|
Link
|
has part | revisionAware |
|
CASCaRA_Metamodel_Diagram
|
shows | revisionAware |
A multiLanguageText. Maps to dcterms:title or rdf:label.
Details:
| Element Type | uml:Property |
|
Identifiable
Value |
has part | title |
|
CASCaRA_Metamodel_Diagram
|
shows | title |
The value of aProperty.
Details:
| Element Type | uml:Property |
|
aProperty
|
has part | value |
|
CASCaRA_Metamodel_Diagram
|
shows | value |
Is a defined value of an Enumeration. If present, it must have either a title or a value.
Details:
An instance (anEntity, aRelationship or aPackage) then has aTargetLink pointing to zero to many (0..n) enumeratedValues with hasView. The permissible number of values is defined by minCount and maxCount of the type of aTargetLink.
| Element Type | Class |
|
Enumeration
|
enumeratedValue | Value |
| Value | has part |
id
title |
|
aTargetLink
|
hasValue | Value |
|
CASCaRA_Metamodel_Diagram
|
shows | Value |