| Element Type | Package |
The following major design goals are pursued:
The metamodel is a 'platform independent model' in OMG terms and defines both the classes (above the dashed line) and their instances (below the dashed line) for the CASCaRA Product Information Graph. Both the classes and the instances are data:
Note:
| Element Type | Diagram |
| Notation | UML Class Diagram |
|
CASCaRA Metamodel
|
contains | ▣ CASCaRA Metamodel Diagram |
| ▣ CASCaRA Metamodel Diagram | shows |
○ creator
○ datatype ○ defaultValue ○ description ○ enumeratedValue ○ icon ○ id ○ itemType ○ maxCount ○ maxInclusive ○ maxLength ○ minCount ○ minInclusive ○ modified ○ pattern ○ priorRevision ○ revision ○ title ○ unit ○ value ☆ aLink ☆ anElement ☆ anEntity ☆ aProperty ☆ aRelationship ☆ aSourceLink ☆ aTargetLink ☆ Element ☆ Entity ☆ Identifiable ☆ Item ☆ Link ☆ Property ☆ Relationship |
The technical super-class of all CASCaRA metamodel items specifying the type of item to allow for simple schema checking and transformation.
Details:
| Element Type | Class |
|
CASCaRA Metamodel
|
contains | ☆ Item |
| ☆ Item | has part |
○ itemType
|
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ Item |
|
☆ aLink
☆ aProperty ☆ Identifiable |
specializes | ☆ Item |
Here it is modeled as a string, but in fact it is an enumeration containing all concrete metamodel items (represented as UML classes), thus [Link, Property, Entity, Relationship, aPackage, aSourceLink, aTargetLink, aProperty, anEntity, aRelationship].
| Element Type | uml:Property |
|
☆ Item
|
has part | ○ itemType |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ itemType |
All technical sub-classes of this class are identifiable, means they have an identifier, a title (name) and optionally a description.
Details:
| Element Type | Class |
|
CASCaRA Metamodel
|
contains | ☆ Identifiable |
| ☆ Identifiable | has part |
○ description
○ id ○ title |
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ Identifiable |
|
☆ anElement
☆ Element ☆ Link ☆ Property |
specializes | ☆ Identifiable |
| ☆ Identifiable | specializes |
☆ Item
|
| Element Type | uml:Property |
|
☆ Identifiable
|
has part | ○ id |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ id |
| Element Type | uml:Property |
|
☆ Identifiable
|
has part | ○ title |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ title |
| Element Type | uml:Property |
|
☆ Identifiable
|
has part | ○ description |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ description |
A technical super-class of Entity (class of entities) and Relationship (class of relationships).
Details:
| Element Type | Class |
|
CASCaRA Metamodel
|
contains | ☆ Element |
|
☆ Link
|
enumeratedEndpoint | ☆ Element |
| ☆ Element | enumeratedProperty |
☆ Property
|
| ☆ Element | has part |
○ icon
|
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ Element |
|
☆ Entity
☆ Relationship |
specializes | ☆ Element |
| ☆ Element | specializes |
☆ Identifiable
|
An icon defined with a class can be used to decorate the instances.
Example:
| Element Type | uml:Property |
|
☆ Element
|
has part | ○ icon |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ icon |
Every class Entity and Relationship can have an individual set of configurable properties, each of which is uniquely defined by datatype and range. A Property is an owl:ObjectProperty when enumeratedValues are defined and is an owl:DatatypeProperty otherwise.
Example: A requirement might have a list with three properties, such as
Details:
| Element Type | Class |
| ☆ Property | composes |
☆ Property
|
|
CASCaRA Metamodel
|
contains | ☆ Property |
|
☆ Element
|
enumeratedProperty | ☆ Property |
| ☆ Property | has part |
○ datatype
○ defaultValue ○ enumeratedValue ○ maxCount ○ maxInclusive ○ maxLength ○ minCount ○ minInclusive ○ pattern ○ unit |
|
☆ aProperty
|
hasClass | ☆ Property |
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ Property |
| ☆ Property | specializes |
☆ Identifiable
☆ Property |
One of the xs: data types. Shall be anyURI.
| Element Type | uml:Property |
|
☆ Property
|
has part | ○ datatype |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ datatype |
The minimal count an instance may have properties of this class. Is '0' by default.
| Element Type | uml:Property |
|
☆ Property
|
has part | ○ minCount |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ minCount |
The maximal count an instance may have properties of this class. Is unbounded (infinite) by default.
| Element Type | uml:Property |
|
☆ Property
|
has part | ○ maxCount |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ maxCount |
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 |
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 |
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 property may be assigned zero to many values enumerated by its class. Enumerated values can be defined for all datatypes. By default all values in the range of the datatype can be assigned.
| Element Type | uml:Property |
|
☆ Property
|
has part | ○ enumeratedValue |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ enumeratedValue |
Optional default value(s) in case a modelElement's property does not have an individual value. It must follow the definitions of the PropertyClass, of course.
Here, the attribute is named 'sh:defaultValue' for clarity and may just be called 'values' in an implementation, as all restrictions and operations of a property's values apply.
| Element Type | uml:Property |
|
☆ Property
|
has part | ○ defaultValue |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ defaultValue |
A unit as defined by the International System of Units (SI). A unit can only be defined for a numeric datatype. By default the property has no unit.
| Element Type | uml:Property |
|
☆ Property
|
has part | ○ unit |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ unit |
A Link is an identifiable link class. A Link is an owl:ObjectProperty.
Example:
| Element Type | Class |
|
CASCaRA Metamodel
|
contains | ☆ Link |
| ☆ Link | enumeratedEndpoint |
☆ Element
|
|
☆ Relationship
|
enumeratedSourceLink | ☆ Link |
|
☆ Entity
☆ Relationship |
enumeratedTargetLink | ☆ Link |
|
☆ aLink
|
hasClass | ☆ Link |
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ Link |
| ☆ Link | specializes |
☆ Identifiable
|
Entity is a class of model elements, such as a system component or a requirement. An Entity is an owl:Class.
Details:
| Element Type | Class |
|
CASCaRA Metamodel
|
contains | ☆ Entity |
| ☆ Entity | enumeratedTargetLink |
☆ Link
|
|
☆ anEntity
|
hasClass | ☆ Entity |
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ Entity |
| ☆ Entity | specializes |
☆ Element
☆ Entity |
Relationship is a class 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 |
|
CASCaRA Metamodel
|
contains | ☆ Relationship |
| ☆ Relationship | enumeratedSourceLink |
☆ Link
|
| ☆ Relationship | enumeratedTargetLink |
☆ Link
|
|
☆ aRelationship
|
hasClass | ☆ Relationship |
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ Relationship |
| ☆ Relationship | specializes |
☆ Element
☆ Relationship |
A technical superclass of anEntity and aRelationship.
Details:
| Element Type | Class |
|
CASCaRA Metamodel
|
contains | ☆ anElement |
| ☆ anElement | has part |
○ creator
○ modified ○ priorRevision ○ revision |
|
☆ aLink
|
hasEndpoint | ☆ anElement |
| ☆ anElement | hasProperty |
☆ aProperty
|
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ anElement |
|
☆ anEntity
☆ aRelationship |
specializes | ☆ anElement |
| ☆ anElement | specializes |
☆ Identifiable
|
A ISO-8601 DateTime value recording the point in time of the last change.
| Element Type | uml:Property |
|
☆ anElement
|
has part | ○ modified |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ modified |
A unique string identifying the revision of the entity or relationship instance.
| Element Type | uml:Property |
|
☆ anElement
|
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 |
|
☆ anElement
|
has part | ○ priorRevision |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ priorRevision |
The person committing the last change. Is often an e-mail address.
| Element Type | uml:Property |
|
☆ anElement
|
has part | ○ creator |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ creator |
Each property belongs to a single Entity or Relationship. A property has no identifier, thus a property update results in a new revision of the element to which it belongs. Is 'payload' having a clear meaning through the respective Property class.
Details:
| Element Type | Class |
| ☆ aProperty | composes |
☆ aProperty
|
|
CASCaRA Metamodel
|
contains | ☆ aProperty |
| ☆ aProperty | has part |
○ value
|
| ☆ aProperty | hasClass |
☆ Property
|
|
☆ anElement
|
hasProperty | ☆ aProperty |
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ aProperty |
| ☆ aProperty | specializes |
☆ Item
|
The value of a property.
Details:
| Element Type | uml:Property |
|
☆ aProperty
|
has part | ○ value |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ value |
Is a technical super-class for link instances.
Details:
| Element Type | Class |
|
CASCaRA Metamodel
|
contains | ☆ aLink |
| ☆ aLink | hasClass |
☆ Link
|
| ☆ aLink | hasEndpoint |
☆ anElement
|
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ aLink |
|
☆ aSourceLink
☆ aTargetLink |
specializes | ☆ aLink |
| ☆ aLink | specializes |
☆ Item
|
A link instance serving as source for a reified relationship.
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, if the metamodel item type is explicit.
Example:
| Element Type | Class |
|
CASCaRA Metamodel
|
contains | ☆ aSourceLink |
|
☆ aRelationship
|
hasSourceLink | ☆ aSourceLink |
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ aSourceLink |
| ☆ aSourceLink | specializes |
☆ aLink
|
A link instance serving as target for a reified relationship.
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, if the metamodel item type is explicit.
Example:
| Element Type | Class |
|
CASCaRA Metamodel
|
contains | ☆ aTargetLink |
|
☆ anEntity
☆ aRelationship |
hasTargetLink | ☆ aTargetLink |
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ aTargetLink |
| ☆ aTargetLink | specializes |
☆ aLink
|
Is used for instances of model-elements such as a system component or a requirement. Is 'payload' having a clear meaning through the respective Entity class.
Details:
| Element Type | Class |
|
CASCaRA Metamodel
|
contains | ☆ anEntity |
| ☆ anEntity | hasClass |
☆ Entity
|
| ☆ anEntity | hasTargetLink |
☆ aTargetLink
|
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ anEntity |
| ☆ anEntity | specializes |
☆ anElement
|
Is used for relations between entities, such as a 'system component satisfies a requirement'. All relationships are bilateral and directed. Is 'payload' having a clear meaning through the respective Relationship class.
Details:
| Element Type | Class |
|
CASCaRA Metamodel
|
contains | ☆ aRelationship |
| ☆ aRelationship | hasClass |
☆ Relationship
|
| ☆ aRelationship | hasSourceLink |
☆ aSourceLink
|
| ☆ aRelationship | hasTargetLink |
☆ aTargetLink
|
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ aRelationship |
| ☆ aRelationship | specializes |
☆ anElement
|
| Element Type | Package |
| CASCaRA Semantic Infrastructure | contains |
☆ Actor
☆ depicts ☆ Entity ☆ Enumeration ☆ Event ☆ Link ☆ lists ☆ Model-Element ☆ Organizer ☆ Outline ☆ Property ☆ Relationship ☆ Root ☆ shows ☆ sourceLink ☆ State ☆ Table ☆ targetLink ☆ Tree ☆ View ▣ CASCaRA Semantic Infrastructure Diagram |
The CASCaRA Semantic Infrastructure complements the CASCaRA Metamodel by further sub-classing its items. The idea is to keep the metamodel as simple as possible without sacrificing semantic precision.
Let's consider the paradigma of separating syntax and semantics with the objective to shield the software from an ontology under evolution over time. In all likelihood, the CASCaRA Semantic Infrastructure will be used by software for reasons of simplicity. Therefore it is advised to treat the semantic infrastructure similarly to the metamodel: Change it seldomly and keep it downward compatible. That is, software built assuming an older version shall not break when a new version is adopted). So the semantic infrastructure can be seen as an intermediary layer between metamodel and ontology which is managed like the metamodel.
In any case an ontology for use with the CASCaRA Metamodel SHALL sub-class the items of the CASCaRA Semantic Infrastructure.
| Element Type | Diagram |
| Notation | UML Class Diagram |
|
CASCaRA Semantic Infrastructure
|
contains | ▣ CASCaRA Semantic Infrastructure Diagram |
| ▣ CASCaRA Semantic Infrastructure Diagram | shows |
☆ Actor
☆ depicts ☆ Entity ☆ Enumeration ☆ Event ☆ Link ☆ lists ☆ Model-Element ☆ Organizer ☆ Outline ☆ Property ☆ Relationship ☆ Root ☆ shows ☆ sourceLink ☆ State ☆ Table ☆ targetLink ☆ Tree ☆ View |
The semantic foundation for all Property (class) definitions. Is an owl:DatatypeProperty when the value is a literal or an owl:ObjectProperty when the value is a reference to an enumerated value.
| Element Type | cas_meta:Property |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Property |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Property |
The semantic foundation for all Link (class) definitions. Is an owl:ObjectProperty.
| Element Type | cas_meta:Link |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Link |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Link |
|
☆ depicts
☆ lists ☆ shows ☆ sourceLink ☆ targetLink |
specializes | ☆ Link |
A Link class for use by Outline to enumerate eligible Entity and/or Relationship classes.
| Element Type | cas_meta:Link |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ lists |
| ☆ lists | enumeratedEndpoint |
☆ Entity
☆ Relationship |
|
☆ Outline
|
enumeratedTargetLink | ☆ lists |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ lists |
| ☆ lists | specializes |
☆ Link
|
A Link class for use by View to enumerate eligible Entity and/or Relationship classes that are visible on a view (e.g. model-diagram).
| Element Type | cas_meta:Link |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ shows |
| ☆ shows | enumeratedEndpoint |
☆ Model-Element
|
|
☆ View
|
enumeratedTargetLink | ☆ shows |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ shows |
| ☆ shows | specializes |
☆ Link
|
A Link class for use by View to enumerate eligible Entity and/or Relationship classes that can own a view (e.g. model-diagram).
| Element Type | cas_meta:Link |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ depicts |
| ☆ depicts | enumeratedEndpoint |
☆ Model-Element
|
|
☆ View
|
enumeratedTargetLink | ☆ depicts |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ depicts |
| ☆ depicts | specializes |
☆ Link
|
A Link class for use by View to enumerate eligible Entity and/or Relationship classes that can serve as a source of a Relationship.
By further specializing this class, a speaking title can be given to a sourceLink, such as 'employee' in a 'worksFor' relationship being a specialization of Relationship.
| Element Type | cas_meta:Link |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ sourceLink |
|
☆ Relationship
|
enumeratedSourceLink | ☆ sourceLink |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ sourceLink |
| ☆ sourceLink | specializes |
☆ Link
|
A Link class for use by View to enumerate eligible Entity and/or Relationship classes that can serve as a target of a Relationship.
By further specializing this class, a speaking title can be given to a targetLink, such as 'employer' in a 'worksFor' relationship being a specialization of Relationship.
| Element Type | cas_meta:Link |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ targetLink |
|
☆ Relationship
|
enumeratedTargetLink | ☆ targetLink |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ targetLink |
| ☆ targetLink | specializes |
☆ Link
|
The semantic foundation for all Entity (class) definitions. Is an owl:Class.
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Entity |
|
☆ lists
|
enumeratedEndpoint | ☆ Entity |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Entity |
|
☆ Enumeration
☆ Model-Element ☆ Organizer |
specializes | ☆ Entity |
An Organizer is about presenting genuine Model-Elements with a target group of users in mind, for example a document outline, a table or a diagram.
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Organizer |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Organizer |
|
☆ Root
☆ Table ☆ Tree ☆ View |
specializes | ☆ Organizer |
| ☆ Organizer | specializes |
☆ Entity
|
A specialized Organizer with elements (cells) arranged two-dimensionally in columns and rows. Any element SHALL contain a reference to any Entity or Relationship.
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Table |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Table |
| ☆ Table | specializes |
☆ Organizer
|
A specialized Organizer with elements (nodes) arranged in a strictly hierarchical manner. Any element SHALL contain a reference to any Entity or Relationship.
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Tree |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Tree |
|
☆ Outline
|
specializes | ☆ Tree |
| ☆ Tree | specializes |
☆ Organizer
|
A tree (hierarchical arrangement) of references to graph nodes (vertices) to create a reading sequence. Graph nodes include Entity and Relationship. Outline is used at any level of the tree like a directory folder or universally for section, chapter and paragraph of a document.
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Outline |
| ☆ Outline | enumeratedTargetLink |
☆ lists
|
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Outline |
| ☆ Outline | specializes |
☆ Tree
|
A specialized Organizer with elements displayed in two or three dimensions such as a model-diagram, 3D visualization or pie-chart. Any element SHOULD reference any Entity or Relationship.
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ View |
| ☆ View | enumeratedTargetLink |
☆ depicts
☆ shows |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ View |
| ☆ View | specializes |
☆ Organizer
|
A root class serves to anchor organizer structures in a data package. While a graph has no start and no end, a root instance with a subordinated organizer structure offers a way to explore the graph for a given purpose.
Example:
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Root |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Root |
| ☆ Root | specializes |
☆ Organizer
|
A Model-Element is an artifact representing a genuine part of a system specification in contrast to an Organizer which is about presenting model-elements.
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Model-Element |
|
☆ depicts
☆ shows |
enumeratedEndpoint | ☆ Model-Element |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Model-Element |
|
☆ Actor
☆ Event ☆ State |
specializes | ☆ Model-Element |
| ☆ Model-Element | specializes |
☆ Entity
|
A fundamental model-element class for actors (e.g. users, functions, systems, components, ...).
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Actor |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Actor |
| ☆ Actor | specializes |
☆ Model-Element
|
A fundamental model-element class for states (e.g. system or process states, information, form, color, ...).
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ State |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ State |
| ☆ State | specializes |
☆ Model-Element
|
A fundamental model-element class for events (e.g. environmental or process events, ...).
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Event |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Event |
| ☆ Event | specializes |
☆ Model-Element
|
A finite list of values for Properties.
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Enumeration |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Enumeration |
| ☆ Enumeration | specializes |
☆ Entity
|
The semantic foundation for all Relationship (class) definitions. Is an owl:Class.
| Element Type | cas_meta:Relationship |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Relationship |
|
☆ lists
|
enumeratedEndpoint | ☆ Relationship |
| ☆ Relationship | enumeratedSourceLink |
☆ sourceLink
|
| ☆ Relationship | enumeratedTargetLink |
☆ targetLink
|
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Relationship |
| Element Type | Model Elements (Glossary) |
A fundamental model-element class for actors (e.g. users, functions, systems, components, ...).
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Actor |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Actor |
| ☆ Actor | specializes |
☆ Model-Element
|
Is a technical super-class for link instances.
Details:
| Element Type | Class |
|
CASCaRA Metamodel
|
contains | ☆ aLink |
| ☆ aLink | hasClass |
☆ Link
|
| ☆ aLink | hasEndpoint |
☆ anElement
|
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ aLink |
|
☆ aSourceLink
☆ aTargetLink |
specializes | ☆ aLink |
| ☆ aLink | specializes |
☆ Item
|
A technical superclass of anEntity and aRelationship.
Details:
| Element Type | Class |
|
CASCaRA Metamodel
|
contains | ☆ anElement |
| ☆ anElement | has part |
○ creator
○ modified ○ priorRevision ○ revision |
|
☆ 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 'payload' having a clear meaning through the respective Entity class.
Details:
| Element Type | Class |
|
CASCaRA Metamodel
|
contains | ☆ anEntity |
| ☆ anEntity | hasClass |
☆ Entity
|
| ☆ anEntity | hasTargetLink |
☆ aTargetLink
|
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ anEntity |
| ☆ anEntity | specializes |
☆ anElement
|
Each property belongs to a single Entity or Relationship. A property has no identifier, thus a property update results in a new revision of the element to which it belongs. Is 'payload' having a clear meaning through the respective Property class.
Details:
| Element Type | Class |
| ☆ aProperty | composes |
☆ aProperty
|
|
CASCaRA Metamodel
|
contains | ☆ aProperty |
| ☆ aProperty | has part |
○ value
|
| ☆ aProperty | hasClass |
☆ Property
|
|
☆ anElement
|
hasProperty | ☆ aProperty |
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ aProperty |
| ☆ aProperty | specializes |
☆ Item
|
Is used for relations between entities, such as a 'system component satisfies a requirement'. All relationships are bilateral and directed. Is 'payload' having a clear meaning through the respective Relationship class.
Details:
| Element Type | Class |
|
CASCaRA Metamodel
|
contains | ☆ aRelationship |
| ☆ aRelationship | hasClass |
☆ Relationship
|
| ☆ aRelationship | hasSourceLink |
☆ aSourceLink
|
| ☆ aRelationship | hasTargetLink |
☆ aTargetLink
|
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ aRelationship |
| ☆ aRelationship | specializes |
☆ anElement
|
A link instance serving as source for a reified relationship.
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, if the metamodel item type is explicit.
Example:
| Element Type | Class |
|
CASCaRA Metamodel
|
contains | ☆ aSourceLink |
|
☆ aRelationship
|
hasSourceLink | ☆ aSourceLink |
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ aSourceLink |
| ☆ aSourceLink | specializes |
☆ aLink
|
A link instance serving as target for a reified relationship.
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, if the metamodel item type is explicit.
Example:
| Element Type | Class |
|
CASCaRA Metamodel
|
contains | ☆ aTargetLink |
|
☆ anEntity
☆ aRelationship |
hasTargetLink | ☆ aTargetLink |
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ aTargetLink |
| ☆ aTargetLink | specializes |
☆ aLink
|
The person committing the last change. Is often an e-mail address.
| Element Type | uml:Property |
|
☆ anElement
|
has part | ○ creator |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ creator |
One of the xs: data types. Shall be anyURI.
| Element Type | uml:Property |
|
☆ Property
|
has part | ○ datatype |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ datatype |
Optional default value(s) in case a modelElement's property does not have an individual value. It must follow the definitions of the PropertyClass, of course.
Here, the attribute is named 'sh:defaultValue' for clarity and may just be called 'values' in an implementation, as all restrictions and operations of a property's values apply.
| Element Type | uml:Property |
|
☆ Property
|
has part | ○ defaultValue |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ defaultValue |
A Link class for use by View to enumerate eligible Entity and/or Relationship classes that can own a view (e.g. model-diagram).
| Element Type | cas_meta:Link |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ depicts |
| ☆ depicts | enumeratedEndpoint |
☆ Model-Element
|
|
☆ View
|
enumeratedTargetLink | ☆ depicts |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ depicts |
| ☆ depicts | specializes |
☆ Link
|
| Element Type | uml:Property |
|
☆ Identifiable
|
has part | ○ description |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ description |
A technical super-class of Entity (class of entities) and Relationship (class of relationships).
Details:
| Element Type | Class |
|
CASCaRA Metamodel
|
contains | ☆ Element |
|
☆ Link
|
enumeratedEndpoint | ☆ Element |
| ☆ Element | enumeratedProperty |
☆ Property
|
| ☆ Element | has part |
○ icon
|
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ Element |
|
☆ Entity
☆ Relationship |
specializes | ☆ Element |
| ☆ Element | specializes |
☆ Identifiable
|
Entity is a class of model elements, such as a system component or a requirement. An Entity is an owl:Class.
Details:
| Element Type | Class |
|
CASCaRA Metamodel
|
contains | ☆ Entity |
| ☆ Entity | enumeratedTargetLink |
☆ Link
|
|
☆ anEntity
|
hasClass | ☆ Entity |
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ Entity |
| ☆ Entity | specializes |
☆ Element
☆ Entity |
The semantic foundation for all Entity (class) definitions. Is an owl:Class.
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Entity |
|
☆ lists
|
enumeratedEndpoint | ☆ Entity |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Entity |
|
☆ Enumeration
☆ Model-Element ☆ Organizer |
specializes | ☆ Entity |
A property may be assigned zero to many values enumerated by its class. Enumerated values can be defined for all datatypes. By default all values in the range of the datatype can be assigned.
| Element Type | uml:Property |
|
☆ Property
|
has part | ○ enumeratedValue |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ enumeratedValue |
A finite list of values for Properties.
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Enumeration |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Enumeration |
| ☆ Enumeration | specializes |
☆ Entity
|
A fundamental model-element class for events (e.g. environmental or process events, ...).
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Event |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Event |
| ☆ Event | specializes |
☆ Model-Element
|
An icon defined with a class 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 |
|
☆ Identifiable
|
has part | ○ id |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ id |
All technical sub-classes of this class are identifiable, means they have an identifier, a title (name) and optionally a description.
Details:
| Element Type | Class |
|
CASCaRA Metamodel
|
contains | ☆ Identifiable |
| ☆ Identifiable | has part |
○ description
○ id ○ title |
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ Identifiable |
|
☆ anElement
☆ Element ☆ Link ☆ Property |
specializes | ☆ Identifiable |
| ☆ Identifiable | specializes |
☆ Item
|
The technical super-class of all CASCaRA metamodel items specifying the type of item to allow for simple schema checking and transformation.
Details:
| Element Type | Class |
|
CASCaRA Metamodel
|
contains | ☆ Item |
| ☆ Item | has part |
○ itemType
|
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ Item |
|
☆ aLink
☆ aProperty ☆ Identifiable |
specializes | ☆ Item |
Here it is modeled as a string, but in fact it is an enumeration containing all concrete metamodel items (represented as UML classes), thus [Link, Property, Entity, Relationship, aPackage, aSourceLink, aTargetLink, aProperty, anEntity, aRelationship].
| Element Type | uml:Property |
|
☆ Item
|
has part | ○ itemType |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ itemType |
A Link is an identifiable link class. A Link is an owl:ObjectProperty.
Example:
| Element Type | Class |
|
CASCaRA Metamodel
|
contains | ☆ Link |
| ☆ Link | enumeratedEndpoint |
☆ Element
|
|
☆ Relationship
|
enumeratedSourceLink | ☆ Link |
|
☆ Entity
☆ Relationship |
enumeratedTargetLink | ☆ Link |
|
☆ aLink
|
hasClass | ☆ Link |
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ Link |
| ☆ Link | specializes |
☆ Identifiable
|
The semantic foundation for all Link (class) definitions. Is an owl:ObjectProperty.
| Element Type | cas_meta:Link |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Link |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Link |
|
☆ depicts
☆ lists ☆ shows ☆ sourceLink ☆ targetLink |
specializes | ☆ Link |
A Link class for use by Outline to enumerate eligible Entity and/or Relationship classes.
| Element Type | cas_meta:Link |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ lists |
| ☆ lists | enumeratedEndpoint |
☆ Entity
☆ Relationship |
|
☆ Outline
|
enumeratedTargetLink | ☆ lists |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ lists |
| ☆ lists | specializes |
☆ Link
|
The maximal count an instance may have properties of this class. Is unbounded (infinite) by default.
| Element Type | uml:Property |
|
☆ Property
|
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 minimal count an instance may have properties of this class. Is '0' by default.
| Element Type | uml:Property |
|
☆ Property
|
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 Model-Element is an artifact representing a genuine part of a system specification in contrast to an Organizer which is about presenting model-elements.
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Model-Element |
|
☆ depicts
☆ shows |
enumeratedEndpoint | ☆ Model-Element |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Model-Element |
|
☆ Actor
☆ Event ☆ State |
specializes | ☆ Model-Element |
| ☆ Model-Element | specializes |
☆ Entity
|
A ISO-8601 DateTime value recording the point in time of the last change.
| Element Type | uml:Property |
|
☆ anElement
|
has part | ○ modified |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ modified |
An Organizer is about presenting genuine Model-Elements with a target group of users in mind, for example a document outline, a table or a diagram.
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Organizer |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Organizer |
|
☆ Root
☆ Table ☆ Tree ☆ View |
specializes | ☆ Organizer |
| ☆ Organizer | specializes |
☆ Entity
|
A tree (hierarchical arrangement) of references to graph nodes (vertices) to create a reading sequence. Graph nodes include Entity and Relationship. Outline is used at any level of the tree like a directory folder or universally for section, chapter and paragraph of a document.
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Outline |
| ☆ Outline | enumeratedTargetLink |
☆ lists
|
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Outline |
| ☆ Outline | specializes |
☆ Tree
|
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 |
|
☆ anElement
|
has part | ○ priorRevision |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ priorRevision |
Every class Entity and Relationship can have an individual set of configurable properties, each of which is uniquely defined by datatype and range. A Property is an owl:ObjectProperty when enumeratedValues are defined and is an owl:DatatypeProperty otherwise.
Example: A requirement might have a list with three properties, such as
Details:
| Element Type | Class |
| ☆ Property | composes |
☆ Property
|
|
CASCaRA Metamodel
|
contains | ☆ Property |
|
☆ Element
|
enumeratedProperty | ☆ Property |
| ☆ Property | has part |
○ datatype
○ defaultValue ○ enumeratedValue ○ maxCount ○ maxInclusive ○ maxLength ○ minCount ○ minInclusive ○ pattern ○ unit |
|
☆ aProperty
|
hasClass | ☆ Property |
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ Property |
| ☆ Property | specializes |
☆ Identifiable
☆ Property |
The semantic foundation for all Property (class) definitions. Is an owl:DatatypeProperty when the value is a literal or an owl:ObjectProperty when the value is a reference to an enumerated value.
| Element Type | cas_meta:Property |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Property |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Property |
Relationship is a class 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 |
|
CASCaRA Metamodel
|
contains | ☆ Relationship |
| ☆ Relationship | enumeratedSourceLink |
☆ Link
|
| ☆ Relationship | enumeratedTargetLink |
☆ Link
|
|
☆ aRelationship
|
hasClass | ☆ Relationship |
|
▣ CASCaRA Metamodel Diagram
|
shows | ☆ Relationship |
| ☆ Relationship | specializes |
☆ Element
☆ Relationship |
The semantic foundation for all Relationship (class) definitions. Is an owl:Class.
| Element Type | cas_meta:Relationship |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Relationship |
|
☆ lists
|
enumeratedEndpoint | ☆ Relationship |
| ☆ Relationship | enumeratedSourceLink |
☆ sourceLink
|
| ☆ Relationship | enumeratedTargetLink |
☆ targetLink
|
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Relationship |
A unique string identifying the revision of the entity or relationship instance.
| Element Type | uml:Property |
|
☆ anElement
|
has part | ○ revision |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ revision |
A root class serves to anchor organizer structures in a data package. While a graph has no start and no end, a root instance with a subordinated organizer structure offers a way to explore the graph for a given purpose.
Example:
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Root |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Root |
| ☆ Root | specializes |
☆ Organizer
|
A Link class for use by View to enumerate eligible Entity and/or Relationship classes that are visible on a view (e.g. model-diagram).
| Element Type | cas_meta:Link |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ shows |
| ☆ shows | enumeratedEndpoint |
☆ Model-Element
|
|
☆ View
|
enumeratedTargetLink | ☆ shows |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ shows |
| ☆ shows | specializes |
☆ Link
|
A Link class for use by View to enumerate eligible Entity and/or Relationship classes that can serve as a source of a Relationship.
By further specializing this class, a speaking title can be given to a sourceLink, such as 'employee' in a 'worksFor' relationship being a specialization of Relationship.
| Element Type | cas_meta:Link |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ sourceLink |
|
☆ Relationship
|
enumeratedSourceLink | ☆ sourceLink |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ sourceLink |
| ☆ sourceLink | specializes |
☆ Link
|
A fundamental model-element class for states (e.g. system or process states, information, form, color, ...).
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ State |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ State |
| ☆ State | specializes |
☆ Model-Element
|
A specialized Organizer with elements (cells) arranged two-dimensionally in columns and rows. Any element SHALL contain a reference to any Entity or Relationship.
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Table |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Table |
| ☆ Table | specializes |
☆ Organizer
|
A Link class for use by View to enumerate eligible Entity and/or Relationship classes that can serve as a target of a Relationship.
By further specializing this class, a speaking title can be given to a targetLink, such as 'employer' in a 'worksFor' relationship being a specialization of Relationship.
| Element Type | cas_meta:Link |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ targetLink |
|
☆ Relationship
|
enumeratedTargetLink | ☆ targetLink |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ targetLink |
| ☆ targetLink | specializes |
☆ Link
|
| Element Type | uml:Property |
|
☆ Identifiable
|
has part | ○ title |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ title |
A specialized Organizer with elements (nodes) arranged in a strictly hierarchical manner. Any element SHALL contain a reference to any Entity or Relationship.
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ Tree |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ Tree |
|
☆ Outline
|
specializes | ☆ Tree |
| ☆ Tree | specializes |
☆ Organizer
|
A unit as defined by the International System of Units (SI). A unit can only be defined for a numeric datatype. By default the property has no unit.
| Element Type | uml:Property |
|
☆ Property
|
has part | ○ unit |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ unit |
The value of a property.
Details:
| Element Type | uml:Property |
|
☆ aProperty
|
has part | ○ value |
|
▣ CASCaRA Metamodel Diagram
|
shows | ○ value |
A specialized Organizer with elements displayed in two or three dimensions such as a model-diagram, 3D visualization or pie-chart. Any element SHOULD reference any Entity or Relationship.
| Element Type | cas_meta:Entity |
|
CASCaRA Semantic Infrastructure
|
contains | ☆ View |
| ☆ View | enumeratedTargetLink |
☆ depicts
☆ shows |
|
▣ CASCaRA Semantic Infrastructure Diagram
|
shows | ☆ View |
| ☆ View | specializes |
☆ Organizer
|