diff --git a/specs/sysml/Resources/getclasses.ipynb b/specs/sysml/Resources/getclasses.ipynb index b3c3d1a..9a5dbb3 100644 --- a/specs/sysml/Resources/getclasses.ipynb +++ b/specs/sysml/Resources/getclasses.ipynb @@ -11,16 +11,16 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - ")>" + ")>" ] }, - "execution_count": 2, + "execution_count": 1, "metadata": {}, "output_type": "execute_result" } @@ -38,1913 +38,14 @@ "oslc_sysmlv2 = Namespace('http://open-services.net/ns/sysmlv2#')\n", "\n", "g = Graph()\n", - "g.parse('../sysml-vocab.ttl')\n" + "g.parse('sysml-vocab-full.ttl')\n" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "# get a list of the classes\n", "classes = g.subjects(rdf.type, rdfs.Class)\n", @@ -1973,6 +74,86 @@ "execution_count": null, "metadata": {}, "outputs": [], + "source": [ + "# Convert the rdfs:comments to a single paragraph of plain text\n", + "from bs4 import BeautifulSoup\n", + "import copy\n", + "\n", + "g2 = copy.deepcopy(g)\n", + "for s,p,o in g2.triples((None, rdfs.comment, None)):\n", + " # Get just the first paragraph of the comment\n", + " root = BeautifulSoup(str(o))\n", + " comment = root.find('p').get_text() # the first paragraph with the HTML stripped out\n", + " # remove the triple\n", + " g.remove((s,p,o))\n", + " # add the new comment\n", + " g.add((s,p,Literal(comment)))\n", + "\n", + "g.serialize(destination='../sysml-vocab.ttl')\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Set shape dcterms:descriptions to just the first paragraph\n", + "g = Graph()\n", + "g.parse('sysml-shapes-full.ttl')\n", + "\n", + "g2 = copy.deepcopy(g)\n", + "for s,p,o in g2.triples((None, dcterms.description, None)):\n", + " # Get just the first paragraph of the comment\n", + " root = BeautifulSoup(str(o))\n", + " description = root.find('p') # the first paragraph but keep the markdown\n", + " # remove the triple\n", + " g.remove((s,p,o))\n", + " # add the new description\n", + " g.add((s,p,Literal(description)))\n", + "\n", + "g.serialize(destination='../sysml-shapes.ttl')\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + ")>" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Add the rdf:Property and rdfs:Class rdfs:isDefinedBy oslc_sysmlv2: \n", + "\n", + "g = Graph()\n", + "g.parse('../sysml-vocab.ttl')\n", + "\n", + "oslc_sysmlv2 = URIRef('http://open-services.net/ns/sysmlv2#')\n", + "\n", + "g2 = copy.deepcopy(g)\n", + "for s,p,o in g2.triples((None, rdf.type, rdf.Property)):\n", + " g.add((s,rdfs.isDefinedBy, oslc_sysmlv2))\n", + "\n", + "for s,p,o in g2.triples((None, rdf.type, rdfs.Class)):\n", + " g.add((s,rdfs.isDefinedBy, oslc_sysmlv2))\n", + "\n", + "g.serialize(destination='../sysml-vocab.ttl')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, "source": [] } ], diff --git a/specs/sysml/Resources/sysml-shapes-full.ttl b/specs/sysml/Resources/sysml-shapes-full.ttl new file mode 100644 index 0000000..962b6af --- /dev/null +++ b/specs/sysml/Resources/sysml-shapes-full.ttl @@ -0,0 +1,7809 @@ +# Copyright 2024 OASIS Open +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +@prefix dcterms: . +@prefix rdfs: . +@prefix rdf: . +@prefix oslc: . + +@prefix oslc_sysmlv2: . + +@prefix : . + +: + a oslc:ResourceShapeConstraints ; + dcterms:title "OSLC System Modeling Language (SysML) Version 2.0 Constraints" ; + rdfs:label "OSLC System Modeling Language (SysML) Constraints" ; + dcterms:description "All vocabulary URIs defined in the OSLC System Modeling Language (SysML) namespace."^^rdf:XMLLiteral ; + dcterms:publisher ; + dcterms:issued "2024-08-01"^^ ; + dcterms:license ; + dcterms:source ; + dcterms:isPartOf ; + dcterms:hasVersion "PSD" ; + dcterms:dateCopyrighted "2012-2024" . + + + a oslc:Property ; + oslc:name "namespaceImportedMembership" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Memberships in this Namespace that result from the ownedImports of this Namespace.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "viewpointUsageViewpointStakeholder" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The PartUsages that identify the stakeholders with concerns framed by this ViewpointUsage, which are the owned and inherited stakeholderParameters of the framedConcerns of this ViewpointUsage.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "FeatureTypingShape" ; + oslc:property , , ; + dcterms:description """

FeatureTyping is Specialization in which the specific Type is a Feature. This means the set of instances of the (specific) typedFeature is a subset of the set of instances of the (general) type. In the simplest case, the type is a Classifier, whereupon the typedFeature has values that are instances of the Classifier.

+"""^^rdf:XMLLiteral ; + dcterms:title "FeatureTypingShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedPart" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The PartUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "RedefinitionShape" ; + oslc:property , ; + dcterms:description """

Redefinition is a kind of Subsetting that requires the redefinedFeature and the redefiningFeature to have the same values (on each instance of the domain of the redefiningFeature). This means any restrictions on the redefiningFeature, such as type or multiplicity, also apply to the redefinedFeature (on each instance of the domain of the redefiningFeature), and vice versa. The redefinedFeature might have values for instances of the domain of the redefiningFeature, but only as instances of the domain of the redefinedFeature that happen to also be instances of the domain of the redefiningFeature. This is supported by the constraints inherited from Subsetting on the domains of the redefiningFeature and redefinedFeature. However, these constraints are narrowed for Redefinition to require the owningTypes of the redefiningFeature and redefinedFeature to be different and the redefinedFeature to not be inherited into the owningNamespace of the redefiningFeature.This enables the redefiningFeature to have the same name as the redefinedFeature, if desired.

+ +let anythingType: Type = + redefiningFeature.resolveGlobal('Base::Anything').modelElement.oclAsType(Type) in +-- Including \"Anything\" accounts for implicit featuringType of Features +-- with no explicit featuringType. +let redefiningFeaturingTypes: Set(Type) = + redefiningFeature.featuringTypes->asSet()->including(anythingType) in +let redefinedFeaturingTypes: Set(Type) = + redefinedFeature.featuringTypes->asSet()->including(anythingType) in +redefiningFeaturingTypes <> redefinedFeaturingType +featuringType->forAll(t | + let direction : FeatureDirectionKind = t.directionOf(redefinedFeature) in + ((direction = FeatureDirectionKind::_'in' or + direction = FeatureDirectionKind::out) implies + redefiningFeature.direction = direction) + and + (direction = FeatureDirectionKind::inout implies + redefiningFeature.direction <> null))"""^^rdf:XMLLiteral ; + dcterms:title "RedefinitionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "successionEffectStep" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

Steps that represent occurrences that are side effects of the transitionStep occurring.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedConcern" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ConcernUsages that are nestedUsages of this Usage.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "OwningMembershipShape" ; + oslc:property , , , ; + dcterms:description """

An OwningMembership is a Membership that owns its memberElement as a ownedRelatedElement. The ownedMemberElement becomes an ownedMember of the membershipOwningNamespace.

+ +ownedMemberName = ownedMemberElement.name +ownedMemberShortName = ownedMemberElement.shortName"""^^rdf:XMLLiteral ; + dcterms:title "OwningMembershipShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "functionIsModelLevelEvaluable" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

Whether this Function can be used as the function of a model-level evaluable InvocationExpression. Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = true. For all other Functions it is false.

+ +

Note: See the specification of the KerML concrete syntax notation for Expressions for an identification of which library Functions are model-level evaluable.

"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "verificationCaseUsageVerificationCaseDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The VerificationCase that is the definition of this VerificationCaseUsage.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "TriggerInvocationExpressionShape" ; + oslc:property ; + dcterms:description """

A TriggerInvocationExpression is an InvocationExpression that invokes one of the trigger Functions from the Kernel Semantic Library Triggers package, as indicated by its kind.

+specializesFromLibrary( + if kind = TriggerKind::when then + 'Triggers::TriggerWhen' + else if kind = TriggerKind::at then + 'Triggers::TriggerAt' + else + 'Triggers::TriggerAfter' + endif endif +) +kind = TriggerKind::after implies + argument->notEmpty() and + argument->at(1).result.specializesFromLibrary('Quantities::ScalarQuantityValue') and + let mRef : Element = + resolveGlobal('Quantities::TensorQuantityValue::mRef').ownedMemberElement in + argument->at(1).result.feature-> + select(ownedRedefinition.redefinedFeature-> + closure(ownedRedefinition.redefinedFeature)-> + includes(mRef))-> + exists(specializesFromLibrary('ISQBase::DurationUnit')) +kind = TriggerKind::at implies + argument->notEmpty() and + argument->at(1).result.specializesFromLibrary('Time::TimeInstantValue') +kind = TriggerKind::when implies + argument->notEmpty() and + argument->at(1).oclIsKindOf(FeatureReferenceExpression) and + let referent : Feature = + argument->at(1).oclAsType(FeatureReferenceExpression).referent in + referent.oclIsKindOf(Expression) and + referent.oclAsType(Expression).result.specializesFromLibrary('ScalarValues::Boolean')"""^^rdf:XMLLiteral ; + dcterms:title "TriggerInvocationExpressionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "transitionUsageSource" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The source ActionUsage of this TransitionUsage, which becomes the source of the succession for the TransitionUsage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "annotationOwningAnnotatingElement" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The annotatingElement of this Annotation, when it is also its owningRelatedElement.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "portDefinitionConjugatedPortDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The that is conjugate to this PortDefinition.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "MetaclassShape" ; + dcterms:description """

A Metaclass is a Structure used to type MetadataFeatures.

+specializesFromLibrary('Metaobjects::Metaobject')"""^^rdf:XMLLiteral ; + dcterms:title "MetaclassShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureIsPortion" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "BindingConnectorAsUsageShape" ; + dcterms:description "

A BindingConnectorAsUsage is both a BindingConnector and a ConnectorAsUsage.

"^^rdf:XMLLiteral ; + dcterms:title "BindingConnectorAsUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "stateUsageEntryAction" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsage of this StateUsage to be performed on entry to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateUsage by a StateSubactionMembership with kind = entry.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ViewDefinitionShape" ; + oslc:property , , , ; + dcterms:description """

A ViewDefinition is a PartDefinition that specifies how a view artifact is constructed to satisfy a viewpoint. It specifies a viewConditions to define the model content to be presented and a viewRendering to define how the model content is presented.

+view = usage->selectByKind(ViewUsage) +satisfiedViewpoint = ownedRequirement-> + selectByKind(ViewpointUsage)-> + select(isComposite) +viewRendering = + let renderings: OrderedSet(ViewRenderingMembership) = + featureMembership->selectByKind(ViewRenderingMembership) in + if renderings->isEmpty() then null + else renderings->first().referencedRendering + endif +viewCondition = ownedMembership-> + selectByKind(ElementFilterMembership). + condition +featureMembership-> + selectByKind(ViewRenderingMembership)-> + size() <= 1 +specializesFromLibrary('Views::View')"""^^rdf:XMLLiteral ; + dcterms:title "ViewDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "DocumentationShape" ; + oslc:property ; + dcterms:description """

Documentation is a Comment that specifically documents a documentedElement, which must be its owner.

+"""^^rdf:XMLLiteral ; + dcterms:title "DocumentationShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureValueFeatureWithValue" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Feature to be provided a value.

+ +

The Feature to be provided a value.

"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "viewUsageViewDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ViewDefinition that is the definition of this ViewUsage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "allocationDefinitionAllocation" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The AllocationUsages that refine the allocation mapping defined by this AllocationDefinition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "transitionUsageTriggerAction" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The AcceptActionUsages that define the triggers of this TransitionUsage, which are the ownedFeatures of the TransitionUsage related to it by TransitionFeatureMemberships with kind = trigger, which must all be AcceptActionUsages.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "viewUsageViewCondition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Expressions related to this ViewUsage by ElementFilterMemberships, which specify conditions on Elements to be rendered in a view.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "DecisionNodeShape" ; + dcterms:description """

A DecisionNode is a ControlNode that makes a selection from its outgoing Successions.

+targetConnector->selectByKind(Succession)->size() <= 1 +sourceConnector->selectAsKind(Succession)-> + collect(connectorEnd->at(2))-> + forAll(targetMult | + multiplicityHasBounds(targetMult, 0, 1)) +specializesFromLibrary('Actions::Action::decisions') +sourceConnector->selectByKind(Succession)-> + forAll(subsetsChain(self, + resolveGlobal('ControlPerformances::MergePerformance::outgoingHBLink')))"""^^rdf:XMLLiteral ; + dcterms:title "DecisionNodeShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "elementOwningMembership" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The owningRelationship of this Element, if that Relationship is a Membership.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "SuccessionShape" ; + oslc:property , , , ; + dcterms:description """

A Succession is a binary Connector that requires its relatedFeatures to happen separately in time.

+ +specializesFromLibrary('Occurences::happensBeforeLinks') +transitionStep = + if owningNamespace.oclIsKindOf(Step) and + owningNamespace.oclAsType(Step). + specializesFromLibrary('TransitionPerformances::TransitionPerformance') then + owningNamespace.oclAsType(Step) + else null + endif +triggerStep = + if transitionStep = null or + transitionStep.ownedFeature.size() < 2 or + not transitionStep.ownedFeature->at(2).oclIsKindOf(Step) + then Set{} + else Set{transitionStep.ownedFeature->at(2).oclAsType(Step)} + endif +effectStep = + if transitionStep = null or + transitionStep.ownedFeature.size() < 4 or + not transitionStep.ownedFeature->at(4).oclIsKindOf(Step) + then Set{} + else Set{transitionStep.ownedFeature->at(4).oclAsType(Step)} + endif +guardExpression = + if transitionStep = null or + transitionStep.ownedFeature.size() < 3 or + not transitionStep.ownedFeature->at(3).oclIsKindOf(Expression) + then Set{} + else Set{transitionStep.ownedFeature->at(3).oclAsType(Expression)} + endif"""^^rdf:XMLLiteral ; + dcterms:title "SuccessionShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ItemDefinitionShape" ; + dcterms:description """

An ItemDefinition is an OccurrenceDefinition of the Structure of things that may themselves be systems or parts of systems, but may also be things that are acted on by a system or parts of a system, but which do not necessarily perform actions themselves. This includes items that can be exchanged between parts of a system, such as water or electrical signals.

+ +specializesFromLibrary('Items::Item')"""^^rdf:XMLLiteral ; + dcterms:title "ItemDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "dependencyClient" ; + oslc:occurs oslc:One-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Element or Elements dependent on the supplier Elements.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ExposeShape" ; + dcterms:description """

An Expose is an Import of Memberships into a ViewUsage that provide the Elements to be included in a view. Visibility is always ignored for an Expose (i.e., isImportAll = true).

+isImportAll +importOwningNamespace.oclIsType(ViewUsage)"""^^rdf:XMLLiteral ; + dcterms:title "ExposeShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedState" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The StateUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "membershipVisibility" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

Whether or not the Membership of the memberElement in the membershipOwningNamespace is publicly visible outside that Namespace.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedCalculation" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The CalculationUsage that are nestedUsages of this Usage.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "MetadataDefinitionShape" ; + dcterms:description """

A MetadataDefinition is an ItemDefinition that is also a Metaclass.

+specializesFromLibrary('Metadata::MetadataItem')"""^^rdf:XMLLiteral ; + dcterms:title "MetadataDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "InvocationExpressionShape" ; + oslc:property , ; + dcterms:description """

An InvocationExpression is an Expression each of whose input parameters are bound to the result of an argument Expression.

+ +not ownedTyping->exists(oclIsKindOf(Behavior)) and +not ownedSubsetting.subsettedFeature.type->exists(oclIsKindOf(Behavior)) implies + ownedFeature.selectByKind(BindingConnector)->exists( + relatedFeature->includes(self) and + relatedFeature->includes(result)) + +TBD +ownedFeature-> + select(direction = _'in').valuation-> + select(v | v <> null).value +let features : Set(Feature) = type.feature->asSet() in +input->forAll(inp | + inp.ownedRedefinition.redefinedFeature-> + intersection(features)->size() = 1) +let features : Set(Feature) = type.feature->asSet() in +input->forAll(inp1 | input->forAll(inp2 | + inp1 <> inp2 implies + inp1.ownedRedefinition.redefinedFeature-> + intersection(inp2.ownedRedefinition.redefinedFeature)-> + intersection(features)->isEmpty()))"""^^rdf:XMLLiteral ; + dcterms:title "InvocationExpressionShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "PortConjugationShape" ; + oslc:property , ; + dcterms:description """

A PortConjugation is a Conjugation Relationship between a PortDefinition and its corresponding ConjugatedPortDefinition. As a result of this Relationship, the ConjugatedPortDefinition inherits all the features of the original PortDefinition, but input flows of the original PortDefinition become outputs on the ConjugatedPortDefinition and output flows of the original PortDefinition become inputs on the ConjugatedPortDefinition.

+"""^^rdf:XMLLiteral ; + dcterms:title "PortConjugationShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "AllocationDefinitionShape" ; + oslc:property ; + dcterms:description """

An AllocationDefinition is a ConnectionDefinition that specifies that some or all of the responsibility to realize the intent of the source is allocated to the target instances. Such allocations define mappings across the various structures and hierarchies of a system model, perhaps as a precursor to more rigorous specifications and implementations. An AllocationDefinition can itself be refined using nested allocations that give a finer-grained decomposition of the containing allocation mapping.

+allocation = usage->selectAsKind(AllocationUsage) +specializesFromLibrary('Allocations::Allocation')"""^^rdf:XMLLiteral ; + dcterms:title "AllocationDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "relationshipIsImplied" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "InteractionShape" ; + dcterms:description """

An Interaction is a Behavior that is also an Association, providing a context for multiple objects that have behaviors that impact one another.

+"""^^rdf:XMLLiteral ; + dcterms:title "InteractionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageUsage" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Usages that are features of this Usage (not necessarily owned).

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "elementDeclaredShortName" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ItemFeatureShape" ; + dcterms:description """

An ItemFeature is the ownedFeature of an ItemFlow that identifies the things carried by the kinds of transfers that are instances of the ItemFlow.

+ownedRedefinition.redefinedFeature-> + redefinesFromLibrary('Transfers::Transfer::item')"""^^rdf:XMLLiteral ; + dcterms:title "ItemFeatureShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "caseDefinitionActorParameter" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The parameters of this CaseDefinition that represent actors involved in the case.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "IntersectingShape" ; + oslc:property , ; + dcterms:description """

Intersecting is a Relationship that makes its intersectingType one of the intersectingTypes of its typeIntersected.

+"""^^rdf:XMLLiteral ; + dcterms:title "IntersectingShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureInvertingOwningFeature" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

A featureInverted that is also the owningRelatedElement of this FeatureInverting.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "viewRenderingMembershipReferencedRendering" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RenderingUsage that is referenced through this ViewRenderingMembership. It is the referencedFeature of the ownedReferenceSubsetting for the ownedRendering, if there is one, and, otherwise, the ownedRendering itself.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ConjugatedPortTypingShape" ; + oslc:property , ; + dcterms:description """

A ConjugatedPortTyping is a FeatureTyping whose type is a ConjugatedPortDefinition. (This relationship is intended to be an abstract-syntax marker for a special surface notation for conjugated typing of ports.)

+portDefinition = conjugatedPortDefinition.originalPortDefinition"""^^rdf:XMLLiteral ; + dcterms:title "ConjugatedPortTypingShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureMembershipOwningType" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Type that owns this FeatureMembership.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedConnection" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConnectorAsUsages that are ownedUsages of this Definition. Note that this list includes BindingConnectorAsUsages and SuccessionAsUsages, even though these are ConnectorAsUsages but not ConnectionUsages.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "expressionFunction" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Function that types this Expression.

+ +

This is the Function that types the Expression.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "SendActionUsageShape" ; + oslc:property , , ; + dcterms:description """

A SendActionUsage is an ActionUsage that specifies the sending of a payload given by the result of its payloadArgument Expression via a MessageTransfer whose source is given by the result of the senderArgument Expression and whose target is given by the result of the receiverArgument Expression. If no senderArgument is provided, the default is the this context for the action. If no receiverArgument is given, then the receiver is to be determined by, e.g., outgoing Connections from the sender.

+ +senderArgument = argument(2) +payloadArgument = argument(1) +inputParameters()->size() >= 3 +receiverArgument = argument(3) +isSubactionUsage() implies + specializesFromLibrary('Actions::Action::acceptSubactions') +specializesFromLibrary('Actions::sendActions')"""^^rdf:XMLLiteral ; + dcterms:title "SendActionUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedPart" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The PartUsages that are nestedUsages of this Usage.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "LoopActionUsageShape" ; + oslc:property ; + dcterms:description """

A LoopActionUsage is an ActionUsage that specifies that its bodyAction should be performed repeatedly. Its subclasses WhileLoopActionUsage and ForLoopActionUsage provide different ways to determine how many times the bodyAction should be performed.

+bodyAction = + let parameter : Feature = inputParameter(2) in + if parameter <> null and parameter.oclIsKindOf(Action) then + parameter.oclAsType(Action) + else + null + endif +"""^^rdf:XMLLiteral ; + dcterms:title "LoopActionUsageShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "OccurrenceUsageShape" ; + oslc:property , , , ; + dcterms:description """

An OccurrenceUsage is a Usage whose types are all Classes. Nominally, if a type is an OccurrenceDefinition, an OccurrenceUsage is a Usage of that OccurrenceDefinition within a system. However, other types of Kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries.

+ +individualDefinition = + let individualDefinitions : OrderedSet(OccurrenceDefinition) = + occurrenceDefinition-> + selectByKind(OccurrenceDefinition)-> + select(isIndividual) in + if individualDefinitions->isEmpty() then null + else individualDefinitions->first() endif +isIndividual implies individualDefinition <> null +specializesFromLibrary('Occurrences::occurrences') +isComposite and +owningType <> null and +(owningType.oclIsKindOf(Class) or + owningType.oclIsKindOf(OccurrenceUsage) or + owningType.oclIsKindOf(Feature) and + owningType.oclAsType(Feature).type-> + exists(oclIsKind(Class))) implies + specializesFromLibrary('Occurrences::Occurrence::suboccurrences') +occurrenceDefinition-> + selectByKind(OccurrenceDefinition)-> + select(isIndividual).size() <= 1 +portionKind <> null implies + occurrenceDefinition->forAll(occ | + featuringType->exists(specializes(occ)))"""^^rdf:XMLLiteral ; + dcterms:title "OccurrenceUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionVariant" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Usages which represent the variants of this Definition as a variation point Definition, if isVariation = true. If isVariation = false, the there must be no variants.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "itemFlowItemType" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The type of values transferred, which is the type of the itemFeature of the ItemFlow.

+ +"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ClassShape" ; + dcterms:description """

A Class is a Classifier of things (in the universe) that can be distinguished without regard to how they are related to other things (via Features). This means multiple things classified by the same Class can be distinguished, even when they are related other things in exactly the same way.

+ +specializesFromLibrary('Occurrences::Occurrence') +ownedSpecialization.general-> + forAll(not oclIsKindOf(DataType)) and +not oclIsKindOf(Association) implies + ownedSpecialization.general-> + forAll(not oclIsKindOf(Association))"""^^rdf:XMLLiteral ; + dcterms:title "ClassShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedView" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ViewUsages that are nestedUsages of this Usage.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedEnumeration" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The code>EnumerationUsages that are nestedUsages of this Usage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "literalIntegerValue" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

The Integer value that is the result of evaluating this LiteralInteger.

+

The Integer value that is the result of evaluating this Expression.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ConjugatedPortDefinitionShape" ; + oslc:property , ; + dcterms:description """

A ConjugatedPortDefinition is a PortDefinition that is a PortDefinition of its original PortDefinition. That is, a ConjugatedPortDefinition inherits all the features of the original PortDefinition, but input flows of the original PortDefinition become outputs on the ConjugatedPortDefinition and output flows of the original PortDefinition become inputs on the ConjugatedPortDefinition. Every PortDefinition (that is not itself a ConjugatedPortDefinition) has exactly one corresponding ConjugatedPortDefinition, whose effective name is the name of the originalPortDefinition, with the character ~ prepended.

+ownedPortConjugator.originalPortDefinition = originalPortDefinition +conjugatedPortDefinition = null"""^^rdf:XMLLiteral ; + dcterms:title "ConjugatedPortDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "elementIsLibraryElement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

Whether this Element is contained in the ownership tree of a library model.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeInheritedMembership" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedCalculation" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The CalculationUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "connectorTargetFeature" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The target relatedFeatures for this Connector. This includes all the relatedFeatures other than the sourceFeature.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "behaviorParameter" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The parameters of this Behavior, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Behavior.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "elementOwnedAnnotation" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement."^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "subclassificationOwningClassifier" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Classifier that owns this Subclassification relationship, which must also be its subclassifier.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "conjugatedPortDefinitionOwnedPortConjugator" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The PortConjugation that is the ownedConjugator of this ConjugatedPortDefinition, linking it to its originalPortDefinition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "requirementDefinitionReqId" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

An optional modeler-specified identifier for this RequirementDefinition (used, e.g., to link it to an original requirement text in some source document), which is the declaredShortName for the RequirementDefinition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "viewRenderingMembershipOwnedRendering" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The owned RenderingUsage that is either itself the referencedRendering or subsets the referencedRendering."^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "MembershipExposeShape" ; + dcterms:description "

A MembershipExpose is an Expose that exposes a specific importedMembership and, if isRecursive = true, additional Memberships recursively.

"^^rdf:XMLLiteral ; + dcterms:title "MembershipExposeShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "AllocationUsageShape" ; + oslc:property ; + dcterms:description """

An AllocationUsage is a usage of an AllocationDefinition asserting the allocation of the source feature to the target feature.

+specializesFromLibrary('Allocations::allocations')"""^^rdf:XMLLiteral ; + dcterms:title "AllocationUsageShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "OccurrenceDefinitionShape" ; + oslc:property , ; + dcterms:description """

An OccurrenceDefinition is a Definition of a Class of individuals that have an independent life over time and potentially an extent over space. This includes both structural things and behaviors that act on such structures.

+ +

If isIndividual is true, then the OccurrenceDefinition is constrained to represent an individual thing. The instances of such an OccurrenceDefinition include all spatial and temporal portions of the individual being represented, but only one of these can be the complete Life of the individual. All other instances must be portions of the "maximal portion" that is single Life instance, capturing the conception that all of the instances represent one individual with a single "identity".

+ +

An OccurrenceDefinition must specialize, directly or indirectly, the base Class Occurrence from the Kernel Semantic Library.

+ +let n : Integer = ownedMember->selectByKind(LifeClass) in +if isIndividual then n = 1 else n = 0 endif +lifeClass = + let lifeClasses: OrderedSet(LifeClass) = + ownedMember->selectByKind(LifeClass) in + if lifeClasses->isEmpty() then null + else lifeClasses->first() + endif"""^^rdf:XMLLiteral ; + dcterms:title "OccurrenceDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "InterfaceUsageShape" ; + oslc:property ; + dcterms:description """

An InterfaceUsage is a Usage of an InterfaceDefinition to represent an interface connecting parts of a system through specific ports.

+ownedEndFeature->size() = 2 implies + specializesFromLibrary('Interfaces::binaryInterfaces') +specializesFromLibrary('Interfaces::interfaces')"""^^rdf:XMLLiteral ; + dcterms:title "InterfaceUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "membershipMemberShortName" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

The short name of the memberElement relative to the membershipOwningNamespace.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedConstraint" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ConstraintUsages that are ownedUsages of this Definition.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedState" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The StateUsages that are nestedUsages of this Usage.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "acceptActionUsagePayloadArgument" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

An Expression whose result is bound to the payload parameter of this AcceptActionUsage. If provided, the AcceptActionUsage will only accept a Transfer with exactly this payload.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedVerificationCase" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The VerificationCaseUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "RequirementUsageShape" ; + oslc:property , , , , , , , , ; + dcterms:description """

A RequirementUsage is a Usage of a RequirementDefinition.

+actorParameter = featureMembership-> + selectByKind(ActorMembership). + ownedActorParameter +assumedConstraint = ownedFeatureMembership-> + selectByKind(RequirementConstraintMembership)-> + select(kind = RequirementConstraintKind::assumption). + ownedConstraint +framedConcern = featureMembership-> + selectByKind(FramedConcernMembership). + ownedConcern +requiredConstraint = ownedFeatureMembership-> + selectByKind(RequirementConstraintMembership)-> + select(kind = RequirementConstraintKind::requirement). + ownedConstraint +stakeholderParameter = featureMembership-> + selectByKind(AStakholderMembership). + ownedStakeholderParameter +subjectParameter = + let subjects : OrderedSet(SubjectMembership) = + featureMembership->selectByKind(SubjectMembership) in + if subjects->isEmpty() then null + else subjects->first().ownedSubjectParameter + endif +text = documentation.body +featureMembership-> + selectByKind(SubjectMembership)-> + size() <= 1 +input->notEmpty() and input->first() = subjectParameter +specializesFromLibrary('Requirements::requirementChecks') +isComposite and owningType <> null and + (owningType.oclIsKindOf(RequirementDefinition) or + owningType.oclIsKindOf(RequirementUsage)) implies + specializesFromLibrary('Requirements::RequirementCheck::subrequirements') +owningfeatureMembership <> null and +owningfeatureMembership.oclIsKindOf(ObjectiveMembership) implies + owningType.ownedSpecialization.general->forAll(gen | + (gen.oclIsKindOf(CaseDefinition) implies + redefines(gen.oclAsType(CaseDefinition).objectiveRequirement)) and + (gen.oclIsKindOf(CaseUsage) implies + redefines(gen.oclAsType(CaseUsage).objectiveRequirement)) +owningFeatureMembership <> null and +owningFeatureMembership.oclIsKindOf(RequirementVerificationMembership) implies + specializesFromLibrary('VerificationCases::VerificationCase::obj::requirementVerifications')"""^^rdf:XMLLiteral ; + dcterms:title "RequirementUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "whileLoopActionUsageUntilArgument" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Expression whose result, if false, determines that the bodyAction should continue to be performed. It is the (optional) third owned parameter of the WhileLoopActionUsage.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "itemFlowItemFlowEnd" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The connectorEnds of this ItemFlow that are ItemFlowEnds.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "namespaceOwnedMember" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the .

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "assignmentActionUsageTargetArgument" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Expression whose value is an occurrence in the domain of the referent Feature, for which the value of the referent will be set to the result of the valueExpression by this AssignmentActionUsage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "owningMembershipOwnedMemberShortName" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

The shortName of the ownedMemberElement.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "textualRepresentationRepresentedElement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Element that is represented by this TextualRepresentation.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ExhibitStateUsageShape" ; + oslc:property ; + dcterms:description """

An ExhibitStateUsage is a StateUsage that represents the exhibiting of a StateUsage. Unless it is the StateUsage itself, the StateUsage to be exhibited is related to the ExhibitStateUsage by a ReferenceSubsetting Relationship. An ExhibitStateUsage is also a PerformActionUsage, with its exhibitedState as the performedAction.

+ +owningType <> null and +(owningType.oclIsKindOf(PartDefinition) or + owningType.oclIsKindOf(PartUsage)) implies + specializesFromLibrary('Parts::Part::exhibitedStates') +ownedReferenceSubsetting <> null implies + ownedReferenceSubsetting.referencedFeature.oclIsKindOf(StateUsage)"""^^rdf:XMLLiteral ; + dcterms:title "ExhibitStateUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "framedConcernMembershipReferencedConcern" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConcernUsage that is referenced through this FramedConcernMembership. It is the referencedConstraint of the FramedConcernMembership considered as a RequirementConstraintMembership, which must be a ConcernUsage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeFeaturingOwningFeatureOfType" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

A featureOfType that is also the owningRelatedElement of this TypeFeaturing.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "requirementDefinitionRequiredConstraint" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The owned ConstraintUsages that represent requirements of this RequirementDefinition, derived as the ownedConstraints of the RequirementConstraintMemberships of the RequirementDefinition with kind = requirement.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "relationshipTarget" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The relatedElements to which this Relationship is considered to be directed.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeOwnedDisjoining" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "occurrenceUsagePortionKind" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "annotationAnnotatingElement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The AnnotatingElement that annotates the annotatedElement of this Annotation.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "StructureShape" ; + dcterms:description """

A Structure is a Class of objects in the modeled universe that are primarily structural in nature. While such an object is not itself behavioral, it may be involved in and acted on by Behaviors, and it may be the performer of some of them.

+ +specializesFromLibrary('Objects::Object') +ownedSpecialization.general->forAll(not oclIsKindOf(Behavior))"""^^rdf:XMLLiteral ; + dcterms:title "StructureShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ForLoopActionUsageShape" ; + oslc:property , ; + dcterms:description """

A ForLoopActionUsage is a LoopActionUsage that specifies that its bodyAction ActionUsage should be performed once for each value, in order, from the sequence of values obtained as the result of the seqArgument Expression, with the loopVariable set to the value for each iteration.

+seqArgument = argument(1) + +isSubactionUsage() implies + specializesFromLibrary('Actions::Action::forLoops') +loopVariable <> null and +loopVariable.redefinesFromLibrary('Actions::ForLoopAction::var') +specializesFromLibrary('Actions::forLoopActions') +loopVariable = + if ownedFeature->isEmpty() or + not ownedFeature->first().oclIsKindOf(ReferenceUsage) then + null + else + ownedFeature->first().oclAsType(ReferenceUsage) + endif +ownedFeature->notEmpty() and +ownedFeature->at(1).oclIsKindOf(ReferenceUsage) + +inputParameters()->size() = 2"""^^rdf:XMLLiteral ; + dcterms:title "ForLoopActionUsageShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "InterfaceDefinitionShape" ; + oslc:property ; + dcterms:description """

An InterfaceDefinition is a ConnectionDefinition all of whose ends are PortUsages, defining an interface between elements that interact through such ports.

+specializesFromLibrary('Interfaces::Interface') +ownedEndFeature->size() = 2 implies + specializesFromLibrary('Interfaces::BinaryInterface')"""^^rdf:XMLLiteral ; + dcterms:title "InterfaceDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "elementShortName" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "MergeNodeShape" ; + dcterms:description """

A MergeNode is a ControlNode that asserts the merging of its incoming Successions. A MergeNode may have at most one outgoing Successions.

+sourceConnector->selectAsKind(Succession)->size() <= 1 +targetConnector->selectByKind(Succession)-> + collect(connectorEnd->at(1))-> + forAll(sourceMult | + multiplicityHasBounds(sourceMult, 0, 1)) +targetConnector->selectByKind(Succession)-> + forAll(subsetsChain(self, + resolveGlobal('ControlPerformances::MergePerformance::incomingHBLink'))) +specializesFromLibrary('Actions::Action::merges')"""^^rdf:XMLLiteral ; + dcterms:title "MergeNodeShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "viewUsageSatisfiedViewpoint" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The nestedRequirements of this ViewUsage that are ViewpointUsages for (additional) viewpoints satisfied by the ViewUsage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedTransition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The TransitionUsages that are nestedUsages of this Usage.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "elementElementId" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + dcterms:identifier ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "disjoiningDisjoiningType" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

Type asserted to be disjoint with the typeDisjoined.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "satisfyRequirementUsageSatisfiedRequirement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RequirementUsage that is satisfied by the satisfyingSubject of this SatisfyRequirementUsage. It is the assertedConstraint of the SatisfyRequirementUsage considered as an AssertConstraintUsage, which must be a RequirementUsage.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "LibraryPackageShape" ; + oslc:property ; + dcterms:description """

A LibraryPackage is a Package that is the container for a model library. A LibraryPackage is itself a library Element as are all Elements that are directly or indirectly contained in it.

+"""^^rdf:XMLLiteral ; + dcterms:title "LibraryPackageShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "FlowConnectionDefinitionShape" ; + dcterms:description """

A FlowConnectionDefinition is a ConnectionDefinition and ActionDefinition that is also an Interaction representing flows between Usages.

+specializesFromLibrary('Connections::MessageConnection')"""^^rdf:XMLLiteral ; + dcterms:title "FlowConnectionDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "owningMembershipOwnedMemberElementId" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

The elementId of the ownedMemberElement.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedConnection" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages and SuccessionAsUsages, even though these are ConnectorAsUsages but not ConnectionUsages.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "stateDefinitionState" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The StateUsages, which are actions in the StateDefinition, that specify the discrete states in the behavior defined by the StateDefinition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "commentLocale" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

Identification of the language of the body text and, optionally, the region and/or encoding. The format shall be a POSIX locale conformant to ISO/IEC 15897, with the format [language[_territory][.codeset][@modifier]].

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "MembershipShape" ; + oslc:property , , , , , ; + dcterms:description """

A Membership is a Relationship between a Namespace and an Element that indicates the Element is a member of (i.e., is contained in) the Namespace. Any memberNames specify how the memberElement is identified in the Namespace and the visibility specifies whether or not the memberElement is publicly visible from outside the Namespace.

+ +

If a Membership is an OwningMembership, then it owns its memberElement, which becomes an ownedMember of the membershipOwningNamespace. Otherwise, the memberNames of a Membership are effectively aliases within the membershipOwningNamespace for an Element with a separate OwningMembership in the same or a different Namespace.

+ +

 

+ +memberElementId = memberElement.elementId"""^^rdf:XMLLiteral ; + dcterms:title "MembershipShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "relationshipSource" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The relatedElements from which this Relationship is considered to be directed.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "connectionUsageConnectionDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The AssociationStructures that are the types of this ConnectionUsage. Nominally, these are , but other kinds of Kernel AssociationStructures are also allowed, to permit use of AssociationStructures from the Kernel Model Libraries

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "relationshipRelatedElement" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "StateSubactionMembershipShape" ; + oslc:property , ; + dcterms:description """

A StateSubactionMembership is a FeatureMembership for an entry, do or exit ActionUsage of a StateDefinition or StateUsage.

+owningType.oclIsKindOf(StateDefinition) or +owningType.oclIsKindOf(StateUsage)"""^^rdf:XMLLiteral ; + dcterms:title "StateSubactionMembershipShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "requirementVerificationMembershipVerifiedRequirement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RequirementUsage that is identified as being verified. It is the referencedConstraint of the RequirementVerificationMembership considered as a RequirementConstraintMembership, which must be a RequirementUsage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "elementFilterMembershipCondition" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The model-level evaluable Boolean-valued Expression used to filter the imported members of the membershipOwningNamespace of this ElementFilterMembership.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "occurrenceUsageOccurrenceDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "successionTriggerStep" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

Steps that map incoming events to the timing of occurrences of the transitionStep. The values of triggerStep subset the list of acceptable events to be received by a Behavior or the object that performs it.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "subclassificationSuperclassifier" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The more general Classifier in this Subclassification.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "occurrenceDefinitionLifeClass" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

If isIndividual is true, a LifeClass that specializes this OccurrenceDefinition, restricting it to represent an individual.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "verificationCaseUsageVerifiedRequirement" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RequirementUsages verified by this VerificationCaseUsage, which are the verifiedRequirements of all RequirementVerificationMemberships of the objectiveRequirement.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "relationshipOwnedRelatedElement" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The relatedElements of this Relationship that are owned by the Relationship.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "literalBooleanValue" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

The Boolean value that is the result of evaluating this LiteralBoolean.

+

The Boolean value that is the result of evaluating this Expression.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "elementOwnedElement" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "membershipMemberElementId" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

The elementId of the memberElement.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ViewRenderingMembershipShape" ; + oslc:property , ; + dcterms:description """

A ViewRenderingMembership is a FeatureMembership that identifies the viewRendering of a ViewDefinition or ViewUsage.

+referencedRendering = + let reference: ReferenceSubsetting = + ownedRendering.ownedReferenceSubsetting in + if reference = null then ownedRendering + else if not reference.referencedFeature.oclIsKindOf(RenderingUsage) then null + else reference.referencedFeature.oclAsType(RenderingUsage) + endif +owningType.oclIsKindOf(ViewDefinition) or +owningType.oclIsKindOf(ViewUsage)"""^^rdf:XMLLiteral ; + dcterms:title "ViewRenderingMembershipShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionDirectedUsage" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The usages of this Definition that are directedFeatures.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "DependencyShape" ; + oslc:property , ; + dcterms:description """

A Dependency is a Relationship that indicates that one or more client Elements require one more supplier Elements for their complete specification. In general, this means that a change to one of the supplier Elements may necessitate a change to, or re-specification of, the client Elements.

+ +

Note that a Dependency is entirely a model-level Relationship, without instance-level semantics.

"""^^rdf:XMLLiteral ; + dcterms:title "DependencyShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "differencingTypeDifferenced" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

Type with interpretations partly determined by differencingType, as described in Type::differencingType.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureTypingOwningFeature" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

A typedFeature that is also the owningRelatedElement of this FeatureTyping.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "sendActionUsageReceiverArgument" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

An Expression whose result is bound to the receiver input parameter of this SendActionUsage.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "expressionResult" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

An output parameter of the Expression whose value is the result of the Expression. The result of an Expression is either inherited from its function or it is related to the Expression via a ReturnParameterMembership, in which case it redefines the result parameter of its function.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "TransitionUsageShape" ; + oslc:property , , , , , ; + dcterms:description """

A TransitionUsage is an ActionUsage representing a triggered transition between ActionUsages or StateUsages. When triggered by a triggerAction, when its guardExpression is true, the TransitionUsage asserts that its source is exited, then its effectAction (if any) is performed, and then its target is entered.

+ +

A TransitionUsage can be related to some of its ownedFeatures using TransitionFeatureMembership Relationships, corresponding to the triggerAction, guardExpression and effectAction of the TransitionUsage.

+isComposite and owningType <> null and +(owningType.oclIsKindOf(ActionDefinition) or + owningType.oclIsKindOf(ActionUsage)) and +not (owningType.oclIsKindOf(StateDefinition) or + owningType.oclIsKindOf(StateUsage)) implies + specializesFromLibrary('Actions::Action::decisionTransitions') +isComposite and owningType <> null and +(owningType.oclIsKindOf(StateDefinition) or + owningType.oclIsKindOf(StateUsage)) implies + specializesFromLibrary(\"States::State::stateTransitions\") +specializesFromLibrary('Actions::transitionActions') +source = + if ownedMembership->isEmpty() then null + else + let member : Element = + ownedMembership->at(1).memberElement in + if not member.oclIsKindOf(ActionUsage) then null + else member.oclAsKindOf(ActionUsage) + endif + endif +target = + if succession.targetFeature->isEmpty() then null + else + let targetFeature : Feature = + succession.targetFeature->at(1) in + if not targetFeature.oclIsKindOf(ActionUsage) then null + else targetFeature.oclAsType(ActionUsage) + endif + endif +triggerAction = ownedFeatureMembership-> + selectByKind(TransitionFeatureMembership)-> + select(kind = TransitionFeatureKind::trigger).transitionFeature-> + selectByKind(AcceptActionUsage) +let successions : Sequence(Successions) = + ownedMember->selectByKind(Succession) in +successions->notEmpty() and +successions->at(1).targetFeature-> + forAll(oclIsKindOf(ActionUsage)) +guardExpression = ownedFeatureMembership-> + selectByKind(TransitionFeatureMembership)-> + select(kind = TransitionFeatureKind::trigger).transitionFeature-> + selectByKind(Expression) +triggerAction->forAll(specializesFromLibrary('Actions::TransitionAction::accepter') and +guardExpression->forAll(specializesFromLibrary('Actions::TransitionAction::guard') and +effectAction->forAll(specializesFromLibrary('Actions::TransitionAction::effect')) +triggerAction = ownedFeatureMembership-> + selectByKind(TransitionFeatureMembership)-> + select(kind = TransitionFeatureKind::trigger).transitionFeatures-> + selectByKind(AcceptActionUsage) +succession.sourceFeature = source +ownedMember->selectByKind(BindingConnector)->exists(b | + b.relatedFeatures->includes(source) and + b.relatedFeatures->includes(inputParameter(1))) +triggerAction->notEmpty() implies + let payloadParameter : Feature = inputParameter(2) in + payloadParameter <> null and + payloadParameter.subsetsChain(triggerAction->at(1), triggerPayloadParameter()) +ownedMember->selectByKind(BindingConnector)->exists(b | + b.relatedFeatures->includes(succession) and + b.relatedFeatures->includes(resolveGlobal( + 'TransitionPerformances::TransitionPerformance::transitionLink'))) +if triggerAction->isEmpty() then + inputParameters()->size() >= 1 +else + inputParameters()->size() >= 2 +endif + +succession = ownedMember->selectByKind(Succession)->at(1)"""^^rdf:XMLLiteral ; + dcterms:title "TransitionUsageShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "DataTypeShape" ; + dcterms:description """

A DataType is a Classifier of things (in the universe) that can only be distinguished by how they are related to other things (via Features). This means multiple things classified by the same DataType

+ +
    +
  • Cannot be distinguished when they are related to other things in exactly the same way, even when they are intended to be about different things.
  • +
  • Can be distinguished when they are related to other things in different ways, even when they are intended to be about the same thing.
  • +
+ +specializesFromLibrary('Base::DataValue') +ownedSpecialization.general-> + forAll(not oclIsKindOf(Class) and + not oclIsKindOf(Association))"""^^rdf:XMLLiteral ; + dcterms:title "DataTypeShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedAction" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "SelectExpressionShape" ; + dcterms:description """

A SelectExpression is an OperatorExpression whose operator is \"select\", which resolves to the Function ControlFunctions::select from the Kernel Functions Library.

+operator = 'select'"""^^rdf:XMLLiteral ; + dcterms:title "SelectExpressionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedViewpoint" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ViewpointUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "intersectingTypeIntersected" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

Type with interpretations partly determined by intersectingType, as described in Type::intersectingType.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureDirection" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind).

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "membershipMemberName" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

The name of the memberElement relative to the membershipOwningNamespace.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageOwningDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Definition that owns this Usage (if any).

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "requirementDefinitionActorParameter" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The parameters of this RequirementDefinition that represent actors involved in the requirement.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "connectorRelatedFeature" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Features that are related by this Connector considered as a Relationship and that restrict the links it identifies, given by the referenced Features of the connectorEnds of the Connector.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "InvariantShape" ; + oslc:property ; + dcterms:description """

An Invariant is a BooleanExpression that is asserted to have a specific Boolean result value. If isNegated = false, then the result is asserted to be true. If isNegated = true, then the result is asserted to be false.

+ +if isNegated then + specializesFromLibrary('Performances::falseEvaluations') +else + specializesFromLibrary('Performances::trueEvaluations') +endif"""^^rdf:XMLLiteral ; + dcterms:title "InvariantShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "assignmentActionUsageValueExpression" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Expression whose result is to be assigned to the referent Feature.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "SpecializationShape" ; + oslc:property , , ; + dcterms:description """

Specialization is a Relationship between two Types that requires all instances of the specific type to also be instances of the general Type (i.e., the set of instances of the specific Type is a subset of those of the general Type, which might be the same set).

+ +not specific.isConjugated"""^^rdf:XMLLiteral ; + dcterms:title "SpecializationShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "DisjoiningShape" ; + oslc:property , , ; + dcterms:description """

A Disjoining is a Relationship between Types asserted to have interpretations that are not shared (disjoint) between them, identified as typeDisjoined and disjoiningType. For example, a Classifier for mammals is disjoint from a Classifier for minerals, and a Feature for people's parents is disjoint from a Feature for their children.

+"""^^rdf:XMLLiteral ; + dcterms:title "DisjoiningShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "unioningTypeUnioned" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

Type with interpretations partly determined by unioningType, as described in Type::unioningType.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "specializationGeneral" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

A Type with a superset of all instances of the specific Type, which might be the same set.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureOwnedFeatureChaining" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "VerificationCaseDefinitionShape" ; + oslc:property ; + dcterms:description """

A VerificationCaseDefinition is a CaseDefinition for the purpose of verification of the subject of the case against its requirements.

+verifiedRequirement = + if objectiveRequirement = null then OrderedSet{} + else + objectiveRequirement.featureMembership-> + selectByKind(RequirementVerificationMembership). + verifiedRequirement->asOrderedSet() + endif +specializesFromLibrary('VerificationCases::VerificationCase')"""^^rdf:XMLLiteral ; + dcterms:title "VerificationCaseDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "viewDefinitionViewRendering" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RenderingUsage to be used to render views defined by this ViewDefinition, which is the referencedRendering of the ViewRenderingMembership of the ViewDefinition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "packageFilterCondition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The model-level evaluable Boolean-valued Expression used to filter the members of this Package, which are owned by the Package are via ElementFilterMemberships.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "elementOwner" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "allocationUsageAllocationDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The AllocationDefinitions that are the types of this AllocationUsage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedInterface" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The InterfaceUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "elementIsImpliedIncluded" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedFlow" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The code>FlowConnectionUsages that are nestedUsages of this Usage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "analysisCaseUsageAnalysisAction" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The composite usages of the AnalysisCaseUsage that are defined as AnalysisActions.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "invariantIsNegated" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

Whether this Invariant is asserted to be false rather than true.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ElementFilterMembershipShape" ; + oslc:property ; + dcterms:description """

ElementFilterMembership is a Membership between a Namespace and a model-level evaluable Boolean-valued Expression, asserting that imported members of the Namespace should be filtered using the condition Expression. A general Namespace does not define any specific filtering behavior, but such behavior may be defined for various specialized kinds of Namespaces.

+ +condition.isModelLevelEvaluable +condition.result.specializesFromLibrary('ScalarValues::Boolean')"""^^rdf:XMLLiteral ; + dcterms:title "ElementFilterMembershipShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "MembershipImportShape" ; + oslc:property ; + dcterms:description """

A MembershipImport is an Import that imports its importedMembership into the importOwningNamespace. If isRecursive = true and the memberElement of the importedMembership is a Namespace, then the equivalent of a recursive NamespaceImport is also performed on that Namespace.

+ +importedElement = importedMembership.memberElement"""^^rdf:XMLLiteral ; + dcterms:title "MembershipImportShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "stakeholderMembershipOwnedStakeholderParameter" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The PartUsage specifying the stakeholder.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedCase" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The code>CaseUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "CaseDefinitionShape" ; + oslc:property , , ; + dcterms:description """

A CaseDefinition is a CalculationDefinition for a process, often involving collecting evidence or data, relative to a subject, possibly involving the collaboration of one or more other actors, producing a result that meets an objective.

+objectiveRequirement = + let objectives: OrderedSet(RequirementUsage) = + featureMembership-> + selectByKind(ObjectiveMembership). + ownedRequirement in + if objectives->isEmpty() then null + else objectives->first().ownedObjectiveRequirement + endif +featureMembership-> + selectByKind(ObjectiveMembership)-> + size() <= 1 +subjectParameter = + let subjectMems : OrderedSet(SubjectMembership) = + featureMembership->selectByKind(SubjectMembership) in + if subjectMems->isEmpty() then null + else subjectMems->first().ownedSubjectParameter + endif +actorParameter = featureMembership-> + selectByKind(ActorMembership). + ownedActorParameter +featureMembership->selectByKind(SubjectMembership)->size() <= 1 +input->notEmpty() and input->first() = subjectParameter +specializesFromLibrary('Cases::Case')"""^^rdf:XMLLiteral ; + dcterms:title "CaseDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "SubsettingShape" ; + oslc:property , , ; + dcterms:description """

Subsetting is Specialization in which the specific and general Types are Features. This means all values of the subsettingFeature (on instances of its domain, i.e., the intersection of its featuringTypes) are values of the subsettedFeature on instances of its domain. To support this the domain of the subsettingFeature must be the same or specialize (at least indirectly) the domain of the subsettedFeature (via Specialization), and the co-domain (intersection of the types) of the subsettingFeature must specialize the co-domain of the subsettedFeature.

+ +let subsettingFeaturingTypes: OrderedSet(Type) = + subsettingFeature.featuringTypes in +let subsettedFeaturingTypes: OrderedSet(Type) = + subsettedFeature.featuringTypes in +let anythingType: Element = + subsettingFeature.resolveGlobal('Base::Anything').memberElement in +subsettedFeaturingTypes->forAll(t | + subsettingFeaturingTypes->isEmpty() and t = anythingType or + subsettingFeaturingTypes->exists(specializes(t)) +subsettedFeature.isUnique implies subsettingFeature.isUnique"""^^rdf:XMLLiteral ; + dcterms:title "SubsettingShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "FeatureShape" ; + oslc:property , , , , , , , , , , , , , , , , , , , , , ; + dcterms:description """

A Feature is a Type that classifies relations between multiple things (in the universe). The domain of the relation is the intersection of the featuringTypes of the Feature. (The domain of a Feature with no featuringTyps is implicitly the most general Type Base::Anything from the Kernel Semantic Library.) The co-domain of the relation is the intersection of the types of the Feature. + +

In the simplest cases, the featuringTypes and types are Classifiers and the Feature relates two things, one from the domain and one from the range. Examples include cars paired with wheels, people paired with other people, and cars paired with numbers representing the car length.

+ +

Since Features are Types, their featuringTypes and types can be Features. In this case, the Feature effectively classifies relations between relations, which can be interpreted as the sequence of things related by the domain Feature concatenated with the sequence of things related by the co-domain Feature.

+ +

The values of a Feature for a given instance of its domain are all the instances of its co-domain that are related to that domain instance by the Feature. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with values of the first Feature, then using those values as domain instances to obtain valus of the second Feature, and so on, to values of the last Feature.

+ +ownedRedefinition = ownedSubsetting->selectByKind(Redefinition) +ownedTypeFeaturing = ownedRelationship->selectByKind(TypeFeaturing)-> + select(tf | tf.featureOfType = self) +ownedSubsetting = ownedSpecialization->selectByKind(Subsetting) +ownedTyping = ownedGeneralization->selectByKind(FeatureTyping) +type = + let types : OrderedSet(Types) = OrderedSet{self}-> + -- Note: The closure operation automatically handles circular relationships. + closure(typingFeatures()).typing.type->asOrderedSet() in + types->reject(t1 | types->exist(t2 | t2 <> t1 and t2.specializes(t1))) +multiplicity <> null implies multiplicity.featuringType = featuringType +specializesFromLibrary('Base::things') +chainingFeature->excludes(self) +ownedFeatureChaining = ownedRelationship->selectByKind(FeatureChaining) +chainingFeature = ownedFeatureChaining.chainingFeature +chainingFeature->size() <> 1 +isEnd and owningType <> null implies + let i : Integer = + owningType.ownedEndFeature->indexOf(self) in + owningType.ownedSpecialization.general-> + forAll(supertype | + supertype.endFeature->size() >= i implies + redefines(supertype.endFeature->at(i)) +direction = null and +ownedSpecializations->forAll(isImplied) implies + ownedMembership-> + selectByKind(FeatureValue)-> + forAll(fv | specializes(fv.value.result)) +isEnd and owningType <> null and +(owningType.oclIsKindOf(Association) or + owningType.oclIsKindOf(Connector)) implies + specializesFromLibrary('Links::Link::participant') +isComposite and +ownedTyping.type->includes(oclIsKindOf(Structure)) and +owningType <> null and +(owningType.oclIsKindOf(Structure) or + owningType.type->includes(oclIsKindOf(Structure))) implies + specializesFromLibrary('Occurrence::Occurrence::suboccurrences') +owningType <> null and +owningType.oclIsKindOf(FeatureReferenceExpression) and +self = owningType.oclAsType(FeatureReferenceExpression).result implies + specializes(owningType.oclAsType(FeatureReferenceExpression).referent) + +ownedTyping.type->exists(selectByKind(Class)) implies + specializesFromLibrary('Occurrences::occurrences') +isComposite and +ownedTyping.type->includes(oclIsKindOf(Class)) and +owningType <> null and +(owningType.oclIsKindOf(Class) or + owningType.oclIsKindOf(Feature) and + owningType.oclAsType(Feature).type-> + exists(oclIsKindOf(Class))) implies + specializesFromLibrary('Occurrence::Occurrence::suboccurrences') +ownedTyping.type->exists(selectByKind(DataType)) implies + specializesFromLibrary('Base::dataValues') +owningType <> null and +owningType.oclIsKindOf(ItemFlowEnd) and +owningType.ownedFeature->at(1) = self implies + let flowType : Type = owningType.owningType in + flowType <> null implies + let i : Integer = + flowType.ownedFeature.indexOf(owningType) in + (i = 1 implies + redefinesFromLibrary('Transfers::Transfer::source::sourceOutput')) and + (i = 2 implies + redefinesFromLibrary('Transfers::Transfer::source::targetInput')) + +owningType <> null and +(owningType.oclIsKindOf(Behavior) or + owningType.oclIsKindOf(Step)) implies + let i : Integer = + owningType.ownedFeature->select(direction <> null) in + owningType.ownedSpecialization.general-> + forAll(supertype | + let ownedParameters : Sequence(Feature) = + supertype.ownedFeature->select(direction <> null) in + ownedParameters->size() >= i implies + redefines(ownedParameters->at(i)) +ownedTyping.type->exists(selectByKind(Structure)) implies + specializesFromLibary('Objects::objects') +owningType <> null and +(owningType.oclIsKindOf(Function) and + self = owningType.oclAsType(Function).result or + owningType.oclIsKindOf(Expression) and + self = owningType.oclAsType(Expression).result) implies + owningType.ownedSpecialization.general-> + select(oclIsKindOf(Function) or oclIsKindOf(Expression))-> + forAll(supertype | + redefines( + if superType.oclIsKindOf(Function) then + superType.oclAsType(Function).result + else + superType.oclAsType(Expression).result + endif) +ownedFeatureInverting = ownedRelationship->selectByKind(FeatureInverting)-> + select(fi | fi.featureInverted = self) +featuringType = + let featuringTypes : OrderedSet(Type) = + featuring.type->asOrderedSet() in + if chainingFeature->isEmpty() then featuringTypes + else + featuringTypes-> + union(chainingFeature->first().featuringType)-> + asOrderedSet() + endif +ownedReferenceSubsetting = + let referenceSubsettings : OrderedSet(ReferenceSubsetting) = + ownedSubsetting->selectByKind(ReferenceSubsetting) in + if referenceSubsettings->isEmpty() then null + else referenceSubsettings->first() endif +ownedSubsetting->selectByKind(ReferenceSubsetting)->size() <= 1 +Sequence{1..chainingFeature->size() - 1}->forAll(i | + chainingFeature->at(i + 1).featuringType->forAll(t | + chainingFeature->at(i).specializes(t))) + +isPortion and +ownedTyping.type->includes(oclIsKindOf(Class)) and +owningType <> null and +(owningType.oclIsKindOf(Class) or + owningType.oclIsKindOf(Feature) and + owningType.oclAsType(Feature).type-> + exists(oclIsKindOf(Class))) implies + specializesFromLibrary('Occurrence::Occurrence::portions')"""^^rdf:XMLLiteral ; + dcterms:title "FeatureShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeOutput" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

All features related to this Type by FeatureMemberships that have direction out or inout.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureIsReadOnly" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

Whether the values of this Feature can change over the lifetime of an instance of the domain.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "viewpointDefinitionViewpointStakeholder" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The PartUsages that identify the stakeholders with concerns framed by this ViewpointDefinition, which are the owned and inherited stakeholderParameters of the framedConcerns of this ViewpointDefinition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "stateUsageExitAction" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsage of this StateUsage to be performed on exit to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateUsage by a StateSubactionMembership with kind = exit.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "exhibitStateUsageExhibitedState" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The StateUsage to be exhibited by the ExhibitStateUsage. It is the performedAction of the ExhibitStateUsage considered as a PerformActionUsage, which must be a StateUsage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "stateSubactionMembershipKind" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

Whether this StateSubactionMembership is for an entry, do or exit ActionUsage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "assertConstraintUsageAssertedConstraint" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConstraintUsage to be performed by the AssertConstraintUsage. It is the referenceFeature of the ownedReferenceSubsetting for the AssertConstraintUsage, if there is one, and, otherwise, the AssertConstraintUsage itself.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featuringType" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Type that features the featureOfType.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "viewDefinitionViewCondition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Expressions related to this ViewDefinition by ElementFilterMemberships, which specify conditions on Elements to be rendered in a view.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedConcern" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConcernUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "conjugatedPortTypingConjugatedPortDefinition" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The type of this ConjugatedPortTyping considered as a FeatureTyping, which must be a ConjugatedPortDefinition.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "itemFlowTargetInputFeature" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that receives the values carried by the ItemFlow. It must be an owned output of the target participant of the ItemFlow.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureChainingChainingFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Feature whose values partly determine values of featureChained, as described in Feature::chainingFeature.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureInvertingFeatureInverted" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that is an inverse of the invertingFeature.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedItem" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ItemUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedAllocation" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The AllocationUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "requirementConstraintMembershipKind" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

Whether the RequirementConstraintMembership is for an assumed or required ConstraintUsage.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "FlowConnectionUsageShape" ; + oslc:property ; + dcterms:description """

A FlowConnectionUsage is a ConnectionUsage that is also an ItemFlow.

+if ownedEndFeatures->isEmpty() then + specializesFromLibrary('Connections::messageConnections') +else + specializesFromLibrary('Connections::flowConnections') +endif"""^^rdf:XMLLiteral ; + dcterms:title "FlowConnectionUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "membershipImportImportedMembership" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Membership to be imported.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "successionTransitionStep" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

A Step that is typed by the Behavior TransitionPerformances::TransitionPerformance (from the Kernel Semantic Library) that has this Succession as its transitionLink.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "variantMembershipOwnedVariantUsage" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Usage that represents a variant in the context of the owningVariationDefinition or owningVariationUsage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "portConjugationOriginalPortDefinition" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The PortDefinition being conjugated.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "stateSubactionMembershipAction" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsage that is the ownedMemberFeature of this StateSubactionMembership.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "LiteralStringShape" ; + oslc:property ; + dcterms:description """

A LiteralString is a LiteralExpression that provides a String value as a result. Its result parameter must have the type String.

+ +specializesFromLibrary('Performances::literalStringEvaluations')"""^^rdf:XMLLiteral ; + dcterms:title "LiteralStringShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "AnnotationShape" ; + oslc:property , , , ; + dcterms:description """

An Annotation is a Relationship between an AnnotatingElement and the Element that is annotated by that AnnotatingElement.

+"""^^rdf:XMLLiteral ; + dcterms:title "AnnotationShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedMetadata" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The MetadataUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ConjugationShape" ; + oslc:property , , ; + dcterms:description """

Conjugation is a Relationship between two types in which the conjugatedType inherits all the Features of the originalType, but with all input and output Features reversed. That is, any Features with a direction in relative to the originalType are considered to have an effective direction of out relative to the conjugatedType and, similarly, Features with direction out in the originalType are considered to have an effective direction of in in the conjugatedType. Features with direction inout, or with no direction, in the originalType, are inherited without change.

+ +

A Type may participate as a conjugatedType in at most one Conjugation relationship, and such a Type may not also be the specific Type in any Specialization relationship.

+"""^^rdf:XMLLiteral ; + dcterms:title "ConjugationShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "SuccessionFlowConnectionUsageShape" ; + dcterms:description """

A SuccessionFlowConnectionUsage is a FlowConnectionUsage that is also a SuccessionItemFlow.

+specializesFromLibrary('Connections::successionFlowConnections')"""^^rdf:XMLLiteral ; + dcterms:title "SuccessionFlowConnectionUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "connectorSourceFeature" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The source relatedFeature for this Connector. It is the first relatedFeature.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "ifActionUsageIfArgument" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Expression whose result determines whether the thenAction or (optionally) the elseAction is performed. It is the first parameter of the IfActionUsage.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedEnumeration" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The EnumerationUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeInheritedFeature" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "multiplicityRangeUpperBound" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "The Expression whose result is the upper bound of the MultiplicityRange."^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "elementName" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + dcterms:title ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "literalRationalValue" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

The value whose rational approximation is the result of evaluating this LiteralRational.

+ +

The Real value that is the result of evaluating this Expression.

"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "RenderingUsageShape" ; + oslc:property ; + dcterms:description """

A RenderingUsage is the usage of a RenderingDefinition to specify the rendering of a specific model view to produce a physical view artifact.

+ + +specializesFromLibrary('Views::renderings') +owningType <> null and +(owningType.oclIsKindOf(RenderingDefinition) or + owningType.oclIsKindOf(RenderingUsage)) implies + specializesFromLibrary('Views::Rendering::subrenderings') +owningFeatureMembership <> null and +owningFeatureMembership.oclIsKindOf(ViewRenderingMembership) implies + redefinesFromLibrary('Views::View::viewRendering')"""^^rdf:XMLLiteral ; + dcterms:title "RenderingUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "framedConcernMembershipOwnedConcern" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConcernUsage that is the ownedConstraint of this FramedConcernMembership.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "CalculationUsageShape" ; + oslc:property ; + dcterms:description """

A CalculationUsage is an ActionUsage that is also an Expression, and, so, is typed by a Function. Nominally, if the type is a CalculationDefinition, a CalculationUsage is a Usage of that CalculationDefinition within a system. However, other kinds of kernel Functions are also allowed, to permit use of Functions from the Kernel Model Libraries.

+specializesFromLibrary('Calculations::calculations') +owningType <> null and +(owningType.oclIsKindOf(CalculationDefinition) or + owningType.oclIsKindOf(CalculationUsage)) implies + specializesFromLibrary('Calculations::Calculation::subcalculations')"""^^rdf:XMLLiteral ; + dcterms:title "CalculationUsageShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "DifferencingShape" ; + oslc:property , ; + dcterms:description """

Differencing is a Relationship that makes its differencingType one of the differencingTypes of its typeDifferenced.

+"""^^rdf:XMLLiteral ; + dcterms:title "DifferencingShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "FeatureValueShape" ; + oslc:property , , , ; + dcterms:description """

A FeatureValue is a Membership that identifies a particular member Expression that provides the value of the Feature that owns the FeatureValue. The value is specified as either a bound value or an initial value, and as either a concrete or default value. A Feature can have at most one FeatureValue.

+ +

The result of the value Expression is bound to the featureWithValue using a BindingConnector. If isInitial = false, then the featuringType of the BindingConnector is the same as the featuringType of the featureWithValue. If isInitial = true, then the featuringType of the BindingConnector is restricted to its startShot. + +

If isDefault = false, then the above semantics of the FeatureValue are realized for the given featureWithValue. Otherwise, the semantics are realized for any individual of the featuringType of the featureWithValue, unless another value is explicitly given for the featureWithValue for that individual.

+ +not isDefault implies + featureWithValue.ownedMember-> + selectByKind(BindingConnector)->exists(b | + b.relatedFeature->includes(featureWithValue) and + b.relatedFeature->includes(value.result) and + if not isInitial then + b.featuringType = featureWithValue.featuringType + else + b.featuringType->exists(t | + t.oclIsKindOf(Feature) and + t.oclAsType(Feature).chainingFeature = + Sequence{ + resolveGlobal('Base::things::that'). + memberElement, + resolveGlobal('Occurrences::Occurrence::startShot'). + memberElement + } + ) + endif) +featureWithValue.redefinition.redefinedFeature-> + closure(redefinition.redefinedFeature).valuation-> + forAll(isDefault)"""^^rdf:XMLLiteral ; + dcterms:title "FeatureValueShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "associationTargetType" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The target relatedTypes for this Association. This includes all the relatedTypes other than the sourceType.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "portUsagePortDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The occurrenceDefinitions of this PortUsage, which must all be PortDefinitions.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "sendActionUsageSenderArgument" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

An Expression whose result is bound to the sender input parameter of this SendActionUsage.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "FeatureReferenceExpressionShape" ; + oslc:property ; + dcterms:description """

A FeatureReferenceExpression is an Expression whose result is bound to a referent Feature.

+referent = + let nonParameterMemberships : Sequence(Membership) = ownedMembership-> + reject(oclIsKindOf(ParameterMembership)) in + if nonParameterMemberships->isEmpty() or + not nonParameterMemberships->first().memberElement.oclIsKindOf(Feature) + then null + else nonParameterMemberships->first().memberElement.oclAsType(Feature) + endif +ownedMember->selectByKind(BindingConnector)->exists(b | + b.relatedFeatures->includes(targetFeature) and + b.relatedFeatures->includes(result)) +let membership : Membership = + ownedMembership->reject(m | m.oclIsKindOf(ParameterMembership)) in +membership->notEmpty() and +membership->at(1).memberElement.oclIsKindOf(Feature)"""^^rdf:XMLLiteral ; + dcterms:title "FeatureReferenceExpressionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureOwningFeatureMembership" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "VerificationCaseUsageShape" ; + oslc:property , ; + dcterms:description """

A VerificationCaseUsage is a Usage of a VerificationCaseDefinition.

+verifiedRequirement = + if objectiveRequirement = null then OrderedSet{} + else + objectiveRequirement.featureMembership-> + selectByKind(RequirementVerificationMembership). + verifiedRequirement->asOrderedSet() + endif +specializesFromLibrary('VerificationCases::verificationCases') +isComposite and owningType <> null and + (owningType.oclIsKindOf(VerificationCaseDefinition) or + owningType.oclIsKindOf(VerificationCaseUsage)) implies + specializesFromLibrary('VerificationCases::VerificationCase::subVerificationCases')"""^^rdf:XMLLiteral ; + dcterms:title "VerificationCaseUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "elementAliasIds" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

Various alternative identifiers for this Element. Generally, these will be set by tools.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "MetadataFeatureShape" ; + oslc:property ; + dcterms:description """

A MetadataFeature is a Feature that is an AnnotatingElement used to annotate another Element with metadata. It is typed by a Metaclass. All its ownedFeatures must redefine features of its metaclass and any feature bindings must be model-level evaluable.

+ + +specializesFromLibrary('Metaobjects::metaobjects') +isSemantic() implies + let annotatedTypes : Sequence(Type) = + annotatedElement->selectAsKind(Type) in + let baseTypes : Sequence(MetadataFeature) = + evaluateFeature(resolveGlobal( + 'Metaobjects::SemanticMetadata::baseType'). + memberElement. + oclAsType(Feature))-> + selectAsKind(MetadataFeature) in + annotatedTypes->notEmpty() and + baseTypes()->notEmpty() and + baseTypes()->first().isSyntactic() implies + let annotatedType : Type = annotatedTypes->first() in + let baseType : Element = baseTypes->first().syntaxElement() in + if annotatedType.oclIsKindOf(Classifier) and + baseType.oclIsKindOf(Feature) then + baseType.oclAsType(Feature).type-> + forAll(t | annotatedType.specializes(t)) + else if baseType.oclIsKindOf(Type) then + annotatedType.specializes(baseType.oclAsType(Type)) + else + true + endif +not metaclass.isAbstract +let baseAnnotatedElementFeature : Feature = + resolveGlobal('Metaobjects::Metaobject::annotatedElement').memberElement. + oclAsType(Feature) in +let annotatedElementFeatures : OrderedSet(Feature) = feature-> + select(specializes(baseAnnotatedElementFeature))-> + excluding(baseAnnotatedElementFeature) in +annotatedElementFeatures->notEmpty() implies + let annotatedElementTypes : Set(Feature) = + annotatedElementFeatures.typing.type->asSet() in + let metaclasses : Set(Metaclass) = + annotatedElement.oclType().qualifiedName->collect(qn | + resolveGlobal(qn).memberElement.oclAsType(Metaclass)) in + metaclasses->forAll(m | annotatedElementTypes->exists(t | m.specializes(t))) +ownedFeature->closure(ownedFeature)->forAll(f | + f.declaredName = null and f.declaredShortName = null and + f.valuation <> null implies f.valuation.value.isModelLevelEvaluable and + f.redefinition.redefinedFeature->size() = 1) +metaclass = + let metaclassTypes : Sequence(Type) = type->selectByKind(Metaclass) in + if metaclassTypes->isEmpty() then null + else metaClassTypes->first() + endif +type->selectByKind(Metaclass).size() = 1"""^^rdf:XMLLiteral ; + dcterms:title "MetadataFeatureShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "MetadataUsageShape" ; + oslc:property ; + dcterms:description """

A MetadataUsage is a Usage and a MetadataFeature, used to annotate other Elements in a system model with metadata. As a MetadataFeature, its type must be a Metaclass, which will nominally be a MetadataDefinition. However, any kernel Metaclass is also allowed, to permit use of Metaclasses from the Kernel Model Libraries.

+specializesFromLibrary('Metadata::metadataItems')"""^^rdf:XMLLiteral ; + dcterms:title "MetadataUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "subclassificationSubclassifier" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The more specific Classifier in this Subclassification.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "subjectMembershipOwnedSubjectParameter" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The UsageownedMemberParameter of this SubjectMembership.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "connectorAssociation" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Associations that type the Connector.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "analysisCaseDefinitionResultExpression" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

An Expression used to compute the result of the AnalysisCaseDefinition, owned via a ResultExpressionMembership.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "LiteralIntegerShape" ; + oslc:property ; + dcterms:description """

A LiteralInteger is a LiteralExpression that provides an Integer value as a result. Its result parameter must have the type Integer.

+ +specializesFromLibrary('Performances::literalIntegerEvaluations')"""^^rdf:XMLLiteral ; + dcterms:title "LiteralIntegerShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "redefinitionRedefinedFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Feature that is redefined by the redefiningFeature of this Redefinition.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ConnectionUsageShape" ; + oslc:property ; + dcterms:description """

A ConnectionUsage is a ConnectorAsUsage that is also a PartUsage. Nominally, if its type is a ConnectionDefinition, then a ConnectionUsage is a Usage of that ConnectionDefinition, representing a connection between parts of a system. However, other kinds of kernel AssociationStructures are also allowed, to permit use of AssociationStructures from the Kernel Model Libraries.

+specializesFromLibrary('Connections::connections') +ownedEndFeature->size() = 2 implies + specializesFromLibrary('Connections::binaryConnections')"""^^rdf:XMLLiteral ; + dcterms:title "ConnectionUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "redefinitionRedefiningFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Feature that is redefining the redefinedFeature of this Redefinition.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "subsettingSubsettingFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Feature that is a subset of the subsettedFeature of this Subsetting.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "whileLoopActionUsageWhileArgument" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Expression whose result, if true, determines that the bodyAction should continue to be performed. It is the first owned parameter of the WhileLoopActionUsage.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ReferenceSubsettingShape" ; + oslc:property , ; + dcterms:description """

ReferenceSubsetting is a kind of Subsetting in which the referencedFeature is syntactically distinguished from other Features subsetted by the referencingFeature. ReferenceSubsetting has the same semantics as Subsetting, but the referenceFeature may have a special purpose relative to the referencingFeature. For instance, ReferenceSubsetting is used to identify the relatedFeatures of a Connector.

+ +

ReferenceSubsetting is always an ownedRelationship of its referencingFeature. A Feature can have at most one ownedReferenceSubsetting.

+"""^^rdf:XMLLiteral ; + dcterms:title "ReferenceSubsettingShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "metadataAccessExpressionReferencedElement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Element whose metadata is being accessed.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "subsettingOwningFeature" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

A subsettingFeature that is also the owningRelatedElement of this Subsetting.

+ +"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageVariant" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "FeaturingShape" ; + oslc:property , ; + dcterms:description """

Featuring is a Relationship between a Type and a Feature that is featured by that Type. It asserts that every instance in the domain of the feature must be classified by the type.

+ +

Featuring is abstract and does not commit to which of feature or type are the source or target of the Relationship. This commitment is made in the subclasses of Featuring, TypeFeaturing and FeatureMembership, which have opposite directions.

"""^^rdf:XMLLiteral ; + dcterms:title "FeaturingShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "FramedConcernMembershipShape" ; + oslc:property , ; + dcterms:description """

A FramedConcernMembership is a RequirementConstraintMembership for a framed ConcernUsage of a RequirementDefinition or RequirementUsage.

+kind = RequirementConstraintKind::requirement"""^^rdf:XMLLiteral ; + dcterms:title "FramedConcernMembershipShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "annotatingElementOwnedAnnotatingRelationship" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedRelationships of this AnnotatingElement that are Annotations, for which this AnnotatingElement is the annotatingElement.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "transitionUsageSuccession" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Succession that is the ownedFeature of this TransitionUsage, which, if the TransitionUsage is triggered, asserts the temporal ordering of the source and target.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ViewUsageShape" ; + oslc:property , , , , ; + dcterms:description """

A ViewUsage is a usage of a ViewDefinition to specify the generation of a view of the members of a collection of exposedNamespaces. The ViewUsage can satisfy more viewpoints than its definition, and it can specialize the viewRendering specified by its definition.

+exposedElement = ownedImport->selectByKind(Expose). + importedMemberships(Set{}).memberElement-> + select(elm | includeAsExposed(elm))-> + asOrderedSet() +satisfiedViewpoint = ownedRequirement-> + selectByKind(ViewpointUsage)-> + select(isComposite) +viewCondition = ownedMembership-> + selectByKind(ElementFilterMembership). + condition +viewRendering = + let renderings: OrderedSet(ViewRenderingMembership) = + featureMembership->selectByKind(ViewRenderingMembership) in + if renderings->isEmpty() then null + else renderings->first().referencedRendering + endif +featureMembership-> + selectByKind(ViewRenderingMembership)-> + size() <= 1 +specializesFromLibrary('Views::views') +owningType <> null and +(owningType.oclIsKindOf(ViewDefinition) or + owningType.oclIsKindOf(ViewUsage)) implies + specializesFromLibrary('Views::View::subviews')"""^^rdf:XMLLiteral ; + dcterms:title "ViewUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeIntersectingType" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex).

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "intersectingIntersectingType" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

Type that partly determines interpretations of typeIntersected, as described in Type::intersectingType.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ConstraintUsageShape" ; + oslc:property ; + dcterms:description """

A ConstraintUsage is an OccurrenceUsage that is also a BooleanExpression, and, so, is typed by a Predicate. Nominally, if the type is a ConstraintDefinition, a ConstraintUsage is a Usage of that ConstraintDefinition. However, other kinds of kernel Predicates are also allowed, to permit use of Predicates from the Kernel Model Libraries.

+owningFeatureMembership <> null and +owningFeatureMembership.oclIsKindOf(RequirementConstraintMembership) implies + if owningFeatureMembership.oclAsType(RequirementConstraintMembership).kind = + RequirementConstraintKind::assumption then + specializesFromLibrary('Requirements::RequirementCheck::assumptions') + else + specializesFromLibrary('Requirements::RequirementCheck::constraints') + endif +specializesFromLibrary('Constraints::constraintChecks') +owningType <> null and +(owningType.oclIsKindOf(ItemDefinition) or + owningType.oclIsKindOf(ItemUsage)) implies + specializesFromLibrary('Items::Item::checkedConstraints')"""^^rdf:XMLLiteral ; + dcterms:title "ConstraintUsageShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ViewpointDefinitionShape" ; + oslc:property ; + dcterms:description """

A ViewpointDefinition is a RequirementDefinition that specifies one or more stakeholder concerns that are to be satisfied by creating a view of a model.

+viewpointStakeholder = framedConcern.featureMemberhsip-> + selectByKind(StakeholderMembership). + ownedStakeholderParameter +specializesFromLibrary('Views::Viewpoint')"""^^rdf:XMLLiteral ; + dcterms:title "ViewpointDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedRendering" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RenderingUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "forLoopActionUsageSeqArgument" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Expression whose result provides the sequence of values to which the loopVariable is set for each iterative performance of the bodyAction. It is the Expression whose result is bound to the seq input parameter of this ForLoopActionUsage.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "commentBody" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

The annotation text for the Comment.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "useCaseUsageIncludedUseCase" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The UseCaseUsages that are included by this UseCaseUse, which are the useCaseIncludeds of the IncludeUseCaseUsages owned by this UseCaseUsage.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "NamespaceImportShape" ; + oslc:property ; + dcterms:description """

A NamespaceImport is an Import that imports Memberships from its importedNamespace into the importOwningNamespace. If isRecursive = false, then only the visible Memberships of the importedNamespace are imported. If isRecursive = true, then, in addition, Memberships are recursively imported from any ownedMembers of the importedNamespace that are Namespaces.

+ +importedElement = importedNamespace"""^^rdf:XMLLiteral ; + dcterms:title "NamespaceImportShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeOwnedSpecialization" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "actorMembershipOwnedActorParameter" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The PartUsage specifying the actor.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "StepShape" ; + oslc:property , ; + dcterms:description """

A Step is a Feature that is typed by one or more Behaviors. Steps may be used by one Behavior to coordinate the performance of other Behaviors, supporting a steady refinement of behavioral descriptions. Steps can be ordered in time and can be connected using ItemFlows to specify things flowing between their parameters.

+ +specializesFromLibrary('Performances::performances') +owningType <> null and + (owningType.oclIsKindOf(Behavior) or + owningType.oclIsKindOf(Step)) implies + specializesFromLibrary('Performances::Performance::enclosedPerformance') +isComposite and owningType <> null and +(owningType.oclIsKindOf(Structure) or + owningType.oclIsKindOf(Feature) and + owningType.oclAsType(Feature).type-> + exists(oclIsKindOf(Structure)) implies + specializesFromLibrary('Objects::Object::ownedPerformance') +owningType <> null and + (owningType.oclIsKindOf(Behavior) or + owningType.oclIsKindOf(Step)) and + self.isComposite implies + specializesFromLibrary('Performances::Performance::subperformance') +behavior = type->selectByKind(Behavior)"""^^rdf:XMLLiteral ; + dcterms:title "StepShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "itemFlowSourceOutputFeature" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Feature that provides the items carried by the ItemFlow. It must be an owned output of the source of the ItemFlow.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureTypingTypedFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that has a type determined by this FeatureTyping.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedAnalysisCase" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The AnalysisCaseUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "membershipMembershipOwningNamespace" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Namespace of which the memberElement becomes a member due to this Membership.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "renderingDefinitionRendering" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The usages of a RenderingDefinition that are RenderingUsages.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ConnectorShape" ; + oslc:property , , , , ; + dcterms:description """

A Connector is a usage of Associations, with links restricted according to instances of the Type in which they are used (domain of the Connector). The associations of the Connector restrict what kinds of things might be linked. The Connector further restricts these links to be between values of Features on instances of its domain.

+ +relatedFeature = connectorEnd.ownedReferenceSubsetting-> + select(s | s <> null).subsettedFeature +relatedFeature->forAll(f | + if featuringType->isEmpty() then f.isFeaturedWithin(null) + else featuringType->forAll(t | f.isFeaturedWithin(t)) + endif) +sourceFeature = + if relatedFeature->isEmpty() then null + else relatedFeature->first() + endif +targetFeature = + if relatedFeature->size() < 2 then OrderedSet{} + else + relatedFeature-> + subSequence(2, relatedFeature->size())-> + asOrderedSet() + endif +not isAbstract implies relatedFeature->size() >= 2 +specializesFromLibrary('Links::links') +association->exists(oclIsKindOf(AssociationStructure)) implies + specializesFromLibrary('Objects::linkObjects') +connectorEnds->size() = 2 and +association->exists(oclIsKindOf(AssocationStructure)) implies + specializesFromLibrary('Objects::binaryLinkObjects') +connectorEnd->size() = 2 implies + specializesFromLibrary('Links::binaryLinks') +connectorEnds->size() > 2 implies + not specializesFromLibrary('Links::BinaryLink')"""^^rdf:XMLLiteral ; + dcterms:title "ConnectorShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureMembershipOwnedMemberFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Feature that this FeatureMembership relates to its owningType, making it an ownedFeature of the owningType.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "useCaseUsageUseCaseDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The UseCaseDefinition that is the definition of this UseCaseUsage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "importVisibility" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

The visibility level of the imported members from this Import relative to the importOwningNamespace.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "EventOccurrenceUsageShape" ; + oslc:property ; + dcterms:description """

An EventOccurrenceUsage is an OccurrenceUsage that represents another OccurrenceUsage occurring as a suboccurrence of the containing occurrence of the EventOccurrenceUsage. Unless it is the EventOccurrenceUsage itself, the referenced OccurrenceUsage is related to the EventOccurrenceUsage by a ReferenceSubsetting Relationship.

+ +

If the EventOccurrenceUsage is owned by an OccurrenceDefinition or OccurrenceUsage, then it also subsets the timeEnclosedOccurrences property of the Class Occurrence from the Kernel Semantic Library model Occurrences.

+eventOccurrence = + if ownedReferenceSubsetting = null then self + else if ownedReferenceSubsetting.referencedFeature.oclIsKindOf(OccurrenceUsage) then + ownedReferenceSubsetting.referencedFeature.oclAsType(OccurrenceUsage) + else null + endif endif +ownedReferenceSubsetting <> null implies + ownedReferenceSubsetting.referencedFeature.oclIsKindOf(OccurrenceUsage) +owningType <> null and +(owningType.oclIsKindOf(OccurrenceDefinition) or + owningType.oclIsKindOf(OccurrenceUsage)) implies + specializesFromLibrary('Occurrences::Occurrence::timeEnclosedOccurrences') +isReference"""^^rdf:XMLLiteral ; + dcterms:title "EventOccurrenceUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedRequirement" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RequirementUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedPort" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The PortUsages that are nestedUsages of this Usage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedReference" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ReferenceUsages that are nestedUsages of this Usage.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "AnalysisCaseDefinitionShape" ; + oslc:property , ; + dcterms:description """

An AnalysisCaseDefinition is a CaseDefinition for the case of carrying out an analysis.

+analysisAction = action->select( + isComposite and + specializes('AnalysisCases::AnalysisAction')) +resultExpression = + let results : OrderedSet(ResultExpressionMembership) = + featureMembersip-> + selectByKind(ResultExpressionMembership) in + if results->isEmpty() then null + else results->first().ownedResultExpression + endif +specializesFromLibrary('AnalysisCases::AnalysisCase')"""^^rdf:XMLLiteral ; + dcterms:title "AnalysisCaseDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "transitionFeatureMembershipKind" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

Whether this TransitionFeatureMembership is for a trigger, guard or effect.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "LiteralRationalShape" ; + oslc:property ; + dcterms:description """

A LiteralRational is a LiteralExpression that provides a Rational value as a result. Its result parameter must have the type Rational.

+ +specializesFromLibrary('Performances::literalRationalEvaluations')"""^^rdf:XMLLiteral ; + dcterms:title "LiteralRationalShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "LiteralBooleanShape" ; + oslc:property ; + dcterms:description """

LiteralBoolean is a LiteralExpression that provides a Boolean value as a result. Its result parameter must have type Boolean.

+ +specializesFromLibrary('Performances::literalBooleanEvaluations')"""^^rdf:XMLLiteral ; + dcterms:title "LiteralBooleanShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "UnioningShape" ; + oslc:property , ; + dcterms:description """

Unioning is a Relationship that makes its unioningType one of the unioningTypes of its typeUnioned.

+"""^^rdf:XMLLiteral ; + dcterms:title "UnioningShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "connectionDefinitionConnectionEnd" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Usages that define the things related by the ConnectionDefinition.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ItemFlowEndShape" ; + dcterms:description """

An ItemFlowEnd is a Feature that is one of the connectorEnds giving the source or target of an ItemFlow. For ItemFlows typed by FlowTransfer or its specializations, ItemFlowEnds must have exactly one ownedFeature, which redefines Transfer::source::sourceOutput or Transfer::target::targetInput and redefines the corresponding feature of the relatedElement for its end.

+isEnd +ownedFeature->size() = 1 +owningType <> null and owningType.oclIsKindOf(ItemFlow)"""^^rdf:XMLLiteral ; + dcterms:title "ItemFlowEndShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "FeatureMembershipShape" ; + oslc:property , ; + dcterms:description """

A FeatureMembership is an OwningMembership between a Feature in an owningType that is also a Featuring Relationship between the Feature and the Type, in which the featuringType is the source and the featureOfType is the target. A FeatureMembership is always owned by its owningType, which is the featuringType for the FeatureMembership considered as a Featuring.

+"""^^rdf:XMLLiteral ; + dcterms:title "FeatureMembershipShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "PortDefinitionShape" ; + oslc:property ; + dcterms:description """

A PortDefinition defines a point at which external entities can connect to and interact with a system or part of a system. Any ownedUsages of a PortDefinition, other than PortUsages, must not be composite.

+ + + +conjugatedPortDefinition = +let conjugatedPortDefinitions : OrderedSet(ConjugatedPortDefinition) = + ownedMember->selectByKind(ConjugatedPortDefinition) in +if conjugatedPortDefinitions->isEmpty() then null +else conjugatedPortDefinitions->first() +endif +ownedUsage-> + reject(oclIsKindOf(PortUsage))-> + forAll(not isComposite) +not oclIsKindOf(ConjugatedPortDefinition) implies + ownedMember-> + selectByKind(ConjugatedPortDefinition)-> + size() = 1 +specializesFromLibrary('Ports::Port')"""^^rdf:XMLLiteral ; + dcterms:title "PortDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "transitionUsageGuardExpression" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Expressions that define the guards of this TransitionUsage, which are the ownedFeatures of the TransitionUsage related to it by TransitionFeatureMemberships with kind = guard, which must all be Expressions.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "UseCaseUsageShape" ; + oslc:property , ; + dcterms:description """

A UseCaseUsage is a Usage of a UseCaseDefinition.

+includedUseCase = ownedUseCase-> + selectByKind(IncludeUseCaseUsage). + useCaseIncluded +specializesFromLibrary('UseCases::useCases') +isComposite and owningType <> null and +(owningType.oclIsKindOf(UseCaseDefinition) or + owningType.oclIsKindOf(UseCaseUsage)) implies + specializesFromLibrary('UseCases::UseCase::subUseCases')"""^^rdf:XMLLiteral ; + dcterms:title "UseCaseUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedUseCase" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The UseCaseUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "TextualRepresentationShape" ; + oslc:property , , ; + dcterms:description """

A TextualRepresentation is an AnnotatingElement whose body represents the representedElement in a given language. The representedElement must be the owner of the TextualRepresentation. The named language can be a natural language, in which case the body is an informal representation, or an artificial language, in which case the body is expected to be a formal, machine-parsable representation.

+ +

If the named language of a TextualRepresentation is machine-parsable, then the body text should be legal input text as defined for that language. The interpretation of the named language string shall be case insensitive. The following language names are defined to correspond to the given standard languages:

+ + + + + + + + + + + + + + + + + + +
kermlKernel Modeling Language
oclObject Constraint Language
alfAction Language for fUML
+ +

Other specifications may define specific language strings, other than those shown above, to be used to indicate the use of languages from those specifications in KerML TextualRepresentation.

+ +

If the language of a TextualRepresentation is "kerml", then the body text shall be a legal representation of the representedElement in the KerML textual concrete syntax. A conforming tool can use such a TextualRepresentation Annotation to record the original KerML concrete syntax text from which an Element was parsed. In this case, it is a tool responsibility to ensure that the body of the TextualRepresentation remains correct (or the Annotation is removed) if the annotated Element changes other than by re-parsing the body text.

+ +

An Element with a TextualRepresentation in a language other than KerML is essentially a semantically "opaque" Element specified in the other language. However, a conforming KerML tool may interpret such an element consistently with the specification of the named language.

+"""^^rdf:XMLLiteral ; + dcterms:title "TextualRepresentationShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "namespaceMembership" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "ifActionUsageThenAction" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ActionUsage that is to be performed if the result of the ifArgument is true. It is the second parameter of the IfActionUsage.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedView" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ViewUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "TypeFeaturingShape" ; + oslc:property , , ; + dcterms:description "

A TypeFeaturing is a Featuring Relationship in which the featureOfType is the source and the featuringType is the target.

"^^rdf:XMLLiteral ; + dcterms:title "TypeFeaturingShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "AttributeUsageShape" ; + oslc:property ; + dcterms:description """

An AttributeUsage is a Usage whose type is a DataType. Nominally, if the type is an AttributeDefinition, an AttributeUsage is a usage of a AttributeDefinition to represent the value of some system quality or characteristic. However, other kinds of kernel DataTypes are also allowed, to permit use of DataTypes from the Kernel Model Libraries. An AttributeUsage itself as well as all its nested features must be referential (non-composite).

+ +

An AttributeUsage must specialize, directly or indirectly, the base Feature Base::dataValues from the Kernel Semantic Library.

+isReference +feature->forAll(not isComposite) +specializesFromLibrary('Base::dataValues')"""^^rdf:XMLLiteral ; + dcterms:title "AttributeUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "conjugationConjugatedType" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Type that is the result of applying Conjugation to the originalType.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "elementOwnedRelationship" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Relationships for which this Element is the owningRelatedElement.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "elementOwningRelationship" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Relationship for which this Element is an ownedRelatedElement, if any.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureOwnedSubsetting" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "metadataUsageMetadataDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The MetadataDefinition that is the definition of this MetadataUsage.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "MetadataAccessExpressionShape" ; + oslc:property ; + dcterms:description """

A MetadataAccessExpression is an Expression whose result is a sequence of instances of Metaclasses representing all the MetadataFeature annotations of the referencedElement. In addition, the sequence includes an instance of the reflective Metaclass corresponding to the MOF class of the referencedElement, with values for all the abstract syntax properties of the referencedElement.

+specializesFromLibrary('Performances::metadataAccessEvaluations')"""^^rdf:XMLLiteral ; + dcterms:title "MetadataAccessExpressionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedUseCase" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The UseCaseUsages that are nestedUsages of this Usage.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "annotatingElementAnnotation" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Annotations that relate this AnnotatingElement to its annotatedElements.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "unioningUnioningType" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

Type that partly determines interpretations of typeUnioned, as described in Type::unioningType.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "PartDefinitionShape" ; + dcterms:description """

A PartDefinition is an ItemDefinition of a Class of systems or parts of systems. Note that all parts may be considered items for certain purposes, but not all items are parts that can perform actions within a system.

+ +specializesFromLibrary('Parts::Part')"""^^rdf:XMLLiteral ; + dcterms:title "PartDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "connectorConnectorEnd" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The endFeatures of a Connector, which redefine the endFeatures of the associations of the Connector. The connectorEnds determine via ReferenceSubsetting Relationships which Features are related by the Connector.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "satisfyRequirementUsageSatisfyingFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that represents the actual subject that is asserted to satisfy the satisfiedRequirement. The satisfyingFeature is bound to the subjectParameter of the SatisfyRequirementUsage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeDirectedFeature" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The features of this Type that have a non-null direction.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "StateUsageShape" ; + oslc:property , , , , ; + dcterms:description """

A StateUsage is an ActionUsage that is nominally the Usage of a StateDefinition. However, other kinds of kernel Behaviors are also allowed as types, to permit use of Behaviors + +

A StateUsage may be related to up to three of its ownedFeatures by StateSubactionMembership Relationships, all of different kinds, corresponding to the entry, do and exit actions of the StateUsage.

+ +doAction = + let doMemberships : Sequence(StateSubactionMembership) = + ownedMembership-> + selectByKind(StateSubactionMembership)-> + select(kind = StateSubactionKind::do) in + if doMemberships->isEmpty() then null + else doMemberships->at(1) + endif +entryAction = + let entryMemberships : Sequence(StateSubactionMembership) = + ownedMembership-> + selectByKind(StateSubactionMembership)-> + select(kind = StateSubactionKind::entry) in + if entryMemberships->isEmpty() then null + else entryMemberships->at(1) + endif +isParallel implies + nestedAction.incomingTransition->isEmpty() and + nestedAction.outgoingTransition->isEmpty() +isSubstateUsage(true) implies + specializesFromLibrary('States::State::substates') +exitAction = + let exitMemberships : Sequence(StateSubactionMembership) = + ownedMembership-> + selectByKind(StateSubactionMembership)-> + select(kind = StateSubactionKind::exit) in + if exitMemberships->isEmpty() then null + else exitMemberships->at(1) + endif +specializesFromLibrary('States::stateActions') +ownedMembership-> + selectByKind(StateSubactionMembership)-> + isUnique(kind) +isSubstateUsage(false) implies + specializesFromLibrary('States::State::substates')"""^^rdf:XMLLiteral ; + dcterms:title "StateUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "multiplicityRangeLowerBound" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Expression whose result provides the lower bound of the MultiplicityRange. If no lowerBound Expression is given, then the lower bound shall have the same value as the upper bound, unless the upper bound is unbounded (*), in which case the lower bound shall be 0.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureIsDerived" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

Whether the values of this Feature can always be computed from the values of other Features.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "occurrenceUsageIsIndividual" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedUsage" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Usages that are ownedFeatures of this Usage.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "AnalysisCaseUsageShape" ; + oslc:property , , ; + dcterms:description """

An AnalysisCaseUsage is a Usage of an AnalysisCaseDefinition.

+analysisAction = usage->select( + isComposite and + specializes('AnalysisCases::AnalysisAction')) +resultExpression = + let results : OrderedSet(ResultExpressionMembership) = + featureMembersip-> + selectByKind(ResultExpressionMembership) in + if results->isEmpty() then null + else results->first().ownedResultExpression + endif +specializesFromLibrary('AnalysisCases::analysisCases') +isComposite and owningType <> null and + (owningType.oclIsKindOf(AnalysisCaseDefinition) or + owningType.oclIsKindOf(AnalysisCaseUsage)) implies + specializesFromLibrary('AnalysisCases::AnalysisCase::subAnalysisCases')"""^^rdf:XMLLiteral ; + dcterms:title "AnalysisCaseUsageShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "BindingConnectorShape" ; + dcterms:description """

A BindingConnector is a binary Connector that requires its relatedFeatures to identify the same things (have the same values).

+ +specializesFromLibrary('Links::selfLinks') +relatedFeature->size() = 2"""^^rdf:XMLLiteral ; + dcterms:title "BindingConnectorShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "elementDeclaredName" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

The declared name of this Element.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ElementShape" ; + oslc:property , , , , , , , , , , , , , , , , , ; + dcterms:description """

An Element is a constituent of a model that is uniquely identified relative to all other Elements. It can have Relationships with other Elements. Some of these Relationships might imply ownership of other Elements, which means that if an Element is deleted from a model, then so are all the Elements that it owns.

+ +ownedElement = ownedRelationship.ownedRelatedElement +owner = owningRelationship.owningRelatedElement +qualifiedName = + if owningNamespace = null then null + else if owningNamespace.owner = null then escapedName() + else if owningNamespace.qualifiedName = null or + escapedName() = null then null + else owningNamespace.qualifiedName + '::' + escapedName() + endif endif endif +documentation = ownedElement->selectByKind(Documentation) +ownedAnnotation = ownedRelationship-> + selectByKind(Annotation)-> + select(a | a.annotatedElement = self) +name = effectiveName() +ownedRelationship->exists(isImplied) implies isImpliedIncluded +isLibraryElement = libraryNamespace() <> null + +shortName = effectiveShortName() +owningNamespace = + if owningMembership = null then null + else owningMembership.membershipOwningNamespace + endif +textualRepresentation = ownedElement->selectByKind(TextualRepresentation)"""^^rdf:XMLLiteral ; + dcterms:title "ElementShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ReferenceUsageShape" ; + dcterms:description """

A ReferenceUsage is a Usage that specifies a non-compositional (isComposite = false) reference to something. The definition of a ReferenceUsage can be any kind of Classifier, with the default being the top-level Classifier Base::Anything from the Kernel Semantic Library. This allows the specification of a generic reference without distinguishing if the thing referenced is an attribute value, item, action, etc.

+isReference"""^^rdf:XMLLiteral ; + dcterms:title "ReferenceUsageShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "OperatorExpressionShape" ; + oslc:property ; + dcterms:description """

An OperatorExpression is an InvocationExpression whose function is determined by resolving its operator in the context of one of the standard packages from the Kernel Function Library.

+let libFunctions : Sequence(Element) = + Sequence{'BaseFunctions', 'DataFunctions', 'ControlFunctions'}-> + collect(ns | resolveGlobal(ns + \"::'\" + operator + \"'\"). + memberElement) in +libFunctions->includes(function) + +"""^^rdf:XMLLiteral ; + dcterms:title "OperatorExpressionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "forLoopActionUsageLoopVariable" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedFeature of this ForLoopActionUsage that acts as the loop variable, which is assigned the successive values of the input sequence on each iteration. It is the ownedFeature that redefines ForLoopAction::var.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ItemUsageShape" ; + oslc:property ; + dcterms:description """

An ItemUsage is a ItemUsage whose definition is a Structure. Nominally, if the definition is an ItemDefinition, an ItemUsage is a ItemUsage of that ItemDefinition within a system. However, other kinds of Kernel Structures are also allowed, to permit use of Structures from the Kernel Model Libraries.

+itemDefinition = occurrenceDefinition->selectByKind(ItemDefinition) +specializesFromLibrary('Items::items') +isComposite and owningType <> null and +(owningType.oclIsKindOf(ItemDefinition) or + owningType.oclIsKindOf(ItemUsage)) implies + specializesFromLibrary('Items::Item::subitem')"""^^rdf:XMLLiteral ; + dcterms:title "ItemUsageShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "EnumerationUsageShape" ; + oslc:property ; + dcterms:description "

An EnumerationUsage is an AttributeUsage whose attributeDefinition is an EnumerationDefinition.

"^^rdf:XMLLiteral ; + dcterms:title "EnumerationUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "stateUsageStateDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Behaviors that are the types of this StateUsage. Nominally, these would be StateDefinitions, but kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeFeatureMembership" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships).

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ActionDefinitionShape" ; + oslc:property ; + dcterms:description """

An ActionDefinition is a Definition that is also a Behavior that defines an Action performed by a system or part of a system.

+specializesFromLibrary('Actions::Action') +action = usage->selectByKind(ActionUsage)"""^^rdf:XMLLiteral ; + dcterms:title "ActionDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedAllocation" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The AllocationUsages that are nestedUsages of this Usage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "requirementUsageReqId" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

An optional modeler-specified identifier for this RequirementUsage (used, e.g., to link it to an original requirement text in some source document), which is the declaredShortName for the RequirementUsage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeIsAbstract" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

Indicates whether instances of this Type must also be instances of at least one of its specialized Types.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "analysisCaseUsageResultExpression" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

An Expression used to compute the result of the AnalysisCaseUsage, owned via a ResultExpressionMembership.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeFeaturingFeatureOfType" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that is featured by the featuringType. It is the source of the TypeFeaturing.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "UseCaseDefinitionShape" ; + oslc:property ; + dcterms:description """

A UseCaseDefinition is a CaseDefinition that specifies a set of actions performed by its subject, in interaction with one or more actors external to the subject. The objective is to yield an observable result that is of value to one or more of the actors.

+ +includedUseCase = ownedUseCase-> + selectByKind(IncludeUseCaseUsage). + useCaseIncluded +specializesFromLibrary('UseCases::UseCase')"""^^rdf:XMLLiteral ; + dcterms:title "UseCaseDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "stateDefinitionEntryAction" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsage of this StateDefinition to be performed on entry to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateDefinition by a StateSubactionMembership with kind = entry.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeUnioningType" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "assignmentActionUsageReferent" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature whose value is to be set.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "LifeClassShape" ; + dcterms:description """

A LifeClass is a Class that specializes both the Class Occurrences::Life from the Kernel Semantic Library and a single OccurrenceDefinition, and has a multiplicity of 0..1. This constrains the OccurrenceDefinition being specialized to have at most one instance that is a complete Life.

+ +specializesFromLibrary('Occurrences::Life') +multiplicity <> null and +multiplicity.specializesFromLibrary('Base::zeroOrOne') +specializes(individualDefinition) +isSufficient"""^^rdf:XMLLiteral ; + dcterms:title "LifeClassShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeOwnedEndFeature" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

All endFeatures of this Type that are ownedFeatures.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "elementOwningNamespace" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "analysisCaseDefinitionAnalysisAction" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The composite actions of the AnalysisCaseDefinition that are defined as AnalysisActions.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "libraryPackageIsStandard" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

Whether this LibraryPackage contains a standard library model. This should only be set to true for LibraryPackages in the standard Kernel Model Libraries or in normative model libraries for a language built on KerML.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeFeature" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ownedMemberFeatures of the featureMemberships of this Type.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "viewDefinitionView" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The usages of this ViewDefinition that are ViewUsages.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "CommentShape" ; + oslc:property , ; + dcterms:description """

A Comment is an AnnotatingElement whose body in some way describes its annotatedElements.

+"""^^rdf:XMLLiteral ; + dcterms:title "CommentShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "namespaceImportImportedNamespace" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Namespace whose visible Memberships are imported by this NamespaceImport.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "documentationDocumentedElement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Element that is documented by this Documentation.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "enumerationUsageEnumerationDefinition" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The single EnumerationDefinition that is the type of this EnumerationUsage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "multiplicityRangeBound" ; + oslc:occurs oslc:One-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The owned Expressions of the MultiplicityRange whose results provide its bounds. These must be the only ownedMembers of the MultiplicityRange.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "loopActionUsageBodyAction" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ActionUsage to be performed repeatedly by the LoopActionUsage. It is the second parameter of the LoopActionUsage.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "owningMembershipOwnedMemberName" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

The name of the ownedMemberElement.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeOwnedDifferencing" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "TransitionFeatureMembershipShape" ; + oslc:property , ; + dcterms:description """

A TransitionFeatureMembership is a FeatureMembership for a trigger, guard or effect of a TransitionUsage, whose transitionFeature is a AcceptActionUsage, Boolean-valued Expression or ActionUsage, depending on its kind.

+kind = TransitionFeatureKind::trigger implies + transitionFeature.oclIsKindOf(AcceptActionUsage) +owningType.oclIsKindOf(TransitionUsage) +kind = TransitionFeatureKind::guard implies + transitionFeature.oclIsKindOf(Expression) and + let guard : Expression = transitionFeature.oclIsKindOf(Expression) in + guard.result.specializesFromLibrary('ScalarValues::Boolean') and + guard.result.multiplicity <> null and + guard.result.multiplicity.hasBounds(1,1) +kind = TransitionFeatureKind::effect implies + transitionFeature.oclIsKindOf(ActionUsage)"""^^rdf:XMLLiteral ; + dcterms:title "TransitionFeatureMembershipShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "stateDefinitionIsParallel" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

Whether the ownedStates of this StateDefinition are to all be performed in parallel. If true, none of the ownedActions (which includes ownedStates) may have any incoming or outgoing Transitions. If false, only one ownedState may be performed at a time.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureChainingFeature" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "actionDefinitionAction" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ActionUsages that are steps in this ActionDefinition, which define the actions that specify the behavior of the ActionDefinition.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "occurrenceDefinitionIsIndividual" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

Whether this OccurrenceDefinition is constrained to represent single individual.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "requirementDefinitionFramedConcern" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConcernUsages framed by this RequirementDefinition, which are the ownedConcerns of all FramedConcernMemberships of the RequirementDefinition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "caseDefinitionObjectiveRequirement" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The RequirementUsage representing the objective of this CaseDefinition.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "viewDefinitionSatisfiedViewpoint" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The composite ownedRequirements of this ViewDefinition that are ViewpointUsages for viewpoints satisfied by the ViewDefinition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ForkNodeShape" ; + dcterms:description """

A ForkNode is a ControlNode that must be followed by successor Actions as given by all its outgoing Successions.

+targetConnector->selectByKind(Succession)->size() <= 1 +specializesFromLibrary('Actions::Action::forks')"""^^rdf:XMLLiteral ; + dcterms:title "ForkNodeShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "eventOccurrenceUsageEventOccurrence" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The OccurrenceUsage referenced as an event by this EventOccurrenceUsage. It is the referenceFeature of the ownedReferenceSubsetting for the EventOccurrenceUsage, if there is one, and, otherwise, the EventOccurrenceUsage itself.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "LiteralInfinityShape" ; + dcterms:description """

A LiteralInfinity is a LiteralExpression that provides the positive infinity value (*). It's result must have the type Positive.

+ +specializesFromLibrary('Performances::literalIntegerEvaluations')"""^^rdf:XMLLiteral ; + dcterms:title "LiteralInfinityShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeOwnedConjugator" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

A Conjugation owned by this Type for which the Type is the originalType.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ConnectorAsUsageShape" ; + dcterms:description "

A ConnectorAsUsage is both a Connector and a Usage. ConnectorAsUsage cannot itself be instantiated in a SysML model, but it is the base class for the concrete classes BindingConnectorAsUsage, SuccessionAsUsage and ConnectionUsage.

"^^rdf:XMLLiteral ; + dcterms:title "ConnectorAsUsageShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "RequirementVerificationMembershipShape" ; + oslc:property , ; + dcterms:description """

A RequirementVerificationMembership is a RequirementConstraintMembership used in the objective of a VerificationCase to identify a RequirementUsage that is verified by the VerificationCase.

+kind = RequirementConstraintKind::requirement +owningType.oclIsKindOf(RequirementUsage) and +owningType.owningFeatureMembership <> null and +owningType.owningFeatureMembership.oclIsKindOf(ObjectiveMembership)"""^^rdf:XMLLiteral ; + dcterms:title "RequirementVerificationMembershipShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "viewUsageViewRendering" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RenderingUsage to be used to render views defined by this ViewUsage, which is the referencedRendering of the ViewRenderingMembership of the ViewUsage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedUsage" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Usages that are ownedFeatures of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureReferenceExpressionReferent" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that is referenced by this FeatureReferenceExpression, which is its first non-parameter member.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "textualRepresentationBody" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

The textual representation of the representedElement in the given language.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "performActionUsagePerformedAction" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ActionUsage to be performed by this PerformedActionUsage. It is the eventOccurrence of the PerformActionUsage considered as an EventOccurrenceUsage, which must be an ActionUsage.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "annotatingElementAnnotatedElement" ; + oslc:occurs oslc:One-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Elements that are annotated by this AnnotatingElement. If annotation is not empty, these are the annotatedElements of the annotations. If annotation is empty, then it is the owningNamespace of the AnnotatingElement.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "TypeShape" ; + oslc:property , , , , , , , , , , , , , , , , , , , , , , , ; + dcterms:description """

A Type is a Namespace that is the most general kind of Element supporting the semantics of classification. A Type may be a Classifier or a Feature, defining conditions on what is classified by the Type (see also the description of isSufficient).

+ +ownedSpecialization = ownedRelationship->selectByKind(Specialization)-> + select(s | s.special = self) + +multiplicity = + let ownedMultiplicities: Sequence(Multiplicity) = + ownedMember->selectByKind(Multiplicity) in + if ownedMultiplicities->isEmpty() then null + else ownedMultiplicities->first() + endif +ownedFeatureMembership = ownedRelationship->selectByKind(FeatureMembership) +ownedConjugator = + let ownedConjugators: Sequence(Conjugator) = + ownedRelationship->selectByKind(Conjugation) in + if ownedConjugators->isEmpty() then null + else ownedConjugators->at(1) endif +output = feature->select(f | + let direction: FeatureDirectionKind = directionOf(f) in + direction = FeatureDirectionKind::out or + direction = FeatureDirectionKind::inout) +input = feature->select(f | + let direction: FeatureDirectionKind = directionOf(f) in + direction = FeatureDirectionKind::_'in' or + direction = FeatureDirectionKind::inout) +inheritedMembership = inheritedMemberships(Set{}) +specializesFromLibrary('Base::Anything') +directedFeature = feature->select(f | directionOf(f) <> null) +feature = featureMembership.ownedMemberFeature +featureMembership = ownedFeatureMembership->union( + inheritedMembership->selectByKind(FeatureMembership)) +ownedFeature = ownedFeatureMembership.ownedMemberFeature +differencingType = ownedDifferencing.differencingType +intersectingType->excludes(self) +differencingType->excludes(self) +unioningType = ownedUnioning.unioningType +unioningType->excludes(self) +intersectingType = ownedIntersecting.intersectingType +ownedRelationship->selectByKind(Conjugation)->size() <= 1 +ownedMember->selectByKind(Multiplicity)->size() <= 1 +endFeature = feature->select(isEnd) +ownedDisjoining = + ownedRelationship->selectByKind(Disjoining) +ownedUnioning = + ownedRelationship->selectByKind(Unioning) +ownedRelationship->selectByKind(Intersecting) +ownedDifferencing = + ownedRelationship->selectByKind(Differencing) +ownedEndFeature = ownedFeature->select(isEnd) +inheritedFeature = inheritedMemberships-> + selectByKind(FeatureMembership).memberFeature +ownedUnioning->size() <> 1 +ownedIntersecting->size() <> 1 +ownedDifferencing->size() <> 1"""^^rdf:XMLLiteral ; + dcterms:title "TypeShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedAttribute" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The code>AttributeUsages that are nestedUsages of this Usage.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureValueIsDefault" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

Whether this FeatureValue is a concrete specification of the bound or initial value of the featureWithValue, or just a default value that may be overridden.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "owningMembershipOwnedMemberElement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Element that becomes an ownedMember of the membershipOwningNamespace due to this OwningMembership.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "FeatureChainingShape" ; + oslc:property , ; + dcterms:description "

FeatureChaining is a Relationship that makes its target Feature one of the chainingFeatures of its owning Feature.

"^^rdf:XMLLiteral ; + dcterms:title "FeatureChainingShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "stateUsageDoAction" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsage of this StateUsage to be performed while in the state defined by the StateDefinition. It is the owned ActionUsage related to the StateUsage by a StateSubactionMembership with kind = do.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "namespaceOwnedMembership" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "requirementDefinitionSubjectParameter" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The parameter of this RequirementDefinition that represents its subject.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureType" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "EndFeatureMembershipShape" ; + dcterms:description """

EndFeatureMembership is a FeatureMembership that requires its memberFeature be owned and have isEnd = true.

+ +ownedMemberFeature.isEnd"""^^rdf:XMLLiteral ; + dcterms:title "EndFeatureMembershipShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "transitionFeatureMembershipTransitionFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Step that is the ownedMemberFeature of this TransitionFeatureMembership.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "subsettingSubsettedFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Feature that is subsetted by the subsettingFeature of this Subsetting.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "sendActionUsagePayloadArgument" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

An Expression whose result is bound to the payload input parameter of this SendActionUsage.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "IncludeUseCaseUsageShape" ; + oslc:property ; + dcterms:description """

An IncludeUseCaseUsage is a UseCaseUsage that represents the inclusion of a UseCaseUsage by a UseCaseDefinition or UseCaseUsage. Unless it is the IncludeUseCaseUsage itself, the UseCaseUsage to be included is related to the includedUseCase by a ReferenceSubsetting Relationship. An IncludeUseCaseUsage is also a PerformActionUsage, with its useCaseIncluded as the performedAction.

+ +owningType <> null and +(owningType.oclIsKindOf(UseCaseDefinition) or + owningType.oclIsKindOf(UseCaseUsage) implies + specializesFromLibrary('UseCases::UseCase::includedUseCases') +ownedReferenceSubsetting <> null implies + ownedReferenceSubsetting.referencedFeature.oclIsKindOf(UseCaseUsage)"""^^rdf:XMLLiteral ; + dcterms:title "IncludeUseCaseUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "requirementDefinitionStakeholderParameter" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The parameters of this RequirementDefinition that represent stakeholders for th requirement.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "actionUsageActionDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeDifferencingType" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex).

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ViewpointUsageShape" ; + oslc:property , ; + dcterms:description """

A ViewpointUsage is a Usage of a ViewpointDefinition.

+ + +viewpointStakeholder = framedConcern.featureMemberhsip-> + selectByKind(StakeholderMembership). + ownedStakeholderParameter +specializesFromLibrary('Views::viewpoints') +isComposite and owningType <> null and +(owningType.oclIsKindOf(ViewDefinition) or + owningType.oclIsKindOf(ViewUsage)) implies + specializesFromLibrary('Views::View::viewpointSatisfactions')"""^^rdf:XMLLiteral ; + dcterms:title "ViewpointUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "viewUsageExposedElement" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Elements that are exposed by this ViewUsage, which are those memberElements of the imported Memberships from all the Expose Relationships that meet all the owned and inherited viewConditions.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureOwnedTyping" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeOwnedIntersecting" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "AcceptActionUsageShape" ; + oslc:property , , ; + dcterms:description """

An AcceptActionUsage is an ActionUsage that specifies the acceptance of an incomingTransfer from the Occurrence given by the result of its receiverArgument Expression. (If no receiverArgument is provided, the default is the this context of the AcceptActionUsage.) The payload of the accepted Transfer is output on its payloadParameter. Which Transfers may be accepted is determined by conformance to the typing and (potentially) binding of the payloadParameter.

+ +inputParameters()->size() >= 2 +receiverArgument = argument(2) +payloadArgument = argument(1) +payloadParameter = + if parameter->isEmpty() then null + else parameter->first() endif +not isTriggerAction() implies + specializesFromLibrary('Actions::acceptActions') +isSubactionUsage() and not isTriggerAction() implies + specializesFromLibrary('Actions::Action::acceptSubactions') +isTriggerAction() implies + specializesFromLibrary('Actions::TransitionAction::accepter') +payloadArgument <> null and +payloadArgument.oclIsKindOf(TriggerInvocationExpression) implies + let invocation : Expression = + payloadArgument.oclAsType(Expression) in + parameter->size() >= 2 and + invocation.parameter->size() >= 2 and + ownedFeature->selectByKind(BindingConnector)->exists(b | + b.relatedFeatures->includes(parameter->at(2)) and + b.relatedFeatures->includes(invocation.parameter->at(2)))"""^^rdf:XMLLiteral ; + dcterms:title "AcceptActionUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "importIsRecursive" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

Whether to recursively import Memberships from visible, owned sub-Namespaces.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "operatorExpressionOperator" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

An operator symbol that names a corresponding Function from one of the standard packages from the Kernel Function Library .

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "AssociationShape" ; + oslc:property , , , ; + dcterms:description """

An Association is a Relationship and a Classifier to enable classification of links between things (in the universe). The co-domains (types) of the associationEnd Features are the relatedTypes, as co-domain and participants (linked things) of an Association identify each other.

+ +relatedType = associationEnd.type +specializesFromLibrary('Links::Link') +oclIsKindOf(Structure) = oclIsKindOf(AssociationStructure) +associationEnd->size() = 2 implies + specializesFromLibrary('Links::BinaryLink') +not isAbstract implies relatedType->size() >= 2 +associationEnds->size() > 2 implies + not specializesFromLibrary('Links::BinaryLink') +sourceType = + if relatedType->isEmpty() then null + else relatedType->first() endif +targetType = + if relatedType->size() < 2 then OrderedSet{} + else + relatedType-> + subSequence(2, relatedType->size())-> + asOrderedSet() + endif"""^^rdf:XMLLiteral ; + dcterms:title "AssociationShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "MultiplicityShape" ; + dcterms:description """

A Multiplicity is a Feature whose co-domain is a set of natural numbers giving the allowed cardinalities of each typeWithMultiplicity. The cardinality of a Type is defined as follows, depending on whether the Type is a Classifier or Feature. +

    +
  • Classifier – The number of basic instances of the Classifier, that is, those instances representing things, which are not instances of any subtypes of the Classifier that are Features. +
  • Features – The number of instances with the same featuring instances. In the case of a Feature with a Classifier as its featuringType, this is the number of values of Feature for each basic instance of the Classifier. Note that, for non-unique Features, all duplicate values are included in this count.
  • +
+ +

Multiplicity co-domains (in models) can be specified by Expression that might vary in their results. If the typeWithMultiplicity is a Classifier, the domain of the Multiplicity shall be Base::Anything. If the typeWithMultiplicity is a Feature, the Multiplicity shall have the same domain as the typeWithMultiplicity.

+ +if owningType <> null and owningType.oclIsKindOf(Feature) then + featuringType = + owningType.oclAsType(Feature).featuringType +else + featuringType->isEmpty() +endif +specializesFromLibrary('Base::naturals')"""^^rdf:XMLLiteral ; + dcterms:title "MultiplicityShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "requirementConstraintMembershipReferencedConstraint" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConstraintUsage that is referenced through this RequirementConstraintMembership. It is the referencedFeature of the ownedReferenceSubsetting of the ownedConstraint, if there is one, and, otherwise, the ownedConstraint itself.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureOwnedFeatureInverting" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "caseUsageObjectiveRequirement" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The RequirementUsage representing the objective of this CaseUsage.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ObjectiveMembershipShape" ; + oslc:property ; + dcterms:description """

An ObjectiveMembership is a FeatureMembership that indicates that its ownedObjectiveRequirement is the objective RequirementUsage for its owningType, which must be a CaseDefinition or CaseUsage.

+owningType.oclIsType(CaseDefinition) or +owningType.oclIsType(CaseUsage) + +ownedObjectiveRequirement.isComposite"""^^rdf:XMLLiteral ; + dcterms:title "ObjectiveMembershipShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedMetadata" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The MetadataUsages that are nestedUsages of this of this Usage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "successionGuardExpression" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

Expressions that must evaluate to true before the transitionStep can occur.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "triggerInvocationExpressionKind" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

Indicates which of the Functions from the Triggers model in the Kernel Semantic Library is to be invoked by this TriggerInvocationExpression.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureValueValue" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Expression that provides the value of the featureWithValue as its result.

+ +

The Expression that provides the value as a result.

"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "referenceSubsettingReferencedFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Feature that is referenced by the referencingFeature of this ReferenceSubsetting.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "acceptActionUsagePayloadParameter" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The nestedReference of this AcceptActionUsage that redefines the payload output parameter of the base AcceptActionUsage AcceptAction from the Systems Model Library.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "calculationUsageCalculationDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Function that is the type of this CalculationUsage. Nominally, this would be a CalculationDefinition, but a kernel Function is also allowed, to permit use of Functions from the Kernel Model Libraries.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "membershipMemberElement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Element that becomes a member of the membershipOwningNamespace due to this Membership.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "analysisCaseUsageAnalysisCaseDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The AnalysisCaseDefinition that is the definition of this AnalysisCaseUsage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "dependencySupplier" ; + oslc:occurs oslc:One-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Element or Elements on which the client Elements depend in some respect.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "objectiveMembershipOwnedObjectiveRequirement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The RequirementUsage that is the ownedMemberFeature of this RequirementUsage.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ClassifierShape" ; + oslc:property ; + dcterms:description """

A Classifier is a Type that classifies:

+ +
    +
  • Things (in the universe) regardless of how Features relate them. (These are interpreted semantically as sequences of exactly one thing.)
  • +
  • How the above things are related by Features. (These are interpreted semantically as sequences of multiple things, such that the last thing in the sequence is also classified by the Classifier. Note that this means that a Classifier modeled as specializing a Feature cannot classify anything.)
  • +
+ + +ownedSubclassification = + ownedSpecialization->selectByKind(Subclassification) +multiplicity <> null implies multiplicity.featuringType->isEmpty()"""^^rdf:XMLLiteral ; + dcterms:title "ClassifierShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeMultiplicity" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes.

+ +

 

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedAction" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ActionUsages that are nestedUsages of this Usage.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionVariantMembership" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedMemberships of this Definition that are VariantMemberships. If isVariation = true, then this must be all ownedMemberships of the Definition. If isVariation = false, then variantMembershipmust be empty.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeFeaturingFeaturingType" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Type that features the featureOfType. It is the target of the TypeFeaturing.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedAnalysisCase" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The AnalysisCaseUsages that are nestedUsages of this Usage.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "itemFlowInteraction" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Interactions that type this ItemFlow. Interactions are both Associations and Behaviors, which can type Connectors and Steps, respectively.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ActorMembershipShape" ; + oslc:property ; + dcterms:description """

An ActorMembership is a ParameterMembership that identifies a PartUsage as an actor parameter, which specifies a role played by an external entity in interaction with the owningType of the ActorMembership.

+owningType.oclIsKindOf(RequirementUsage) or +owningType.oclIsKindOf(RequirementDefinition) or +owningType.oclIsKindOf(CaseDefinition) or +owningType.oclIsKindOf(CaseUsage) +"""^^rdf:XMLLiteral ; + dcterms:title "ActorMembershipShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "VariantMembershipShape" ; + oslc:property ; + dcterms:description """

A VariantMembership is a Membership between a variation point Definition or Usage and a Usage that represents a variant in the context of that variation. The membershipOwningNamespace for the VariantMembership must be either a Definition or a Usage with isVariation = true.

+membershipOwningNamespace.oclIsKindOf(Definition) and + membershipOwningNamespace.oclAsType(Definition).isVariation or +membershipOwningNamespace.oclIsKindOf(Usage) and + membershipOwningNamespace.oclAsType(Usage).isVariation +"""^^rdf:XMLLiteral ; + dcterms:title "VariantMembershipShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ConstraintDefinitionShape" ; + dcterms:description """

A ConstraintDefinition is an OccurrenceDefinition that is also a Predicate that defines a constraint that may be asserted to hold on a system or part of a system.

+ + +specializesFromLibrary('Constraints::ConstraintCheck')"""^^rdf:XMLLiteral ; + dcterms:title "ConstraintDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "CaseUsageShape" ; + oslc:property , , , ; + dcterms:description """

A CaseUsage is a Usage of a CaseDefinition.

+objectiveRequirement = + let objectives: OrderedSet(RequirementUsage) = + featureMembership-> + selectByKind(ObjectiveMembership). + ownedRequirement in + if objectives->isEmpty() then null + else objectives->first().ownedObjectiveRequirement + endif +featureMembership-> + selectByKind(ObjectiveMembership)-> + size() <= 1 +featureMembership-> + selectByKind(SubjectMembership)-> + size() <= 1 +actorParameter = featureMembership-> + selectByKind(ActorMembership). + ownedActorParameter +subjectParameter = + let subjects : OrderedSet(SubjectMembership) = + featureMembership->selectByKind(SubjectMembership) in + if subjects->isEmpty() then null + else subjects->first().ownedSubjectParameter + endif +input->notEmpty() and input->first() = subjectParameter +specializesFromLibrary('Cases::cases') +isComposite and owningType <> null and + (owningType.oclIsKindOf(CaseDefinition) or + owningType.oclIsKindOf(CaseUsage)) implies + specializesFromLibrary('Cases::Case::subcases')"""^^rdf:XMLLiteral ; + dcterms:title "CaseUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "textualRepresentationLanguage" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

The natural or artifical language in which the body text is written.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageDirectedUsage" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The usages of this Usage that are directedFeatures.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "UsageShape" ; + oslc:property , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ; + dcterms:description """

A Usage is a usage of a Definition. A Usage may only be an ownedFeature of a Definition or another Usage.

+ +

A Usage may have nestedUsages that model features that apply in the context of the owningUsage. A Usage may also have Definitions nested in it, but this has no semantic significance, other than the nested scoping resulting from the Usage being considered as a Namespace for any nested Definitions.

+ +

However, if a Usage has isVariation = true, then it represents a variation point Usage. In this case, all of its members must be variant Usages, related to the Usage by VariantMembership Relationships. Rather than being features of the Usage, variant Usages model different concrete alternatives that can be chosen to fill in for the variation point Usage.

+variant = variantMembership.ownedVariantUsage +variantMembership = ownedMembership->selectByKind(VariantMembership) +isVariation implies ownedFeatureMembership->isEmpty() +isReference = not isComposite +owningVariationUsage <> null implies + specializes(owningVariationUsage) +isVariation implies + not ownedSpecialization.specific->exists( + oclIsKindOf(Definition) and + oclAsType(Definition).isVariation or + oclIsKindOf(Usage) and + oclAsType(Usage).isVariation) +owningVariationDefinition <> null implies + specializes(owningVariationDefinition) +directedUsage = directedFeature->selectByKind(Usage) +nestedAction = nestedUsage->selectByKind(ActionUsage) +nestedAllocation = nestedUsage->selectByKind(AllocationUsage) +nestedAnalysisCase = nestedUsage->selectByKind(AnalysisCaseUsage) +nestedAttribute = nestedUsage->selectByKind(AttributeUsage) +nestedCalculation = nestedUsage->selectByKind(CalculationUsage) +nestedCase = nestedUsage->selectByKind(CaseUsage) +nestedConcern = nestedUsage->selectByKind(ConcernUsage) +nestedConnection = nestedUsage->selectByKind(ConnectorAsUsage) +nestedConstraint = nestedUsage->selectByKind(ConstraintUsage) +ownedNested = nestedUsage->selectByKind(EnumerationUsage) +nestedFlow = nestedUsage->selectByKind(FlowConnectionUsage) +nestedInterface = nestedUsage->selectByKind(ReferenceUsage) +nestedItem = nestedUsage->selectByKind(ItemUsage) +nestedMetadata = nestedUsage->selectByKind(MetadataUsage) +nestedOccurrence = nestedUsage->selectByKind(OccurrenceUsage) +nestedPart = nestedUsage->selectByKind(PartUsage) +nestedPort = nestedUsage->selectByKind(PortUsage) +nestedReference = nestedUsage->selectByKind(ReferenceUsage) +nestedRendering = nestedUsage->selectByKind(RenderingUsage) +nestedRequirement = nestedUsage->selectByKind(RequirementUsage) +nestedState = nestedUsage->selectByKind(StateUsage) +nestedTransition = nestedUsage->selectByKind(TransitionUsage) +nestedUsage = ownedFeature->selectByKind(Usage) +nestedUseCase = nestedUsage->selectByKind(UseCaseUsage) +nestedVerificationCase = nestedUsage->selectByKind(VerificationCaseUsage) +nestedView = nestedUsage->selectByKind(ViewUsage) +nestedViewpoint = nestedUsage->selectByKind(ViewpointUsage) +usage = feature->selectByKind(Usage) +direction <> null or isEnd or featuringType->isEmpty() implies + isReference +isVariation implies isAbstract"""^^rdf:XMLLiteral ; + dcterms:title "UsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureIsComposite" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "AttributeDefinitionShape" ; + dcterms:description """

An AttributeDefinition is a Definition and a DataType of information about a quality or characteristic of a system or part of a system that has no independent identity other than its value. All features of an AttributeDefinition must be referential (non-composite).

+ +

As a DataType, an AttributeDefinition must specialize, directly or indirectly, the base DataType Base::DataValue from the Kernel Semantic Library.

+feature->forAll(not isComposite)"""^^rdf:XMLLiteral ; + dcterms:title "AttributeDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "requirementVerificationMembershipOwnedRequirement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The owned RequirementUsage that acts as the ownedConstraint for this RequirementVerificationMembership. This will either be the verifiedRequirement, or it will subset the verifiedRequirement.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "namespaceMember" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "requirementUsageActorParameter" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The parameters of this RequirementUsage that represent actors involved in the requirement.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionIsVariation" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

Whether this Definition is for a variation point or not. If true, then all the memberships of the Definition must be VariantMemberships.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "requirementUsageFramedConcern" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConcernUsages framed by this RequirementUsage, which are the ownedConcerns of all FramedConcernMemberships of the RequirementUsage.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "SuccessionAsUsageShape" ; + dcterms:description "

A SuccessionAsUsage is both a ConnectorAsUsage and a Succession.

"^^rdf:XMLLiteral ; + dcterms:title "SuccessionAsUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageVariantMembership" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureOwnedTypeFeaturing" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "stepParameter" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedItem" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ItemUsages that are nestedUsages of this Usage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "useCaseDefinitionIncludedUseCase" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The UseCaseUsages that are included by this UseCaseDefinition, which are the useCaseIncludeds of the IncludeUseCaseUsages owned by this UseCaseDefinition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "itemUsageItemDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Structures that are the definitions of this ItemUsage. Nominally, these are ItemDefinitions, but other kinds of Kernel Structures are also allowed, to permit use of Structures from the Kernel Library.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "RenderingDefinitionShape" ; + oslc:property ; + dcterms:description """

A RenderingDefinition is a PartDefinition that defines a specific rendering of the content of a model view (e.g., symbols, style, layout, etc.).

+rendering = usages->selectByKind(RenderingUsage) +specializesFromLibrary('Views::Rendering')"""^^rdf:XMLLiteral ; + dcterms:title "RenderingDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "acceptActionUsageReceiverArgument" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

An Expression whose result is bound to the receiver input parameter of this AcceptActionUsage.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "requirementUsageSubjectParameter" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The parameter of this RequirementUsage that represents its subject.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "caseDefinitionSubjectParameter" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The parameter of this CaseDefinition that represents its subject.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeEndFeature" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

All features of this Type with isEnd = true.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featuringFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that is featured by the featuringType.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "requirementUsageStakeholderParameter" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The parameters of this RequirementUsage that represent stakeholders for the requirement.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "disjoiningOwningType" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

A typeDisjoined that is also an owningRelatedElement.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureInvertingInvertingFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that is an inverse of the invertedFeature.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "interfaceDefinitionInterfaceEnd" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The PortUsages that are the connectionEnds of this InterfaceDefinition. + +"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeOwnedFeature" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ownedMemberFeatures of the ownedFeatureMemberships of this Type.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "BooleanExpressionShape" ; + oslc:property ; + dcterms:description """

A BooleanExpression is a Boolean-valued Expression whose type is a Predicate. It represents a logical condition resulting from the evaluation of the Predicate.

+ +specializesFromLibrary('Performances::booleanEvaluations')"""^^rdf:XMLLiteral ; + dcterms:title "BooleanExpressionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "associationAssociationEnd" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The features of the Association that identify the things that can be related by it. A concrete Association must have at least two associationEnds. When it has exactly two, the Association is called a binary Association.

+ +

The ends of the Association determine which elements are eligible to be related by instances of the Association.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureIsNonunique" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType . + + + a oslc:Property ; + oslc:name "occurrenceUsageIndividualDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The at most one occurrenceDefinition that has isIndividual = true.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "attributeUsageAttributeDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The DataTypes that are the types of this AttributeUsage. Nominally, these are AttributeDefinitions, but other kinds of kernel DataTypes are also allowed, to permit use of DataTypes from the Kernel Model Libraries.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "stateUsageIsParallel" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

Whether the nestedStates of this StateUsage are to all be performed in parallel. If true, none of the nestedActions (which include nestedStates) may have any incoming or outgoing Transitions. If false, only one nestedState may be performed at a time.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "booleanExpressionPredicate" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Predicate that types this BooleanExpression.

+

The Predicate that types the Expression.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedViewpoint" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ViewpointUsages that are nestedUsages of this Usage.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ReturnParameterMembershipShape" ; + dcterms:description """

A ReturnParameterMembership is a ParameterMembership that indicates that the ownedMemberParameter is the result parameter of a Function or Expression. The direction of the ownedMemberParameter must be out.

+ +owningType.oclIsKindOf(Function) or owningType.oclIsKindOf(Expression)"""^^rdf:XMLLiteral ; + dcterms:title "ReturnParameterMembershipShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "metadataFeatureMetaclass" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The type of this MetadataFeature, which must be a Metaclass.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ResultExpressionMembershipShape" ; + oslc:property ; + dcterms:description """

A ResultExpressionMembership is a FeatureMembership that indicates that the ownedResultExpression provides the result values for the Function or Expression that owns it. The owning Function or Expression must contain a BindingConnector between the result parameter of the ownedResultExpression and the result parameter of the owning Function or Expression.

+ +owningType.oclIsKindOf(Function) or owningType.oclIsKindOf(Expression)"""^^rdf:XMLLiteral ; + dcterms:title "ResultExpressionMembershipShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeOwnedFeatureMembership" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "referenceSubsettingReferencingFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Feature that owns this ReferenceSubsetting relationship, which is also its subsettingFeature.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "AssociationStructureShape" ; + dcterms:description """

An AssociationStructure is an Association that is also a Structure, classifying link objects that are both links and objects. As objects, link objects can be created and destroyed, and their non-end Features can change over time. However, the values of the end Features of a link object are fixed and cannot change over its lifetime.

+specializesFromLibrary('Objects::LinkObject') +endFeature->size() = 2 implies + specializesFromLibrary('Objects::BinaryLinkObject')"""^^rdf:XMLLiteral ; + dcterms:title "AssociationStructureShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "AssertConstraintUsageShape" ; + oslc:property ; + dcterms:description """

An AssertConstraintUsage is a ConstraintUsage that is also an Invariant and, so, is asserted to be true (by default). Unless it is the AssertConstraintUsage itself, the asserted ConstraintUsage is related to the AssertConstraintUsage by a ReferenceSubsetting Relationship.

+assertedConstraint = + if ownedReferenceSubsetting = null then self + else ownedReferenceSubsetting.referencedFeature.oclAsType(ConstraintUsage) + endif +if isNegated then + specializesFromLibrary('Constraints::negatedConstraints') +else + specializesFromLibrary('Constraints::assertedConstraints') +endif +ownedReferenceSubsetting <> null implies + ownedReferenceSubsetting.referencedFeature.oclIsKindOf(ConstraintUsage)"""^^rdf:XMLLiteral ; + dcterms:title "AssertConstraintUsageShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "PartUsageShape" ; + oslc:property ; + dcterms:description """

A PartUsage is a usage of a PartDefinition to represent a system or a part of a system. At least one of the itemDefinitions of the PartUsage must be a PartDefinition.

+ +

A PartUsage must subset, directly or indirectly, the base PartUsage parts from the Systems Model Library.

+itemDefinition->selectByKind(PartDefinition) +partDefinition->notEmpty() +specializesFromLibrary('Parts::parts') +isComposite and owningType <> null and +(owningType.oclIsKindOf(ItemDefinition) or + owningType.oclIsKindOf(ItemUsage)) implies + specializesFromLibrary('Items::Item::subparts') +owningFeatureMembership <> null and +owningFeatureMembership.oclIsKindOf(ActorMembership) implies + if owningType.oclIsKindOf(RequirementDefinition) or + owningType.oclIsKindOf(RequirementUsage) + then specializesFromLibrary('Requirements::RequirementCheck::actors') + else specializesFromLibrary('Cases::Case::actors') +owningFeatureMembership <> null and +owningFeatureMembership.oclIsKindOf(StakeholderMembership) implies + specializesFromLibrary('Requirements::RequirementCheck::stakeholders')"""^^rdf:XMLLiteral ; + dcterms:title "PartUsageShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "LiteralExpressionShape" ; + dcterms:description """

A LiteralExpression is an Expression that provides a basic DataValue as a result.

+ +isModelLevelEvaluable = true +specializesFromLibrary('Performances::literalEvaluations')"""^^rdf:XMLLiteral ; + dcterms:title "LiteralExpressionShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "AssignmentActionUsageShape" ; + oslc:property , , ; + dcterms:description """

An AssignmentActionUsage is an ActionUsage that is defined, directly or indirectly, by the ActionDefinition AssignmentAction from the Systems Model Library. It specifies that the value of the referent Feature, relative to the target given by the result of the targetArgument Expression, should be set to the result of the valueExpression.

+ +specializesFromLibrary('Actions::assignmentActions') +let targetParameter : Feature = inputParameter(1) in +targetParameter <> null and +targetParameter.ownedFeature->notEmpty() and +targetParameter.ownedFeature->first(). + redefines('AssignmentAction::target::startingAt') +valueExpression = argument(2) +targetArgument = argument(1) +isSubactionUsage() implies + specializesFromLibrary('Actions::Action::assignments') +let targetParameter : Feature = inputParameter(1) in +targetParameter <> null and +targetParameter.ownedFeature->notEmpty() and +targetParameter->first().ownedFeature->notEmpty() and +targetParameter->first().ownedFeature->first(). + redefines('AssigmentAction::target::startingAt::accessedFeature') +let targetParameter : Feature = inputParameter(1) in +targetParameter <> null and +targetParameter.ownedFeature->notEmpty() and +targetParameter->first().ownedFeature->notEmpty() and +targetParameter->first().ownedFeature->first().redefines(referent) +referent = + let unownedFeatures : Sequence(Feature) = ownedMembership-> + reject(oclIsKindOf(FeatureMembership)).memberElement-> + selectByKind(Feature) in + if unownedFeatures->isEmpty() then null + else unownedFeatures->first().oclAsType(Feature) + endif +ownedMembership->exists( + not oclIsKindOf(OwningMembership) and + memberElement.oclIsKindOf(Feature))"""^^rdf:XMLLiteral ; + dcterms:title "AssignmentActionUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureOwnedRedefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature.

+ +"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "importImportOwningNamespace" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Namespace into which Memberships are imported by this Import, which must be the owningRelatedElement of the Import.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "interfaceUsageInterfaceDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The InterfaceDefinitions that type this InterfaceUsage.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ConcernDefinitionShape" ; + dcterms:description """

A ConcernDefinition is a RequirementDefinition that one or more stakeholders may be interested in having addressed. These stakeholders are identified by the ownedStakeholdersof the ConcernDefinition.

+ +specializesFromLibrary('Requirements::ConcernCheck')"""^^rdf:XMLLiteral ; + dcterms:title "ConcernDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionUsage" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Usages that are features of this Definition (not necessarily owned).

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "SuccessionItemFlowShape" ; + dcterms:description """

A SuccessionItemFlow is an ItemFlow that also provides temporal ordering. It classifies Transfers that cannot start until the source Occurrence has completed and that must complete before the target Occurrence can start.

+specializesFromLibrary('Transfers::flowTransfersBefore')"""^^rdf:XMLLiteral ; + dcterms:title "SuccessionItemFlowShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "constraintUsageConstraintDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The (single) Predicate that is the type of this ConstraintUsage. Nominally, this will be a ConstraintDefinition, but other kinds of Predicates are also allowed, to permit use of Predicates from the Kernel Model Libraries.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "elementDocumentation" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Documentation owned by this Element.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "stateDefinitionExitAction" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsage of this StateDefinition to be performed on exit to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateDefinition by a StateSubactionMembership with kind = exit.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "parameterMembershipOwnedMemberParameter" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Feature that is identified as a parameter by this ParameterMembership.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedRequirement" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The RequirementUsages that are nestedUsages of this Usage.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "PackageShape" ; + oslc:property ; + dcterms:description """

A Package is a Namespace used to group Elements, without any instance-level semantics. It may have one or more model-level evaluable filterCondition Expressions used to filter its importedMemberships. Any imported member must meet all of the filterConditions.

+filterCondition = ownedMembership-> + selectByKind(ElementFilterMembership).condition"""^^rdf:XMLLiteral ; + dcterms:title "PackageShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "AnnotatingElementShape" ; + oslc:property , , ; + dcterms:description """

An AnnotatingElement is an Element that provides additional description of or metadata on some other Element. An AnnotatingElement is either attached to its annotatedElements by Annotation Relationships, or it implicitly annotates its owningNamespace.

+ +annotatedElement = + if annotation->notEmpty() then annotation.annotatedElement + else Sequence{owningNamespace} endif +ownedAnnotatingRelationship = ownedRelationship-> + selectByKind(Annotation)-> + select(a | a.annotatingElement = self)"""^^rdf:XMLLiteral ; + dcterms:title "AnnotatingElementShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedTransition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The TransitionUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "associationRelatedType" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The types of the associationEnds of the Association, which are the relatedElements of the Association considered as a Relationship.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "specializationOwningType" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Type that is the specific Type of this Specialization and owns it as its owningRelatedElement.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "JoinNodeShape" ; + dcterms:description """

A JoinNode is a ControlNode that waits for the completion of all the predecessor Actions given by incoming Successions.

+sourceConnector->selectByKind(Succession)->size() <= 1 +specializesFromLibrary('Actions::Action::join')"""^^rdf:XMLLiteral ; + dcterms:title "JoinNodeShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "conjugationOriginalType" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Type to be conjugated.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "SubclassificationShape" ; + oslc:property , , ; + dcterms:description """

Subclassification is Specialization in which both the specific and general Types are Classifier. This means all instances of the specific Classifier are also instances of the general Classifier.

+"""^^rdf:XMLLiteral ; + dcterms:title "SubclassificationShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeIsConjugated" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

Indicates whether this Type has an ownedConjugator.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "invocationExpressionOperand" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource . + + + a oslc:Property ; + oslc:name "functionResult" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The result parameter of the Function, which is owned by the Function via a ReturnParameterMembership.

+ +

The object or value that is the result of evaluating the Function.

"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "calculationDefinitionCalculation" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The actions of this CalculationDefinition that are CalculationUsages.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureFeaturingType" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "requirementConstraintMembershipOwnedConstraint" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConstraintUsage that is the ownedMemberFeature of this RequirementConstraintMembership.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "functionExpression" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Expressions that are steps in the calculation of the result of this Function.

+ +

The set of expressions that represent computational steps or parts of a system of equations within the Function.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "IfActionUsageShape" ; + oslc:property , , ; + dcterms:description """

An IfActionUsage is an ActionUsage that specifies that the thenAction ActionUsage should be performed if the result of the ifArgument Expression is true. It may also optionally specify an elseAction ActionUsage that is performed if the result of the ifArgument is false.

+thenAction = + let parameter : Feature = inputParameter(2) in + if parameter <> null and parameter.oclIsKindOf(ActionUsage) then + parameter.oclAsType(ActionUsage) + else + null + endif +isSubactionUsage() implies + specializesFromLibrary('Actions::Action::ifSubactions') +if elseAction = null then + specializesFromLibrary('Actions::ifThenActions') +else + specializesFromLibrary('Actions::ifThenElseActions') +endif +ifArgument = + let parameter : Feature = inputParameter(1) in + if parameter <> null and parameter.oclIsKindOf(Expression) then + parameter.oclAsType(Expression) + else + null + endif +elseAction = + let parameter : Feature = inputParameter(3) in + if parameter <> null and parameter.oclIsKindOf(ActionUsage) then + parameter.oclAsType(ActionUsage) + else + null + endif +inputParameters()->size() >= 2"""^^rdf:XMLLiteral ; + dcterms:title "IfActionUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureOwningType" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Type that is the owningType of the owningFeatureMembership of this Feature.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "renderingUsageRenderingDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RenderingDefinition that is the definition of this RenderingUsage.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "FeatureInvertingShape" ; + oslc:property , , ; + dcterms:description """

A FeatureInverting is a Relationship between Features asserting that their interpretations (sequences) are the reverse of each other, identified as featureInverted and invertingFeature. For example, a Feature identifying each person's parents is the inverse of a Feature identifying each person's children. A person identified as a parent of another will identify that other as one of their children.

+"""^^rdf:XMLLiteral ; + dcterms:title "FeatureInvertingShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "requirementUsageRequirementDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RequirementDefinition that is the single definition of this RequirementUsage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "requirementUsageRequiredConstraint" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The owned ConstraintUsages that represent requirements of this RequirementUsage, which are the ownedConstraints of the RequirementConstraintMemberships of the RequirementUsage with kind = requirement.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "disjoiningTypeDisjoined" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

Type asserted to be disjoint with the disjoiningType.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ItemFlowShape" ; + oslc:property , , , , , ; + dcterms:description """

An ItemFlow is a Step that represents the transfer of objects or data values from one Feature to another. ItemFlows can take non-zero time to complete.

+ +if itemFlowEnds->isEmpty() then + specializesFromLibrary('Transfers::transfers') +else + specializesFromLibrary('Transfers::flowTransfers') +endif +itemType = + if itemFeature = null then Sequence{} + else itemFeature.type + endif +sourceOutputFeature = + if connectorEnd->isEmpty() or + connectorEnd.ownedFeature->isEmpty() + then null + else connectorEnd.ownedFeature->first() + endif +targetInputFeature = + if connectorEnd->size() < 2 or + connectorEnd->at(2).ownedFeature->isEmpty() + then null + else connectorEnd->at(2).ownedFeature->first() + endif +itemFlowEnd = connectorEnd->selectByKind(ItemFlowEnd) +itemFeature = + let itemFeatures : Sequence(ItemFeature) = + ownedFeature->selectByKind(ItemFeature) in + if itemFeatures->isEmpty() then null + else itemFeatures->first() + endif +ownedFeature->selectByKind(ItemFeature)->size() <= 1"""^^rdf:XMLLiteral ; + dcterms:title "ItemFlowShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedVerificationCase" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The VerificationCaseUsages that are nestedUsages of this Usage.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "itemFlowItemFeature" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ownedFeature of the ItemFlow that is an ItemFeature (if any).

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "differencingDifferencingType" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

Type that partly determines interpretations of typeDifferenced, as described in Type::differencingType.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "CollectExpressionShape" ; + dcterms:description """

A CollectExpression is an OperatorExpression whose operator is \"collect\", which resolves to the Function ControlFunctions::collect from the Kernel Functions Library.

+operator = \"collect\""""^^rdf:XMLLiteral ; + dcterms:title "CollectExpressionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "namespaceOwnedImport" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ControlNodeShape" ; + dcterms:description """

A ControlNode is an ActionUsage that does not have any inherent behavior but provides constraints on incoming and outgoing Successions that are used to control other Actions. A ControlNode must be a composite owned usage of an ActionDefinition or ActionUsage.

+ +sourceConnector->selectByKind(Succession)-> + collect(connectorEnd->at(1).multiplicity)-> + forAll(sourceMult | + multiplicityHasBounds(sourceMult, 1, 1)) +owningType <> null and +(owningType.oclIsKindOf(ActionDefinition) or + owningType.oclIsKindOf(ActionUsage)) +targetConnector->selectByKind(Succession)-> + collect(connectorEnd->at(2).multiplicity)-> + forAll(targetMult | + multiplicityHasBounds(targetMult, 1, 1)) +specializesFromLibrary('Action::Action::controls')"""^^rdf:XMLLiteral ; + dcterms:title "ControlNodeShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "NamespaceExposeShape" ; + dcterms:description "

A NamespaceExpose is an Expose Relationship that exposes the Memberships of a specific importedNamespace and, if isRecursive = true, additional Memberships recursively.

"^^rdf:XMLLiteral ; + dcterms:title "NamespaceExposeShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureChainExpressionTargetFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that is accessed by this FeatureChainExpression, which is its first non-parameter member.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "PredicateShape" ; + dcterms:description """

A Predicate is a Function whose result parameter has type Boolean and multiplicity 1..1.

+ +specializesFromLibrary('Performances::BooleanEvaluation')"""^^rdf:XMLLiteral ; + dcterms:title "PredicateShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedConstraint" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ConstraintUsages that are nestedUsages of this Usage.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "requirementDefinitionAssumedConstraint" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The owned ConstraintUsages that represent assumptions of this RequirementDefinition, which are the ownedConstraints of the RequirementConstraintMemberships of the RequirementDefinition with kind = assumption.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "associationSourceType" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The source relatedType for this Association. It is the first relatedType of the Association.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "conjugatedPortDefinitionOriginalPortDefinition" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The original PortDefinition for this ConjugatedPortDefinition, which is the owningNamespace of the ConjugatedPortDefinition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "specializationSpecific" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

A Type with a subset of all instances of the general Type, which might be the same set.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "requirementUsageText" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

An optional textual statement of the requirement represented by this RequirementUsage, derived from the bodies of the documentation of the RequirementUsage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "elementQualifiedName" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedAttribute" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The AttributeUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedPort" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The PortUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureChainingFeatureChained" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Feature whose values are partly determined by values of the chainingFeature, as described in Feature::chainingFeature.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureOwnedReferenceSubsetting" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "FunctionShape" ; + oslc:property , , ; + dcterms:description """

A Function is a Behavior that has an out parameter that is identified as its result. A Function represents the performance of a calculation that produces the values of its result parameter. This calculation may be decomposed into Expressions that are steps of the Function.

+ +ownedMembership.selectByKind(ResultExpressionMembership)-> + forAll(mem | ownedFeature.selectByKind(BindingConnector)-> + exists(binding | + binding.relatedFeature->includes(result) and + binding.relatedFeature->includes(mem.ownedResultExpression.result))) +specializesFromLibrary('Performances::Evaluation') +result = + let resultParams : Sequence(Feature) = + ownedFeatureMemberships-> + selectByKind(ReturnParameterMembership). + ownedParameterMember in + if resultParams->notEmpty() then resultParams->first() + else null + endif +ownedFeatureMembership-> + selectByKind(ReturnParameterMembership)-> + size() <= 1 +membership->selectByKind(ResultExpressionMembership)->size() <= 1"""^^rdf:XMLLiteral ; + dcterms:title "FunctionShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ExpressionShape" ; + oslc:property , , ; + dcterms:description """

An Expression is a Step that is typed by a Function. An Expression that also has a Function as its featuringType is a computational step within that Function. An Expression always has a single result parameter, which redefines the result parameter of its defining function. This allows Expressions to be interconnected in tree structures, in which inputs to each Expression in the tree are determined as the results of other Expression in the tree.

+ +isModelLevelEvaluable = modelLevelEvaluable(Set(Element){}) +specializesFromLibrary('Performances::evaluations') +owningMembership <> null and +owningMembership.oclIsKindOf(FeatureValue) implies + let featureWithValue : Feature = + owningMembership.oclAsType(FeatureValue).featureWithValue in + featuringType = featureWithValue.featuringType +ownedMembership.selectByKind(ResultExpressionMembership)-> + forAll(mem | ownedFeature.selectByKind(BindingConnector)-> + exists(binding | + binding.relatedFeature->includes(result) and + binding.relatedFeature->includes(mem.ownedResultExpression.result))) +result = + let resultParams : Sequence(Feature) = + ownedFeatureMemberships-> + selectByKind(ReturnParameterMembership). + ownedParameterMember in + if resultParams->notEmpty() then resultParams->first() + else if function <> null then function.result + else null + endif endif +ownedFeatureMembership-> + selectByKind(ReturnParameterMembership)-> + size() <= 1 +membership->selectByKind(ResultExpressionMembership)->size() <= 1"""^^rdf:XMLLiteral ; + dcterms:title "ExpressionShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "DefinitionShape" ; + oslc:property , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ; + dcterms:description """

A Definition is a Classifier of Usages. The actual kinds of Definition that may appear in a model are given by the subclasses of Definition (possibly as extended with user-defined SemanticMetadata).

+ +

Normally, a Definition has owned Usages that model features of the thing being defined. A Definition may also have other Definitions nested in it, but this has no semantic significance, other than the nested scoping resulting from the Definition being considered as a Namespace for any nested Definitions.

+ +

However, if a Definition has isVariation = true, then it represents a variation point Definition. In this case, all of its members must be variant Usages, related to the Definition by VariantMembership Relationships. Rather than being features of the Definition, variant Usages model different concrete alternatives that can be chosen to fill in for an abstract Usage of the variation point Definition.

+ +isVariation implies ownedFeatureMembership->isEmpty() +variant = variantMembership.ownedVariantUsage +variantMembership = ownedMembership->selectByKind(VariantMembership) +isVariation implies + not ownedSpecialization.specific->exists( + oclIsKindOf(Definition) and + oclAsType(Definition).isVariation) +usage = feature->selectByKind(Usage) +directedUsage = directedFeature->selectByKind(Usage) +ownedUsage = ownedFeature->selectByKind(Usage) +ownedAttribute = ownedUsage->selectByKind(AttributeUsage) +ownedReference = ownedUsage->selectByKind(ReferenceUsage) +ownedEnumeration = ownedUsage->selectByKind(EnumerationUsage) +ownedOccurrence = ownedUsage->selectByKind(OccurrenceUsage) +ownedItem = ownedUsage->selectByKind(ItemUsage) +ownedPart = ownedUsage->selectByKind(PartUsage) +ownedPort = ownedUsage->selectByKind(PortUsage) +ownedConnection = ownedUsage->selectByKind(ConnectorAsUsage) +ownedFlow = ownedUsage->selectByKind(FlowConnectionUsage) +ownedInterface = ownedUsage->selectByKind(ReferenceUsage) +ownedAllocation = ownedUsage->selectByKind(AllocationUsage) +ownedAction = ownedUsage->selectByKind(ActionUsage) +ownedState = ownedUsage->selectByKind(StateUsage) +ownedTransition = ownedUsage->selectByKind(TransitionUsage) +ownedCalculation = ownedUsage->selectByKind(CalculationUsage) +ownedConstraint = ownedUsage->selectByKind(ConstraintUsage) +ownedRequirement = ownedUsage->selectByKind(RequirementUsage) +ownedConcern = ownedUsage->selectByKind(ConcernUsage) +ownedCase = ownedUsage->selectByKind(CaseUsage) +ownedAnalysisCase = ownedUsage->selectByKind(AnalysisCaseUsage) +ownedVerificationCase = ownedUsage->selectByKind(VerificationCaseUsage) +ownedUseCase = ownedUsage->selectByKind(UseCaseUsage) +ownedView = ownedUsage->selectByKind(ViewUsage) +ownedViewpoint = ownedUsage->selectByKind(ViewpointUsage) +ownedRendering = ownedUsage->selectByKind(RenderingUsage) +ownedMetadata = ownedUsage->selectByKind(MetadataUsage) +isVariation implies isAbstract"""^^rdf:XMLLiteral ; + dcterms:title "DefinitionShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "WhileLoopActionUsageShape" ; + oslc:property , ; + dcterms:description """

A WhileLoopActionUsage is a LoopActionUsage that specifies that the bodyAction ActionUsage should be performed repeatedly while the result of the whileArgument Expression is true or until the result of the untilArgument Expression (if provided) is true. The whileArgument Expression is evaluated before each (possible) performance of the bodyAction, and the untilArgument Expression is evaluated after each performance of the bodyAction.

+isSubactionUsage() implies + specializesFromLibrary('Actions::Action::whileLoops') +untilArgument = + let parameter : Feature = inputParameter(3) in + if parameter <> null and parameter.oclIsKindOf(Expression) then + parameter.oclAsType(Expression) + else + null + endif + +specializesFromLibrary('Actions::whileLoopActions') +whileArgument = + let parameter : Feature = inputParameter(1) in + if parameter <> null and parameter.oclIsKindOf(Expression) then + parameter.oclAsType(Expression) + else + null + endif + +inputParameters()->size() >= 2"""^^rdf:XMLLiteral ; + dcterms:title "WhileLoopActionUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureValueIsInitial" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

Whether this FeatureValue specifies a bound value or an initial value for the featureWithValue.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "portConjugationConjugatedPortDefinition" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConjugatedPortDefinition that is conjugate to the originalPortDefinition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedOccurrence" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The OccurrenceUsages that are nestedUsages of this Usage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "flowConnectionUsageFlowConnectionDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Interactions that are the types of this FlowConnectionUsage. Nominally, these are FlowConnectionDefinitions, but other kinds of Kernel Interactions are also allowed, to permit use of Interactions from the Kernel Model Libraries.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "stepBehavior" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Behaviors that type this Step.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedCase" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The CaseUsages that are nestedUsages of this Usage.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "enumerationDefinitionEnumeratedValue" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

EnumerationUsages of this EnumerationDefinitionthat have distinct, fixed values. Each enumeratedValue specifies one of the allowed instances of the EnumerationDefinition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "importImportedElement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The effectively imported Element for this Import. For a MembershipImport, this is the memberElement of the importedMembership. For a NamespaceImport, it is the importedNamespace.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ConnectionDefinitionShape" ; + oslc:property ; + dcterms:description """

A ConnectionDefinition is a PartDefinition that is also an AssociationStructure. The end Features of a ConnectionDefinition must be Usages.

+specializesFromLibrary('Connections::Connection') +ownedEndFeature->size() = 2 implies + specializesFromLibrary('Connections::BinaryConnections')"""^^rdf:XMLLiteral ; + dcterms:title "ConnectionDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "includeUseCaseUsageUseCaseIncluded" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The UseCaseUsage to be included by this IncludeUseCaseUsage. It is the performedAction of the IncludeUseCaseUsage considered as a PerformActionUsage, which must be a UseCaseUsage.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "classifierOwnedSubclassification" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ParameterMembershipShape" ; + oslc:property ; + dcterms:description """

A ParameterMembership is a FeatureMembership that identifies its memberFeature as a parameter, which is always owned, and must have a direction. A ParameterMembership must be owned by a Behavior or a Step.

+ownedMemberParameter.direction = parameterDirection() +owningType.oclIsKindOf(Behavior) or owningType.oclIsKindOf(Step)"""^^rdf:XMLLiteral ; + dcterms:title "ParameterMembershipShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "transitionUsageTarget" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The target ActionUsage of this TransitionUsage, which is the targetFeature of the succession for the TransitionUsage.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "PerformActionUsageShape" ; + oslc:property ; + dcterms:description """

A PerformActionUsage is an ActionUsage that represents the performance of an ActionUsage. Unless it is the PerformActionUsage itself, the ActionUsage to be performed is related to the PerformActionUsage by a ReferenceSubsetting relationship. A PerformActionUsage is also an EventOccurrenceUsage, with its performedAction as the eventOccurrence.

+ownedReferenceSubsetting <> null implies + ownedReferenceSubsetting.referencedFeature.oclIsKindOf(ActionUsage) +owningType <> null and +(owningType.oclIsKindOf(PartDefinition) or + owningType.oclIsKindOf(PartUsage)) implies + specializesFromLibrary('Parts::Part::performedActions')"""^^rdf:XMLLiteral ; + dcterms:title "PerformActionUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "ifActionUsageElseAction" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ActionUsage that is to be performed if the result of the ifArgument is false. It is the (optional) third parameter of the IfActionUsage.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "caseUsageActorParameter" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The parameters of this CaseUsage that represent actors involved in the case.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "annotationOwningAnnotatedElement" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The annotatedElement of this Annotation, when it is also its owningRelatedElement.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "literalStringValue" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

The String value that is the result of evaluating this LiteralString.

+ +

The String value that is the result of evaluating this Expression.

"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ConcernUsageShape" ; + oslc:property ; + dcterms:description """

A ConcernUsage is a Usage of a ConcernDefinition.

+ + The ownedStakeholder features of the ConcernUsage shall all subset the ConcernCheck::concernedStakeholders feature. If the ConcernUsage is an ownedFeature of a StakeholderDefinition or StakeholderUsage, then the ConcernUsage shall have an ownedStakeholder feature that is bound to the self feature of its owner.

+ +specializesFromLibrary('Requirements::concernChecks') +owningFeatureMembership <> null and +owningFeatureMembership.oclIsKindOf(FramedConcernMembership) implies + specializesFromLibrary('Requirements::RequirementCheck::concerns')"""^^rdf:XMLLiteral ; + dcterms:title "ConcernUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedOccurrence" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The OccurrenceUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeInput" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

All features related to this Type by FeatureMemberships that have direction in or inout.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "annotationAnnotatedElement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Element that is annotated by the annotatingElement of this Annotation.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "PortUsageShape" ; + oslc:property ; + dcterms:description """

A PortUsage is a usage of a PortDefinition. A PortUsage itself as well as all its nestedUsages must be referential (non-composite).

+nestedUsage-> + reject(oclIsKindOf(PortUsage))-> + forAll(not isComposite) +specializesFromLibrary('Ports::ports') +isComposite and owningType <> null and +(owningType.oclIsKindOf(PortDefinition) or + owningType.oclIsKindOf(PortUsage)) implies + specializesFromLibrary('Ports::Port::subports') +owningType = null or +not owningType.oclIsKindOf(PortDefinition) and +not owningType.oclIsKindOf(PortUsage) implies + isReference"""^^rdf:XMLLiteral ; + dcterms:title "PortUsageShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "RelationshipShape" ; + oslc:property , , , , , ; + dcterms:description """

A Relationship is an Element that relates other Element. Some of its relatedElements may be owned, in which case those ownedRelatedElements will be deleted from a model if their owningRelationship is. A Relationship may also be owned by another Element, in which case the ownedRelatedElements of the Relationship are also considered to be transitively owned by the owningRelatedElement of the Relationship.

+ +

The relatedElements of a Relationship are divided into source and target Elements. The Relationship is considered to be directed from the source to the target Elements. An undirected Relationship may have either all source or all target Elements.

+ +

A "relationship Element" in the abstract syntax is generically any Element that is an instance of either Relationship or a direct or indirect specialization of Relationship. Any other kind of Element is a "non-relationship Element". It is a convention of that non-relationship Elements are only related via reified relationship Elements. Any meta-associations directly between non-relationship Elements must be derived from underlying reified Relationship.

+ +relatedElement = source->union(target)"""^^rdf:XMLLiteral ; + dcterms:title "RelationshipShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedReference" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ReferenceUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "resultExpressionMembershipOwnedResultExpression" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Expression that provides the result for the owner of the ResultExpressionMembership.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "behaviorStep" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Steps that make up this Behavior.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "StateDefinitionShape" ; + oslc:property , , , , ; + dcterms:description """

A StateDefinition is the Definition of the Behavior of a system or part of a system in a certain state condition.

+ +

A StateDefinition may be related to up to three of its ownedFeatures by StateBehaviorMembership Relationships, all of different kinds, corresponding to the entry, do and exit actions of the StateDefinition.

+specializesFromLibrary('States::StateAction') +ownedMembership-> + selectByKind(StateSubactionMembership)-> + isUnique(kind) +state = action->selectByKind(StateUsage) +doAction = + let doMemberships : Sequence(StateSubactionMembership) = + ownedMembership-> + selectByKind(StateSubactionMembership)-> + select(kind = StateSubactionKind::do) in + if doMemberships->isEmpty() then null + else doMemberships->at(1) + endif +entryAction = + let entryMemberships : Sequence(StateSubactionMembership) = + ownedMembership-> + selectByKind(StateSubactionMembership)-> + select(kind = StateSubactionKind::entry) in + if entryMemberships->isEmpty() then null + else entryMemberships->at(1) + endif +isParallel implies + ownedAction.incomingTransition->isEmpty() and + ownedAction.outgoingTransition->isEmpty() +exitAction = + let exitMemberships : Sequence(StateSubactionMembership) = + ownedMembership-> + selectByKind(StateSubactionMembership)-> + select(kind = StateSubactionKind::exit) in + if exitMemberships->isEmpty() then null + else exitMemberships->at(1) + endif"""^^rdf:XMLLiteral ; + dcterms:title "StateDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "partUsagePartDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The itemDefinitions of this PartUsage that are PartDefinitions.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "transitionUsageEffectAction" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsages that define the effects of this TransitionUsage, which are the ownedFeatures of the TransitionUsage related to it by TransitionFeatureMemberships with kind = effect, which must all be ActionUsages.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedRendering" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The RenderingUsages that are nestedUsages of this Usage.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "CalculationDefinitionShape" ; + oslc:property ; + dcterms:description """

A CalculationDefinition is an ActionDefinition that also defines a Function producing a result.

+specializesFromLibrary('Calculations::Calculation') +calculation = action->selectByKind(CalculationUsage)"""^^rdf:XMLLiteral ; + dcterms:title "CalculationDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeOwnedUnioning" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "relationshipOwningRelatedElement" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The relatedElement of this Relationship that owns the Relationship, if any.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "caseUsageSubjectParameter" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The parameter of this CaseUsage that represents its subject.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "EnumerationDefinitionShape" ; + oslc:property ; + dcterms:description """

An EnumerationDefinition is an AttributeDefinition all of whose instances are given by an explicit list of enumeratedValues. This is realized by requiring that the EnumerationDefinition have isVariation = true, with the enumeratedValues being its variants.

+isVariation"""^^rdf:XMLLiteral ; + dcterms:title "EnumerationDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "SubjectMembershipShape" ; + oslc:property ; + dcterms:description """

A SubjectMembership is a ParameterMembership that indicates that its ownedSubjectParameter is the subject of its owningType. The owningType of a SubjectMembership must be a RequirementDefinition, RequirementUsage, CaseDefinition, or CaseUsage.

+owningType.oclIsType(RequirementDefinition) or +owningType.oclIsType(RequiremenCaseRequirementDefinition) or +owningType.oclIsType(CaseDefinition) or +owningType.oclIsType(CaseUsage) +"""^^rdf:XMLLiteral ; + dcterms:title "SubjectMembershipShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "caseUsageCaseDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The CaseDefinition that is the type of this CaseUsage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "conjugationOwningType" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The conjugatedType of this Conjugation that is also its owningRelatedElement.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "viewpointUsageViewpointDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ViewpointDefinition that is the definition of this ViewpointUsage.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "typeIsSufficient" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

Whether all things that meet the classification conditions of this Type must be classified by the Type.

+ +

(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.)

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageIsReference" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

Whether this Usage is a referential Usage, that is, it has isComposite = false.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "invocationExpressionArgument" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The value Expressions of the FeatureValues of the owned input parameters of the InvocationExpression."^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "expressionIsModelLevelEvaluable" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

Whether this Expression meets the constraints necessary to be evaluated at model level, that is, using metadata within the model.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "stateDefinitionDoAction" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsage of this StateDefinition to be performed while in the state defined by the StateDefinition. It is the owned ActionUsage related to the StateDefinition by a StateSubactionMembership with kind = do.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "StakeholderMembershipShape" ; + oslc:property ; + dcterms:description """

A StakeholderMembership is a ParameterMembership that identifies a PartUsage as a stakeholderParameter of a RequirementDefinition or RequirementUsage, which specifies a role played by an entity with concerns framed by the owningType.

+owningType.oclIsKindOf(RequirementUsage) or +owningType.oclIsKindOf(RequirementDefinition)"""^^rdf:XMLLiteral ; + dcterms:title "StakeholderMembershipShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "importIsImportAll" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

Whether to import memberships without regard to declared visibility.

+"""^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "NamespaceShape" ; + oslc:property , , , , , ; + dcterms:description """

A Namespace is an Element that contains other Elements, known as its members, via Membership Relationships with those Elements. The members of a Namespace may be owned by the Namespace, aliased in the Namespace, or imported into the Namespace via Import Relationships.

+ +

A Namespace can provide names for its members via the memberNames and memberShortNames specified by the Memberships in the Namespace. If a Membership specifies a memberName and/or memberShortName, then those are names of the corresponding memberElement relative to the Namespace. For an OwningMembership, the owningMemberName and owningMemberShortName are given by the Element name and shortName. Note that the same Element may be the memberElement of multiple Memberships in a Namespace (though it may be owned at most once), each of which may define a separate alias for the Element relative to the Namespace.

+ +membership->forAll(m1 | + membership->forAll(m2 | + m1 <> m2 implies m1.isDistinguishableFrom(m2))) +member = membership.memberElement +ownedMember = ownedMembership->selectByKind(OwningMembership).ownedMemberElement +importedMembership = importedMemberships(Set{}) +ownedImport = ownedRelationship->selectByKind(Import) +ownedMembership = ownedRelationship->selectByKind(Membership)"""^^rdf:XMLLiteral ; + dcterms:title "NamespaceShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "concernUsageConcernDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConcernDefinition that is the single type of this ConcernUsage.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "RequirementConstraintMembershipShape" ; + oslc:property , , ; + dcterms:description """

A RequirementConstraintMembership is a FeatureMembership for an assumed or required ConstraintUsage of a RequirementDefinition or RequirementUsage.

+referencedConstraint = + let reference : ReferenceSubsetting = + ownedConstraint.ownedReferenceSubsetting in + if reference = null then ownedConstraint + else if not reference.referencedFeature.oclIsKindOf(ConstraintUsage) then null + else reference.referencedFeature.oclAsType(ConstraintUsage) + endif endif +owningType.oclIsKindOf(RequirementDefinition) or +owningType.oclIsKindOf(RequirementUsage) +ownedConstraint.isComposite"""^^rdf:XMLLiteral ; + dcterms:title "RequirementConstraintMembershipShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "SatisfyRequirementUsageShape" ; + oslc:property , ; + dcterms:description """

A SatisfyRequirementUsage is an AssertConstraintUsage that asserts, by default, that a satisfied RequirementUsage is true for a specific satisfyingFeature, or, if isNegated = true, that the RequirementUsage is false. The satisfied RequirementUsage is related to the SatisfyRequirementUsage by a ReferenceSubsetting Relationship.

+satisfyingFeature = + let bindings: BindingConnector = ownedMember-> + selectByKind(BindingConnector)-> + select(b | b.relatedElement->includes(subjectParameter)) in + if bindings->isEmpty() or + bindings->first().relatedElement->exits(r | r <> subjectParameter) + then null + else bindings->first().relatedElement->any(r | r <> subjectParameter) + endif +ownedMember->selectByKind(BindingConnector)-> + select(b | + b.relatedElement->includes(subjectParameter) and + b.relatedElement->exists(r | r <> subjectParameter))-> + size() = 1 +ownedReferenceSubsetting <> null implies + ownedReferenceSubsetting.referencedFeature.oclIsKindOf(RequirementUsage)"""^^rdf:XMLLiteral ; + dcterms:title "SatisfyRequirementUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureIsOrdered" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

Whether an order exists for the values of this Feature or not.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureIsEnd" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

Whether or not the this Feature is an end Feature, requiring a different interpretation of the multiplicity of the Feature.

+ +

An end Feature is always considered to map each domain instance to a single co-domain instance, whether or not a Multiplicity is given for it. If a Multiplicity is given for an end Feature, rather than giving the co-domain cardinality for the Feature as usual, it specifies a cardinality constraint for navigating across the endFeatures of the featuringType of the end Feature. That is, if a Type has n endFeatures, then the Multiplicity of any one of those end Features constrains the cardinality of the set of values of that Feature when the values of the other n-1 end Features are held fixed.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "definitionOwnedFlow" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The FlowConnectionUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "requirementDefinitionText" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

An optional textual statement of the requirement represented by this RequirementDefinition, derived from the bodies of the documentation of the RequirementDefinition.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureEndOwningType" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "NullExpressionShape" ; + dcterms:description """

A NullExpression is an Expression that results in a null value.

+ +specializesFromLibrary('Performances::nullEvaluations')"""^^rdf:XMLLiteral ; + dcterms:title "NullExpressionShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "BehaviorShape" ; + oslc:property , ; + dcterms:description """

A Behavior coordinates occurrences of other Behaviors, as well as changes in objects. Behaviors can be decomposed into Steps and be characterized by parameters.

+ +specializesFromLibrary('Performances::Performance') +step = feature->selectByKind(Step) +ownedSpecialization.general->forAll(not oclIsKindOf(Structure))"""^^rdf:XMLLiteral ; + dcterms:title "BehaviorShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "requirementUsageAssumedConstraint" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The owned ConstraintUsages that represent assumptions of this RequirementUsage, derived as the ownedConstraints of the RequirementConstraintMemberships of the RequirementUsage with kind = assumption.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ActionUsageShape" ; + oslc:property ; + dcterms:description """

An ActionUsage is a Usage that is also a Step, and, so, is typed by a Behavior. Nominally, if the type is an ActionDefinition, an ActionUsage is a Usage of that ActionDefinition within a system. However, other kinds of kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries.

+ +isSubactionUsage() implies + specializesFromLibrary('Actions::Action::subactions') +specializesFromLibrary('Actions::actions') +isComposite and owningType <> null and +(owningType.oclIsKindOf(PartDefinition) or + owningType.oclIsKindOf(PartUsage)) implies + specializesFromLibrary('Parts::Part::ownedActions') +owningFeatureMembership <> null and +owningFeatureMembership.oclIsKindOf(StateSubactionMembership) implies + let kind : StateSubactionKind = + owningFeatureMembership.oclAsType(StateSubactionMembership).kind in + if kind = StateSubactionKind::entry then + redefinesFromLibrary('States::StateAction::entryAction') + else if kind = StateSubactionKind::do then + redefinesFromLibrary('States::StateAction::doAction') + else + redefinesFromLibrary('States::StateAction::exitAction') + endif endif +owningType <> null and + (owningType.oclIsKindOf(AnalysisCaseDefinition) and + owningType.oclAsType(AnalysisCaseDefinition).analysisAction-> + includes(self) or + owningType.oclIsKindOf(AnalysisCaseUsage) and + owningType.oclAsType(AnalysisCaseUsage).analysisAction-> + includes(self)) implies + specializesFromLibrary('AnalysisCases::AnalysisCase::analysisSteps')"""^^rdf:XMLLiteral ; + dcterms:title "ActionUsageShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageOwningUsage" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Usage in which this Usage is nested (if any).

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageIsVariation" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description "

Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "usageNestedInterface" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The InterfaceUsages that are nestedUsages of this Usage.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "RequirementDefinitionShape" ; + oslc:property , , , , , , , ; + dcterms:description """

A RequirementDefinition is a ConstraintDefinition that defines a requirement used in the context of a specification as a constraint that a valid solution must satisfy. The specification is relative to a specified subject, possibly in collaboration with one or more external actors.

+text = documentation.body +assumedConstraint = ownedFeatureMembership-> + selectByKind(RequirementConstraintMembership)-> + select(kind = RequirementConstraintKind::assumption). + ownedConstraint +requiredConstraint = ownedFeatureMembership-> + selectByKind(RequirementConstraintMembership)-> + select(kind = RequirementConstraintKind::requirement). + ownedConstraint +subjectParameter = + let subjects : OrderedSet(SubjectMembership) = + featureMembership->selectByKind(SubjectMembership) in + if subjects->isEmpty() then null + else subjects->first().ownedSubjectParameter + endif +framedConcern = featureMembership-> + selectByKind(FramedConcernMembership). + ownedConcern +actorParameter = featureMembership-> + selectByKind(ActorMembership). + ownedActorParameter +stakeholderParameter = featureMembership-> + selectByKind(StakholderMembership). + ownedStakeholderParameter +featureMembership-> + selectByKind(SubjectMembership)-> + size() <= 1 +input->notEmpty() and input->first() = subjectParameter +specializesFromLibrary('Requirements::RequirementCheck')"""^^rdf:XMLLiteral ; + dcterms:title "RequirementDefinitionShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "FeatureChainExpressionShape" ; + oslc:property ; + dcterms:description """

A FeatureChainExpression is an OperatorExpression whose operator is \".\", which resolves to the Function ControlFunctions::'.' from the Kernel Functions Library. It evaluates to the result of chaining the result Feature of its single argument Expression with its targetFeature.

+let sourceParameter : Feature = sourceTargetFeature() in +sourceTargetFeature <> null and +sourceTargetFeature.redefinesFromLibrary('ControlFunctions::'.'::source::target') +let sourceParameter : Feature = sourceTargetFeature() in +sourceTargetFeature <> null and +sourceTargetFeature.redefines(targetFeature) +targetFeature = + let nonParameterMemberships : Sequence(Membership) = ownedMembership-> + reject(oclIsKindOf(ParameterMembership)) in + if nonParameterMemberships->isEmpty() or + not nonParameterMemberships->first().memberElement.oclIsKindOf(Feature) + then null + else nonParameterMemberships->first().memberElement.oclAsType(Feature) + endif +argument->notEmpty() implies + targetFeature.featuringType->forAll(t | + t.specializes(argument->at(1).result))"""^^rdf:XMLLiteral ; + dcterms:title "FeatureChainExpressionShape"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "ImportShape" ; + oslc:property , , , , ; + dcterms:description """

An Import is an Relationship between its importOwningNamespace and either a Membership (for a MembershipImport) or another Namespace (for a NamespaceImport), which determines a set of Memberships that become importedMemberships of the importOwningNamespace. If isImportAll = false (the default), then only public Memberships are considered "visible". If isImportAll = true, then all Memberships are considered "visible", regardless of their declared visibility. If isRecursive = true, then visible Memberships are also recursively imported from owned sub-Namespaces.

+ +"""^^rdf:XMLLiteral ; + dcterms:title "ImportShape"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureTypingType" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description """

The Type that is being applied by this FeatureTyping.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "elementTextualRepresentation" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The TextualRepresentations that annotate this Element.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "conjugatedPortTypingPortDefinition" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The originalPortDefinition of the conjugatedPortDefinition of this ConjugatedPortTyping.

"^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "featureIsUnique" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition + ; + oslc:readOnly "false"^^ ; + oslc:valueType ; + dcterms:description """

Whether or not values for this Feature must have no duplicates or not.

+"""^^rdf:XMLLiteral . + + + a oslc:Property ; + oslc:name "verificationCaseDefinitionVerifiedRequirement" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition + ; + oslc:range ; + oslc:readOnly "false"^^ ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RequirementUsages verified by this VerificationCaseDefinition, which are the verifiedRequirements of all RequirementVerificationMemberships of the objectiveRequirement.

"^^rdf:XMLLiteral . + + + a oslc:ResourceShape ; + oslc:describes ; + oslc:name "MultiplicityRangeShape" ; + oslc:property , , ; + dcterms:description """

A MultiplicityRange is a Multiplicity whose value is defined to be the (inclusive) range of natural numbers given by the result of a lowerBound Expression and the result of an upperBound Expression. The result of these Expressions shall be of type Natural. If the result of the upperBound Expression is the unbounded value *, then the specified range includes all natural numbers greater than or equal to the lowerBound value. If no lowerBound Expression, then the default is that the lower bound has the same value as the upper bound, except if the upperBound evaluates to *, in which case the default for the lower bound is 0.

+ +bound->forAll(b | b.featuringType = self.featuringType) +bound->forAll(b | + b.result.specializesFromLibrary('ScalarValues::Integer') and + let value : UnlimitedNatural = valueOf(b) in + value <> null implies value >= 0 +) +lowerBound = + let ownedMembers : Sequence(Element) = + ownedMembership->selectByKind(OwningMembership).ownedMember in + if ownedMembers->size() < 2 or + not ownedMembers->first().oclIsKindOf(Expression) then null + else ownedMembers->first().oclAsType(Expression) + endif +upperBound = + let ownedMembers : Sequence(Element) = + ownedMembership->selectByKind(OwningMembership).ownedMember in + if ownedMembers->isEmpty() or + not ownedMembers->last().oclIsKindOf(Expression) + then null + else ownedMembers->last().oclAsType(Expression) + endif """^^rdf:XMLLiteral ; + dcterms:title "MultiplicityRangeShape"^^rdf:XMLLiteral . diff --git a/specs/sysml/Resources/sysml-vocab-full.ttl b/specs/sysml/Resources/sysml-vocab-full.ttl new file mode 100644 index 0000000..4679043 --- /dev/null +++ b/specs/sysml/Resources/sysml-vocab-full.ttl @@ -0,0 +1,4920 @@ +# Copyright 2024 OASIS Open +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + + +@prefix rdf: . +@prefix rdfs: . +@prefix owl: . +@prefix dcterms: . +@prefix vann: . + +@prefix oslc_am: . +@prefix oslc_sysmlv2: . + +oslc_sysmlv2: + a owl:Ontology ; + dcterms:title "OSLC SysML v2 Vocabulary" ; + rdfs:label "OSLC SysML v2 Vocabulary" ; + dcterms:description "All vocabulary URIs defined in the OSLC SysML v2 namespace."^^rdf:XMLLiteral ; + vann:preferredNamespacePrefix "oslc_sysmlv2" ; + dcterms:publisher ; + dcterms:issued "2022-07-11"^^ ; + dcterms:license ; + dcterms:source ; + dcterms:isPartOf ; + dcterms:hasVersion "WD" ; + dcterms:dateCopyrighted "2012-2024" . + + + + + a rdf:Property ; + rdfs:comment """

The Memberships in this Namespace that result from the ownedImports of this Namespace.

+""" ; + rdfs:label "namespaceImportedMembership" . + + + a rdfs:Class ; + rdfs:comment """

An AnnotatingElement is an Element that provides additional description of or metadata on some other Element. An AnnotatingElement is either attached to its annotatedElements by Annotation Relationships, or it implicitly annotates its owningNamespace.

+ +annotatedElement = + if annotation->notEmpty() then annotation.annotatedElement + else Sequence{owningNamespace} endif +ownedAnnotatingRelationship = ownedRelationship-> + selectByKind(Annotation)-> + select(a | a.annotatingElement = self)""" ; + rdfs:label "AnnotatingElement" . + + + a rdf:Property ; + rdfs:comment "

The PartUsages that identify the stakeholders with concerns framed by this ViewpointUsage, which are the owned and inherited stakeholderParameters of the framedConcerns of this ViewpointUsage.

" ; + rdfs:label "viewpointUsageViewpointStakeholder" . + + + a rdf:Property ; + rdfs:comment "

The PartUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedPart" . + + + a rdf:Property ; + rdfs:comment """

Steps that represent occurrences that are side effects of the transitionStep occurring.

+""" ; + rdfs:label "successionEffectStep" . + + + a rdf:Property ; + rdfs:comment """

The ConcernUsages that are nestedUsages of this Usage.

+""" ; + rdfs:label "usageNestedConcern" . + + + a rdfs:Class ; + rdfs:comment """

An EventOccurrenceUsage is an OccurrenceUsage that represents another OccurrenceUsage occurring as a suboccurrence of the containing occurrence of the EventOccurrenceUsage. Unless it is the EventOccurrenceUsage itself, the referenced OccurrenceUsage is related to the EventOccurrenceUsage by a ReferenceSubsetting Relationship.

+ +

If the EventOccurrenceUsage is owned by an OccurrenceDefinition or OccurrenceUsage, then it also subsets the timeEnclosedOccurrences property of the Class Occurrence from the Kernel Semantic Library model Occurrences.

+eventOccurrence = + if ownedReferenceSubsetting = null then self + else if ownedReferenceSubsetting.referencedFeature.oclIsKindOf(OccurrenceUsage) then + ownedReferenceSubsetting.referencedFeature.oclAsType(OccurrenceUsage) + else null + endif endif +ownedReferenceSubsetting <> null implies + ownedReferenceSubsetting.referencedFeature.oclIsKindOf(OccurrenceUsage) +owningType <> null and +(owningType.oclIsKindOf(OccurrenceDefinition) or + owningType.oclIsKindOf(OccurrenceUsage)) implies + specializesFromLibrary('Occurrences::Occurrence::timeEnclosedOccurrences') +isReference""" ; + rdfs:label "EventOccurrenceUsage" . + + + a rdf:Property ; + rdfs:comment """

Whether this Function can be used as the function of a model-level evaluable InvocationExpression. Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = true. For all other Functions it is false.

+ +

Note: See the specification of the KerML concrete syntax notation for Expressions for an identification of which library Functions are model-level evaluable.

""" ; + rdfs:label "functionIsModelLevelEvaluable" . + + + a rdfs:Class ; + rdfs:comment """

A ConjugatedPortDefinition is a PortDefinition that is a PortDefinition of its original PortDefinition. That is, a ConjugatedPortDefinition inherits all the features of the original PortDefinition, but input flows of the original PortDefinition become outputs on the ConjugatedPortDefinition and output flows of the original PortDefinition become inputs on the ConjugatedPortDefinition. Every PortDefinition (that is not itself a ConjugatedPortDefinition) has exactly one corresponding ConjugatedPortDefinition, whose effective name is the name of the originalPortDefinition, with the character ~ prepended.

+ownedPortConjugator.originalPortDefinition = originalPortDefinition +conjugatedPortDefinition = null""" ; + rdfs:label "ConjugatedPortDefinition" . + + + a rdf:Property ; + rdfs:comment "

The VerificationCase that is the definition of this VerificationCaseUsage.

" ; + rdfs:label "verificationCaseUsageVerificationCaseDefinition" . + + + a rdfs:Class ; + rdfs:comment """

An ActionDefinition is a Definition that is also a Behavior that defines an Action performed by a system or part of a system.

+specializesFromLibrary('Actions::Action') +action = usage->selectByKind(ActionUsage)""" ; + rdfs:label "ActionDefinition" . + + + a rdfs:Class ; + rdfs:comment """

A ReturnParameterMembership is a ParameterMembership that indicates that the ownedMemberParameter is the result parameter of a Function or Expression. The direction of the ownedMemberParameter must be out.

+ +owningType.oclIsKindOf(Function) or owningType.oclIsKindOf(Expression)""" ; + rdfs:label "ReturnParameterMembership" . + + + a rdf:Property ; + rdfs:comment "

The source ActionUsage of this TransitionUsage, which becomes the source of the succession for the TransitionUsage.

" ; + rdfs:label "transitionUsageSource" . + + + a rdf:Property ; + rdfs:comment "

The annotatingElement of this Annotation, when it is also its owningRelatedElement.

" ; + rdfs:label "annotationOwningAnnotatingElement" . + + + a rdfs:Class ; + rdfs:comment "

A SuccessionAsUsage is both a ConnectorAsUsage and a Succession.

" ; + rdfs:label "SuccessionAsUsage" . + + + a rdf:Property ; + rdfs:comment "

The that is conjugate to this PortDefinition.

" ; + rdfs:label "portDefinitionConjugatedPortDefinition" . + + + a rdf:Property ; + rdfs:comment """

Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances.

+""" ; + rdfs:label "featureIsPortion" . + + + a rdfs:Class ; + rdfs:comment """

An InvocationExpression is an Expression each of whose input parameters are bound to the result of an argument Expression.

+ +not ownedTyping->exists(oclIsKindOf(Behavior)) and +not ownedSubsetting.subsettedFeature.type->exists(oclIsKindOf(Behavior)) implies + ownedFeature.selectByKind(BindingConnector)->exists( + relatedFeature->includes(self) and + relatedFeature->includes(result)) + +TBD +ownedFeature-> + select(direction = _'in').valuation-> + select(v | v <> null).value +let features : Set(Feature) = type.feature->asSet() in +input->forAll(inp | + inp.ownedRedefinition.redefinedFeature-> + intersection(features)->size() = 1) +let features : Set(Feature) = type.feature->asSet() in +input->forAll(inp1 | input->forAll(inp2 | + inp1 <> inp2 implies + inp1.ownedRedefinition.redefinedFeature-> + intersection(inp2.ownedRedefinition.redefinedFeature)-> + intersection(features)->isEmpty()))""" ; + rdfs:label "InvocationExpression" . + + + a rdf:Property ; + rdfs:comment "

The ActionUsage of this StateUsage to be performed on entry to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateUsage by a StateSubactionMembership with kind = entry.

" ; + rdfs:label "stateUsageEntryAction" . + + + a rdfs:Class ; + rdfs:comment """

A RequirementDefinition is a ConstraintDefinition that defines a requirement used in the context of a specification as a constraint that a valid solution must satisfy. The specification is relative to a specified subject, possibly in collaboration with one or more external actors.

+text = documentation.body +assumedConstraint = ownedFeatureMembership-> + selectByKind(RequirementConstraintMembership)-> + select(kind = RequirementConstraintKind::assumption). + ownedConstraint +requiredConstraint = ownedFeatureMembership-> + selectByKind(RequirementConstraintMembership)-> + select(kind = RequirementConstraintKind::requirement). + ownedConstraint +subjectParameter = + let subjects : OrderedSet(SubjectMembership) = + featureMembership->selectByKind(SubjectMembership) in + if subjects->isEmpty() then null + else subjects->first().ownedSubjectParameter + endif +framedConcern = featureMembership-> + selectByKind(FramedConcernMembership). + ownedConcern +actorParameter = featureMembership-> + selectByKind(ActorMembership). + ownedActorParameter +stakeholderParameter = featureMembership-> + selectByKind(StakholderMembership). + ownedStakeholderParameter +featureMembership-> + selectByKind(SubjectMembership)-> + size() <= 1 +input->notEmpty() and input->first() = subjectParameter +specializesFromLibrary('Requirements::RequirementCheck')""" ; + rdfs:label "RequirementDefinition" . + + + a rdf:Property ; + rdfs:comment """

The Feature to be provided a value.

+ +

The Feature to be provided a value.

""" ; + rdfs:label "featureValueFeatureWithValue" . + + + a rdfs:Class ; + rdfs:comment """

An ItemFlowEnd is a Feature that is one of the connectorEnds giving the source or target of an ItemFlow. For ItemFlows typed by FlowTransfer or its specializations, ItemFlowEnds must have exactly one ownedFeature, which redefines Transfer::source::sourceOutput or Transfer::target::targetInput and redefines the corresponding feature of the relatedElement for its end.

+isEnd +ownedFeature->size() = 1 +owningType <> null and owningType.oclIsKindOf(ItemFlow)""" ; + rdfs:label "ItemFlowEnd" . + + + a rdf:Property ; + rdfs:comment "

The ViewDefinition that is the definition of this ViewUsage.

" ; + rdfs:label "viewUsageViewDefinition" . + + + a rdfs:Class ; + rdfs:comment """

A Connector is a usage of Associations, with links restricted according to instances of the Type in which they are used (domain of the Connector). The associations of the Connector restrict what kinds of things might be linked. The Connector further restricts these links to be between values of Features on instances of its domain.

+ +relatedFeature = connectorEnd.ownedReferenceSubsetting-> + select(s | s <> null).subsettedFeature +relatedFeature->forAll(f | + if featuringType->isEmpty() then f.isFeaturedWithin(null) + else featuringType->forAll(t | f.isFeaturedWithin(t)) + endif) +sourceFeature = + if relatedFeature->isEmpty() then null + else relatedFeature->first() + endif +targetFeature = + if relatedFeature->size() < 2 then OrderedSet{} + else + relatedFeature-> + subSequence(2, relatedFeature->size())-> + asOrderedSet() + endif +not isAbstract implies relatedFeature->size() >= 2 +specializesFromLibrary('Links::links') +association->exists(oclIsKindOf(AssociationStructure)) implies + specializesFromLibrary('Objects::linkObjects') +connectorEnds->size() = 2 and +association->exists(oclIsKindOf(AssocationStructure)) implies + specializesFromLibrary('Objects::binaryLinkObjects') +connectorEnd->size() = 2 implies + specializesFromLibrary('Links::binaryLinks') +connectorEnds->size() > 2 implies + not specializesFromLibrary('Links::BinaryLink')""" ; + rdfs:label "Connector" . + + + a rdf:Property ; + rdfs:comment "

The AllocationUsages that refine the allocation mapping defined by this AllocationDefinition.

" ; + rdfs:label "allocationDefinitionAllocation" . + + + a rdfs:Class ; + rdfs:comment """

A FlowConnectionDefinition is a ConnectionDefinition and ActionDefinition that is also an Interaction representing flows between Usages.

+specializesFromLibrary('Connections::MessageConnection')""" ; + rdfs:label "FlowConnectionDefinition" . + + + a rdf:Property ; + rdfs:comment "

The AcceptActionUsages that define the triggers of this TransitionUsage, which are the ownedFeatures of the TransitionUsage related to it by TransitionFeatureMemberships with kind = trigger, which must all be AcceptActionUsages.

" ; + rdfs:label "transitionUsageTriggerAction" . + + + a rdf:Property ; + rdfs:comment "

The Expressions related to this ViewUsage by ElementFilterMemberships, which specify conditions on Elements to be rendered in a view.

" ; + rdfs:label "viewUsageViewCondition" . + + + a rdfs:Class ; + rdfs:comment """

A VariantMembership is a Membership between a variation point Definition or Usage and a Usage that represents a variant in the context of that variation. The membershipOwningNamespace for the VariantMembership must be either a Definition or a Usage with isVariation = true.

+membershipOwningNamespace.oclIsKindOf(Definition) and + membershipOwningNamespace.oclAsType(Definition).isVariation or +membershipOwningNamespace.oclIsKindOf(Usage) and + membershipOwningNamespace.oclAsType(Usage).isVariation +""" ; + rdfs:label "VariantMembership" . + + + a rdfs:Class ; + rdfs:comment """

A NullExpression is an Expression that results in a null value.

+ +specializesFromLibrary('Performances::nullEvaluations')""" ; + rdfs:label "NullExpression" . + + + a rdfs:Class ; + rdfs:comment """

A LiteralString is a LiteralExpression that provides a String value as a result. Its result parameter must have the type String.

+ +specializesFromLibrary('Performances::literalStringEvaluations')""" ; + rdfs:label "LiteralString" . + + + a rdf:Property ; + rdfs:comment """

The owningRelationship of this Element, if that Relationship is a Membership.

+""" ; + rdfs:label "elementOwningMembership" . + + + a rdf:Property ; + rdfs:comment "

The Element or Elements dependent on the supplier Elements.

" ; + rdfs:label "dependencyClient" . + + + a rdfs:Class ; + rdfs:comment "

An EnumerationUsage is an AttributeUsage whose attributeDefinition is an EnumerationDefinition.

" ; + rdfs:label "EnumerationUsage" . + + + a rdfs:Class ; + rdfs:comment """

An OperatorExpression is an InvocationExpression whose function is determined by resolving its operator in the context of one of the standard packages from the Kernel Function Library.

+let libFunctions : Sequence(Element) = + Sequence{'BaseFunctions', 'DataFunctions', 'ControlFunctions'}-> + collect(ns | resolveGlobal(ns + \"::'\" + operator + \"'\"). + memberElement) in +libFunctions->includes(function) + +""" ; + rdfs:label "OperatorExpression" . + + + a rdfs:Class ; + rdfs:comment """

A BooleanExpression is a Boolean-valued Expression whose type is a Predicate. It represents a logical condition resulting from the evaluation of the Predicate.

+ +specializesFromLibrary('Performances::booleanEvaluations')""" ; + rdfs:label "BooleanExpression" . + + + a rdf:Property ; + rdfs:comment "

The StateUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedState" . + + + a rdf:Property ; + rdfs:comment """

Whether or not the Membership of the memberElement in the membershipOwningNamespace is publicly visible outside that Namespace.

+""" ; + rdfs:label "membershipVisibility" . + + + a rdf:Property ; + rdfs:comment """

The CalculationUsage that are nestedUsages of this Usage.

+""" ; + rdfs:label "usageNestedCalculation" . + + + a rdfs:Class ; + rdfs:comment """

A StateDefinition is the Definition of the Behavior of a system or part of a system in a certain state condition.

+ +

A StateDefinition may be related to up to three of its ownedFeatures by StateBehaviorMembership Relationships, all of different kinds, corresponding to the entry, do and exit actions of the StateDefinition.

+specializesFromLibrary('States::StateAction') +ownedMembership-> + selectByKind(StateSubactionMembership)-> + isUnique(kind) +state = action->selectByKind(StateUsage) +doAction = + let doMemberships : Sequence(StateSubactionMembership) = + ownedMembership-> + selectByKind(StateSubactionMembership)-> + select(kind = StateSubactionKind::do) in + if doMemberships->isEmpty() then null + else doMemberships->at(1) + endif +entryAction = + let entryMemberships : Sequence(StateSubactionMembership) = + ownedMembership-> + selectByKind(StateSubactionMembership)-> + select(kind = StateSubactionKind::entry) in + if entryMemberships->isEmpty() then null + else entryMemberships->at(1) + endif +isParallel implies + ownedAction.incomingTransition->isEmpty() and + ownedAction.outgoingTransition->isEmpty() +exitAction = + let exitMemberships : Sequence(StateSubactionMembership) = + ownedMembership-> + selectByKind(StateSubactionMembership)-> + select(kind = StateSubactionKind::exit) in + if exitMemberships->isEmpty() then null + else exitMemberships->at(1) + endif""" ; + rdfs:label "StateDefinition" . + + + a rdfs:Class ; + rdfs:comment "

A NamespaceExpose is an Expose Relationship that exposes the Memberships of a specific importedNamespace and, if isRecursive = true, additional Memberships recursively.

" ; + rdfs:label "NamespaceExpose" . + + + a rdf:Property ; + rdfs:comment "

Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler.

" ; + rdfs:label "relationshipIsImplied" . + + + a rdfs:Class ; + rdfs:comment """

Specialization is a Relationship between two Types that requires all instances of the specific type to also be instances of the general Type (i.e., the set of instances of the specific Type is a subset of those of the general Type, which might be the same set).

+ +not specific.isConjugated""" ; + rdfs:label "Specialization" . + + + a rdf:Property ; + rdfs:comment "

The Usages that are features of this Usage (not necessarily owned).

" ; + rdfs:label "usageUsage" . + + + a rdf:Property ; + rdfs:comment """

An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context.

+""" ; + rdfs:label "elementDeclaredShortName" . + + + a rdf:Property ; + rdfs:comment "

The parameters of this CaseDefinition that represent actors involved in the case.

" ; + rdfs:label "caseDefinitionActorParameter" . + + + a rdf:Property ; + rdfs:comment """

A featureInverted that is also the owningRelatedElement of this FeatureInverting.

+""" ; + rdfs:label "featureInvertingOwningFeature" . + + + a rdf:Property ; + rdfs:comment "

The RenderingUsage that is referenced through this ViewRenderingMembership. It is the referencedFeature of the ownedReferenceSubsetting for the ownedRendering, if there is one, and, otherwise, the ownedRendering itself.

" ; + rdfs:label "viewRenderingMembershipReferencedRendering" . + + + a rdf:Property ; + rdfs:comment """

The Type that owns this FeatureMembership.

+""" ; + rdfs:label "featureMembershipOwningType" . + + + a rdf:Property ; + rdfs:comment "

The ConnectorAsUsages that are ownedUsages of this Definition. Note that this list includes BindingConnectorAsUsages and SuccessionAsUsages, even though these are ConnectorAsUsages but not ConnectionUsages.

" ; + rdfs:label "definitionOwnedConnection" . + + + a rdf:Property ; + rdfs:comment """

The Function that types this Expression.

+ +

This is the Function that types the Expression.

+""" ; + rdfs:label "expressionFunction" . + + + a rdfs:Class ; + rdfs:comment """

A LibraryPackage is a Package that is the container for a model library. A LibraryPackage is itself a library Element as are all Elements that are directly or indirectly contained in it.

+""" ; + rdfs:label "LibraryPackage" . + + + a rdf:Property ; + rdfs:comment "

The PartUsages that are nestedUsages of this Usage.

" ; + rdfs:label "usageNestedPart" . + + + a rdf:Property ; + rdfs:comment "

The Usages which represent the variants of this Definition as a variation point Definition, if isVariation = true. If isVariation = false, the there must be no variants.

" ; + rdfs:label "definitionVariant" . + + + a rdf:Property ; + rdfs:comment """

The type of values transferred, which is the type of the itemFeature of the ItemFlow.

+ +""" ; + rdfs:label "itemFlowItemType" . + + + a rdf:Property ; + rdfs:comment """

The ViewUsages that are nestedUsages of this Usage.

+""" ; + rdfs:label "usageNestedView" . + + + a rdf:Property ; + rdfs:comment "

The code>EnumerationUsages that are nestedUsages of this Usage.

" ; + rdfs:label "usageNestedEnumeration" . + + + a rdf:Property ; + rdfs:comment """

The Integer value that is the result of evaluating this LiteralInteger.

+

The Integer value that is the result of evaluating this Expression.

+""" ; + rdfs:label "literalIntegerValue" . + + + a rdf:Property ; + rdfs:comment "

Whether this Element is contained in the ownership tree of a library model.

" ; + rdfs:label "elementIsLibraryElement" . + + + a rdf:Property ; + rdfs:comment """

All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type.

+""" ; + rdfs:label "typeInheritedMembership" . + + + a rdf:Property ; + rdfs:comment "

The CalculationUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedCalculation" . + + + a rdfs:Class ; + rdfs:comment """

A ViewpointUsage is a Usage of a ViewpointDefinition.

+ + +viewpointStakeholder = framedConcern.featureMemberhsip-> + selectByKind(StakeholderMembership). + ownedStakeholderParameter +specializesFromLibrary('Views::viewpoints') +isComposite and owningType <> null and +(owningType.oclIsKindOf(ViewDefinition) or + owningType.oclIsKindOf(ViewUsage)) implies + specializesFromLibrary('Views::View::viewpointSatisfactions')""" ; + rdfs:label "ViewpointUsage" . + + + a rdfs:Class ; + rdfs:comment """

A ConnectionDefinition is a PartDefinition that is also an AssociationStructure. The end Features of a ConnectionDefinition must be Usages.

+specializesFromLibrary('Connections::Connection') +ownedEndFeature->size() = 2 implies + specializesFromLibrary('Connections::BinaryConnections')""" ; + rdfs:label "ConnectionDefinition" . + + + a rdfs:Class ; + rdfs:comment """

A Relationship is an Element that relates other Element. Some of its relatedElements may be owned, in which case those ownedRelatedElements will be deleted from a model if their owningRelationship is. A Relationship may also be owned by another Element, in which case the ownedRelatedElements of the Relationship are also considered to be transitively owned by the owningRelatedElement of the Relationship.

+ +

The relatedElements of a Relationship are divided into source and target Elements. The Relationship is considered to be directed from the source to the target Elements. An undirected Relationship may have either all source or all target Elements.

+ +

A "relationship Element" in the abstract syntax is generically any Element that is an instance of either Relationship or a direct or indirect specialization of Relationship. Any other kind of Element is a "non-relationship Element". It is a convention of that non-relationship Elements are only related via reified relationship Elements. Any meta-associations directly between non-relationship Elements must be derived from underlying reified Relationship.

+ +relatedElement = source->union(target)""" ; + rdfs:label "Relationship" . + + + a rdf:Property ; + rdfs:comment "

The target relatedFeatures for this Connector. This includes all the relatedFeatures other than the sourceFeature.

" ; + rdfs:label "connectorTargetFeature" . + + + a rdf:Property ; + rdfs:comment """

The parameters of this Behavior, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Behavior.

+""" ; + rdfs:label "behaviorParameter" . + + + a rdf:Property ; + rdfs:comment "

The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement." ; + rdfs:label "elementOwnedAnnotation" . + + + a rdf:Property ; + rdfs:comment """

The Classifier that owns this Subclassification relationship, which must also be its subclassifier.

+""" ; + rdfs:label "subclassificationOwningClassifier" . + + + a rdf:Property ; + rdfs:comment "

The PortConjugation that is the ownedConjugator of this ConjugatedPortDefinition, linking it to its originalPortDefinition.

" ; + rdfs:label "conjugatedPortDefinitionOwnedPortConjugator" . + + + a rdf:Property ; + rdfs:comment "

An optional modeler-specified identifier for this RequirementDefinition (used, e.g., to link it to an original requirement text in some source document), which is the declaredShortName for the RequirementDefinition.

" ; + rdfs:label "requirementDefinitionReqId" . + + + a rdfs:Class ; + rdfs:comment """

Intersecting is a Relationship that makes its intersectingType one of the intersectingTypes of its typeIntersected.

+""" ; + rdfs:label "Intersecting" . + + + a rdf:Property ; + rdfs:comment "

The owned RenderingUsage that is either itself the referencedRendering or subsets the referencedRendering." ; + rdfs:label "viewRenderingMembershipOwnedRendering" . + + + a rdfs:Class ; + rdfs:comment """

A ParameterMembership is a FeatureMembership that identifies its memberFeature as a parameter, which is always owned, and must have a direction. A ParameterMembership must be owned by a Behavior or a Step.

+ownedMemberParameter.direction = parameterDirection() +owningType.oclIsKindOf(Behavior) or owningType.oclIsKindOf(Step)""" ; + rdfs:label "ParameterMembership" . + + + a rdf:Property ; + rdfs:comment "

The short name of the memberElement relative to the membershipOwningNamespace.

" ; + rdfs:label "membershipMemberShortName" . + + + a rdf:Property ; + rdfs:comment """

The ConstraintUsages that are ownedUsages of this Definition.

+""" ; + rdfs:label "definitionOwnedConstraint" . + + + a rdf:Property ; + rdfs:comment """

The StateUsages that are nestedUsages of this Usage.

+""" ; + rdfs:label "usageNestedState" . + + + a rdf:Property ; + rdfs:comment """

An Expression whose result is bound to the payload parameter of this AcceptActionUsage. If provided, the AcceptActionUsage will only accept a Transfer with exactly this payload.

+""" ; + rdfs:label "acceptActionUsagePayloadArgument" . + + + a rdfs:Class ; + rdfs:comment """

A Class is a Classifier of things (in the universe) that can be distinguished without regard to how they are related to other things (via Features). This means multiple things classified by the same Class can be distinguished, even when they are related other things in exactly the same way.

+ +specializesFromLibrary('Occurrences::Occurrence') +ownedSpecialization.general-> + forAll(not oclIsKindOf(DataType)) and +not oclIsKindOf(Association) implies + ownedSpecialization.general-> + forAll(not oclIsKindOf(Association))""" ; + rdfs:label "Class" . + + + a rdf:Property ; + rdfs:comment "

The VerificationCaseUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedVerificationCase" . + + + a rdf:Property ; + rdfs:comment """

The Expression whose result, if false, determines that the bodyAction should continue to be performed. It is the (optional) third owned parameter of the WhileLoopActionUsage.

+""" ; + rdfs:label "whileLoopActionUsageUntilArgument" . + + + a rdf:Property ; + rdfs:comment """

The connectorEnds of this ItemFlow that are ItemFlowEnds.

+""" ; + rdfs:label "itemFlowItemFlowEnd" . + + + a rdfs:Class ; + rdfs:comment """

Subclassification is Specialization in which both the specific and general Types are Classifier. This means all instances of the specific Classifier are also instances of the general Classifier.

+""" ; + rdfs:label "Subclassification" . + + + a rdfs:Class ; + rdfs:subClassOf oslc_am:Resource ; + rdfs:comment """

An Element is a constituent of a model that is uniquely identified relative to all other Elements. It can have Relationships with other Elements. Some of these Relationships might imply ownership of other Elements, which means that if an Element is deleted from a model, then so are all the Elements that it owns.

+ +ownedElement = ownedRelationship.ownedRelatedElement +owner = owningRelationship.owningRelatedElement +qualifiedName = + if owningNamespace = null then null + else if owningNamespace.owner = null then escapedName() + else if owningNamespace.qualifiedName = null or + escapedName() = null then null + else owningNamespace.qualifiedName + '::' + escapedName() + endif endif endif +documentation = ownedElement->selectByKind(Documentation) +ownedAnnotation = ownedRelationship-> + selectByKind(Annotation)-> + select(a | a.annotatedElement = self) +name = effectiveName() +ownedRelationship->exists(isImplied) implies isImpliedIncluded +isLibraryElement = libraryNamespace() <> null + +shortName = effectiveShortName() +owningNamespace = + if owningMembership = null then null + else owningMembership.membershipOwningNamespace + endif +textualRepresentation = ownedElement->selectByKind(TextualRepresentation)""" ; + rdfs:label "Element" . + + + a rdf:Property ; + rdfs:comment """

The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the .

+""" ; + rdfs:label "namespaceOwnedMember" . + + + a rdf:Property ; + rdfs:comment "

The Expression whose value is an occurrence in the domain of the referent Feature, for which the value of the referent will be set to the result of the valueExpression by this AssignmentActionUsage.

" ; + rdfs:label "assignmentActionUsageTargetArgument" . + + + a rdf:Property ; + rdfs:comment "

The shortName of the ownedMemberElement.

" ; + rdfs:label "owningMembershipOwnedMemberShortName" . + + + a rdfs:Class ; + rdfs:comment """

A TransitionFeatureMembership is a FeatureMembership for a trigger, guard or effect of a TransitionUsage, whose transitionFeature is a AcceptActionUsage, Boolean-valued Expression or ActionUsage, depending on its kind.

+kind = TransitionFeatureKind::trigger implies + transitionFeature.oclIsKindOf(AcceptActionUsage) +owningType.oclIsKindOf(TransitionUsage) +kind = TransitionFeatureKind::guard implies + transitionFeature.oclIsKindOf(Expression) and + let guard : Expression = transitionFeature.oclIsKindOf(Expression) in + guard.result.specializesFromLibrary('ScalarValues::Boolean') and + guard.result.multiplicity <> null and + guard.result.multiplicity.hasBounds(1,1) +kind = TransitionFeatureKind::effect implies + transitionFeature.oclIsKindOf(ActionUsage)""" ; + rdfs:label "TransitionFeatureMembership" . + + + a rdf:Property ; + rdfs:comment """

The Element that is represented by this TextualRepresentation.

+""" ; + rdfs:label "textualRepresentationRepresentedElement" . + + + a rdf:Property ; + rdfs:comment "

The ConcernUsage that is referenced through this FramedConcernMembership. It is the referencedConstraint of the FramedConcernMembership considered as a RequirementConstraintMembership, which must be a ConcernUsage.

" ; + rdfs:label "framedConcernMembershipReferencedConcern" . + + + a rdf:Property ; + rdfs:comment "

A featureOfType that is also the owningRelatedElement of this TypeFeaturing.

" ; + rdfs:label "typeFeaturingOwningFeatureOfType" . + + + a rdfs:Class ; + rdfs:comment """

A FeatureValue is a Membership that identifies a particular member Expression that provides the value of the Feature that owns the FeatureValue. The value is specified as either a bound value or an initial value, and as either a concrete or default value. A Feature can have at most one FeatureValue.

+ +

The result of the value Expression is bound to the featureWithValue using a BindingConnector. If isInitial = false, then the featuringType of the BindingConnector is the same as the featuringType of the featureWithValue. If isInitial = true, then the featuringType of the BindingConnector is restricted to its startShot. + +

If isDefault = false, then the above semantics of the FeatureValue are realized for the given featureWithValue. Otherwise, the semantics are realized for any individual of the featuringType of the featureWithValue, unless another value is explicitly given for the featureWithValue for that individual.

+ +not isDefault implies + featureWithValue.ownedMember-> + selectByKind(BindingConnector)->exists(b | + b.relatedFeature->includes(featureWithValue) and + b.relatedFeature->includes(value.result) and + if not isInitial then + b.featuringType = featureWithValue.featuringType + else + b.featuringType->exists(t | + t.oclIsKindOf(Feature) and + t.oclAsType(Feature).chainingFeature = + Sequence{ + resolveGlobal('Base::things::that'). + memberElement, + resolveGlobal('Occurrences::Occurrence::startShot'). + memberElement + } + ) + endif) +featureWithValue.redefinition.redefinedFeature-> + closure(redefinition.redefinedFeature).valuation-> + forAll(isDefault)""" ; + rdfs:label "FeatureValue" . + + + a rdf:Property ; + rdfs:comment "

The owned ConstraintUsages that represent requirements of this RequirementDefinition, derived as the ownedConstraints of the RequirementConstraintMemberships of the RequirementDefinition with kind = requirement.

" ; + rdfs:label "requirementDefinitionRequiredConstraint" . + + + a rdf:Property ; + rdfs:comment """

The relatedElements to which this Relationship is considered to be directed.

+""" ; + rdfs:label "relationshipTarget" . + + + a rdf:Property ; + rdfs:comment """

The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type.

+""" ; + rdfs:label "typeOwnedDisjoining" . + + + a rdf:Property ; + rdfs:comment "

The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted.

" ; + rdfs:label "occurrenceUsagePortionKind" . + + + a rdf:Property ; + rdfs:comment """

The AnnotatingElement that annotates the annotatedElement of this Annotation.

+""" ; + rdfs:label "annotationAnnotatingElement" . + + + a rdf:Property ; + rdfs:comment "

The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null.

" ; + rdfs:label "elementShortName" . + + + a rdfs:Class ; + rdfs:comment """

A Comment is an AnnotatingElement whose body in some way describes its annotatedElements.

+""" ; + rdfs:label "Comment" . + + + a rdf:Property ; + rdfs:comment "

The nestedRequirements of this ViewUsage that are ViewpointUsages for (additional) viewpoints satisfied by the ViewUsage.

" ; + rdfs:label "viewUsageSatisfiedViewpoint" . + + + a rdf:Property ; + rdfs:comment """

The TransitionUsages that are nestedUsages of this Usage.

+""" ; + rdfs:label "usageNestedTransition" . + + + a rdf:Property ; + rdfs:comment """

Type asserted to be disjoint with the typeDisjoined.

+""" ; + rdfs:label "disjoiningDisjoiningType" . + + + a rdfs:Class ; + rdfs:comment """

A FeatureChainExpression is an OperatorExpression whose operator is \".\", which resolves to the Function ControlFunctions::'.' from the Kernel Functions Library. It evaluates to the result of chaining the result Feature of its single argument Expression with its targetFeature.

+let sourceParameter : Feature = sourceTargetFeature() in +sourceTargetFeature <> null and +sourceTargetFeature.redefinesFromLibrary('ControlFunctions::'.'::source::target') +let sourceParameter : Feature = sourceTargetFeature() in +sourceTargetFeature <> null and +sourceTargetFeature.redefines(targetFeature) +targetFeature = + let nonParameterMemberships : Sequence(Membership) = ownedMembership-> + reject(oclIsKindOf(ParameterMembership)) in + if nonParameterMemberships->isEmpty() or + not nonParameterMemberships->first().memberElement.oclIsKindOf(Feature) + then null + else nonParameterMemberships->first().memberElement.oclAsType(Feature) + endif +argument->notEmpty() implies + targetFeature.featuringType->forAll(t | + t.specializes(argument->at(1).result))""" ; + rdfs:label "FeatureChainExpression" . + + + a rdf:Property ; + rdfs:comment "

The RequirementUsage that is satisfied by the satisfyingSubject of this SatisfyRequirementUsage. It is the assertedConstraint of the SatisfyRequirementUsage considered as an AssertConstraintUsage, which must be a RequirementUsage.

" ; + rdfs:label "satisfyRequirementUsageSatisfiedRequirement" . + + + a rdf:Property ; + rdfs:comment "

The elementId of the ownedMemberElement.

" ; + rdfs:label "owningMembershipOwnedMemberElementId" . + + + a rdf:Property ; + rdfs:comment "

The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages and SuccessionAsUsages, even though these are ConnectorAsUsages but not ConnectionUsages.

" ; + rdfs:label "usageNestedConnection" . + + + a rdf:Property ; + rdfs:comment "

The StateUsages, which are actions in the StateDefinition, that specify the discrete states in the behavior defined by the StateDefinition.

" ; + rdfs:label "stateDefinitionState" . + + + a rdf:Property ; + rdfs:comment "

Identification of the language of the body text and, optionally, the region and/or encoding. The format shall be a POSIX locale conformant to ISO/IEC 15897, with the format [language[_territory][.codeset][@modifier]].

" ; + rdfs:label "commentLocale" . + + + a rdfs:Class ; + rdfs:comment """

A UseCaseUsage is a Usage of a UseCaseDefinition.

+includedUseCase = ownedUseCase-> + selectByKind(IncludeUseCaseUsage). + useCaseIncluded +specializesFromLibrary('UseCases::useCases') +isComposite and owningType <> null and +(owningType.oclIsKindOf(UseCaseDefinition) or + owningType.oclIsKindOf(UseCaseUsage)) implies + specializesFromLibrary('UseCases::UseCase::subUseCases')""" ; + rdfs:label "UseCaseUsage" . + + + a rdfs:Class ; + rdfs:comment """

A DataType is a Classifier of things (in the universe) that can only be distinguished by how they are related to other things (via Features). This means multiple things classified by the same DataType

+ +
    +
  • Cannot be distinguished when they are related to other things in exactly the same way, even when they are intended to be about different things.
  • +
  • Can be distinguished when they are related to other things in different ways, even when they are intended to be about the same thing.
  • +
+ +specializesFromLibrary('Base::DataValue') +ownedSpecialization.general-> + forAll(not oclIsKindOf(Class) and + not oclIsKindOf(Association))""" ; + rdfs:label "DataType" . + + + a rdf:Property ; + rdfs:comment "

The relatedElements from which this Relationship is considered to be directed.

" ; + rdfs:label "relationshipSource" . + + + a rdf:Property ; + rdfs:comment "

The AssociationStructures that are the types of this ConnectionUsage. Nominally, these are , but other kinds of Kernel AssociationStructures are also allowed, to permit use of AssociationStructures from the Kernel Model Libraries

" ; + rdfs:label "connectionUsageConnectionDefinition" . + + + a rdfs:Class ; + rdfs:comment """

An Expression is a Step that is typed by a Function. An Expression that also has a Function as its featuringType is a computational step within that Function. An Expression always has a single result parameter, which redefines the result parameter of its defining function. This allows Expressions to be interconnected in tree structures, in which inputs to each Expression in the tree are determined as the results of other Expression in the tree.

+ +isModelLevelEvaluable = modelLevelEvaluable(Set(Element){}) +specializesFromLibrary('Performances::evaluations') +owningMembership <> null and +owningMembership.oclIsKindOf(FeatureValue) implies + let featureWithValue : Feature = + owningMembership.oclAsType(FeatureValue).featureWithValue in + featuringType = featureWithValue.featuringType +ownedMembership.selectByKind(ResultExpressionMembership)-> + forAll(mem | ownedFeature.selectByKind(BindingConnector)-> + exists(binding | + binding.relatedFeature->includes(result) and + binding.relatedFeature->includes(mem.ownedResultExpression.result))) +result = + let resultParams : Sequence(Feature) = + ownedFeatureMemberships-> + selectByKind(ReturnParameterMembership). + ownedParameterMember in + if resultParams->notEmpty() then resultParams->first() + else if function <> null then function.result + else null + endif endif +ownedFeatureMembership-> + selectByKind(ReturnParameterMembership)-> + size() <= 1 +membership->selectByKind(ResultExpressionMembership)->size() <= 1""" ; + rdfs:label "Expression" . + + + a rdf:Property ; + rdfs:comment "

The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship.

" ; + rdfs:label "relationshipRelatedElement" . + + + a rdf:Property ; + rdfs:comment "

The RequirementUsage that is identified as being verified. It is the referencedConstraint of the RequirementVerificationMembership considered as a RequirementConstraintMembership, which must be a RequirementUsage.

" ; + rdfs:label "requirementVerificationMembershipVerifiedRequirement" . + + + a rdf:Property ; + rdfs:comment """

The model-level evaluable Boolean-valued Expression used to filter the imported members of the membershipOwningNamespace of this ElementFilterMembership.

+""" ; + rdfs:label "elementFilterMembershipCondition" . + + + a rdf:Property ; + rdfs:comment "

The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries.

" ; + rdfs:label "occurrenceUsageOccurrenceDefinition" . + + + a rdf:Property ; + rdfs:comment """

Steps that map incoming events to the timing of occurrences of the transitionStep. The values of triggerStep subset the list of acceptable events to be received by a Behavior or the object that performs it.

+""" ; + rdfs:label "successionTriggerStep" . + + + a rdf:Property ; + rdfs:comment """

The more general Classifier in this Subclassification.

+""" ; + rdfs:label "subclassificationSuperclassifier" . + + + a rdf:Property ; + rdfs:comment "

If isIndividual is true, a LifeClass that specializes this OccurrenceDefinition, restricting it to represent an individual.

" ; + rdfs:label "occurrenceDefinitionLifeClass" . + + + a rdf:Property ; + rdfs:comment "

The RequirementUsages verified by this VerificationCaseUsage, which are the verifiedRequirements of all RequirementVerificationMemberships of the objectiveRequirement.

" ; + rdfs:label "verificationCaseUsageVerifiedRequirement" . + + + a rdf:Property ; + rdfs:comment "

The relatedElements of this Relationship that are owned by the Relationship.

" ; + rdfs:label "relationshipOwnedRelatedElement" . + + + a rdfs:Class ; + rdfs:comment """

A PartDefinition is an ItemDefinition of a Class of systems or parts of systems. Note that all parts may be considered items for certain purposes, but not all items are parts that can perform actions within a system.

+ +specializesFromLibrary('Parts::Part')""" ; + rdfs:label "PartDefinition" . + + + a rdfs:Class ; + rdfs:comment """

A SendActionUsage is an ActionUsage that specifies the sending of a payload given by the result of its payloadArgument Expression via a MessageTransfer whose source is given by the result of the senderArgument Expression and whose target is given by the result of the receiverArgument Expression. If no senderArgument is provided, the default is the this context for the action. If no receiverArgument is given, then the receiver is to be determined by, e.g., outgoing Connections from the sender.

+ +senderArgument = argument(2) +payloadArgument = argument(1) +inputParameters()->size() >= 3 +receiverArgument = argument(3) +isSubactionUsage() implies + specializesFromLibrary('Actions::Action::acceptSubactions') +specializesFromLibrary('Actions::sendActions')""" ; + rdfs:label "SendActionUsage" . + + + a rdf:Property ; + rdfs:comment """

The Boolean value that is the result of evaluating this LiteralBoolean.

+

The Boolean value that is the result of evaluating this Expression.

+""" ; + rdfs:label "literalBooleanValue" . + + + a rdf:Property ; + rdfs:comment """

The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element.

+""" ; + rdfs:label "elementOwnedElement" . + + + a rdf:Property ; + rdfs:comment "

The elementId of the memberElement.

" ; + rdfs:label "membershipMemberElementId" . + + + a rdfs:Class ; + rdfs:comment """

A LiteralExpression is an Expression that provides a basic DataValue as a result.

+ +isModelLevelEvaluable = true +specializesFromLibrary('Performances::literalEvaluations')""" ; + rdfs:label "LiteralExpression" . + + + a rdfs:Class ; + rdfs:comment """

A StakeholderMembership is a ParameterMembership that identifies a PartUsage as a stakeholderParameter of a RequirementDefinition or RequirementUsage, which specifies a role played by an entity with concerns framed by the owningType.

+owningType.oclIsKindOf(RequirementUsage) or +owningType.oclIsKindOf(RequirementDefinition)""" ; + rdfs:label "StakeholderMembership" . + + + a rdf:Property ; + rdfs:comment """

The usages of this Definition that are directedFeatures.

+""" ; + rdfs:label "definitionDirectedUsage" . + + + a rdf:Property ; + rdfs:comment """

Type with interpretations partly determined by differencingType, as described in Type::differencingType.

+""" ; + rdfs:label "differencingTypeDifferenced" . + + + a rdfs:Class ; + rdfs:comment """

A ReferenceUsage is a Usage that specifies a non-compositional (isComposite = false) reference to something. The definition of a ReferenceUsage can be any kind of Classifier, with the default being the top-level Classifier Base::Anything from the Kernel Semantic Library. This allows the specification of a generic reference without distinguishing if the thing referenced is an attribute value, item, action, etc.

+isReference""" ; + rdfs:label "ReferenceUsage" . + + + a rdfs:Class ; + rdfs:comment """

An AllocationDefinition is a ConnectionDefinition that specifies that some or all of the responsibility to realize the intent of the source is allocated to the target instances. Such allocations define mappings across the various structures and hierarchies of a system model, perhaps as a precursor to more rigorous specifications and implementations. An AllocationDefinition can itself be refined using nested allocations that give a finer-grained decomposition of the containing allocation mapping.

+allocation = usage->selectAsKind(AllocationUsage) +specializesFromLibrary('Allocations::Allocation')""" ; + rdfs:label "AllocationDefinition" . + + + a rdf:Property ; + rdfs:comment "

A typedFeature that is also the owningRelatedElement of this FeatureTyping.

" ; + rdfs:label "featureTypingOwningFeature" . + + + a rdfs:Class ; + rdfs:comment """

ReferenceSubsetting is a kind of Subsetting in which the referencedFeature is syntactically distinguished from other Features subsetted by the referencingFeature. ReferenceSubsetting has the same semantics as Subsetting, but the referenceFeature may have a special purpose relative to the referencingFeature. For instance, ReferenceSubsetting is used to identify the relatedFeatures of a Connector.

+ +

ReferenceSubsetting is always an ownedRelationship of its referencingFeature. A Feature can have at most one ownedReferenceSubsetting.

+""" ; + rdfs:label "ReferenceSubsetting" . + + + a rdf:Property ; + rdfs:comment """

An Expression whose result is bound to the receiver input parameter of this SendActionUsage.

+""" ; + rdfs:label "sendActionUsageReceiverArgument" . + + + a rdf:Property ; + rdfs:comment """

An output parameter of the Expression whose value is the result of the Expression. The result of an Expression is either inherited from its function or it is related to the Expression via a ReturnParameterMembership, in which case it redefines the result parameter of its function.

+""" ; + rdfs:label "expressionResult" . + + + a rdfs:Class ; + rdfs:comment """

An Invariant is a BooleanExpression that is asserted to have a specific Boolean result value. If isNegated = false, then the result is asserted to be true. If isNegated = true, then the result is asserted to be false.

+ +if isNegated then + specializesFromLibrary('Performances::falseEvaluations') +else + specializesFromLibrary('Performances::trueEvaluations') +endif""" ; + rdfs:label "Invariant" . + + + a rdfs:Class ; + rdfs:comment """

A Type is a Namespace that is the most general kind of Element supporting the semantics of classification. A Type may be a Classifier or a Feature, defining conditions on what is classified by the Type (see also the description of isSufficient).

+ +ownedSpecialization = ownedRelationship->selectByKind(Specialization)-> + select(s | s.special = self) + +multiplicity = + let ownedMultiplicities: Sequence(Multiplicity) = + ownedMember->selectByKind(Multiplicity) in + if ownedMultiplicities->isEmpty() then null + else ownedMultiplicities->first() + endif +ownedFeatureMembership = ownedRelationship->selectByKind(FeatureMembership) +ownedConjugator = + let ownedConjugators: Sequence(Conjugator) = + ownedRelationship->selectByKind(Conjugation) in + if ownedConjugators->isEmpty() then null + else ownedConjugators->at(1) endif +output = feature->select(f | + let direction: FeatureDirectionKind = directionOf(f) in + direction = FeatureDirectionKind::out or + direction = FeatureDirectionKind::inout) +input = feature->select(f | + let direction: FeatureDirectionKind = directionOf(f) in + direction = FeatureDirectionKind::_'in' or + direction = FeatureDirectionKind::inout) +inheritedMembership = inheritedMemberships(Set{}) +specializesFromLibrary('Base::Anything') +directedFeature = feature->select(f | directionOf(f) <> null) +feature = featureMembership.ownedMemberFeature +featureMembership = ownedFeatureMembership->union( + inheritedMembership->selectByKind(FeatureMembership)) +ownedFeature = ownedFeatureMembership.ownedMemberFeature +differencingType = ownedDifferencing.differencingType +intersectingType->excludes(self) +differencingType->excludes(self) +unioningType = ownedUnioning.unioningType +unioningType->excludes(self) +intersectingType = ownedIntersecting.intersectingType +ownedRelationship->selectByKind(Conjugation)->size() <= 1 +ownedMember->selectByKind(Multiplicity)->size() <= 1 +endFeature = feature->select(isEnd) +ownedDisjoining = + ownedRelationship->selectByKind(Disjoining) +ownedUnioning = + ownedRelationship->selectByKind(Unioning) +ownedRelationship->selectByKind(Intersecting) +ownedDifferencing = + ownedRelationship->selectByKind(Differencing) +ownedEndFeature = ownedFeature->select(isEnd) +inheritedFeature = inheritedMemberships-> + selectByKind(FeatureMembership).memberFeature +ownedUnioning->size() <> 1 +ownedIntersecting->size() <> 1 +ownedDifferencing->size() <> 1""" ; + rdfs:label "Type" . + + + a rdf:Property ; + rdfs:comment "

The ActionUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedAction" . + + + a rdf:Property ; + rdfs:comment "

The ViewpointUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedViewpoint" . + + + a rdf:Property ; + rdfs:comment """

Type with interpretations partly determined by intersectingType, as described in Type::intersectingType.

+""" ; + rdfs:label "intersectingTypeIntersected" . + + + a rdf:Property ; + rdfs:comment """

Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind).

+""" ; + rdfs:label "featureDirection" . + + + a rdf:Property ; + rdfs:comment """

The name of the memberElement relative to the membershipOwningNamespace.

+""" ; + rdfs:label "membershipMemberName" . + + + a rdf:Property ; + rdfs:comment "

The Definition that owns this Usage (if any).

" ; + rdfs:label "usageOwningDefinition" . + + + a rdfs:Class ; + rdfs:comment """

An AnalysisCaseUsage is a Usage of an AnalysisCaseDefinition.

+analysisAction = usage->select( + isComposite and + specializes('AnalysisCases::AnalysisAction')) +resultExpression = + let results : OrderedSet(ResultExpressionMembership) = + featureMembersip-> + selectByKind(ResultExpressionMembership) in + if results->isEmpty() then null + else results->first().ownedResultExpression + endif +specializesFromLibrary('AnalysisCases::analysisCases') +isComposite and owningType <> null and + (owningType.oclIsKindOf(AnalysisCaseDefinition) or + owningType.oclIsKindOf(AnalysisCaseUsage)) implies + specializesFromLibrary('AnalysisCases::AnalysisCase::subAnalysisCases')""" ; + rdfs:label "AnalysisCaseUsage" . + + + a rdf:Property ; + rdfs:comment "

The parameters of this RequirementDefinition that represent actors involved in the requirement.

" ; + rdfs:label "requirementDefinitionActorParameter" . + + + a rdf:Property ; + rdfs:comment """

The Features that are related by this Connector considered as a Relationship and that restrict the links it identifies, given by the referenced Features of the connectorEnds of the Connector.

+""" ; + rdfs:label "connectorRelatedFeature" . + + + a rdf:Property ; + rdfs:comment "

The Expression whose result is to be assigned to the referent Feature.

" ; + rdfs:label "assignmentActionUsageValueExpression" . + + + a rdf:Property ; + rdfs:comment """

Type with interpretations partly determined by unioningType, as described in Type::unioningType.

+""" ; + rdfs:label "unioningTypeUnioned" . + + + a rdf:Property ; + rdfs:comment """

A Type with a superset of all instances of the specific Type, which might be the same set.

+""" ; + rdfs:label "specializationGeneral" . + + + a rdf:Property ; + rdfs:comment "

The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained.

" ; + rdfs:label "featureOwnedFeatureChaining" . + + + a rdf:Property ; + rdfs:comment "

The RenderingUsage to be used to render views defined by this ViewDefinition, which is the referencedRendering of the ViewRenderingMembership of the ViewDefinition.

" ; + rdfs:label "viewDefinitionViewRendering" . + + + a rdf:Property ; + rdfs:comment """

The model-level evaluable Boolean-valued Expression used to filter the members of this Package, which are owned by the Package are via ElementFilterMemberships.

+""" ; + rdfs:label "packageFilterCondition" . + + + a rdf:Property ; + rdfs:comment "

The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any.

" ; + rdfs:label "elementOwner" . + + + a rdf:Property ; + rdfs:comment "

The AllocationDefinitions that are the types of this AllocationUsage.

" ; + rdfs:label "allocationUsageAllocationDefinition" . + + + a rdf:Property ; + rdfs:comment "

The InterfaceUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedInterface" . + + + a rdfs:Class ; + rdfs:comment """

A FramedConcernMembership is a RequirementConstraintMembership for a framed ConcernUsage of a RequirementDefinition or RequirementUsage.

+kind = RequirementConstraintKind::requirement""" ; + rdfs:label "FramedConcernMembership" . + + + a rdf:Property ; + rdfs:comment "

Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them.

" ; + rdfs:label "elementIsImpliedIncluded" . + + + a rdf:Property ; + rdfs:comment "

The code>FlowConnectionUsages that are nestedUsages of this Usage.

" ; + rdfs:label "usageNestedFlow" . + + + a rdfs:Class ; + rdfs:comment """

An AssignmentActionUsage is an ActionUsage that is defined, directly or indirectly, by the ActionDefinition AssignmentAction from the Systems Model Library. It specifies that the value of the referent Feature, relative to the target given by the result of the targetArgument Expression, should be set to the result of the valueExpression.

+ +specializesFromLibrary('Actions::assignmentActions') +let targetParameter : Feature = inputParameter(1) in +targetParameter <> null and +targetParameter.ownedFeature->notEmpty() and +targetParameter.ownedFeature->first(). + redefines('AssignmentAction::target::startingAt') +valueExpression = argument(2) +targetArgument = argument(1) +isSubactionUsage() implies + specializesFromLibrary('Actions::Action::assignments') +let targetParameter : Feature = inputParameter(1) in +targetParameter <> null and +targetParameter.ownedFeature->notEmpty() and +targetParameter->first().ownedFeature->notEmpty() and +targetParameter->first().ownedFeature->first(). + redefines('AssigmentAction::target::startingAt::accessedFeature') +let targetParameter : Feature = inputParameter(1) in +targetParameter <> null and +targetParameter.ownedFeature->notEmpty() and +targetParameter->first().ownedFeature->notEmpty() and +targetParameter->first().ownedFeature->first().redefines(referent) +referent = + let unownedFeatures : Sequence(Feature) = ownedMembership-> + reject(oclIsKindOf(FeatureMembership)).memberElement-> + selectByKind(Feature) in + if unownedFeatures->isEmpty() then null + else unownedFeatures->first().oclAsType(Feature) + endif +ownedMembership->exists( + not oclIsKindOf(OwningMembership) and + memberElement.oclIsKindOf(Feature))""" ; + rdfs:label "AssignmentActionUsage" . + + + a rdf:Property ; + rdfs:comment """

The composite usages of the AnalysisCaseUsage that are defined as AnalysisActions.

+""" ; + rdfs:label "analysisCaseUsageAnalysisAction" . + + + a rdfs:Class ; + rdfs:comment """

A Package is a Namespace used to group Elements, without any instance-level semantics. It may have one or more model-level evaluable filterCondition Expressions used to filter its importedMemberships. Any imported member must meet all of the filterConditions.

+filterCondition = ownedMembership-> + selectByKind(ElementFilterMembership).condition""" ; + rdfs:label "Package" . + + + a rdf:Property ; + rdfs:comment """

Whether this Invariant is asserted to be false rather than true.

+""" ; + rdfs:label "invariantIsNegated" . + + + a rdf:Property ; + rdfs:comment "

The PartUsage specifying the stakeholder.

" ; + rdfs:label "stakeholderMembershipOwnedStakeholderParameter" . + + + a rdf:Property ; + rdfs:comment "

The code>CaseUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedCase" . + + + a rdfs:Class ; + rdfs:comment """

An ItemFeature is the ownedFeature of an ItemFlow that identifies the things carried by the kinds of transfers that are instances of the ItemFlow.

+ownedRedefinition.redefinedFeature-> + redefinesFromLibrary('Transfers::Transfer::item')""" ; + rdfs:label "ItemFeature" . + + + a rdfs:Class ; + rdfs:comment """

A ConstraintUsage is an OccurrenceUsage that is also a BooleanExpression, and, so, is typed by a Predicate. Nominally, if the type is a ConstraintDefinition, a ConstraintUsage is a Usage of that ConstraintDefinition. However, other kinds of kernel Predicates are also allowed, to permit use of Predicates from the Kernel Model Libraries.

+owningFeatureMembership <> null and +owningFeatureMembership.oclIsKindOf(RequirementConstraintMembership) implies + if owningFeatureMembership.oclAsType(RequirementConstraintMembership).kind = + RequirementConstraintKind::assumption then + specializesFromLibrary('Requirements::RequirementCheck::assumptions') + else + specializesFromLibrary('Requirements::RequirementCheck::constraints') + endif +specializesFromLibrary('Constraints::constraintChecks') +owningType <> null and +(owningType.oclIsKindOf(ItemDefinition) or + owningType.oclIsKindOf(ItemUsage)) implies + specializesFromLibrary('Items::Item::checkedConstraints')""" ; + rdfs:label "ConstraintUsage" . + + + a rdf:Property ; + rdfs:comment """

All features related to this Type by FeatureMemberships that have direction out or inout.

+""" ; + rdfs:label "typeOutput" . + + + a rdf:Property ; + rdfs:comment """

Whether the values of this Feature can change over the lifetime of an instance of the domain.

+""" ; + rdfs:label "featureIsReadOnly" . + + + a rdf:Property ; + rdfs:comment "

The PartUsages that identify the stakeholders with concerns framed by this ViewpointDefinition, which are the owned and inherited stakeholderParameters of the framedConcerns of this ViewpointDefinition.

" ; + rdfs:label "viewpointDefinitionViewpointStakeholder" . + + + a rdfs:Class ; + rdfs:comment """

A SubjectMembership is a ParameterMembership that indicates that its ownedSubjectParameter is the subject of its owningType. The owningType of a SubjectMembership must be a RequirementDefinition, RequirementUsage, CaseDefinition, or CaseUsage.

+owningType.oclIsType(RequirementDefinition) or +owningType.oclIsType(RequiremenCaseRequirementDefinition) or +owningType.oclIsType(CaseDefinition) or +owningType.oclIsType(CaseUsage) +""" ; + rdfs:label "SubjectMembership" . + + + a rdf:Property ; + rdfs:comment "

The ActionUsage of this StateUsage to be performed on exit to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateUsage by a StateSubactionMembership with kind = exit.

" ; + rdfs:label "stateUsageExitAction" . + + + a rdf:Property ; + rdfs:comment "

The StateUsage to be exhibited by the ExhibitStateUsage. It is the performedAction of the ExhibitStateUsage considered as a PerformActionUsage, which must be a StateUsage.

" ; + rdfs:label "exhibitStateUsageExhibitedState" . + + + a rdf:Property ; + rdfs:comment "

Whether this StateSubactionMembership is for an entry, do or exit ActionUsage.

" ; + rdfs:label "stateSubactionMembershipKind" . + + + a rdf:Property ; + rdfs:comment "

The ConstraintUsage to be performed by the AssertConstraintUsage. It is the referenceFeature of the ownedReferenceSubsetting for the AssertConstraintUsage, if there is one, and, otherwise, the AssertConstraintUsage itself.

" ; + rdfs:label "assertConstraintUsageAssertedConstraint" . + + + a rdf:Property ; + rdfs:comment "

The Type that features the featureOfType.

" ; + rdfs:label "featuringType" . + + + a rdf:Property ; + rdfs:comment "

The Expressions related to this ViewDefinition by ElementFilterMemberships, which specify conditions on Elements to be rendered in a view.

" ; + rdfs:label "viewDefinitionViewCondition" . + + + a rdf:Property ; + rdfs:comment "

The ConcernUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedConcern" . + + + a rdfs:Class ; + rdfs:comment """

A FeatureInverting is a Relationship between Features asserting that their interpretations (sequences) are the reverse of each other, identified as featureInverted and invertingFeature. For example, a Feature identifying each person's parents is the inverse of a Feature identifying each person's children. A person identified as a parent of another will identify that other as one of their children.

+""" ; + rdfs:label "FeatureInverting" . + + + a rdf:Property ; + rdfs:comment """

The type of this ConjugatedPortTyping considered as a FeatureTyping, which must be a ConjugatedPortDefinition.

+""" ; + rdfs:label "conjugatedPortTypingConjugatedPortDefinition" . + + + a rdf:Property ; + rdfs:comment "

The Feature that receives the values carried by the ItemFlow. It must be an owned output of the target participant of the ItemFlow.

" ; + rdfs:label "itemFlowTargetInputFeature" . + + + a rdf:Property ; + rdfs:comment """

The Feature whose values partly determine values of featureChained, as described in Feature::chainingFeature.

+""" ; + rdfs:label "featureChainingChainingFeature" . + + + a rdf:Property ; + rdfs:comment "

The Feature that is an inverse of the invertingFeature.

" ; + rdfs:label "featureInvertingFeatureInverted" . + + + a rdf:Property ; + rdfs:comment "

The ItemUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedItem" . + + + a rdf:Property ; + rdfs:comment "

The AllocationUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedAllocation" . + + + a rdf:Property ; + rdfs:comment "

Whether the RequirementConstraintMembership is for an assumed or required ConstraintUsage.

" ; + rdfs:label "requirementConstraintMembershipKind" . + + + a rdfs:Class ; + rdfs:comment """

ElementFilterMembership is a Membership between a Namespace and a model-level evaluable Boolean-valued Expression, asserting that imported members of the Namespace should be filtered using the condition Expression. A general Namespace does not define any specific filtering behavior, but such behavior may be defined for various specialized kinds of Namespaces.

+ +condition.isModelLevelEvaluable +condition.result.specializesFromLibrary('ScalarValues::Boolean')""" ; + rdfs:label "ElementFilterMembership" . + + + a rdf:Property ; + rdfs:comment """

The Membership to be imported.

+""" ; + rdfs:label "membershipImportImportedMembership" . + + + a rdf:Property ; + rdfs:comment """

A Step that is typed by the Behavior TransitionPerformances::TransitionPerformance (from the Kernel Semantic Library) that has this Succession as its transitionLink.

+""" ; + rdfs:label "successionTransitionStep" . + + + a rdfs:Class ; + rdfs:comment """

An IncludeUseCaseUsage is a UseCaseUsage that represents the inclusion of a UseCaseUsage by a UseCaseDefinition or UseCaseUsage. Unless it is the IncludeUseCaseUsage itself, the UseCaseUsage to be included is related to the includedUseCase by a ReferenceSubsetting Relationship. An IncludeUseCaseUsage is also a PerformActionUsage, with its useCaseIncluded as the performedAction.

+ +owningType <> null and +(owningType.oclIsKindOf(UseCaseDefinition) or + owningType.oclIsKindOf(UseCaseUsage) implies + specializesFromLibrary('UseCases::UseCase::includedUseCases') +ownedReferenceSubsetting <> null implies + ownedReferenceSubsetting.referencedFeature.oclIsKindOf(UseCaseUsage)""" ; + rdfs:label "IncludeUseCaseUsage" . + + + a rdf:Property ; + rdfs:comment "

The Usage that represents a variant in the context of the owningVariationDefinition or owningVariationUsage.

" ; + rdfs:label "variantMembershipOwnedVariantUsage" . + + + a rdf:Property ; + rdfs:comment "

The PortDefinition being conjugated.

" ; + rdfs:label "portConjugationOriginalPortDefinition" . + + + a rdf:Property ; + rdfs:comment "

The ActionUsage that is the ownedMemberFeature of this StateSubactionMembership.

" ; + rdfs:label "stateSubactionMembershipAction" . + + + a rdfs:Class ; + rdfs:comment """

An ItemUsage is a ItemUsage whose definition is a Structure. Nominally, if the definition is an ItemDefinition, an ItemUsage is a ItemUsage of that ItemDefinition within a system. However, other kinds of Kernel Structures are also allowed, to permit use of Structures from the Kernel Model Libraries.

+itemDefinition = occurrenceDefinition->selectByKind(ItemDefinition) +specializesFromLibrary('Items::items') +isComposite and owningType <> null and +(owningType.oclIsKindOf(ItemDefinition) or + owningType.oclIsKindOf(ItemUsage)) implies + specializesFromLibrary('Items::Item::subitem')""" ; + rdfs:label "ItemUsage" . + + + a rdfs:Class ; + rdfs:comment """

A TextualRepresentation is an AnnotatingElement whose body represents the representedElement in a given language. The representedElement must be the owner of the TextualRepresentation. The named language can be a natural language, in which case the body is an informal representation, or an artificial language, in which case the body is expected to be a formal, machine-parsable representation.

+ +

If the named language of a TextualRepresentation is machine-parsable, then the body text should be legal input text as defined for that language. The interpretation of the named language string shall be case insensitive. The following language names are defined to correspond to the given standard languages:

+ + + + + + + + + + + + + + + + + + +
kermlKernel Modeling Language
oclObject Constraint Language
alfAction Language for fUML
+ +

Other specifications may define specific language strings, other than those shown above, to be used to indicate the use of languages from those specifications in KerML TextualRepresentation.

+ +

If the language of a TextualRepresentation is "kerml", then the body text shall be a legal representation of the representedElement in the KerML textual concrete syntax. A conforming tool can use such a TextualRepresentation Annotation to record the original KerML concrete syntax text from which an Element was parsed. In this case, it is a tool responsibility to ensure that the body of the TextualRepresentation remains correct (or the Annotation is removed) if the annotated Element changes other than by re-parsing the body text.

+ +

An Element with a TextualRepresentation in a language other than KerML is essentially a semantically "opaque" Element specified in the other language. However, a conforming KerML tool may interpret such an element consistently with the specification of the named language.

+""" ; + rdfs:label "TextualRepresentation" . + + + a rdf:Property ; + rdfs:comment "

The MetadataUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedMetadata" . + + + a rdf:Property ; + rdfs:comment "

The source relatedFeature for this Connector. It is the first relatedFeature.

" ; + rdfs:label "connectorSourceFeature" . + + + a rdfs:Class ; + rdfs:comment """

A JoinNode is a ControlNode that waits for the completion of all the predecessor Actions given by incoming Successions.

+sourceConnector->selectByKind(Succession)->size() <= 1 +specializesFromLibrary('Actions::Action::join')""" ; + rdfs:label "JoinNode" . + + + a rdf:Property ; + rdfs:comment """

The Expression whose result determines whether the thenAction or (optionally) the elseAction is performed. It is the first parameter of the IfActionUsage.

+""" ; + rdfs:label "ifActionUsageIfArgument" . + + + a rdf:Property ; + rdfs:comment "

The EnumerationUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedEnumeration" . + + + a rdf:Property ; + rdfs:comment """

All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships.

+""" ; + rdfs:label "typeInheritedFeature" . + + + a rdfs:Class ; + rdfs:comment """

A CalculationDefinition is an ActionDefinition that also defines a Function producing a result.

+specializesFromLibrary('Calculations::Calculation') +calculation = action->selectByKind(CalculationUsage)""" ; + rdfs:label "CalculationDefinition" . + + + a rdfs:Class ; + rdfs:comment """

A ConjugatedPortTyping is a FeatureTyping whose type is a ConjugatedPortDefinition. (This relationship is intended to be an abstract-syntax marker for a special surface notation for conjugated typing of ports.)

+portDefinition = conjugatedPortDefinition.originalPortDefinition""" ; + rdfs:label "ConjugatedPortTyping" . + + + a rdf:Property ; + rdfs:comment "The Expression whose result is the upper bound of the MultiplicityRange." ; + rdfs:label "multiplicityRangeUpperBound" . + + + a rdf:Property ; + rdfs:comment """

The value whose rational approximation is the result of evaluating this LiteralRational.

+ +

The Real value that is the result of evaluating this Expression.

""" ; + rdfs:label "literalRationalValue" . + + + a rdfs:Class ; + rdfs:comment """

A MergeNode is a ControlNode that asserts the merging of its incoming Successions. A MergeNode may have at most one outgoing Successions.

+sourceConnector->selectAsKind(Succession)->size() <= 1 +targetConnector->selectByKind(Succession)-> + collect(connectorEnd->at(1))-> + forAll(sourceMult | + multiplicityHasBounds(sourceMult, 0, 1)) +targetConnector->selectByKind(Succession)-> + forAll(subsetsChain(self, + resolveGlobal('ControlPerformances::MergePerformance::incomingHBLink'))) +specializesFromLibrary('Actions::Action::merges')""" ; + rdfs:label "MergeNode" . + + + a rdfs:Class ; + rdfs:comment """

A ConnectionUsage is a ConnectorAsUsage that is also a PartUsage. Nominally, if its type is a ConnectionDefinition, then a ConnectionUsage is a Usage of that ConnectionDefinition, representing a connection between parts of a system. However, other kinds of kernel AssociationStructures are also allowed, to permit use of AssociationStructures from the Kernel Model Libraries.

+specializesFromLibrary('Connections::connections') +ownedEndFeature->size() = 2 implies + specializesFromLibrary('Connections::binaryConnections')""" ; + rdfs:label "ConnectionUsage" . + + + a rdfs:Class ; + rdfs:comment """

A NamespaceImport is an Import that imports Memberships from its importedNamespace into the importOwningNamespace. If isRecursive = false, then only the visible Memberships of the importedNamespace are imported. If isRecursive = true, then, in addition, Memberships are recursively imported from any ownedMembers of the importedNamespace that are Namespaces.

+ +importedElement = importedNamespace""" ; + rdfs:label "NamespaceImport" . + + + a rdf:Property ; + rdfs:comment "

The ConcernUsage that is the ownedConstraint of this FramedConcernMembership.

" ; + rdfs:label "framedConcernMembershipOwnedConcern" . + + + a rdfs:Class ; + rdfs:comment """

A FeatureReferenceExpression is an Expression whose result is bound to a referent Feature.

+referent = + let nonParameterMemberships : Sequence(Membership) = ownedMembership-> + reject(oclIsKindOf(ParameterMembership)) in + if nonParameterMemberships->isEmpty() or + not nonParameterMemberships->first().memberElement.oclIsKindOf(Feature) + then null + else nonParameterMemberships->first().memberElement.oclAsType(Feature) + endif +ownedMember->selectByKind(BindingConnector)->exists(b | + b.relatedFeatures->includes(targetFeature) and + b.relatedFeatures->includes(result)) +let membership : Membership = + ownedMembership->reject(m | m.oclIsKindOf(ParameterMembership)) in +membership->notEmpty() and +membership->at(1).memberElement.oclIsKindOf(Feature)""" ; + rdfs:label "FeatureReferenceExpression" . + + + a rdf:Property ; + rdfs:comment """

The target relatedTypes for this Association. This includes all the relatedTypes other than the sourceType.

+""" ; + rdfs:label "associationTargetType" . + + + a rdf:Property ; + rdfs:comment "

The occurrenceDefinitions of this PortUsage, which must all be PortDefinitions.

" ; + rdfs:label "portUsagePortDefinition" . + + + a rdf:Property ; + rdfs:comment """

An Expression whose result is bound to the sender input parameter of this SendActionUsage.

+""" ; + rdfs:label "sendActionUsageSenderArgument" . + + + a rdf:Property ; + rdfs:comment "

The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType.

" ; + rdfs:label "featureOwningFeatureMembership" . + + + a rdf:Property ; + rdfs:comment "

Various alternative identifiers for this Element. Generally, these will be set by tools.

" ; + rdfs:label "elementAliasIds" . + + + a rdfs:Class ; + rdfs:comment """

An AcceptActionUsage is an ActionUsage that specifies the acceptance of an incomingTransfer from the Occurrence given by the result of its receiverArgument Expression. (If no receiverArgument is provided, the default is the this context of the AcceptActionUsage.) The payload of the accepted Transfer is output on its payloadParameter. Which Transfers may be accepted is determined by conformance to the typing and (potentially) binding of the payloadParameter.

+ +inputParameters()->size() >= 2 +receiverArgument = argument(2) +payloadArgument = argument(1) +payloadParameter = + if parameter->isEmpty() then null + else parameter->first() endif +not isTriggerAction() implies + specializesFromLibrary('Actions::acceptActions') +isSubactionUsage() and not isTriggerAction() implies + specializesFromLibrary('Actions::Action::acceptSubactions') +isTriggerAction() implies + specializesFromLibrary('Actions::TransitionAction::accepter') +payloadArgument <> null and +payloadArgument.oclIsKindOf(TriggerInvocationExpression) implies + let invocation : Expression = + payloadArgument.oclAsType(Expression) in + parameter->size() >= 2 and + invocation.parameter->size() >= 2 and + ownedFeature->selectByKind(BindingConnector)->exists(b | + b.relatedFeatures->includes(parameter->at(2)) and + b.relatedFeatures->includes(invocation.parameter->at(2)))""" ; + rdfs:label "AcceptActionUsage" . + + + a rdf:Property ; + rdfs:comment """

The more specific Classifier in this Subclassification.

+""" ; + rdfs:label "subclassificationSubclassifier" . + + + a rdfs:Class ; + rdfs:comment """

A BindingConnector is a binary Connector that requires its relatedFeatures to identify the same things (have the same values).

+ +specializesFromLibrary('Links::selfLinks') +relatedFeature->size() = 2""" ; + rdfs:label "BindingConnector" . + + + a rdf:Property ; + rdfs:comment "

The UsageownedMemberParameter of this SubjectMembership.

" ; + rdfs:label "subjectMembershipOwnedSubjectParameter" . + + + a rdf:Property ; + rdfs:comment """

The Associations that type the Connector.

+""" ; + rdfs:label "connectorAssociation" . + + + a rdf:Property ; + rdfs:comment """

An Expression used to compute the result of the AnalysisCaseDefinition, owned via a ResultExpressionMembership.

+""" ; + rdfs:label "analysisCaseDefinitionResultExpression" . + + + a rdf:Property ; + rdfs:comment """

The Feature that is redefined by the redefiningFeature of this Redefinition.

+""" ; + rdfs:label "redefinitionRedefinedFeature" . + + + a rdfs:Class ; + rdfs:comment """

A TriggerInvocationExpression is an InvocationExpression that invokes one of the trigger Functions from the Kernel Semantic Library Triggers package, as indicated by its kind.

+specializesFromLibrary( + if kind = TriggerKind::when then + 'Triggers::TriggerWhen' + else if kind = TriggerKind::at then + 'Triggers::TriggerAt' + else + 'Triggers::TriggerAfter' + endif endif +) +kind = TriggerKind::after implies + argument->notEmpty() and + argument->at(1).result.specializesFromLibrary('Quantities::ScalarQuantityValue') and + let mRef : Element = + resolveGlobal('Quantities::TensorQuantityValue::mRef').ownedMemberElement in + argument->at(1).result.feature-> + select(ownedRedefinition.redefinedFeature-> + closure(ownedRedefinition.redefinedFeature)-> + includes(mRef))-> + exists(specializesFromLibrary('ISQBase::DurationUnit')) +kind = TriggerKind::at implies + argument->notEmpty() and + argument->at(1).result.specializesFromLibrary('Time::TimeInstantValue') +kind = TriggerKind::when implies + argument->notEmpty() and + argument->at(1).oclIsKindOf(FeatureReferenceExpression) and + let referent : Feature = + argument->at(1).oclAsType(FeatureReferenceExpression).referent in + referent.oclIsKindOf(Expression) and + referent.oclAsType(Expression).result.specializesFromLibrary('ScalarValues::Boolean')""" ; + rdfs:label "TriggerInvocationExpression" . + + + a rdf:Property ; + rdfs:comment """

The Feature that is redefining the redefinedFeature of this Redefinition.

+""" ; + rdfs:label "redefinitionRedefiningFeature" . + + + a rdf:Property ; + rdfs:comment """

The Expression whose result, if true, determines that the bodyAction should continue to be performed. It is the first owned parameter of the WhileLoopActionUsage.

+""" ; + rdfs:label "whileLoopActionUsageWhileArgument" . + + + a rdfs:Class ; + rdfs:comment """

A ViewUsage is a usage of a ViewDefinition to specify the generation of a view of the members of a collection of exposedNamespaces. The ViewUsage can satisfy more viewpoints than its definition, and it can specialize the viewRendering specified by its definition.

+exposedElement = ownedImport->selectByKind(Expose). + importedMemberships(Set{}).memberElement-> + select(elm | includeAsExposed(elm))-> + asOrderedSet() +satisfiedViewpoint = ownedRequirement-> + selectByKind(ViewpointUsage)-> + select(isComposite) +viewCondition = ownedMembership-> + selectByKind(ElementFilterMembership). + condition +viewRendering = + let renderings: OrderedSet(ViewRenderingMembership) = + featureMembership->selectByKind(ViewRenderingMembership) in + if renderings->isEmpty() then null + else renderings->first().referencedRendering + endif +featureMembership-> + selectByKind(ViewRenderingMembership)-> + size() <= 1 +specializesFromLibrary('Views::views') +owningType <> null and +(owningType.oclIsKindOf(ViewDefinition) or + owningType.oclIsKindOf(ViewUsage)) implies + specializesFromLibrary('Views::View::subviews')""" ; + rdfs:label "ViewUsage" . + + + a rdf:Property ; + rdfs:comment """

The Feature that is a subset of the subsettedFeature of this Subsetting.

+""" ; + rdfs:label "subsettingSubsettingFeature" . + + + a rdfs:Class ; + rdfs:comment """

An AttributeDefinition is a Definition and a DataType of information about a quality or characteristic of a system or part of a system that has no independent identity other than its value. All features of an AttributeDefinition must be referential (non-composite).

+ +

As a DataType, an AttributeDefinition must specialize, directly or indirectly, the base DataType Base::DataValue from the Kernel Semantic Library.

+feature->forAll(not isComposite)""" ; + rdfs:label "AttributeDefinition" . + + + a rdfs:Class ; + rdfs:comment """

A Metaclass is a Structure used to type MetadataFeatures.

+specializesFromLibrary('Metaobjects::Metaobject')""" ; + rdfs:label "Metaclass" . + + + a rdf:Property ; + rdfs:comment "

The Element whose metadata is being accessed.

" ; + rdfs:label "metadataAccessExpressionReferencedElement" . + + + a rdf:Property ; + rdfs:comment """

A subsettingFeature that is also the owningRelatedElement of this Subsetting.

+ +""" ; + rdfs:label "subsettingOwningFeature" . + + + a rdf:Property ; + rdfs:comment "

The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants.

" ; + rdfs:label "usageVariant" . + + + a rdf:Property ; + rdfs:comment "

The ownedRelationships of this AnnotatingElement that are Annotations, for which this AnnotatingElement is the annotatingElement.

" ; + rdfs:label "annotatingElementOwnedAnnotatingRelationship" . + + + a rdf:Property ; + rdfs:comment "

The Succession that is the ownedFeature of this TransitionUsage, which, if the TransitionUsage is triggered, asserts the temporal ordering of the source and target.

" ; + rdfs:label "transitionUsageSuccession" . + + + a rdf:Property ; + rdfs:comment """

The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex).

+""" ; + rdfs:label "typeIntersectingType" . + + + a rdf:Property ; + rdfs:comment """

Type that partly determines interpretations of typeIntersected, as described in Type::intersectingType.

+""" ; + rdfs:label "intersectingIntersectingType" . + + + a rdfs:Class ; + rdfs:comment """

A UseCaseDefinition is a CaseDefinition that specifies a set of actions performed by its subject, in interaction with one or more actors external to the subject. The objective is to yield an observable result that is of value to one or more of the actors.

+ +includedUseCase = ownedUseCase-> + selectByKind(IncludeUseCaseUsage). + useCaseIncluded +specializesFromLibrary('UseCases::UseCase')""" ; + rdfs:label "UseCaseDefinition" . + + + a rdfs:Class ; + rdfs:comment """

A Step is a Feature that is typed by one or more Behaviors. Steps may be used by one Behavior to coordinate the performance of other Behaviors, supporting a steady refinement of behavioral descriptions. Steps can be ordered in time and can be connected using ItemFlows to specify things flowing between their parameters.

+ +specializesFromLibrary('Performances::performances') +owningType <> null and + (owningType.oclIsKindOf(Behavior) or + owningType.oclIsKindOf(Step)) implies + specializesFromLibrary('Performances::Performance::enclosedPerformance') +isComposite and owningType <> null and +(owningType.oclIsKindOf(Structure) or + owningType.oclIsKindOf(Feature) and + owningType.oclAsType(Feature).type-> + exists(oclIsKindOf(Structure)) implies + specializesFromLibrary('Objects::Object::ownedPerformance') +owningType <> null and + (owningType.oclIsKindOf(Behavior) or + owningType.oclIsKindOf(Step)) and + self.isComposite implies + specializesFromLibrary('Performances::Performance::subperformance') +behavior = type->selectByKind(Behavior)""" ; + rdfs:label "Step" . + + + a rdf:Property ; + rdfs:comment "

The RenderingUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedRendering" . + + + a rdf:Property ; + rdfs:comment """

The Expression whose result provides the sequence of values to which the loopVariable is set for each iterative performance of the bodyAction. It is the Expression whose result is bound to the seq input parameter of this ForLoopActionUsage.

+""" ; + rdfs:label "forLoopActionUsageSeqArgument" . + + + a rdf:Property ; + rdfs:comment """

The annotation text for the Comment.

+""" ; + rdfs:label "commentBody" . + + + a rdf:Property ; + rdfs:comment "

The UseCaseUsages that are included by this UseCaseUse, which are the useCaseIncludeds of the IncludeUseCaseUsages owned by this UseCaseUsage.

" ; + rdfs:label "useCaseUsageIncludedUseCase" . + + + a rdf:Property ; + rdfs:comment """

The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type.

+""" ; + rdfs:label "typeOwnedSpecialization" . + + + a rdf:Property ; + rdfs:comment "

The PartUsage specifying the actor.

" ; + rdfs:label "actorMembershipOwnedActorParameter" . + + + a rdf:Property ; + rdfs:comment """

The Feature that provides the items carried by the ItemFlow. It must be an owned output of the source of the ItemFlow.

+""" ; + rdfs:label "itemFlowSourceOutputFeature" . + + + a rdf:Property ; + rdfs:comment "

The Feature that has a type determined by this FeatureTyping.

" ; + rdfs:label "featureTypingTypedFeature" . + + + a rdfs:Class ; + rdfs:comment """

An AssociationStructure is an Association that is also a Structure, classifying link objects that are both links and objects. As objects, link objects can be created and destroyed, and their non-end Features can change over time. However, the values of the end Features of a link object are fixed and cannot change over its lifetime.

+specializesFromLibrary('Objects::LinkObject') +endFeature->size() = 2 implies + specializesFromLibrary('Objects::BinaryLinkObject')""" ; + rdfs:label "AssociationStructure" . + + + a rdfs:Class ; + rdfs:comment """

A ResultExpressionMembership is a FeatureMembership that indicates that the ownedResultExpression provides the result values for the Function or Expression that owns it. The owning Function or Expression must contain a BindingConnector between the result parameter of the ownedResultExpression and the result parameter of the owning Function or Expression.

+ +owningType.oclIsKindOf(Function) or owningType.oclIsKindOf(Expression)""" ; + rdfs:label "ResultExpressionMembership" . + + + a rdf:Property ; + rdfs:comment "

The AnalysisCaseUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedAnalysisCase" . + + + a rdf:Property ; + rdfs:comment """

The Namespace of which the memberElement becomes a member due to this Membership.

+""" ; + rdfs:label "membershipMembershipOwningNamespace" . + + + a rdf:Property ; + rdfs:comment "

The usages of a RenderingDefinition that are RenderingUsages.

" ; + rdfs:label "renderingDefinitionRendering" . + + + a rdf:Property ; + rdfs:comment """

The Feature that this FeatureMembership relates to its owningType, making it an ownedFeature of the owningType.

+""" ; + rdfs:label "featureMembershipOwnedMemberFeature" . + + + a rdfs:Class ; + rdfs:comment """

A MembershipImport is an Import that imports its importedMembership into the importOwningNamespace. If isRecursive = true and the memberElement of the importedMembership is a Namespace, then the equivalent of a recursive NamespaceImport is also performed on that Namespace.

+ +importedElement = importedMembership.memberElement""" ; + rdfs:label "MembershipImport" . + + + a rdf:Property ; + rdfs:comment "

The UseCaseDefinition that is the definition of this UseCaseUsage.

" ; + rdfs:label "useCaseUsageUseCaseDefinition" . + + + a rdf:Property ; + rdfs:comment """

The visibility level of the imported members from this Import relative to the importOwningNamespace.

+""" ; + rdfs:label "importVisibility" . + + + a rdf:Property ; + rdfs:comment "

The RequirementUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedRequirement" . + + + a rdf:Property ; + rdfs:comment "

The PortUsages that are nestedUsages of this Usage.

" ; + rdfs:label "usageNestedPort" . + + + a rdfs:Class ; + rdfs:comment """

A PortUsage is a usage of a PortDefinition. A PortUsage itself as well as all its nestedUsages must be referential (non-composite).

+nestedUsage-> + reject(oclIsKindOf(PortUsage))-> + forAll(not isComposite) +specializesFromLibrary('Ports::ports') +isComposite and owningType <> null and +(owningType.oclIsKindOf(PortDefinition) or + owningType.oclIsKindOf(PortUsage)) implies + specializesFromLibrary('Ports::Port::subports') +owningType = null or +not owningType.oclIsKindOf(PortDefinition) and +not owningType.oclIsKindOf(PortUsage) implies + isReference""" ; + rdfs:label "PortUsage" . + + + a rdf:Property ; + rdfs:comment """

The ReferenceUsages that are nestedUsages of this Usage.

+""" ; + rdfs:label "usageNestedReference" . + + + a rdfs:Class ; + rdfs:comment """

A ConstraintDefinition is an OccurrenceDefinition that is also a Predicate that defines a constraint that may be asserted to hold on a system or part of a system.

+ + +specializesFromLibrary('Constraints::ConstraintCheck')""" ; + rdfs:label "ConstraintDefinition" . + + + a rdfs:Class ; + rdfs:comment """

A SelectExpression is an OperatorExpression whose operator is \"select\", which resolves to the Function ControlFunctions::select from the Kernel Functions Library.

+operator = 'select'""" ; + rdfs:label "SelectExpression" . + + + a rdf:Property ; + rdfs:comment "

Whether this TransitionFeatureMembership is for a trigger, guard or effect.

" ; + rdfs:label "transitionFeatureMembershipKind" . + + + a rdfs:Class ; + rdfs:comment """

A PortConjugation is a Conjugation Relationship between a PortDefinition and its corresponding ConjugatedPortDefinition. As a result of this Relationship, the ConjugatedPortDefinition inherits all the features of the original PortDefinition, but input flows of the original PortDefinition become outputs on the ConjugatedPortDefinition and output flows of the original PortDefinition become inputs on the ConjugatedPortDefinition.

+""" ; + rdfs:label "PortConjugation" . + + + a rdfs:Class ; + rdfs:comment """

A Succession is a binary Connector that requires its relatedFeatures to happen separately in time.

+ +specializesFromLibrary('Occurences::happensBeforeLinks') +transitionStep = + if owningNamespace.oclIsKindOf(Step) and + owningNamespace.oclAsType(Step). + specializesFromLibrary('TransitionPerformances::TransitionPerformance') then + owningNamespace.oclAsType(Step) + else null + endif +triggerStep = + if transitionStep = null or + transitionStep.ownedFeature.size() < 2 or + not transitionStep.ownedFeature->at(2).oclIsKindOf(Step) + then Set{} + else Set{transitionStep.ownedFeature->at(2).oclAsType(Step)} + endif +effectStep = + if transitionStep = null or + transitionStep.ownedFeature.size() < 4 or + not transitionStep.ownedFeature->at(4).oclIsKindOf(Step) + then Set{} + else Set{transitionStep.ownedFeature->at(4).oclAsType(Step)} + endif +guardExpression = + if transitionStep = null or + transitionStep.ownedFeature.size() < 3 or + not transitionStep.ownedFeature->at(3).oclIsKindOf(Expression) + then Set{} + else Set{transitionStep.ownedFeature->at(3).oclAsType(Expression)} + endif""" ; + rdfs:label "Succession" . + + + a rdfs:Class ; + rdfs:comment """

A MetadataDefinition is an ItemDefinition that is also a Metaclass.

+specializesFromLibrary('Metadata::MetadataItem')""" ; + rdfs:label "MetadataDefinition" . + + + a rdf:Property ; + rdfs:comment "

The Usages that define the things related by the ConnectionDefinition.

" ; + rdfs:label "connectionDefinitionConnectionEnd" . + + + a rdf:Property ; + rdfs:comment "

The Expressions that define the guards of this TransitionUsage, which are the ownedFeatures of the TransitionUsage related to it by TransitionFeatureMemberships with kind = guard, which must all be Expressions.

" ; + rdfs:label "transitionUsageGuardExpression" . + + + a rdf:Property ; + rdfs:comment "

The UseCaseUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedUseCase" . + + + a rdfs:Class ; + rdfs:comment """

An IfActionUsage is an ActionUsage that specifies that the thenAction ActionUsage should be performed if the result of the ifArgument Expression is true. It may also optionally specify an elseAction ActionUsage that is performed if the result of the ifArgument is false.

+thenAction = + let parameter : Feature = inputParameter(2) in + if parameter <> null and parameter.oclIsKindOf(ActionUsage) then + parameter.oclAsType(ActionUsage) + else + null + endif +isSubactionUsage() implies + specializesFromLibrary('Actions::Action::ifSubactions') +if elseAction = null then + specializesFromLibrary('Actions::ifThenActions') +else + specializesFromLibrary('Actions::ifThenElseActions') +endif +ifArgument = + let parameter : Feature = inputParameter(1) in + if parameter <> null and parameter.oclIsKindOf(Expression) then + parameter.oclAsType(Expression) + else + null + endif +elseAction = + let parameter : Feature = inputParameter(3) in + if parameter <> null and parameter.oclIsKindOf(ActionUsage) then + parameter.oclAsType(ActionUsage) + else + null + endif +inputParameters()->size() >= 2""" ; + rdfs:label "IfActionUsage" . + + + a rdf:Property ; + rdfs:comment """

All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships.

+""" ; + rdfs:label "namespaceMembership" . + + + a rdf:Property ; + rdfs:comment """

The ActionUsage that is to be performed if the result of the ifArgument is true. It is the second parameter of the IfActionUsage.

+""" ; + rdfs:label "ifActionUsageThenAction" . + + + a rdf:Property ; + rdfs:comment "

The ViewUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedView" . + + + a rdfs:Class ; + rdfs:comment "

A TypeFeaturing is a Featuring Relationship in which the featureOfType is the source and the featuringType is the target.

" ; + rdfs:label "TypeFeaturing" . + + + a rdfs:Class ; + rdfs:comment """

EndFeatureMembership is a FeatureMembership that requires its memberFeature be owned and have isEnd = true.

+ +ownedMemberFeature.isEnd""" ; + rdfs:label "EndFeatureMembership" . + + + a rdf:Property ; + rdfs:comment """

The Type that is the result of applying Conjugation to the originalType.

+""" ; + rdfs:label "conjugationConjugatedType" . + + + a rdf:Property ; + rdfs:comment "

The Relationships for which this Element is the owningRelatedElement.

" ; + rdfs:label "elementOwnedRelationship" . + + + a rdf:Property ; + rdfs:comment """

The Relationship for which this Element is an ownedRelatedElement, if any.

+""" ; + rdfs:label "elementOwningRelationship" . + + + a rdf:Property ; + rdfs:comment """

The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature.

+""" ; + rdfs:label "featureOwnedSubsetting" . + + + a rdf:Property ; + rdfs:comment "

The MetadataDefinition that is the definition of this MetadataUsage.

" ; + rdfs:label "metadataUsageMetadataDefinition" . + + + a rdfs:Class ; + rdfs:comment """

An AttributeUsage is a Usage whose type is a DataType. Nominally, if the type is an AttributeDefinition, an AttributeUsage is a usage of a AttributeDefinition to represent the value of some system quality or characteristic. However, other kinds of kernel DataTypes are also allowed, to permit use of DataTypes from the Kernel Model Libraries. An AttributeUsage itself as well as all its nested features must be referential (non-composite).

+ +

An AttributeUsage must specialize, directly or indirectly, the base Feature Base::dataValues from the Kernel Semantic Library.

+isReference +feature->forAll(not isComposite) +specializesFromLibrary('Base::dataValues')""" ; + rdfs:label "AttributeUsage" . + + + a rdf:Property ; + rdfs:comment """

The UseCaseUsages that are nestedUsages of this Usage.

+""" ; + rdfs:label "usageNestedUseCase" . + + + a rdf:Property ; + rdfs:comment """

The Annotations that relate this AnnotatingElement to its annotatedElements.

+""" ; + rdfs:label "annotatingElementAnnotation" . + + + a rdf:Property ; + rdfs:comment """

Type that partly determines interpretations of typeUnioned, as described in Type::unioningType.

+""" ; + rdfs:label "unioningUnioningType" . + + + a rdfs:Class ; + rdfs:comment """

A Predicate is a Function whose result parameter has type Boolean and multiplicity 1..1.

+ +specializesFromLibrary('Performances::BooleanEvaluation')""" ; + rdfs:label "Predicate" . + + + a rdf:Property ; + rdfs:comment "

The endFeatures of a Connector, which redefine the endFeatures of the associations of the Connector. The connectorEnds determine via ReferenceSubsetting Relationships which Features are related by the Connector.

" ; + rdfs:label "connectorConnectorEnd" . + + + a rdf:Property ; + rdfs:comment "

The Feature that represents the actual subject that is asserted to satisfy the satisfiedRequirement. The satisfyingFeature is bound to the subjectParameter of the SatisfyRequirementUsage.

" ; + rdfs:label "satisfyRequirementUsageSatisfyingFeature" . + + + a rdf:Property ; + rdfs:comment """

The features of this Type that have a non-null direction.

+""" ; + rdfs:label "typeDirectedFeature" . + + + a rdfs:Class ; + rdfs:comment """

A MetadataAccessExpression is an Expression whose result is a sequence of instances of Metaclasses representing all the MetadataFeature annotations of the referencedElement. In addition, the sequence includes an instance of the reflective Metaclass corresponding to the MOF class of the referencedElement, with values for all the abstract syntax properties of the referencedElement.

+specializesFromLibrary('Performances::metadataAccessEvaluations')""" ; + rdfs:label "MetadataAccessExpression" . + + + a rdf:Property ; + rdfs:comment """

The Expression whose result provides the lower bound of the MultiplicityRange. If no lowerBound Expression is given, then the lower bound shall have the same value as the upper bound, unless the upper bound is unbounded (*), in which case the lower bound shall be 0.

+""" ; + rdfs:label "multiplicityRangeLowerBound" . + + + a rdf:Property ; + rdfs:comment """

Whether the values of this Feature can always be computed from the values of other Features.

+""" ; + rdfs:label "featureIsDerived" . + + + a rdf:Property ; + rdfs:comment "

Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition.

" ; + rdfs:label "occurrenceUsageIsIndividual" . + + + a rdf:Property ; + rdfs:comment "

The Usages that are ownedFeatures of this Usage.

" ; + rdfs:label "usageNestedUsage" . + + + a rdfs:Class ; + rdfs:comment """

An Interaction is a Behavior that is also an Association, providing a context for multiple objects that have behaviors that impact one another.

+""" ; + rdfs:label "Interaction" . + + + a rdf:Property ; + rdfs:comment """

The declared name of this Element.

+""" ; + rdfs:label "elementDeclaredName" . + + + a rdfs:Class ; + rdfs:comment """

A DecisionNode is a ControlNode that makes a selection from its outgoing Successions.

+targetConnector->selectByKind(Succession)->size() <= 1 +sourceConnector->selectAsKind(Succession)-> + collect(connectorEnd->at(2))-> + forAll(targetMult | + multiplicityHasBounds(targetMult, 0, 1)) +specializesFromLibrary('Actions::Action::decisions') +sourceConnector->selectByKind(Succession)-> + forAll(subsetsChain(self, + resolveGlobal('ControlPerformances::MergePerformance::outgoingHBLink')))""" ; + rdfs:label "DecisionNode" . + + + a rdfs:Class ; + rdfs:comment """

A CaseDefinition is a CalculationDefinition for a process, often involving collecting evidence or data, relative to a subject, possibly involving the collaboration of one or more other actors, producing a result that meets an objective.

+objectiveRequirement = + let objectives: OrderedSet(RequirementUsage) = + featureMembership-> + selectByKind(ObjectiveMembership). + ownedRequirement in + if objectives->isEmpty() then null + else objectives->first().ownedObjectiveRequirement + endif +featureMembership-> + selectByKind(ObjectiveMembership)-> + size() <= 1 +subjectParameter = + let subjectMems : OrderedSet(SubjectMembership) = + featureMembership->selectByKind(SubjectMembership) in + if subjectMems->isEmpty() then null + else subjectMems->first().ownedSubjectParameter + endif +actorParameter = featureMembership-> + selectByKind(ActorMembership). + ownedActorParameter +featureMembership->selectByKind(SubjectMembership)->size() <= 1 +input->notEmpty() and input->first() = subjectParameter +specializesFromLibrary('Cases::Case')""" ; + rdfs:label "CaseDefinition" . + + + a rdf:Property ; + rdfs:comment "

The ownedFeature of this ForLoopActionUsage that acts as the loop variable, which is assigned the successive values of the input sequence on each iteration. It is the ownedFeature that redefines ForLoopAction::var.

" ; + rdfs:label "forLoopActionUsageLoopVariable" . + + + a rdf:Property ; + rdfs:comment "

The Behaviors that are the types of this StateUsage. Nominally, these would be StateDefinitions, but kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries.

" ; + rdfs:label "stateUsageStateDefinition" . + + + a rdfs:Class ; + rdfs:comment """

A WhileLoopActionUsage is a LoopActionUsage that specifies that the bodyAction ActionUsage should be performed repeatedly while the result of the whileArgument Expression is true or until the result of the untilArgument Expression (if provided) is true. The whileArgument Expression is evaluated before each (possible) performance of the bodyAction, and the untilArgument Expression is evaluated after each performance of the bodyAction.

+isSubactionUsage() implies + specializesFromLibrary('Actions::Action::whileLoops') +untilArgument = + let parameter : Feature = inputParameter(3) in + if parameter <> null and parameter.oclIsKindOf(Expression) then + parameter.oclAsType(Expression) + else + null + endif + +specializesFromLibrary('Actions::whileLoopActions') +whileArgument = + let parameter : Feature = inputParameter(1) in + if parameter <> null and parameter.oclIsKindOf(Expression) then + parameter.oclAsType(Expression) + else + null + endif + +inputParameters()->size() >= 2""" ; + rdfs:label "WhileLoopActionUsage" . + + + a rdf:Property ; + rdfs:comment """

The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships).

+""" ; + rdfs:label "typeFeatureMembership" . + + + a rdfs:Class ; + rdfs:comment """

An ExhibitStateUsage is a StateUsage that represents the exhibiting of a StateUsage. Unless it is the StateUsage itself, the StateUsage to be exhibited is related to the ExhibitStateUsage by a ReferenceSubsetting Relationship. An ExhibitStateUsage is also a PerformActionUsage, with its exhibitedState as the performedAction.

+ +owningType <> null and +(owningType.oclIsKindOf(PartDefinition) or + owningType.oclIsKindOf(PartUsage)) implies + specializesFromLibrary('Parts::Part::exhibitedStates') +ownedReferenceSubsetting <> null implies + ownedReferenceSubsetting.referencedFeature.oclIsKindOf(StateUsage)""" ; + rdfs:label "ExhibitStateUsage" . + + + a rdfs:Class ; + rdfs:comment """

A ViewDefinition is a PartDefinition that specifies how a view artifact is constructed to satisfy a viewpoint. It specifies a viewConditions to define the model content to be presented and a viewRendering to define how the model content is presented.

+view = usage->selectByKind(ViewUsage) +satisfiedViewpoint = ownedRequirement-> + selectByKind(ViewpointUsage)-> + select(isComposite) +viewRendering = + let renderings: OrderedSet(ViewRenderingMembership) = + featureMembership->selectByKind(ViewRenderingMembership) in + if renderings->isEmpty() then null + else renderings->first().referencedRendering + endif +viewCondition = ownedMembership-> + selectByKind(ElementFilterMembership). + condition +featureMembership-> + selectByKind(ViewRenderingMembership)-> + size() <= 1 +specializesFromLibrary('Views::View')""" ; + rdfs:label "ViewDefinition" . + + + a rdf:Property ; + rdfs:comment "

The AllocationUsages that are nestedUsages of this Usage.

" ; + rdfs:label "usageNestedAllocation" . + + + a rdf:Property ; + rdfs:comment "

An optional modeler-specified identifier for this RequirementUsage (used, e.g., to link it to an original requirement text in some source document), which is the declaredShortName for the RequirementUsage.

" ; + rdfs:label "requirementUsageReqId" . + + + a rdfs:Class ; + rdfs:comment """

A LifeClass is a Class that specializes both the Class Occurrences::Life from the Kernel Semantic Library and a single OccurrenceDefinition, and has a multiplicity of 0..1. This constrains the OccurrenceDefinition being specialized to have at most one instance that is a complete Life.

+ +specializesFromLibrary('Occurrences::Life') +multiplicity <> null and +multiplicity.specializesFromLibrary('Base::zeroOrOne') +specializes(individualDefinition) +isSufficient""" ; + rdfs:label "LifeClass" . + + + a rdf:Property ; + rdfs:comment """

Indicates whether instances of this Type must also be instances of at least one of its specialized Types.

+""" ; + rdfs:label "typeIsAbstract" . + + + a rdfs:Class ; + rdfs:comment """

A RequirementConstraintMembership is a FeatureMembership for an assumed or required ConstraintUsage of a RequirementDefinition or RequirementUsage.

+referencedConstraint = + let reference : ReferenceSubsetting = + ownedConstraint.ownedReferenceSubsetting in + if reference = null then ownedConstraint + else if not reference.referencedFeature.oclIsKindOf(ConstraintUsage) then null + else reference.referencedFeature.oclAsType(ConstraintUsage) + endif endif +owningType.oclIsKindOf(RequirementDefinition) or +owningType.oclIsKindOf(RequirementUsage) +ownedConstraint.isComposite""" ; + rdfs:label "RequirementConstraintMembership" . + + + a rdf:Property ; + rdfs:comment "

An Expression used to compute the result of the AnalysisCaseUsage, owned via a ResultExpressionMembership.

" ; + rdfs:label "analysisCaseUsageResultExpression" . + + + a rdf:Property ; + rdfs:comment "

The Feature that is featured by the featuringType. It is the source of the TypeFeaturing.

" ; + rdfs:label "typeFeaturingFeatureOfType" . + + + a rdf:Property ; + rdfs:comment "

The ActionUsage of this StateDefinition to be performed on entry to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateDefinition by a StateSubactionMembership with kind = entry.

" ; + rdfs:label "stateDefinitionEntryAction" . + + + a rdfs:Class ; + rdfs:comment """

An OccurrenceUsage is a Usage whose types are all Classes. Nominally, if a type is an OccurrenceDefinition, an OccurrenceUsage is a Usage of that OccurrenceDefinition within a system. However, other types of Kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries.

+ +individualDefinition = + let individualDefinitions : OrderedSet(OccurrenceDefinition) = + occurrenceDefinition-> + selectByKind(OccurrenceDefinition)-> + select(isIndividual) in + if individualDefinitions->isEmpty() then null + else individualDefinitions->first() endif +isIndividual implies individualDefinition <> null +specializesFromLibrary('Occurrences::occurrences') +isComposite and +owningType <> null and +(owningType.oclIsKindOf(Class) or + owningType.oclIsKindOf(OccurrenceUsage) or + owningType.oclIsKindOf(Feature) and + owningType.oclAsType(Feature).type-> + exists(oclIsKind(Class))) implies + specializesFromLibrary('Occurrences::Occurrence::suboccurrences') +occurrenceDefinition-> + selectByKind(OccurrenceDefinition)-> + select(isIndividual).size() <= 1 +portionKind <> null implies + occurrenceDefinition->forAll(occ | + featuringType->exists(specializes(occ)))""" ; + rdfs:label "OccurrenceUsage" . + + + a rdfs:Class ; + rdfs:comment """

A RenderingDefinition is a PartDefinition that defines a specific rendering of the content of a model view (e.g., symbols, style, layout, etc.).

+rendering = usages->selectByKind(RenderingUsage) +specializesFromLibrary('Views::Rendering')""" ; + rdfs:label "RenderingDefinition" . + + + a rdf:Property ; + rdfs:comment """

The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general.

+""" ; + rdfs:label "typeUnioningType" . + + + a rdfs:Class ; + rdfs:comment """

A CalculationUsage is an ActionUsage that is also an Expression, and, so, is typed by a Function. Nominally, if the type is a CalculationDefinition, a CalculationUsage is a Usage of that CalculationDefinition within a system. However, other kinds of kernel Functions are also allowed, to permit use of Functions from the Kernel Model Libraries.

+specializesFromLibrary('Calculations::calculations') +owningType <> null and +(owningType.oclIsKindOf(CalculationDefinition) or + owningType.oclIsKindOf(CalculationUsage)) implies + specializesFromLibrary('Calculations::Calculation::subcalculations')""" ; + rdfs:label "CalculationUsage" . + + + a rdf:Property ; + rdfs:comment "

The Feature whose value is to be set.

" ; + rdfs:label "assignmentActionUsageReferent" . + + + a rdfs:Class ; + rdfs:comment """

LiteralBoolean is a LiteralExpression that provides a Boolean value as a result. Its result parameter must have type Boolean.

+ +specializesFromLibrary('Performances::literalBooleanEvaluations')""" ; + rdfs:label "LiteralBoolean" . + + + a rdfs:Class ; + rdfs:comment """

A LiteralRational is a LiteralExpression that provides a Rational value as a result. Its result parameter must have the type Rational.

+ +specializesFromLibrary('Performances::literalRationalEvaluations')""" ; + rdfs:label "LiteralRational" . + + + a rdf:Property ; + rdfs:comment """

All endFeatures of this Type that are ownedFeatures.

+""" ; + rdfs:label "typeOwnedEndFeature" . + + + a rdf:Property ; + rdfs:comment """

The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any.

+""" ; + rdfs:label "elementOwningNamespace" . + + + a rdf:Property ; + rdfs:comment "

The composite actions of the AnalysisCaseDefinition that are defined as AnalysisActions.

" ; + rdfs:label "analysisCaseDefinitionAnalysisAction" . + + + a rdf:Property ; + rdfs:comment "

Whether this LibraryPackage contains a standard library model. This should only be set to true for LibraryPackages in the standard Kernel Model Libraries or in normative model libraries for a language built on KerML.

" ; + rdfs:label "libraryPackageIsStandard" . + + + a rdf:Property ; + rdfs:comment """

The ownedMemberFeatures of the featureMemberships of this Type.

+""" ; + rdfs:label "typeFeature" . + + + a rdf:Property ; + rdfs:comment "

The usages of this ViewDefinition that are ViewUsages.

" ; + rdfs:label "viewDefinitionView" . + + + a rdf:Property ; + rdfs:comment """

The Namespace whose visible Memberships are imported by this NamespaceImport.

+""" ; + rdfs:label "namespaceImportImportedNamespace" . + + + a rdfs:Class ; + rdfs:comment """

Documentation is a Comment that specifically documents a documentedElement, which must be its owner.

+""" ; + rdfs:label "Documentation" . + + + a rdfs:Class ; + rdfs:comment """

A ForkNode is a ControlNode that must be followed by successor Actions as given by all its outgoing Successions.

+targetConnector->selectByKind(Succession)->size() <= 1 +specializesFromLibrary('Actions::Action::forks')""" ; + rdfs:label "ForkNode" . + + + a rdf:Property ; + rdfs:comment """

The Element that is documented by this Documentation.

+""" ; + rdfs:label "documentationDocumentedElement" . + + + a rdf:Property ; + rdfs:comment "

The single EnumerationDefinition that is the type of this EnumerationUsage.

" ; + rdfs:label "enumerationUsageEnumerationDefinition" . + + + a rdfs:Class ; + rdfs:comment """

An Annotation is a Relationship between an AnnotatingElement and the Element that is annotated by that AnnotatingElement.

+""" ; + rdfs:label "Annotation" . + + + a rdf:Property ; + rdfs:comment "

The owned Expressions of the MultiplicityRange whose results provide its bounds. These must be the only ownedMembers of the MultiplicityRange.

" ; + rdfs:label "multiplicityRangeBound" . + + + a rdfs:Class ; + rdfs:comment """

A FeatureMembership is an OwningMembership between a Feature in an owningType that is also a Featuring Relationship between the Feature and the Type, in which the featuringType is the source and the featureOfType is the target. A FeatureMembership is always owned by its owningType, which is the featuringType for the FeatureMembership considered as a Featuring.

+""" ; + rdfs:label "FeatureMembership" . + + + a rdfs:Class ; + rdfs:comment """

Conjugation is a Relationship between two types in which the conjugatedType inherits all the Features of the originalType, but with all input and output Features reversed. That is, any Features with a direction in relative to the originalType are considered to have an effective direction of out relative to the conjugatedType and, similarly, Features with direction out in the originalType are considered to have an effective direction of in in the conjugatedType. Features with direction inout, or with no direction, in the originalType, are inherited without change.

+ +

A Type may participate as a conjugatedType in at most one Conjugation relationship, and such a Type may not also be the specific Type in any Specialization relationship.

+""" ; + rdfs:label "Conjugation" . + + + a rdf:Property ; + rdfs:comment """

The ActionUsage to be performed repeatedly by the LoopActionUsage. It is the second parameter of the LoopActionUsage.

+""" ; + rdfs:label "loopActionUsageBodyAction" . + + + a rdfs:Class ; + rdfs:comment """

A SatisfyRequirementUsage is an AssertConstraintUsage that asserts, by default, that a satisfied RequirementUsage is true for a specific satisfyingFeature, or, if isNegated = true, that the RequirementUsage is false. The satisfied RequirementUsage is related to the SatisfyRequirementUsage by a ReferenceSubsetting Relationship.

+satisfyingFeature = + let bindings: BindingConnector = ownedMember-> + selectByKind(BindingConnector)-> + select(b | b.relatedElement->includes(subjectParameter)) in + if bindings->isEmpty() or + bindings->first().relatedElement->exits(r | r <> subjectParameter) + then null + else bindings->first().relatedElement->any(r | r <> subjectParameter) + endif +ownedMember->selectByKind(BindingConnector)-> + select(b | + b.relatedElement->includes(subjectParameter) and + b.relatedElement->exists(r | r <> subjectParameter))-> + size() = 1 +ownedReferenceSubsetting <> null implies + ownedReferenceSubsetting.referencedFeature.oclIsKindOf(RequirementUsage)""" ; + rdfs:label "SatisfyRequirementUsage" . + + + a rdf:Property ; + rdfs:comment """

The name of the ownedMemberElement.

+""" ; + rdfs:label "owningMembershipOwnedMemberName" . + + + a rdf:Property ; + rdfs:comment """

The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced.

+""" ; + rdfs:label "typeOwnedDifferencing" . + + + a rdfs:Class ; + rdfs:comment """

An AssertConstraintUsage is a ConstraintUsage that is also an Invariant and, so, is asserted to be true (by default). Unless it is the AssertConstraintUsage itself, the asserted ConstraintUsage is related to the AssertConstraintUsage by a ReferenceSubsetting Relationship.

+assertedConstraint = + if ownedReferenceSubsetting = null then self + else ownedReferenceSubsetting.referencedFeature.oclAsType(ConstraintUsage) + endif +if isNegated then + specializesFromLibrary('Constraints::negatedConstraints') +else + specializesFromLibrary('Constraints::assertedConstraints') +endif +ownedReferenceSubsetting <> null implies + ownedReferenceSubsetting.referencedFeature.oclIsKindOf(ConstraintUsage)""" ; + rdfs:label "AssertConstraintUsage" . + + + a rdfs:Class ; + rdfs:comment """

FeatureTyping is Specialization in which the specific Type is a Feature. This means the set of instances of the (specific) typedFeature is a subset of the set of instances of the (general) type. In the simplest case, the type is a Classifier, whereupon the typedFeature has values that are instances of the Classifier.

+""" ; + rdfs:label "FeatureTyping" . + + + a rdf:Property ; + rdfs:comment """

Whether the ownedStates of this StateDefinition are to all be performed in parallel. If true, none of the ownedActions (which includes ownedStates) may have any incoming or outgoing Transitions. If false, only one ownedState may be performed at a time.

+""" ; + rdfs:label "stateDefinitionIsParallel" . + + + a rdf:Property ; + rdfs:comment "

The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature.

" ; + rdfs:label "featureChainingFeature" . + + + a rdf:Property ; + rdfs:comment """

The ActionUsages that are steps in this ActionDefinition, which define the actions that specify the behavior of the ActionDefinition.

+""" ; + rdfs:label "actionDefinitionAction" . + + + a rdf:Property ; + rdfs:comment "

Whether this OccurrenceDefinition is constrained to represent single individual.

" ; + rdfs:label "occurrenceDefinitionIsIndividual" . + + + a rdfs:Class ; + rdfs:comment """

A VerificationCaseDefinition is a CaseDefinition for the purpose of verification of the subject of the case against its requirements.

+verifiedRequirement = + if objectiveRequirement = null then OrderedSet{} + else + objectiveRequirement.featureMembership-> + selectByKind(RequirementVerificationMembership). + verifiedRequirement->asOrderedSet() + endif +specializesFromLibrary('VerificationCases::VerificationCase')""" ; + rdfs:label "VerificationCaseDefinition" . + + + a rdf:Property ; + rdfs:comment "

The ConcernUsages framed by this RequirementDefinition, which are the ownedConcerns of all FramedConcernMemberships of the RequirementDefinition.

" ; + rdfs:label "requirementDefinitionFramedConcern" . + + + a rdf:Property ; + rdfs:comment """

The RequirementUsage representing the objective of this CaseDefinition.

+""" ; + rdfs:label "caseDefinitionObjectiveRequirement" . + + + a rdf:Property ; + rdfs:comment "

The composite ownedRequirements of this ViewDefinition that are ViewpointUsages for viewpoints satisfied by the ViewDefinition.

" ; + rdfs:label "viewDefinitionSatisfiedViewpoint" . + + + a rdf:Property ; + rdfs:comment "

The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries.

" ; + rdfs:label "usageDefinition" . + + + a rdf:Property ; + rdfs:comment "

The OccurrenceUsage referenced as an event by this EventOccurrenceUsage. It is the referenceFeature of the ownedReferenceSubsetting for the EventOccurrenceUsage, if there is one, and, otherwise, the EventOccurrenceUsage itself.

" ; + rdfs:label "eventOccurrenceUsageEventOccurrence" . + + + a rdfs:Class ; + rdfs:comment """

A Structure is a Class of objects in the modeled universe that are primarily structural in nature. While such an object is not itself behavioral, it may be involved in and acted on by Behaviors, and it may be the performer of some of them.

+ +specializesFromLibrary('Objects::Object') +ownedSpecialization.general->forAll(not oclIsKindOf(Behavior))""" ; + rdfs:label "Structure" . + + + a rdf:Property ; + rdfs:comment """

A Conjugation owned by this Type for which the Type is the originalType.

+""" ; + rdfs:label "typeOwnedConjugator" . + + + a rdf:Property ; + rdfs:comment "

The RenderingUsage to be used to render views defined by this ViewUsage, which is the referencedRendering of the ViewRenderingMembership of the ViewUsage.

" ; + rdfs:label "viewUsageViewRendering" . + + + a rdf:Property ; + rdfs:comment "

The Usages that are ownedFeatures of this Definition.

" ; + rdfs:label "definitionOwnedUsage" . + + + a rdfs:Class ; + rdfs:comment """

A ControlNode is an ActionUsage that does not have any inherent behavior but provides constraints on incoming and outgoing Successions that are used to control other Actions. A ControlNode must be a composite owned usage of an ActionDefinition or ActionUsage.

+ +sourceConnector->selectByKind(Succession)-> + collect(connectorEnd->at(1).multiplicity)-> + forAll(sourceMult | + multiplicityHasBounds(sourceMult, 1, 1)) +owningType <> null and +(owningType.oclIsKindOf(ActionDefinition) or + owningType.oclIsKindOf(ActionUsage)) +targetConnector->selectByKind(Succession)-> + collect(connectorEnd->at(2).multiplicity)-> + forAll(targetMult | + multiplicityHasBounds(targetMult, 1, 1)) +specializesFromLibrary('Action::Action::controls')""" ; + rdfs:label "ControlNode" . + + + a rdf:Property ; + rdfs:comment "

The Feature that is referenced by this FeatureReferenceExpression, which is its first non-parameter member.

" ; + rdfs:label "featureReferenceExpressionReferent" . + + + a rdf:Property ; + rdfs:comment """

The textual representation of the representedElement in the given language.

+""" ; + rdfs:label "textualRepresentationBody" . + + + a rdf:Property ; + rdfs:comment """

The ActionUsage to be performed by this PerformedActionUsage. It is the eventOccurrence of the PerformActionUsage considered as an EventOccurrenceUsage, which must be an ActionUsage.

+""" ; + rdfs:label "performActionUsagePerformedAction" . + + + a rdf:Property ; + rdfs:comment """

The Elements that are annotated by this AnnotatingElement. If annotation is not empty, these are the annotatedElements of the annotations. If annotation is empty, then it is the owningNamespace of the AnnotatingElement.

+""" ; + rdfs:label "annotatingElementAnnotatedElement" . + + + a rdf:Property ; + rdfs:comment """

The code>AttributeUsages that are nestedUsages of this Usage.

+""" ; + rdfs:label "usageNestedAttribute" . + + + a rdf:Property ; + rdfs:comment "

Whether this FeatureValue is a concrete specification of the bound or initial value of the featureWithValue, or just a default value that may be overridden.

" ; + rdfs:label "featureValueIsDefault" . + + + a rdf:Property ; + rdfs:comment """

The Element that becomes an ownedMember of the membershipOwningNamespace due to this OwningMembership.

+""" ; + rdfs:label "owningMembershipOwnedMemberElement" . + + + a rdf:Property ; + rdfs:comment "

The ActionUsage of this StateUsage to be performed while in the state defined by the StateDefinition. It is the owned ActionUsage related to the StateUsage by a StateSubactionMembership with kind = do.

" ; + rdfs:label "stateUsageDoAction" . + + + a rdf:Property ; + rdfs:comment """

The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace.

+""" ; + rdfs:label "namespaceOwnedMembership" . + + + a rdf:Property ; + rdfs:comment "

The parameter of this RequirementDefinition that represents its subject.

" ; + rdfs:label "requirementDefinitionSubjectParameter" . + + + a rdf:Property ; + rdfs:comment """

Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature.

+""" ; + rdfs:label "featureType" . + + + a rdfs:Class ; + rdfs:comment """

A Membership is a Relationship between a Namespace and an Element that indicates the Element is a member of (i.e., is contained in) the Namespace. Any memberNames specify how the memberElement is identified in the Namespace and the visibility specifies whether or not the memberElement is publicly visible from outside the Namespace.

+ +

If a Membership is an OwningMembership, then it owns its memberElement, which becomes an ownedMember of the membershipOwningNamespace. Otherwise, the memberNames of a Membership are effectively aliases within the membershipOwningNamespace for an Element with a separate OwningMembership in the same or a different Namespace.

+ +

 

+ +memberElementId = memberElement.elementId""" ; + rdfs:label "Membership" . + + + a rdf:Property ; + rdfs:comment "

The Step that is the ownedMemberFeature of this TransitionFeatureMembership.

" ; + rdfs:label "transitionFeatureMembershipTransitionFeature" . + + + a rdf:Property ; + rdfs:comment """

The Feature that is subsetted by the subsettingFeature of this Subsetting.

+""" ; + rdfs:label "subsettingSubsettedFeature" . + + + a rdf:Property ; + rdfs:comment """

An Expression whose result is bound to the payload input parameter of this SendActionUsage.

+""" ; + rdfs:label "sendActionUsagePayloadArgument" . + + + a rdf:Property ; + rdfs:comment "

The parameters of this RequirementDefinition that represent stakeholders for th requirement.

" ; + rdfs:label "requirementDefinitionStakeholderParameter" . + + + a rdfs:Class ; + rdfs:comment """

A RenderingUsage is the usage of a RenderingDefinition to specify the rendering of a specific model view to produce a physical view artifact.

+ + +specializesFromLibrary('Views::renderings') +owningType <> null and +(owningType.oclIsKindOf(RenderingDefinition) or + owningType.oclIsKindOf(RenderingUsage)) implies + specializesFromLibrary('Views::Rendering::subrenderings') +owningFeatureMembership <> null and +owningFeatureMembership.oclIsKindOf(ViewRenderingMembership) implies + redefinesFromLibrary('Views::View::viewRendering')""" ; + rdfs:label "RenderingUsage" . + + + a rdf:Property ; + rdfs:comment """

The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries.

+""" ; + rdfs:label "actionUsageActionDefinition" . + + + a rdf:Property ; + rdfs:comment """

The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex).

+""" ; + rdfs:label "typeDifferencingType" . + + + a rdf:Property ; + rdfs:comment "

The Elements that are exposed by this ViewUsage, which are those memberElements of the imported Memberships from all the Expose Relationships that meet all the owned and inherited viewConditions.

" ; + rdfs:label "viewUsageExposedElement" . + + + a rdf:Property ; + rdfs:comment "

The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature.

" ; + rdfs:label "featureOwnedTyping" . + + + a rdf:Property ; + rdfs:comment """

The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected.

+""" ; + rdfs:label "typeOwnedIntersecting" . + + + a rdf:Property ; + rdfs:comment "

Whether to recursively import Memberships from visible, owned sub-Namespaces.

" ; + rdfs:label "importIsRecursive" . + + + a rdf:Property ; + rdfs:comment "

An operator symbol that names a corresponding Function from one of the standard packages from the Kernel Function Library .

" ; + rdfs:label "operatorExpressionOperator" . + + + a rdfs:Class ; + rdfs:comment """

An AllocationUsage is a usage of an AllocationDefinition asserting the allocation of the source feature to the target feature.

+specializesFromLibrary('Allocations::allocations')""" ; + rdfs:label "AllocationUsage" . + + + a rdf:Property ; + rdfs:comment "

The ConstraintUsage that is referenced through this RequirementConstraintMembership. It is the referencedFeature of the ownedReferenceSubsetting of the ownedConstraint, if there is one, and, otherwise, the ownedConstraint itself.

" ; + rdfs:label "requirementConstraintMembershipReferencedConstraint" . + + + a rdf:Property ; + rdfs:comment "

The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted.

" ; + rdfs:label "featureOwnedFeatureInverting" . + + + a rdf:Property ; + rdfs:comment """

The RequirementUsage representing the objective of this CaseUsage.

+""" ; + rdfs:label "caseUsageObjectiveRequirement" . + + + a rdf:Property ; + rdfs:comment "

The MetadataUsages that are nestedUsages of this of this Usage.

" ; + rdfs:label "usageNestedMetadata" . + + + a rdfs:Class ; + rdfs:comment """

Featuring is a Relationship between a Type and a Feature that is featured by that Type. It asserts that every instance in the domain of the feature must be classified by the type.

+ +

Featuring is abstract and does not commit to which of feature or type are the source or target of the Relationship. This commitment is made in the subclasses of Featuring, TypeFeaturing and FeatureMembership, which have opposite directions.

""" ; + rdfs:label "Featuring" . + + + a rdf:Property ; + rdfs:comment """

Expressions that must evaluate to true before the transitionStep can occur.

+""" ; + rdfs:label "successionGuardExpression" . + + + a rdf:Property ; + rdfs:comment "

Indicates which of the Functions from the Triggers model in the Kernel Semantic Library is to be invoked by this TriggerInvocationExpression.

" ; + rdfs:label "triggerInvocationExpressionKind" . + + + a rdf:Property ; + rdfs:comment """

The Expression that provides the value of the featureWithValue as its result.

+ +

The Expression that provides the value as a result.

""" ; + rdfs:label "featureValueValue" . + + + a rdfs:Class ; + rdfs:comment """

A Definition is a Classifier of Usages. The actual kinds of Definition that may appear in a model are given by the subclasses of Definition (possibly as extended with user-defined SemanticMetadata).

+ +

Normally, a Definition has owned Usages that model features of the thing being defined. A Definition may also have other Definitions nested in it, but this has no semantic significance, other than the nested scoping resulting from the Definition being considered as a Namespace for any nested Definitions.

+ +

However, if a Definition has isVariation = true, then it represents a variation point Definition. In this case, all of its members must be variant Usages, related to the Definition by VariantMembership Relationships. Rather than being features of the Definition, variant Usages model different concrete alternatives that can be chosen to fill in for an abstract Usage of the variation point Definition.

+ +isVariation implies ownedFeatureMembership->isEmpty() +variant = variantMembership.ownedVariantUsage +variantMembership = ownedMembership->selectByKind(VariantMembership) +isVariation implies + not ownedSpecialization.specific->exists( + oclIsKindOf(Definition) and + oclAsType(Definition).isVariation) +usage = feature->selectByKind(Usage) +directedUsage = directedFeature->selectByKind(Usage) +ownedUsage = ownedFeature->selectByKind(Usage) +ownedAttribute = ownedUsage->selectByKind(AttributeUsage) +ownedReference = ownedUsage->selectByKind(ReferenceUsage) +ownedEnumeration = ownedUsage->selectByKind(EnumerationUsage) +ownedOccurrence = ownedUsage->selectByKind(OccurrenceUsage) +ownedItem = ownedUsage->selectByKind(ItemUsage) +ownedPart = ownedUsage->selectByKind(PartUsage) +ownedPort = ownedUsage->selectByKind(PortUsage) +ownedConnection = ownedUsage->selectByKind(ConnectorAsUsage) +ownedFlow = ownedUsage->selectByKind(FlowConnectionUsage) +ownedInterface = ownedUsage->selectByKind(ReferenceUsage) +ownedAllocation = ownedUsage->selectByKind(AllocationUsage) +ownedAction = ownedUsage->selectByKind(ActionUsage) +ownedState = ownedUsage->selectByKind(StateUsage) +ownedTransition = ownedUsage->selectByKind(TransitionUsage) +ownedCalculation = ownedUsage->selectByKind(CalculationUsage) +ownedConstraint = ownedUsage->selectByKind(ConstraintUsage) +ownedRequirement = ownedUsage->selectByKind(RequirementUsage) +ownedConcern = ownedUsage->selectByKind(ConcernUsage) +ownedCase = ownedUsage->selectByKind(CaseUsage) +ownedAnalysisCase = ownedUsage->selectByKind(AnalysisCaseUsage) +ownedVerificationCase = ownedUsage->selectByKind(VerificationCaseUsage) +ownedUseCase = ownedUsage->selectByKind(UseCaseUsage) +ownedView = ownedUsage->selectByKind(ViewUsage) +ownedViewpoint = ownedUsage->selectByKind(ViewpointUsage) +ownedRendering = ownedUsage->selectByKind(RenderingUsage) +ownedMetadata = ownedUsage->selectByKind(MetadataUsage) +isVariation implies isAbstract""" ; + rdfs:label "Definition" . + + + a rdf:Property ; + rdfs:comment """

The Feature that is referenced by the referencingFeature of this ReferenceSubsetting.

+""" ; + rdfs:label "referenceSubsettingReferencedFeature" . + + + a rdfs:Class ; + rdfs:comment """

A Usage is a usage of a Definition. A Usage may only be an ownedFeature of a Definition or another Usage.

+ +

A Usage may have nestedUsages that model features that apply in the context of the owningUsage. A Usage may also have Definitions nested in it, but this has no semantic significance, other than the nested scoping resulting from the Usage being considered as a Namespace for any nested Definitions.

+ +

However, if a Usage has isVariation = true, then it represents a variation point Usage. In this case, all of its members must be variant Usages, related to the Usage by VariantMembership Relationships. Rather than being features of the Usage, variant Usages model different concrete alternatives that can be chosen to fill in for the variation point Usage.

+variant = variantMembership.ownedVariantUsage +variantMembership = ownedMembership->selectByKind(VariantMembership) +isVariation implies ownedFeatureMembership->isEmpty() +isReference = not isComposite +owningVariationUsage <> null implies + specializes(owningVariationUsage) +isVariation implies + not ownedSpecialization.specific->exists( + oclIsKindOf(Definition) and + oclAsType(Definition).isVariation or + oclIsKindOf(Usage) and + oclAsType(Usage).isVariation) +owningVariationDefinition <> null implies + specializes(owningVariationDefinition) +directedUsage = directedFeature->selectByKind(Usage) +nestedAction = nestedUsage->selectByKind(ActionUsage) +nestedAllocation = nestedUsage->selectByKind(AllocationUsage) +nestedAnalysisCase = nestedUsage->selectByKind(AnalysisCaseUsage) +nestedAttribute = nestedUsage->selectByKind(AttributeUsage) +nestedCalculation = nestedUsage->selectByKind(CalculationUsage) +nestedCase = nestedUsage->selectByKind(CaseUsage) +nestedConcern = nestedUsage->selectByKind(ConcernUsage) +nestedConnection = nestedUsage->selectByKind(ConnectorAsUsage) +nestedConstraint = nestedUsage->selectByKind(ConstraintUsage) +ownedNested = nestedUsage->selectByKind(EnumerationUsage) +nestedFlow = nestedUsage->selectByKind(FlowConnectionUsage) +nestedInterface = nestedUsage->selectByKind(ReferenceUsage) +nestedItem = nestedUsage->selectByKind(ItemUsage) +nestedMetadata = nestedUsage->selectByKind(MetadataUsage) +nestedOccurrence = nestedUsage->selectByKind(OccurrenceUsage) +nestedPart = nestedUsage->selectByKind(PartUsage) +nestedPort = nestedUsage->selectByKind(PortUsage) +nestedReference = nestedUsage->selectByKind(ReferenceUsage) +nestedRendering = nestedUsage->selectByKind(RenderingUsage) +nestedRequirement = nestedUsage->selectByKind(RequirementUsage) +nestedState = nestedUsage->selectByKind(StateUsage) +nestedTransition = nestedUsage->selectByKind(TransitionUsage) +nestedUsage = ownedFeature->selectByKind(Usage) +nestedUseCase = nestedUsage->selectByKind(UseCaseUsage) +nestedVerificationCase = nestedUsage->selectByKind(VerificationCaseUsage) +nestedView = nestedUsage->selectByKind(ViewUsage) +nestedViewpoint = nestedUsage->selectByKind(ViewpointUsage) +usage = feature->selectByKind(Usage) +direction <> null or isEnd or featuringType->isEmpty() implies + isReference +isVariation implies isAbstract""" ; + rdfs:label "Usage" . + + + a rdfs:Class ; + rdfs:comment """

A FlowConnectionUsage is a ConnectionUsage that is also an ItemFlow.

+if ownedEndFeatures->isEmpty() then + specializesFromLibrary('Connections::messageConnections') +else + specializesFromLibrary('Connections::flowConnections') +endif""" ; + rdfs:label "FlowConnectionUsage" . + + + a rdf:Property ; + rdfs:comment "

The nestedReference of this AcceptActionUsage that redefines the payload output parameter of the base AcceptActionUsage AcceptAction from the Systems Model Library.

" ; + rdfs:label "acceptActionUsagePayloadParameter" . + + + a rdf:Property ; + rdfs:comment "

The Function that is the type of this CalculationUsage. Nominally, this would be a CalculationDefinition, but a kernel Function is also allowed, to permit use of Functions from the Kernel Model Libraries.

" ; + rdfs:label "calculationUsageCalculationDefinition" . + + + a rdf:Property ; + rdfs:comment """

The Element that becomes a member of the membershipOwningNamespace due to this Membership.

+""" ; + rdfs:label "membershipMemberElement" . + + + a rdfs:Class ; + rdfs:comment """

A CollectExpression is an OperatorExpression whose operator is \"collect\", which resolves to the Function ControlFunctions::collect from the Kernel Functions Library.

+operator = \"collect\"""" ; + rdfs:label "CollectExpression" . + + + a rdf:Property ; + rdfs:comment "

The AnalysisCaseDefinition that is the definition of this AnalysisCaseUsage.

" ; + rdfs:label "analysisCaseUsageAnalysisCaseDefinition" . + + + a rdf:Property ; + rdfs:comment "

The Element or Elements on which the client Elements depend in some respect.

" ; + rdfs:label "dependencySupplier" . + + + a rdf:Property ; + rdfs:comment """

The RequirementUsage that is the ownedMemberFeature of this RequirementUsage.

+""" ; + rdfs:label "objectiveMembershipOwnedObjectiveRequirement" . + + + a rdf:Property ; + rdfs:comment """

An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes.

+ +

 

+""" ; + rdfs:label "typeMultiplicity" . + + + a rdf:Property ; + rdfs:comment """

The ActionUsages that are nestedUsages of this Usage.

+""" ; + rdfs:label "usageNestedAction" . + + + a rdf:Property ; + rdfs:comment "

The ownedMemberships of this Definition that are VariantMemberships. If isVariation = true, then this must be all ownedMemberships of the Definition. If isVariation = false, then variantMembershipmust be empty.

" ; + rdfs:label "definitionVariantMembership" . + + + a rdf:Property ; + rdfs:comment "

The Type that features the featureOfType. It is the target of the TypeFeaturing.

" ; + rdfs:label "typeFeaturingFeaturingType" . + + + a rdfs:Class ; + rdfs:comment """

A RequirementVerificationMembership is a RequirementConstraintMembership used in the objective of a VerificationCase to identify a RequirementUsage that is verified by the VerificationCase.

+kind = RequirementConstraintKind::requirement +owningType.oclIsKindOf(RequirementUsage) and +owningType.owningFeatureMembership <> null and +owningType.owningFeatureMembership.oclIsKindOf(ObjectiveMembership)""" ; + rdfs:label "RequirementVerificationMembership" . + + + a rdf:Property ; + rdfs:comment """

The AnalysisCaseUsages that are nestedUsages of this Usage.

+""" ; + rdfs:label "usageNestedAnalysisCase" . + + + a rdf:Property ; + rdfs:comment "

The Interactions that type this ItemFlow. Interactions are both Associations and Behaviors, which can type Connectors and Steps, respectively.

" ; + rdfs:label "itemFlowInteraction" . + + + a rdfs:Class ; + rdfs:comment """

A StateUsage is an ActionUsage that is nominally the Usage of a StateDefinition. However, other kinds of kernel Behaviors are also allowed as types, to permit use of Behaviors + +

A StateUsage may be related to up to three of its ownedFeatures by StateSubactionMembership Relationships, all of different kinds, corresponding to the entry, do and exit actions of the StateUsage.

+ +doAction = + let doMemberships : Sequence(StateSubactionMembership) = + ownedMembership-> + selectByKind(StateSubactionMembership)-> + select(kind = StateSubactionKind::do) in + if doMemberships->isEmpty() then null + else doMemberships->at(1) + endif +entryAction = + let entryMemberships : Sequence(StateSubactionMembership) = + ownedMembership-> + selectByKind(StateSubactionMembership)-> + select(kind = StateSubactionKind::entry) in + if entryMemberships->isEmpty() then null + else entryMemberships->at(1) + endif +isParallel implies + nestedAction.incomingTransition->isEmpty() and + nestedAction.outgoingTransition->isEmpty() +isSubstateUsage(true) implies + specializesFromLibrary('States::State::substates') +exitAction = + let exitMemberships : Sequence(StateSubactionMembership) = + ownedMembership-> + selectByKind(StateSubactionMembership)-> + select(kind = StateSubactionKind::exit) in + if exitMemberships->isEmpty() then null + else exitMemberships->at(1) + endif +specializesFromLibrary('States::stateActions') +ownedMembership-> + selectByKind(StateSubactionMembership)-> + isUnique(kind) +isSubstateUsage(false) implies + specializesFromLibrary('States::State::substates')""" ; + rdfs:label "StateUsage" . + + + a rdfs:Class ; + rdfs:comment "

A BindingConnectorAsUsage is both a BindingConnector and a ConnectorAsUsage.

" ; + rdfs:label "BindingConnectorAsUsage" . + + + a rdf:Property ; + rdfs:comment """

The natural or artifical language in which the body text is written.

+""" ; + rdfs:label "textualRepresentationLanguage" . + + + a rdf:Property ; + rdfs:comment """

The usages of this Usage that are directedFeatures.

+""" ; + rdfs:label "usageDirectedUsage" . + + + a rdf:Property ; + rdfs:comment """

Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does.

+""" ; + rdfs:label "featureIsComposite" . + + + a rdf:Property ; + rdfs:comment "

The owned RequirementUsage that acts as the ownedConstraint for this RequirementVerificationMembership. This will either be the verifiedRequirement, or it will subset the verifiedRequirement.

" ; + rdfs:label "requirementVerificationMembershipOwnedRequirement" . + + + a rdf:Property ; + rdfs:comment """

The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace.

+""" ; + rdfs:label "namespaceMember" . + + + a rdfs:Class ; + rdfs:comment """

An InterfaceDefinition is a ConnectionDefinition all of whose ends are PortUsages, defining an interface between elements that interact through such ports.

+specializesFromLibrary('Interfaces::Interface') +ownedEndFeature->size() = 2 implies + specializesFromLibrary('Interfaces::BinaryInterface')""" ; + rdfs:label "InterfaceDefinition" . + + + a rdfs:Class ; + rdfs:comment """

A MetadataUsage is a Usage and a MetadataFeature, used to annotate other Elements in a system model with metadata. As a MetadataFeature, its type must be a Metaclass, which will nominally be a MetadataDefinition. However, any kernel Metaclass is also allowed, to permit use of Metaclasses from the Kernel Model Libraries.

+specializesFromLibrary('Metadata::metadataItems')""" ; + rdfs:label "MetadataUsage" . + + + a rdf:Property ; + rdfs:comment "

The parameters of this RequirementUsage that represent actors involved in the requirement.

" ; + rdfs:label "requirementUsageActorParameter" . + + + a rdf:Property ; + rdfs:comment "

Whether this Definition is for a variation point or not. If true, then all the memberships of the Definition must be VariantMemberships.

" ; + rdfs:label "definitionIsVariation" . + + + a rdf:Property ; + rdfs:comment "

The ConcernUsages framed by this RequirementUsage, which are the ownedConcerns of all FramedConcernMemberships of the RequirementUsage.

" ; + rdfs:label "requirementUsageFramedConcern" . + + + a rdfs:Class ; + rdfs:comment """

An ItemFlow is a Step that represents the transfer of objects or data values from one Feature to another. ItemFlows can take non-zero time to complete.

+ +if itemFlowEnds->isEmpty() then + specializesFromLibrary('Transfers::transfers') +else + specializesFromLibrary('Transfers::flowTransfers') +endif +itemType = + if itemFeature = null then Sequence{} + else itemFeature.type + endif +sourceOutputFeature = + if connectorEnd->isEmpty() or + connectorEnd.ownedFeature->isEmpty() + then null + else connectorEnd.ownedFeature->first() + endif +targetInputFeature = + if connectorEnd->size() < 2 or + connectorEnd->at(2).ownedFeature->isEmpty() + then null + else connectorEnd->at(2).ownedFeature->first() + endif +itemFlowEnd = connectorEnd->selectByKind(ItemFlowEnd) +itemFeature = + let itemFeatures : Sequence(ItemFeature) = + ownedFeature->selectByKind(ItemFeature) in + if itemFeatures->isEmpty() then null + else itemFeatures->first() + endif +ownedFeature->selectByKind(ItemFeature)->size() <= 1""" ; + rdfs:label "ItemFlow" . + + + a rdf:Property ; + rdfs:comment "

The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty.

" ; + rdfs:label "usageVariantMembership" . + + + a rdf:Property ; + rdfs:comment "

The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType.

" ; + rdfs:label "featureOwnedTypeFeaturing" . + + + a rdf:Property ; + rdfs:comment """

The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step.

+""" ; + rdfs:label "stepParameter" . + + + a rdfs:Class ; + rdfs:comment "

FeatureChaining is a Relationship that makes its target Feature one of the chainingFeatures of its owning Feature.

" ; + rdfs:label "FeatureChaining" . + + + a rdf:Property ; + rdfs:comment "

The ItemUsages that are nestedUsages of this Usage.

" ; + rdfs:label "usageNestedItem" . + + + a rdf:Property ; + rdfs:comment "

The UseCaseUsages that are included by this UseCaseDefinition, which are the useCaseIncludeds of the IncludeUseCaseUsages owned by this UseCaseDefinition.

" ; + rdfs:label "useCaseDefinitionIncludedUseCase" . + + + a rdf:Property ; + rdfs:comment "

The Structures that are the definitions of this ItemUsage. Nominally, these are ItemDefinitions, but other kinds of Kernel Structures are also allowed, to permit use of Structures from the Kernel Library.

" ; + rdfs:label "itemUsageItemDefinition" . + + + a rdf:Property ; + rdfs:comment """

An Expression whose result is bound to the receiver input parameter of this AcceptActionUsage.

+""" ; + rdfs:label "acceptActionUsageReceiverArgument" . + + + a rdf:Property ; + rdfs:comment "

The parameter of this RequirementUsage that represents its subject.

" ; + rdfs:label "requirementUsageSubjectParameter" . + + + a rdf:Property ; + rdfs:comment "

The parameter of this CaseDefinition that represents its subject.

" ; + rdfs:label "caseDefinitionSubjectParameter" . + + + a rdf:Property ; + rdfs:comment "

All features of this Type with isEnd = true.

" ; + rdfs:label "typeEndFeature" . + + + a rdf:Property ; + rdfs:comment "

The Feature that is featured by the featuringType.

" ; + rdfs:label "featuringFeature" . + + + a rdf:Property ; + rdfs:comment "

The parameters of this RequirementUsage that represent stakeholders for the requirement.

" ; + rdfs:label "requirementUsageStakeholderParameter" . + + + a rdf:Property ; + rdfs:comment "

A typeDisjoined that is also an owningRelatedElement.

" ; + rdfs:label "disjoiningOwningType" . + + + a rdf:Property ; + rdfs:comment "

The Feature that is an inverse of the invertedFeature.

" ; + rdfs:label "featureInvertingInvertingFeature" . + + + a rdf:Property ; + rdfs:comment """

The PortUsages that are the connectionEnds of this InterfaceDefinition. + +""" ; + rdfs:label "interfaceDefinitionInterfaceEnd" . + + + a rdf:Property ; + rdfs:comment """

The ownedMemberFeatures of the ownedFeatureMemberships of this Type.

+""" ; + rdfs:label "typeOwnedFeature" . + + + a rdfs:Class ; + rdfs:comment """

Differencing is a Relationship that makes its differencingType one of the differencingTypes of its typeDifferenced.

+""" ; + rdfs:label "Differencing" . + + + a rdfs:Class ; + rdfs:comment """

A SuccessionItemFlow is an ItemFlow that also provides temporal ordering. It classifies Transfers that cannot start until the source Occurrence has completed and that must complete before the target Occurrence can start.

+specializesFromLibrary('Transfers::flowTransfersBefore')""" ; + rdfs:label "SuccessionItemFlow" . + + + a rdf:Property ; + rdfs:comment """

The features of the Association that identify the things that can be related by it. A concrete Association must have at least two associationEnds. When it has exactly two, the Association is called a binary Association.

+ +

The ends of the Association determine which elements are eligible to be related by instances of the Association.

+""" ; + rdfs:label "associationAssociationEnd" . + + + a rdf:Property ; + rdfs:label "featureIsNonunique" . + + + a rdf:Property ; + rdfs:comment "

The at most one occurrenceDefinition that has isIndividual = true.

" ; + rdfs:label "occurrenceUsageIndividualDefinition" . + + + a rdf:Property ; + rdfs:comment "

The DataTypes that are the types of this AttributeUsage. Nominally, these are AttributeDefinitions, but other kinds of kernel DataTypes are also allowed, to permit use of DataTypes from the Kernel Model Libraries.

" ; + rdfs:label "attributeUsageAttributeDefinition" . + + + a rdf:Property ; + rdfs:comment """

Whether the nestedStates of this StateUsage are to all be performed in parallel. If true, none of the nestedActions (which include nestedStates) may have any incoming or outgoing Transitions. If false, only one nestedState may be performed at a time.

+""" ; + rdfs:label "stateUsageIsParallel" . + + + a rdf:Property ; + rdfs:comment """

The Predicate that types this BooleanExpression.

+

The Predicate that types the Expression.

+""" ; + rdfs:label "booleanExpressionPredicate" . + + + a rdf:Property ; + rdfs:comment """

The ViewpointUsages that are nestedUsages of this Usage.

+""" ; + rdfs:label "usageNestedViewpoint" . + + + a rdfs:Class ; + rdfs:comment """

A MultiplicityRange is a Multiplicity whose value is defined to be the (inclusive) range of natural numbers given by the result of a lowerBound Expression and the result of an upperBound Expression. The result of these Expressions shall be of type Natural. If the result of the upperBound Expression is the unbounded value *, then the specified range includes all natural numbers greater than or equal to the lowerBound value. If no lowerBound Expression, then the default is that the lower bound has the same value as the upper bound, except if the upperBound evaluates to *, in which case the default for the lower bound is 0.

+ +bound->forAll(b | b.featuringType = self.featuringType) +bound->forAll(b | + b.result.specializesFromLibrary('ScalarValues::Integer') and + let value : UnlimitedNatural = valueOf(b) in + value <> null implies value >= 0 +) +lowerBound = + let ownedMembers : Sequence(Element) = + ownedMembership->selectByKind(OwningMembership).ownedMember in + if ownedMembers->size() < 2 or + not ownedMembers->first().oclIsKindOf(Expression) then null + else ownedMembers->first().oclAsType(Expression) + endif +upperBound = + let ownedMembers : Sequence(Element) = + ownedMembership->selectByKind(OwningMembership).ownedMember in + if ownedMembers->isEmpty() or + not ownedMembers->last().oclIsKindOf(Expression) + then null + else ownedMembers->last().oclAsType(Expression) + endif """ ; + rdfs:label "MultiplicityRange" . + + + a rdf:Property ; + rdfs:comment "

The type of this MetadataFeature, which must be a Metaclass.

" ; + rdfs:label "metadataFeatureMetaclass" . + + + a rdf:Property ; + rdfs:comment """

The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type.

+""" ; + rdfs:label "typeOwnedFeatureMembership" . + + + a rdf:Property ; + rdfs:comment """

The Feature that owns this ReferenceSubsetting relationship, which is also its subsettingFeature.

+""" ; + rdfs:label "referenceSubsettingReferencingFeature" . + + + a rdfs:Class ; + rdfs:comment """

A LiteralInfinity is a LiteralExpression that provides the positive infinity value (*). It's result must have the type Positive.

+ +specializesFromLibrary('Performances::literalIntegerEvaluations')""" ; + rdfs:label "LiteralInfinity" . + + + a rdfs:Class ; + rdfs:comment """

An InterfaceUsage is a Usage of an InterfaceDefinition to represent an interface connecting parts of a system through specific ports.

+ownedEndFeature->size() = 2 implies + specializesFromLibrary('Interfaces::binaryInterfaces') +specializesFromLibrary('Interfaces::interfaces')""" ; + rdfs:label "InterfaceUsage" . + + + a rdf:Property ; + rdfs:comment """

The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature.

+ +""" ; + rdfs:label "featureOwnedRedefinition" . + + + a rdf:Property ; + rdfs:comment """

The Namespace into which Memberships are imported by this Import, which must be the owningRelatedElement of the Import.

+""" ; + rdfs:label "importImportOwningNamespace" . + + + a rdf:Property ; + rdfs:comment "

The InterfaceDefinitions that type this InterfaceUsage.

" ; + rdfs:label "interfaceUsageInterfaceDefinition" . + + + a rdfs:Class ; + rdfs:comment """

A PerformActionUsage is an ActionUsage that represents the performance of an ActionUsage. Unless it is the PerformActionUsage itself, the ActionUsage to be performed is related to the PerformActionUsage by a ReferenceSubsetting relationship. A PerformActionUsage is also an EventOccurrenceUsage, with its performedAction as the eventOccurrence.

+ownedReferenceSubsetting <> null implies + ownedReferenceSubsetting.referencedFeature.oclIsKindOf(ActionUsage) +owningType <> null and +(owningType.oclIsKindOf(PartDefinition) or + owningType.oclIsKindOf(PartUsage)) implies + specializesFromLibrary('Parts::Part::performedActions')""" ; + rdfs:label "PerformActionUsage" . + + + a rdfs:Class ; + rdfs:comment """

A TransitionUsage is an ActionUsage representing a triggered transition between ActionUsages or StateUsages. When triggered by a triggerAction, when its guardExpression is true, the TransitionUsage asserts that its source is exited, then its effectAction (if any) is performed, and then its target is entered.

+ +

A TransitionUsage can be related to some of its ownedFeatures using TransitionFeatureMembership Relationships, corresponding to the triggerAction, guardExpression and effectAction of the TransitionUsage.

+isComposite and owningType <> null and +(owningType.oclIsKindOf(ActionDefinition) or + owningType.oclIsKindOf(ActionUsage)) and +not (owningType.oclIsKindOf(StateDefinition) or + owningType.oclIsKindOf(StateUsage)) implies + specializesFromLibrary('Actions::Action::decisionTransitions') +isComposite and owningType <> null and +(owningType.oclIsKindOf(StateDefinition) or + owningType.oclIsKindOf(StateUsage)) implies + specializesFromLibrary(\"States::State::stateTransitions\") +specializesFromLibrary('Actions::transitionActions') +source = + if ownedMembership->isEmpty() then null + else + let member : Element = + ownedMembership->at(1).memberElement in + if not member.oclIsKindOf(ActionUsage) then null + else member.oclAsKindOf(ActionUsage) + endif + endif +target = + if succession.targetFeature->isEmpty() then null + else + let targetFeature : Feature = + succession.targetFeature->at(1) in + if not targetFeature.oclIsKindOf(ActionUsage) then null + else targetFeature.oclAsType(ActionUsage) + endif + endif +triggerAction = ownedFeatureMembership-> + selectByKind(TransitionFeatureMembership)-> + select(kind = TransitionFeatureKind::trigger).transitionFeature-> + selectByKind(AcceptActionUsage) +let successions : Sequence(Successions) = + ownedMember->selectByKind(Succession) in +successions->notEmpty() and +successions->at(1).targetFeature-> + forAll(oclIsKindOf(ActionUsage)) +guardExpression = ownedFeatureMembership-> + selectByKind(TransitionFeatureMembership)-> + select(kind = TransitionFeatureKind::trigger).transitionFeature-> + selectByKind(Expression) +triggerAction->forAll(specializesFromLibrary('Actions::TransitionAction::accepter') and +guardExpression->forAll(specializesFromLibrary('Actions::TransitionAction::guard') and +effectAction->forAll(specializesFromLibrary('Actions::TransitionAction::effect')) +triggerAction = ownedFeatureMembership-> + selectByKind(TransitionFeatureMembership)-> + select(kind = TransitionFeatureKind::trigger).transitionFeatures-> + selectByKind(AcceptActionUsage) +succession.sourceFeature = source +ownedMember->selectByKind(BindingConnector)->exists(b | + b.relatedFeatures->includes(source) and + b.relatedFeatures->includes(inputParameter(1))) +triggerAction->notEmpty() implies + let payloadParameter : Feature = inputParameter(2) in + payloadParameter <> null and + payloadParameter.subsetsChain(triggerAction->at(1), triggerPayloadParameter()) +ownedMember->selectByKind(BindingConnector)->exists(b | + b.relatedFeatures->includes(succession) and + b.relatedFeatures->includes(resolveGlobal( + 'TransitionPerformances::TransitionPerformance::transitionLink'))) +if triggerAction->isEmpty() then + inputParameters()->size() >= 1 +else + inputParameters()->size() >= 2 +endif + +succession = ownedMember->selectByKind(Succession)->at(1)""" ; + rdfs:label "TransitionUsage" . + + + a rdf:Property ; + rdfs:comment "

The Usages that are features of this Definition (not necessarily owned).

" ; + rdfs:label "definitionUsage" . + + + a rdfs:Class ; + rdfs:comment """

A VerificationCaseUsage is a Usage of a VerificationCaseDefinition.

+verifiedRequirement = + if objectiveRequirement = null then OrderedSet{} + else + objectiveRequirement.featureMembership-> + selectByKind(RequirementVerificationMembership). + verifiedRequirement->asOrderedSet() + endif +specializesFromLibrary('VerificationCases::verificationCases') +isComposite and owningType <> null and + (owningType.oclIsKindOf(VerificationCaseDefinition) or + owningType.oclIsKindOf(VerificationCaseUsage)) implies + specializesFromLibrary('VerificationCases::VerificationCase::subVerificationCases')""" ; + rdfs:label "VerificationCaseUsage" . + + + a rdfs:Class ; + rdfs:comment """

A PortDefinition defines a point at which external entities can connect to and interact with a system or part of a system. Any ownedUsages of a PortDefinition, other than PortUsages, must not be composite.

+ + + +conjugatedPortDefinition = +let conjugatedPortDefinitions : OrderedSet(ConjugatedPortDefinition) = + ownedMember->selectByKind(ConjugatedPortDefinition) in +if conjugatedPortDefinitions->isEmpty() then null +else conjugatedPortDefinitions->first() +endif +ownedUsage-> + reject(oclIsKindOf(PortUsage))-> + forAll(not isComposite) +not oclIsKindOf(ConjugatedPortDefinition) implies + ownedMember-> + selectByKind(ConjugatedPortDefinition)-> + size() = 1 +specializesFromLibrary('Ports::Port')""" ; + rdfs:label "PortDefinition" . + + + a rdf:Property ; + rdfs:comment "

The (single) Predicate that is the type of this ConstraintUsage. Nominally, this will be a ConstraintDefinition, but other kinds of Predicates are also allowed, to permit use of Predicates from the Kernel Model Libraries.

" ; + rdfs:label "constraintUsageConstraintDefinition" . + + + a rdf:Property ; + rdfs:comment "

The Documentation owned by this Element.

" ; + rdfs:label "elementDocumentation" . + + + a rdf:Property ; + rdfs:comment "

The ActionUsage of this StateDefinition to be performed on exit to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateDefinition by a StateSubactionMembership with kind = exit.

" ; + rdfs:label "stateDefinitionExitAction" . + + + a rdf:Property ; + rdfs:comment """

The Feature that is identified as a parameter by this ParameterMembership.

+""" ; + rdfs:label "parameterMembershipOwnedMemberParameter" . + + + a rdf:Property ; + rdfs:comment """

The RequirementUsages that are nestedUsages of this Usage.

+""" ; + rdfs:label "usageNestedRequirement" . + + + a rdf:Property ; + rdfs:comment "

The TransitionUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedTransition" . + + + a rdf:Property ; + rdfs:comment """

The types of the associationEnds of the Association, which are the relatedElements of the Association considered as a Relationship.

+""" ; + rdfs:label "associationRelatedType" . + + + a rdfs:Class ; + rdfs:comment """

A LiteralInteger is a LiteralExpression that provides an Integer value as a result. Its result parameter must have the type Integer.

+ +specializesFromLibrary('Performances::literalIntegerEvaluations')""" ; + rdfs:label "LiteralInteger" . + + + a rdf:Property ; + rdfs:comment """

The Type that is the specific Type of this Specialization and owns it as its owningRelatedElement.

+""" ; + rdfs:label "specializationOwningType" . + + + a rdfs:Class ; + rdfs:comment """

A ViewpointDefinition is a RequirementDefinition that specifies one or more stakeholder concerns that are to be satisfied by creating a view of a model.

+viewpointStakeholder = framedConcern.featureMemberhsip-> + selectByKind(StakeholderMembership). + ownedStakeholderParameter +specializesFromLibrary('Views::Viewpoint')""" ; + rdfs:label "ViewpointDefinition" . + + + a rdfs:Class ; + rdfs:comment """

A LoopActionUsage is an ActionUsage that specifies that its bodyAction should be performed repeatedly. Its subclasses WhileLoopActionUsage and ForLoopActionUsage provide different ways to determine how many times the bodyAction should be performed.

+bodyAction = + let parameter : Feature = inputParameter(2) in + if parameter <> null and parameter.oclIsKindOf(Action) then + parameter.oclAsType(Action) + else + null + endif +""" ; + rdfs:label "LoopActionUsage" . + + + a rdf:Property ; + rdfs:comment """

The Type to be conjugated.

+""" ; + rdfs:label "conjugationOriginalType" . + + + a rdf:Property ; + rdfs:comment """

Indicates whether this Type has an ownedConjugator.

+""" ; + rdfs:label "typeIsConjugated" . + + + a rdfs:Class ; + rdfs:comment "

A MembershipExpose is an Expose that exposes a specific importedMembership and, if isRecursive = true, additional Memberships recursively.

" ; + rdfs:label "MembershipExpose" . + + + a rdf:Property ; + rdfs:label "invocationExpressionOperand" . + + + a rdf:Property ; + rdfs:comment """

The result parameter of the Function, which is owned by the Function via a ReturnParameterMembership.

+ +

The object or value that is the result of evaluating the Function.

""" ; + rdfs:label "functionResult" . + + + a rdf:Property ; + rdfs:comment "

The actions of this CalculationDefinition that are CalculationUsages.

" ; + rdfs:label "calculationDefinitionCalculation" . + + + a rdf:Property ; + rdfs:comment "

Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature.

" ; + rdfs:label "featureFeaturingType" . + + + a rdf:Property ; + rdfs:comment "

The ConstraintUsage that is the ownedMemberFeature of this RequirementConstraintMembership.

" ; + rdfs:label "requirementConstraintMembershipOwnedConstraint" . + + + a rdfs:Class ; + rdfs:comment """

An ActorMembership is a ParameterMembership that identifies a PartUsage as an actor parameter, which specifies a role played by an external entity in interaction with the owningType of the ActorMembership.

+owningType.oclIsKindOf(RequirementUsage) or +owningType.oclIsKindOf(RequirementDefinition) or +owningType.oclIsKindOf(CaseDefinition) or +owningType.oclIsKindOf(CaseUsage) +""" ; + rdfs:label "ActorMembership" . + + + a rdf:Property ; + rdfs:comment """

The Expressions that are steps in the calculation of the result of this Function.

+ +

The set of expressions that represent computational steps or parts of a system of equations within the Function.

+""" ; + rdfs:label "functionExpression" . + + + a rdf:Property ; + rdfs:comment "

The Type that is the owningType of the owningFeatureMembership of this Feature.

" ; + rdfs:label "featureOwningType" . + + + a rdfs:Class ; + rdfs:comment """

A ViewRenderingMembership is a FeatureMembership that identifies the viewRendering of a ViewDefinition or ViewUsage.

+referencedRendering = + let reference: ReferenceSubsetting = + ownedRendering.ownedReferenceSubsetting in + if reference = null then ownedRendering + else if not reference.referencedFeature.oclIsKindOf(RenderingUsage) then null + else reference.referencedFeature.oclAsType(RenderingUsage) + endif +owningType.oclIsKindOf(ViewDefinition) or +owningType.oclIsKindOf(ViewUsage)""" ; + rdfs:label "ViewRenderingMembership" . + + + a rdfs:Class ; + rdfs:comment """

An Import is an Relationship between its importOwningNamespace and either a Membership (for a MembershipImport) or another Namespace (for a NamespaceImport), which determines a set of Memberships that become importedMemberships of the importOwningNamespace. If isImportAll = false (the default), then only public Memberships are considered "visible". If isImportAll = true, then all Memberships are considered "visible", regardless of their declared visibility. If isRecursive = true, then visible Memberships are also recursively imported from owned sub-Namespaces.

+ +""" ; + rdfs:label "Import" . + + + a rdfs:Class ; + rdfs:comment """

A Behavior coordinates occurrences of other Behaviors, as well as changes in objects. Behaviors can be decomposed into Steps and be characterized by parameters.

+ +specializesFromLibrary('Performances::Performance') +step = feature->selectByKind(Step) +ownedSpecialization.general->forAll(not oclIsKindOf(Structure))""" ; + rdfs:label "Behavior" . + + + a rdf:Property ; + rdfs:comment "

The RenderingDefinition that is the definition of this RenderingUsage.

" ; + rdfs:label "renderingUsageRenderingDefinition" . + + + a rdf:Property ; + rdfs:comment "

The RequirementDefinition that is the single definition of this RequirementUsage.

" ; + rdfs:label "requirementUsageRequirementDefinition" . + + + a rdf:Property ; + rdfs:comment "

The owned ConstraintUsages that represent requirements of this RequirementUsage, which are the ownedConstraints of the RequirementConstraintMemberships of the RequirementUsage with kind = requirement.

" ; + rdfs:label "requirementUsageRequiredConstraint" . + + + a rdf:Property ; + rdfs:comment """

Type asserted to be disjoint with the disjoiningType.

+""" ; + rdfs:label "disjoiningTypeDisjoined" . + + + a rdfs:Class ; + rdfs:comment """

An Expose is an Import of Memberships into a ViewUsage that provide the Elements to be included in a view. Visibility is always ignored for an Expose (i.e., isImportAll = true).

+isImportAll +importOwningNamespace.oclIsType(ViewUsage)""" ; + rdfs:label "Expose" . + + + a rdf:Property ; + rdfs:comment """

The VerificationCaseUsages that are nestedUsages of this Usage.

+""" ; + rdfs:label "usageNestedVerificationCase" . + + + a rdf:Property ; + rdfs:comment """

The ownedFeature of the ItemFlow that is an ItemFeature (if any).

+""" ; + rdfs:label "itemFlowItemFeature" . + + + a rdf:Property ; + rdfs:comment """

Type that partly determines interpretations of typeDifferenced, as described in Type::differencingType.

+""" ; + rdfs:label "differencingDifferencingType" . + + + a rdfs:Class ; + rdfs:comment """

A RequirementUsage is a Usage of a RequirementDefinition.

+actorParameter = featureMembership-> + selectByKind(ActorMembership). + ownedActorParameter +assumedConstraint = ownedFeatureMembership-> + selectByKind(RequirementConstraintMembership)-> + select(kind = RequirementConstraintKind::assumption). + ownedConstraint +framedConcern = featureMembership-> + selectByKind(FramedConcernMembership). + ownedConcern +requiredConstraint = ownedFeatureMembership-> + selectByKind(RequirementConstraintMembership)-> + select(kind = RequirementConstraintKind::requirement). + ownedConstraint +stakeholderParameter = featureMembership-> + selectByKind(AStakholderMembership). + ownedStakeholderParameter +subjectParameter = + let subjects : OrderedSet(SubjectMembership) = + featureMembership->selectByKind(SubjectMembership) in + if subjects->isEmpty() then null + else subjects->first().ownedSubjectParameter + endif +text = documentation.body +featureMembership-> + selectByKind(SubjectMembership)-> + size() <= 1 +input->notEmpty() and input->first() = subjectParameter +specializesFromLibrary('Requirements::requirementChecks') +isComposite and owningType <> null and + (owningType.oclIsKindOf(RequirementDefinition) or + owningType.oclIsKindOf(RequirementUsage)) implies + specializesFromLibrary('Requirements::RequirementCheck::subrequirements') +owningfeatureMembership <> null and +owningfeatureMembership.oclIsKindOf(ObjectiveMembership) implies + owningType.ownedSpecialization.general->forAll(gen | + (gen.oclIsKindOf(CaseDefinition) implies + redefines(gen.oclAsType(CaseDefinition).objectiveRequirement)) and + (gen.oclIsKindOf(CaseUsage) implies + redefines(gen.oclAsType(CaseUsage).objectiveRequirement)) +owningFeatureMembership <> null and +owningFeatureMembership.oclIsKindOf(RequirementVerificationMembership) implies + specializesFromLibrary('VerificationCases::VerificationCase::obj::requirementVerifications')""" ; + rdfs:label "RequirementUsage" . + + + a rdf:Property ; + rdfs:comment """

The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace.

+""" ; + rdfs:label "namespaceOwnedImport" . + + + a rdfs:Class ; + rdfs:comment """

A CaseUsage is a Usage of a CaseDefinition.

+objectiveRequirement = + let objectives: OrderedSet(RequirementUsage) = + featureMembership-> + selectByKind(ObjectiveMembership). + ownedRequirement in + if objectives->isEmpty() then null + else objectives->first().ownedObjectiveRequirement + endif +featureMembership-> + selectByKind(ObjectiveMembership)-> + size() <= 1 +featureMembership-> + selectByKind(SubjectMembership)-> + size() <= 1 +actorParameter = featureMembership-> + selectByKind(ActorMembership). + ownedActorParameter +subjectParameter = + let subjects : OrderedSet(SubjectMembership) = + featureMembership->selectByKind(SubjectMembership) in + if subjects->isEmpty() then null + else subjects->first().ownedSubjectParameter + endif +input->notEmpty() and input->first() = subjectParameter +specializesFromLibrary('Cases::cases') +isComposite and owningType <> null and + (owningType.oclIsKindOf(CaseDefinition) or + owningType.oclIsKindOf(CaseUsage)) implies + specializesFromLibrary('Cases::Case::subcases')""" ; + rdfs:label "CaseUsage" . + + + a rdf:Property ; + rdfs:comment "

The Feature that is accessed by this FeatureChainExpression, which is its first non-parameter member.

" ; + rdfs:label "featureChainExpressionTargetFeature" . + + + a rdf:Property ; + rdfs:comment """

The ConstraintUsages that are nestedUsages of this Usage.

+""" ; + rdfs:label "usageNestedConstraint" . + + + a rdf:Property ; + rdfs:comment "

The owned ConstraintUsages that represent assumptions of this RequirementDefinition, which are the ownedConstraints of the RequirementConstraintMemberships of the RequirementDefinition with kind = assumption.

" ; + rdfs:label "requirementDefinitionAssumedConstraint" . + + + a rdfs:Class ; + rdfs:comment """

An OwningMembership is a Membership that owns its memberElement as a ownedRelatedElement. The ownedMemberElement becomes an ownedMember of the membershipOwningNamespace.

+ +ownedMemberName = ownedMemberElement.name +ownedMemberShortName = ownedMemberElement.shortName""" ; + rdfs:label "OwningMembership" . + + + a rdfs:Class ; + rdfs:comment """

A Function is a Behavior that has an out parameter that is identified as its result. A Function represents the performance of a calculation that produces the values of its result parameter. This calculation may be decomposed into Expressions that are steps of the Function.

+ +ownedMembership.selectByKind(ResultExpressionMembership)-> + forAll(mem | ownedFeature.selectByKind(BindingConnector)-> + exists(binding | + binding.relatedFeature->includes(result) and + binding.relatedFeature->includes(mem.ownedResultExpression.result))) +specializesFromLibrary('Performances::Evaluation') +result = + let resultParams : Sequence(Feature) = + ownedFeatureMemberships-> + selectByKind(ReturnParameterMembership). + ownedParameterMember in + if resultParams->notEmpty() then resultParams->first() + else null + endif +ownedFeatureMembership-> + selectByKind(ReturnParameterMembership)-> + size() <= 1 +membership->selectByKind(ResultExpressionMembership)->size() <= 1""" ; + rdfs:label "Function" . + + + a rdfs:Class ; + rdfs:comment """

Redefinition is a kind of Subsetting that requires the redefinedFeature and the redefiningFeature to have the same values (on each instance of the domain of the redefiningFeature). This means any restrictions on the redefiningFeature, such as type or multiplicity, also apply to the redefinedFeature (on each instance of the domain of the redefiningFeature), and vice versa. The redefinedFeature might have values for instances of the domain of the redefiningFeature, but only as instances of the domain of the redefinedFeature that happen to also be instances of the domain of the redefiningFeature. This is supported by the constraints inherited from Subsetting on the domains of the redefiningFeature and redefinedFeature. However, these constraints are narrowed for Redefinition to require the owningTypes of the redefiningFeature and redefinedFeature to be different and the redefinedFeature to not be inherited into the owningNamespace of the redefiningFeature.This enables the redefiningFeature to have the same name as the redefinedFeature, if desired.

+ +let anythingType: Type = + redefiningFeature.resolveGlobal('Base::Anything').modelElement.oclAsType(Type) in +-- Including \"Anything\" accounts for implicit featuringType of Features +-- with no explicit featuringType. +let redefiningFeaturingTypes: Set(Type) = + redefiningFeature.featuringTypes->asSet()->including(anythingType) in +let redefinedFeaturingTypes: Set(Type) = + redefinedFeature.featuringTypes->asSet()->including(anythingType) in +redefiningFeaturingTypes <> redefinedFeaturingType +featuringType->forAll(t | + let direction : FeatureDirectionKind = t.directionOf(redefinedFeature) in + ((direction = FeatureDirectionKind::_'in' or + direction = FeatureDirectionKind::out) implies + redefiningFeature.direction = direction) + and + (direction = FeatureDirectionKind::inout implies + redefiningFeature.direction <> null))""" ; + rdfs:label "Redefinition" . + + + a rdf:Property ; + rdfs:comment """

The source relatedType for this Association. It is the first relatedType of the Association.

+""" ; + rdfs:label "associationSourceType" . + + + a rdf:Property ; + rdfs:comment "

The original PortDefinition for this ConjugatedPortDefinition, which is the owningNamespace of the ConjugatedPortDefinition.

" ; + rdfs:label "conjugatedPortDefinitionOriginalPortDefinition" . + + + a rdf:Property ; + rdfs:comment """

A Type with a subset of all instances of the general Type, which might be the same set.

+""" ; + rdfs:label "specializationSpecific" . + + + a rdf:Property ; + rdfs:comment "

An optional textual statement of the requirement represented by this RequirementUsage, derived from the bodies of the documentation of the RequirementUsage.

" ; + rdfs:label "requirementUsageText" . + + + a rdf:Property ; + rdfs:comment "

The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element.

" ; + rdfs:label "elementQualifiedName" . + + + a rdf:Property ; + rdfs:comment "

The AttributeUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedAttribute" . + + + a rdfs:Class ; + rdfs:comment """

An AnalysisCaseDefinition is a CaseDefinition for the case of carrying out an analysis.

+analysisAction = action->select( + isComposite and + specializes('AnalysisCases::AnalysisAction')) +resultExpression = + let results : OrderedSet(ResultExpressionMembership) = + featureMembersip-> + selectByKind(ResultExpressionMembership) in + if results->isEmpty() then null + else results->first().ownedResultExpression + endif +specializesFromLibrary('AnalysisCases::AnalysisCase')""" ; + rdfs:label "AnalysisCaseDefinition" . + + + a rdf:Property ; + rdfs:comment "

The PortUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedPort" . + + + a rdf:Property ; + rdfs:comment """

The Feature whose values are partly determined by values of the chainingFeature, as described in Feature::chainingFeature.

+""" ; + rdfs:label "featureChainingFeatureChained" . + + + a rdf:Property ; + rdfs:comment "

The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature.

" ; + rdfs:label "featureOwnedReferenceSubsetting" . + + + a rdfs:Class ; + rdfs:comment """

Unioning is a Relationship that makes its unioningType one of the unioningTypes of its typeUnioned.

+""" ; + rdfs:label "Unioning" . + + + a rdf:Property ; + rdfs:comment "

Whether this FeatureValue specifies a bound value or an initial value for the featureWithValue.

" ; + rdfs:label "featureValueIsInitial" . + + + a rdfs:Class ; + rdfs:comment """

A SuccessionFlowConnectionUsage is a FlowConnectionUsage that is also a SuccessionItemFlow.

+specializesFromLibrary('Connections::successionFlowConnections')""" ; + rdfs:label "SuccessionFlowConnectionUsage" . + + + a rdfs:Class ; + rdfs:comment """

A Namespace is an Element that contains other Elements, known as its members, via Membership Relationships with those Elements. The members of a Namespace may be owned by the Namespace, aliased in the Namespace, or imported into the Namespace via Import Relationships.

+ +

A Namespace can provide names for its members via the memberNames and memberShortNames specified by the Memberships in the Namespace. If a Membership specifies a memberName and/or memberShortName, then those are names of the corresponding memberElement relative to the Namespace. For an OwningMembership, the owningMemberName and owningMemberShortName are given by the Element name and shortName. Note that the same Element may be the memberElement of multiple Memberships in a Namespace (though it may be owned at most once), each of which may define a separate alias for the Element relative to the Namespace.

+ +membership->forAll(m1 | + membership->forAll(m2 | + m1 <> m2 implies m1.isDistinguishableFrom(m2))) +member = membership.memberElement +ownedMember = ownedMembership->selectByKind(OwningMembership).ownedMemberElement +importedMembership = importedMemberships(Set{}) +ownedImport = ownedRelationship->selectByKind(Import) +ownedMembership = ownedRelationship->selectByKind(Membership)""" ; + rdfs:label "Namespace" . + + + a rdf:Property ; + rdfs:comment "

The ConjugatedPortDefinition that is conjugate to the originalPortDefinition.

" ; + rdfs:label "portConjugationConjugatedPortDefinition" . + + + a rdf:Property ; + rdfs:comment "

The OccurrenceUsages that are nestedUsages of this Usage.

" ; + rdfs:label "usageNestedOccurrence" . + + + a rdfs:Class ; + rdfs:comment """

A Dependency is a Relationship that indicates that one or more client Elements require one more supplier Elements for their complete specification. In general, this means that a change to one of the supplier Elements may necessitate a change to, or re-specification of, the client Elements.

+ +

Note that a Dependency is entirely a model-level Relationship, without instance-level semantics.

""" ; + rdfs:label "Dependency" . + + + a rdf:Property ; + rdfs:comment "

The Interactions that are the types of this FlowConnectionUsage. Nominally, these are FlowConnectionDefinitions, but other kinds of Kernel Interactions are also allowed, to permit use of Interactions from the Kernel Model Libraries.

" ; + rdfs:label "flowConnectionUsageFlowConnectionDefinition" . + + + a rdf:Property ; + rdfs:comment """

The Behaviors that type this Step.

+""" ; + rdfs:label "stepBehavior" . + + + a rdfs:Class ; + rdfs:comment """

An OccurrenceDefinition is a Definition of a Class of individuals that have an independent life over time and potentially an extent over space. This includes both structural things and behaviors that act on such structures.

+ +

If isIndividual is true, then the OccurrenceDefinition is constrained to represent an individual thing. The instances of such an OccurrenceDefinition include all spatial and temporal portions of the individual being represented, but only one of these can be the complete Life of the individual. All other instances must be portions of the "maximal portion" that is single Life instance, capturing the conception that all of the instances represent one individual with a single "identity".

+ +

An OccurrenceDefinition must specialize, directly or indirectly, the base Class Occurrence from the Kernel Semantic Library.

+ +let n : Integer = ownedMember->selectByKind(LifeClass) in +if isIndividual then n = 1 else n = 0 endif +lifeClass = + let lifeClasses: OrderedSet(LifeClass) = + ownedMember->selectByKind(LifeClass) in + if lifeClasses->isEmpty() then null + else lifeClasses->first() + endif""" ; + rdfs:label "OccurrenceDefinition" . + + + a rdf:Property ; + rdfs:comment """

The CaseUsages that are nestedUsages of this Usage.

+""" ; + rdfs:label "usageNestedCase" . + + + a rdf:Property ; + rdfs:comment "

EnumerationUsages of this EnumerationDefinitionthat have distinct, fixed values. Each enumeratedValue specifies one of the allowed instances of the EnumerationDefinition.

" ; + rdfs:label "enumerationDefinitionEnumeratedValue" . + + + a rdf:Property ; + rdfs:comment "

The effectively imported Element for this Import. For a MembershipImport, this is the memberElement of the importedMembership. For a NamespaceImport, it is the importedNamespace.

" ; + rdfs:label "importImportedElement" . + + + a rdfs:Class ; + rdfs:comment """

A ForLoopActionUsage is a LoopActionUsage that specifies that its bodyAction ActionUsage should be performed once for each value, in order, from the sequence of values obtained as the result of the seqArgument Expression, with the loopVariable set to the value for each iteration.

+seqArgument = argument(1) + +isSubactionUsage() implies + specializesFromLibrary('Actions::Action::forLoops') +loopVariable <> null and +loopVariable.redefinesFromLibrary('Actions::ForLoopAction::var') +specializesFromLibrary('Actions::forLoopActions') +loopVariable = + if ownedFeature->isEmpty() or + not ownedFeature->first().oclIsKindOf(ReferenceUsage) then + null + else + ownedFeature->first().oclAsType(ReferenceUsage) + endif +ownedFeature->notEmpty() and +ownedFeature->at(1).oclIsKindOf(ReferenceUsage) + +inputParameters()->size() = 2""" ; + rdfs:label "ForLoopActionUsage" . + + + a rdf:Property ; + rdfs:comment """

The UseCaseUsage to be included by this IncludeUseCaseUsage. It is the performedAction of the IncludeUseCaseUsage considered as a PerformActionUsage, which must be a UseCaseUsage.

+""" ; + rdfs:label "includeUseCaseUsageUseCaseIncluded" . + + + a rdf:Property ; + rdfs:comment """

The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier.

+""" ; + rdfs:label "classifierOwnedSubclassification" . + + + a rdfs:Class ; + rdfs:comment """

A MetadataFeature is a Feature that is an AnnotatingElement used to annotate another Element with metadata. It is typed by a Metaclass. All its ownedFeatures must redefine features of its metaclass and any feature bindings must be model-level evaluable.

+ + +specializesFromLibrary('Metaobjects::metaobjects') +isSemantic() implies + let annotatedTypes : Sequence(Type) = + annotatedElement->selectAsKind(Type) in + let baseTypes : Sequence(MetadataFeature) = + evaluateFeature(resolveGlobal( + 'Metaobjects::SemanticMetadata::baseType'). + memberElement. + oclAsType(Feature))-> + selectAsKind(MetadataFeature) in + annotatedTypes->notEmpty() and + baseTypes()->notEmpty() and + baseTypes()->first().isSyntactic() implies + let annotatedType : Type = annotatedTypes->first() in + let baseType : Element = baseTypes->first().syntaxElement() in + if annotatedType.oclIsKindOf(Classifier) and + baseType.oclIsKindOf(Feature) then + baseType.oclAsType(Feature).type-> + forAll(t | annotatedType.specializes(t)) + else if baseType.oclIsKindOf(Type) then + annotatedType.specializes(baseType.oclAsType(Type)) + else + true + endif +not metaclass.isAbstract +let baseAnnotatedElementFeature : Feature = + resolveGlobal('Metaobjects::Metaobject::annotatedElement').memberElement. + oclAsType(Feature) in +let annotatedElementFeatures : OrderedSet(Feature) = feature-> + select(specializes(baseAnnotatedElementFeature))-> + excluding(baseAnnotatedElementFeature) in +annotatedElementFeatures->notEmpty() implies + let annotatedElementTypes : Set(Feature) = + annotatedElementFeatures.typing.type->asSet() in + let metaclasses : Set(Metaclass) = + annotatedElement.oclType().qualifiedName->collect(qn | + resolveGlobal(qn).memberElement.oclAsType(Metaclass)) in + metaclasses->forAll(m | annotatedElementTypes->exists(t | m.specializes(t))) +ownedFeature->closure(ownedFeature)->forAll(f | + f.declaredName = null and f.declaredShortName = null and + f.valuation <> null implies f.valuation.value.isModelLevelEvaluable and + f.redefinition.redefinedFeature->size() = 1) +metaclass = + let metaclassTypes : Sequence(Type) = type->selectByKind(Metaclass) in + if metaclassTypes->isEmpty() then null + else metaClassTypes->first() + endif +type->selectByKind(Metaclass).size() = 1""" ; + rdfs:label "MetadataFeature" . + + + a rdf:Property ; + rdfs:comment "

The target ActionUsage of this TransitionUsage, which is the targetFeature of the succession for the TransitionUsage.

" ; + rdfs:label "transitionUsageTarget" . + + + a rdf:Property ; + rdfs:comment """

The ActionUsage that is to be performed if the result of the ifArgument is false. It is the (optional) third parameter of the IfActionUsage.

+""" ; + rdfs:label "ifActionUsageElseAction" . + + + a rdf:Property ; + rdfs:comment "

The parameters of this CaseUsage that represent actors involved in the case.

" ; + rdfs:label "caseUsageActorParameter" . + + + a rdf:Property ; + rdfs:comment """

The annotatedElement of this Annotation, when it is also its owningRelatedElement.

+""" ; + rdfs:label "annotationOwningAnnotatedElement" . + + + a rdf:Property ; + rdfs:comment """

The String value that is the result of evaluating this LiteralString.

+ +

The String value that is the result of evaluating this Expression.

""" ; + rdfs:label "literalStringValue" . + + + a rdfs:Class ; + rdfs:comment """

An ObjectiveMembership is a FeatureMembership that indicates that its ownedObjectiveRequirement is the objective RequirementUsage for its owningType, which must be a CaseDefinition or CaseUsage.

+owningType.oclIsType(CaseDefinition) or +owningType.oclIsType(CaseUsage) + +ownedObjectiveRequirement.isComposite""" ; + rdfs:label "ObjectiveMembership" . + + + a rdfs:Class ; + rdfs:comment """

A Feature is a Type that classifies relations between multiple things (in the universe). The domain of the relation is the intersection of the featuringTypes of the Feature. (The domain of a Feature with no featuringTyps is implicitly the most general Type Base::Anything from the Kernel Semantic Library.) The co-domain of the relation is the intersection of the types of the Feature. + +

In the simplest cases, the featuringTypes and types are Classifiers and the Feature relates two things, one from the domain and one from the range. Examples include cars paired with wheels, people paired with other people, and cars paired with numbers representing the car length.

+ +

Since Features are Types, their featuringTypes and types can be Features. In this case, the Feature effectively classifies relations between relations, which can be interpreted as the sequence of things related by the domain Feature concatenated with the sequence of things related by the co-domain Feature.

+ +

The values of a Feature for a given instance of its domain are all the instances of its co-domain that are related to that domain instance by the Feature. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with values of the first Feature, then using those values as domain instances to obtain valus of the second Feature, and so on, to values of the last Feature.

+ +ownedRedefinition = ownedSubsetting->selectByKind(Redefinition) +ownedTypeFeaturing = ownedRelationship->selectByKind(TypeFeaturing)-> + select(tf | tf.featureOfType = self) +ownedSubsetting = ownedSpecialization->selectByKind(Subsetting) +ownedTyping = ownedGeneralization->selectByKind(FeatureTyping) +type = + let types : OrderedSet(Types) = OrderedSet{self}-> + -- Note: The closure operation automatically handles circular relationships. + closure(typingFeatures()).typing.type->asOrderedSet() in + types->reject(t1 | types->exist(t2 | t2 <> t1 and t2.specializes(t1))) +multiplicity <> null implies multiplicity.featuringType = featuringType +specializesFromLibrary('Base::things') +chainingFeature->excludes(self) +ownedFeatureChaining = ownedRelationship->selectByKind(FeatureChaining) +chainingFeature = ownedFeatureChaining.chainingFeature +chainingFeature->size() <> 1 +isEnd and owningType <> null implies + let i : Integer = + owningType.ownedEndFeature->indexOf(self) in + owningType.ownedSpecialization.general-> + forAll(supertype | + supertype.endFeature->size() >= i implies + redefines(supertype.endFeature->at(i)) +direction = null and +ownedSpecializations->forAll(isImplied) implies + ownedMembership-> + selectByKind(FeatureValue)-> + forAll(fv | specializes(fv.value.result)) +isEnd and owningType <> null and +(owningType.oclIsKindOf(Association) or + owningType.oclIsKindOf(Connector)) implies + specializesFromLibrary('Links::Link::participant') +isComposite and +ownedTyping.type->includes(oclIsKindOf(Structure)) and +owningType <> null and +(owningType.oclIsKindOf(Structure) or + owningType.type->includes(oclIsKindOf(Structure))) implies + specializesFromLibrary('Occurrence::Occurrence::suboccurrences') +owningType <> null and +owningType.oclIsKindOf(FeatureReferenceExpression) and +self = owningType.oclAsType(FeatureReferenceExpression).result implies + specializes(owningType.oclAsType(FeatureReferenceExpression).referent) + +ownedTyping.type->exists(selectByKind(Class)) implies + specializesFromLibrary('Occurrences::occurrences') +isComposite and +ownedTyping.type->includes(oclIsKindOf(Class)) and +owningType <> null and +(owningType.oclIsKindOf(Class) or + owningType.oclIsKindOf(Feature) and + owningType.oclAsType(Feature).type-> + exists(oclIsKindOf(Class))) implies + specializesFromLibrary('Occurrence::Occurrence::suboccurrences') +ownedTyping.type->exists(selectByKind(DataType)) implies + specializesFromLibrary('Base::dataValues') +owningType <> null and +owningType.oclIsKindOf(ItemFlowEnd) and +owningType.ownedFeature->at(1) = self implies + let flowType : Type = owningType.owningType in + flowType <> null implies + let i : Integer = + flowType.ownedFeature.indexOf(owningType) in + (i = 1 implies + redefinesFromLibrary('Transfers::Transfer::source::sourceOutput')) and + (i = 2 implies + redefinesFromLibrary('Transfers::Transfer::source::targetInput')) + +owningType <> null and +(owningType.oclIsKindOf(Behavior) or + owningType.oclIsKindOf(Step)) implies + let i : Integer = + owningType.ownedFeature->select(direction <> null) in + owningType.ownedSpecialization.general-> + forAll(supertype | + let ownedParameters : Sequence(Feature) = + supertype.ownedFeature->select(direction <> null) in + ownedParameters->size() >= i implies + redefines(ownedParameters->at(i)) +ownedTyping.type->exists(selectByKind(Structure)) implies + specializesFromLibary('Objects::objects') +owningType <> null and +(owningType.oclIsKindOf(Function) and + self = owningType.oclAsType(Function).result or + owningType.oclIsKindOf(Expression) and + self = owningType.oclAsType(Expression).result) implies + owningType.ownedSpecialization.general-> + select(oclIsKindOf(Function) or oclIsKindOf(Expression))-> + forAll(supertype | + redefines( + if superType.oclIsKindOf(Function) then + superType.oclAsType(Function).result + else + superType.oclAsType(Expression).result + endif) +ownedFeatureInverting = ownedRelationship->selectByKind(FeatureInverting)-> + select(fi | fi.featureInverted = self) +featuringType = + let featuringTypes : OrderedSet(Type) = + featuring.type->asOrderedSet() in + if chainingFeature->isEmpty() then featuringTypes + else + featuringTypes-> + union(chainingFeature->first().featuringType)-> + asOrderedSet() + endif +ownedReferenceSubsetting = + let referenceSubsettings : OrderedSet(ReferenceSubsetting) = + ownedSubsetting->selectByKind(ReferenceSubsetting) in + if referenceSubsettings->isEmpty() then null + else referenceSubsettings->first() endif +ownedSubsetting->selectByKind(ReferenceSubsetting)->size() <= 1 +Sequence{1..chainingFeature->size() - 1}->forAll(i | + chainingFeature->at(i + 1).featuringType->forAll(t | + chainingFeature->at(i).specializes(t))) + +isPortion and +ownedTyping.type->includes(oclIsKindOf(Class)) and +owningType <> null and +(owningType.oclIsKindOf(Class) or + owningType.oclIsKindOf(Feature) and + owningType.oclAsType(Feature).type-> + exists(oclIsKindOf(Class))) implies + specializesFromLibrary('Occurrence::Occurrence::portions')""" ; + rdfs:label "Feature" . + + + a rdf:Property ; + rdfs:comment "

The OccurrenceUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedOccurrence" . + + + a rdf:Property ; + rdfs:comment """

All features related to this Type by FeatureMemberships that have direction in or inout.

+""" ; + rdfs:label "typeInput" . + + + a rdf:Property ; + rdfs:comment """

The Element that is annotated by the annotatingElement of this Annotation.

+""" ; + rdfs:label "annotationAnnotatedElement" . + + + a rdf:Property ; + rdfs:comment "

The ReferenceUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedReference" . + + + a rdf:Property ; + rdfs:comment """

The Expression that provides the result for the owner of the ResultExpressionMembership.

+""" ; + rdfs:label "resultExpressionMembershipOwnedResultExpression" . + + + a rdf:Property ; + rdfs:comment """

The Steps that make up this Behavior.

+""" ; + rdfs:label "behaviorStep" . + + + a rdfs:Class ; + rdfs:comment """

An EnumerationDefinition is an AttributeDefinition all of whose instances are given by an explicit list of enumeratedValues. This is realized by requiring that the EnumerationDefinition have isVariation = true, with the enumeratedValues being its variants.

+isVariation""" ; + rdfs:label "EnumerationDefinition" . + + + a rdf:Property ; + rdfs:comment "

The itemDefinitions of this PartUsage that are PartDefinitions.

" ; + rdfs:label "partUsagePartDefinition" . + + + a rdf:Property ; + rdfs:comment "

The ActionUsages that define the effects of this TransitionUsage, which are the ownedFeatures of the TransitionUsage related to it by TransitionFeatureMemberships with kind = effect, which must all be ActionUsages.

" ; + rdfs:label "transitionUsageEffectAction" . + + + a rdf:Property ; + rdfs:comment """

The RenderingUsages that are nestedUsages of this Usage.

+""" ; + rdfs:label "usageNestedRendering" . + + + a rdf:Property ; + rdfs:comment """

The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned.

+""" ; + rdfs:label "typeOwnedUnioning" . + + + a rdf:Property ; + rdfs:comment "

The relatedElement of this Relationship that owns the Relationship, if any.

" ; + rdfs:label "relationshipOwningRelatedElement" . + + + a rdf:Property ; + rdfs:comment """

The parameter of this CaseUsage that represents its subject.

+""" ; + rdfs:label "caseUsageSubjectParameter" . + + + a rdfs:Class ; + rdfs:comment """

An ActionUsage is a Usage that is also a Step, and, so, is typed by a Behavior. Nominally, if the type is an ActionDefinition, an ActionUsage is a Usage of that ActionDefinition within a system. However, other kinds of kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries.

+ +isSubactionUsage() implies + specializesFromLibrary('Actions::Action::subactions') +specializesFromLibrary('Actions::actions') +isComposite and owningType <> null and +(owningType.oclIsKindOf(PartDefinition) or + owningType.oclIsKindOf(PartUsage)) implies + specializesFromLibrary('Parts::Part::ownedActions') +owningFeatureMembership <> null and +owningFeatureMembership.oclIsKindOf(StateSubactionMembership) implies + let kind : StateSubactionKind = + owningFeatureMembership.oclAsType(StateSubactionMembership).kind in + if kind = StateSubactionKind::entry then + redefinesFromLibrary('States::StateAction::entryAction') + else if kind = StateSubactionKind::do then + redefinesFromLibrary('States::StateAction::doAction') + else + redefinesFromLibrary('States::StateAction::exitAction') + endif endif +owningType <> null and + (owningType.oclIsKindOf(AnalysisCaseDefinition) and + owningType.oclAsType(AnalysisCaseDefinition).analysisAction-> + includes(self) or + owningType.oclIsKindOf(AnalysisCaseUsage) and + owningType.oclAsType(AnalysisCaseUsage).analysisAction-> + includes(self)) implies + specializesFromLibrary('AnalysisCases::AnalysisCase::analysisSteps')""" ; + rdfs:label "ActionUsage" . + + + a rdfs:Class ; + rdfs:comment """

A Disjoining is a Relationship between Types asserted to have interpretations that are not shared (disjoint) between them, identified as typeDisjoined and disjoiningType. For example, a Classifier for mammals is disjoint from a Classifier for minerals, and a Feature for people's parents is disjoint from a Feature for their children.

+""" ; + rdfs:label "Disjoining" . + + + a rdf:Property ; + rdfs:comment "

The CaseDefinition that is the type of this CaseUsage.

" ; + rdfs:label "caseUsageCaseDefinition" . + + + a rdfs:Class ; + rdfs:comment """

An Association is a Relationship and a Classifier to enable classification of links between things (in the universe). The co-domains (types) of the associationEnd Features are the relatedTypes, as co-domain and participants (linked things) of an Association identify each other.

+ +relatedType = associationEnd.type +specializesFromLibrary('Links::Link') +oclIsKindOf(Structure) = oclIsKindOf(AssociationStructure) +associationEnd->size() = 2 implies + specializesFromLibrary('Links::BinaryLink') +not isAbstract implies relatedType->size() >= 2 +associationEnds->size() > 2 implies + not specializesFromLibrary('Links::BinaryLink') +sourceType = + if relatedType->isEmpty() then null + else relatedType->first() endif +targetType = + if relatedType->size() < 2 then OrderedSet{} + else + relatedType-> + subSequence(2, relatedType->size())-> + asOrderedSet() + endif""" ; + rdfs:label "Association" . + + + a rdfs:Class ; + rdfs:comment """

A PartUsage is a usage of a PartDefinition to represent a system or a part of a system. At least one of the itemDefinitions of the PartUsage must be a PartDefinition.

+ +

A PartUsage must subset, directly or indirectly, the base PartUsage parts from the Systems Model Library.

+itemDefinition->selectByKind(PartDefinition) +partDefinition->notEmpty() +specializesFromLibrary('Parts::parts') +isComposite and owningType <> null and +(owningType.oclIsKindOf(ItemDefinition) or + owningType.oclIsKindOf(ItemUsage)) implies + specializesFromLibrary('Items::Item::subparts') +owningFeatureMembership <> null and +owningFeatureMembership.oclIsKindOf(ActorMembership) implies + if owningType.oclIsKindOf(RequirementDefinition) or + owningType.oclIsKindOf(RequirementUsage) + then specializesFromLibrary('Requirements::RequirementCheck::actors') + else specializesFromLibrary('Cases::Case::actors') +owningFeatureMembership <> null and +owningFeatureMembership.oclIsKindOf(StakeholderMembership) implies + specializesFromLibrary('Requirements::RequirementCheck::stakeholders')""" ; + rdfs:label "PartUsage" . + + + a rdf:Property ; + rdfs:comment """

The conjugatedType of this Conjugation that is also its owningRelatedElement.

+""" ; + rdfs:label "conjugationOwningType" . + + + a rdf:Property ; + rdfs:comment "

The ViewpointDefinition that is the definition of this ViewpointUsage.

" ; + rdfs:label "viewpointUsageViewpointDefinition" . + + + a rdf:Property ; + rdfs:comment """

Whether all things that meet the classification conditions of this Type must be classified by the Type.

+ +

(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.)

+""" ; + rdfs:label "typeIsSufficient" . + + + a rdf:Property ; + rdfs:comment "

Whether this Usage is a referential Usage, that is, it has isComposite = false.

" ; + rdfs:label "usageIsReference" . + + + a rdfs:Class ; + rdfs:comment """

A Multiplicity is a Feature whose co-domain is a set of natural numbers giving the allowed cardinalities of each typeWithMultiplicity. The cardinality of a Type is defined as follows, depending on whether the Type is a Classifier or Feature. +

    +
  • Classifier – The number of basic instances of the Classifier, that is, those instances representing things, which are not instances of any subtypes of the Classifier that are Features. +
  • Features – The number of instances with the same featuring instances. In the case of a Feature with a Classifier as its featuringType, this is the number of values of Feature for each basic instance of the Classifier. Note that, for non-unique Features, all duplicate values are included in this count.
  • +
+ +

Multiplicity co-domains (in models) can be specified by Expression that might vary in their results. If the typeWithMultiplicity is a Classifier, the domain of the Multiplicity shall be Base::Anything. If the typeWithMultiplicity is a Feature, the Multiplicity shall have the same domain as the typeWithMultiplicity.

+ +if owningType <> null and owningType.oclIsKindOf(Feature) then + featuringType = + owningType.oclAsType(Feature).featuringType +else + featuringType->isEmpty() +endif +specializesFromLibrary('Base::naturals')""" ; + rdfs:label "Multiplicity" . + + + a rdf:Property ; + rdfs:comment "

The value Expressions of the FeatureValues of the owned input parameters of the InvocationExpression." ; + rdfs:label "invocationExpressionArgument" . + + + a rdf:Property ; + rdfs:comment "

Whether this Expression meets the constraints necessary to be evaluated at model level, that is, using metadata within the model.

" ; + rdfs:label "expressionIsModelLevelEvaluable" . + + + a rdf:Property ; + rdfs:comment "

The ActionUsage of this StateDefinition to be performed while in the state defined by the StateDefinition. It is the owned ActionUsage related to the StateDefinition by a StateSubactionMembership with kind = do.

" ; + rdfs:label "stateDefinitionDoAction" . + + + a rdf:Property ; + rdfs:comment """

Whether to import memberships without regard to declared visibility.

+""" ; + rdfs:label "importIsImportAll" . + + + a rdf:Property ; + rdfs:comment "

The ConcernDefinition that is the single type of this ConcernUsage.

" ; + rdfs:label "concernUsageConcernDefinition" . + + + a rdf:Property ; + rdfs:comment "

Whether an order exists for the values of this Feature or not.

" ; + rdfs:label "featureIsOrdered" . + + + a rdfs:Class ; + rdfs:comment """

A ConcernDefinition is a RequirementDefinition that one or more stakeholders may be interested in having addressed. These stakeholders are identified by the ownedStakeholdersof the ConcernDefinition.

+ +specializesFromLibrary('Requirements::ConcernCheck')""" ; + rdfs:label "ConcernDefinition" . + + + a rdfs:Class ; + rdfs:comment """

A ConcernUsage is a Usage of a ConcernDefinition.

+ + The ownedStakeholder features of the ConcernUsage shall all subset the ConcernCheck::concernedStakeholders feature. If the ConcernUsage is an ownedFeature of a StakeholderDefinition or StakeholderUsage, then the ConcernUsage shall have an ownedStakeholder feature that is bound to the self feature of its owner.

+ +specializesFromLibrary('Requirements::concernChecks') +owningFeatureMembership <> null and +owningFeatureMembership.oclIsKindOf(FramedConcernMembership) implies + specializesFromLibrary('Requirements::RequirementCheck::concerns')""" ; + rdfs:label "ConcernUsage" . + + + a rdf:Property ; + rdfs:comment """

Whether or not the this Feature is an end Feature, requiring a different interpretation of the multiplicity of the Feature.

+ +

An end Feature is always considered to map each domain instance to a single co-domain instance, whether or not a Multiplicity is given for it. If a Multiplicity is given for an end Feature, rather than giving the co-domain cardinality for the Feature as usual, it specifies a cardinality constraint for navigating across the endFeatures of the featuringType of the end Feature. That is, if a Type has n endFeatures, then the Multiplicity of any one of those end Features constrains the cardinality of the set of values of that Feature when the values of the other n-1 end Features are held fixed.

+""" ; + rdfs:label "featureIsEnd" . + + + a rdf:Property ; + rdfs:comment "

The FlowConnectionUsages that are ownedUsages of this Definition.

" ; + rdfs:label "definitionOwnedFlow" . + + + a rdf:Property ; + rdfs:comment """

An optional textual statement of the requirement represented by this RequirementDefinition, derived from the bodies of the documentation of the RequirementDefinition.

+""" ; + rdfs:label "requirementDefinitionText" . + + + a rdfs:Class ; + rdfs:comment """

A Classifier is a Type that classifies:

+ +
    +
  • Things (in the universe) regardless of how Features relate them. (These are interpreted semantically as sequences of exactly one thing.)
  • +
  • How the above things are related by Features. (These are interpreted semantically as sequences of multiple things, such that the last thing in the sequence is also classified by the Classifier. Note that this means that a Classifier modeled as specializing a Feature cannot classify anything.)
  • +
+ + +ownedSubclassification = + ownedSpecialization->selectByKind(Subclassification) +multiplicity <> null implies multiplicity.featuringType->isEmpty()""" ; + rdfs:label "Classifier" . + + + a rdf:Property ; + rdfs:comment "

The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature.

" ; + rdfs:label "featureEndOwningType" . + + + a rdfs:Class ; + rdfs:comment """

An ItemDefinition is an OccurrenceDefinition of the Structure of things that may themselves be systems or parts of systems, but may also be things that are acted on by a system or parts of a system, but which do not necessarily perform actions themselves. This includes items that can be exchanged between parts of a system, such as water or electrical signals.

+ +specializesFromLibrary('Items::Item')""" ; + rdfs:label "ItemDefinition" . + + + a rdfs:Class ; + rdfs:comment """

A StateSubactionMembership is a FeatureMembership for an entry, do or exit ActionUsage of a StateDefinition or StateUsage.

+owningType.oclIsKindOf(StateDefinition) or +owningType.oclIsKindOf(StateUsage)""" ; + rdfs:label "StateSubactionMembership" . + + + a rdf:Property ; + rdfs:comment "

The owned ConstraintUsages that represent assumptions of this RequirementUsage, derived as the ownedConstraints of the RequirementConstraintMemberships of the RequirementUsage with kind = assumption.

" ; + rdfs:label "requirementUsageAssumedConstraint" . + + + a rdf:Property ; + rdfs:comment "

The Usage in which this Usage is nested (if any).

" ; + rdfs:label "usageOwningUsage" . + + + a rdf:Property ; + rdfs:comment "

Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships.

" ; + rdfs:label "usageIsVariation" . + + + a rdf:Property ; + rdfs:comment "

The InterfaceUsages that are nestedUsages of this Usage.

" ; + rdfs:label "usageNestedInterface" . + + + a rdfs:Class ; + rdfs:comment """

Subsetting is Specialization in which the specific and general Types are Features. This means all values of the subsettingFeature (on instances of its domain, i.e., the intersection of its featuringTypes) are values of the subsettedFeature on instances of its domain. To support this the domain of the subsettingFeature must be the same or specialize (at least indirectly) the domain of the subsettedFeature (via Specialization), and the co-domain (intersection of the types) of the subsettingFeature must specialize the co-domain of the subsettedFeature.

+ +let subsettingFeaturingTypes: OrderedSet(Type) = + subsettingFeature.featuringTypes in +let subsettedFeaturingTypes: OrderedSet(Type) = + subsettedFeature.featuringTypes in +let anythingType: Element = + subsettingFeature.resolveGlobal('Base::Anything').memberElement in +subsettedFeaturingTypes->forAll(t | + subsettingFeaturingTypes->isEmpty() and t = anythingType or + subsettingFeaturingTypes->exists(specializes(t)) +subsettedFeature.isUnique implies subsettingFeature.isUnique""" ; + rdfs:label "Subsetting" . + + + a rdfs:Class ; + rdfs:comment "

A ConnectorAsUsage is both a Connector and a Usage. ConnectorAsUsage cannot itself be instantiated in a SysML model, but it is the base class for the concrete classes BindingConnectorAsUsage, SuccessionAsUsage and ConnectionUsage.

" ; + rdfs:label "ConnectorAsUsage" . + + + a rdf:Property ; + rdfs:comment """

The Type that is being applied by this FeatureTyping.

+""" ; + rdfs:label "featureTypingType" . + + + a rdf:Property ; + rdfs:comment "

The TextualRepresentations that annotate this Element.

" ; + rdfs:label "elementTextualRepresentation" . + + + a rdf:Property ; + rdfs:comment "

The originalPortDefinition of the conjugatedPortDefinition of this ConjugatedPortTyping.

" ; + rdfs:label "conjugatedPortTypingPortDefinition" . + + + a rdf:Property ; + rdfs:comment """

Whether or not values for this Feature must have no duplicates or not.

+""" ; + rdfs:label "featureIsUnique" . + + + a rdf:Property ; + rdfs:comment "

The RequirementUsages verified by this VerificationCaseDefinition, which are the verifiedRequirements of all RequirementVerificationMemberships of the objectiveRequirement.

" ; + rdfs:label "verificationCaseDefinitionVerifiedRequirement" . diff --git a/specs/sysml/sysml-shapes.ttl b/specs/sysml/sysml-shapes.ttl index 2b6a51a..3cf8bbf 100644 --- a/specs/sysml/sysml-shapes.ttl +++ b/specs/sysml/sysml-shapes.ttl @@ -1,7794 +1,5130 @@ -# Copyright 2024 OASIS Open -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -@prefix dcterms: . -@prefix rdfs: . -@prefix rdf: . -@prefix oslc: . - -@prefix oslc_sysmlv2: . - - - a oslc:Property ; - oslc:name "namespaceImportedMembership" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Memberships in this Namespace that result from the ownedImports of this Namespace.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "viewpointUsageViewpointStakeholder" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The PartUsages that identify the stakeholders with concerns framed by this ViewpointUsage, which are the owned and inherited stakeholderParameters of the framedConcerns of this ViewpointUsage.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "FeatureTypingShape" ; - oslc:property , , ; - dcterms:description """

FeatureTyping is Specialization in which the specific Type is a Feature. This means the set of instances of the (specific) typedFeature is a subset of the set of instances of the (general) type. In the simplest case, the type is a Classifier, whereupon the typedFeature has values that are instances of the Classifier.

-"""^^rdf:XMLLiteral ; - dcterms:title "FeatureTypingShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedPart" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The PartUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "RedefinitionShape" ; - oslc:property , ; - dcterms:description """

Redefinition is a kind of Subsetting that requires the redefinedFeature and the redefiningFeature to have the same values (on each instance of the domain of the redefiningFeature). This means any restrictions on the redefiningFeature, such as type or multiplicity, also apply to the redefinedFeature (on each instance of the domain of the redefiningFeature), and vice versa. The redefinedFeature might have values for instances of the domain of the redefiningFeature, but only as instances of the domain of the redefinedFeature that happen to also be instances of the domain of the redefiningFeature. This is supported by the constraints inherited from Subsetting on the domains of the redefiningFeature and redefinedFeature. However, these constraints are narrowed for Redefinition to require the owningTypes of the redefiningFeature and redefinedFeature to be different and the redefinedFeature to not be inherited into the owningNamespace of the redefiningFeature.This enables the redefiningFeature to have the same name as the redefinedFeature, if desired.

- -let anythingType: Type = - redefiningFeature.resolveGlobal('Base::Anything').modelElement.oclAsType(Type) in --- Including \"Anything\" accounts for implicit featuringType of Features --- with no explicit featuringType. -let redefiningFeaturingTypes: Set(Type) = - redefiningFeature.featuringTypes->asSet()->including(anythingType) in -let redefinedFeaturingTypes: Set(Type) = - redefinedFeature.featuringTypes->asSet()->including(anythingType) in -redefiningFeaturingTypes <> redefinedFeaturingType -featuringType->forAll(t | - let direction : FeatureDirectionKind = t.directionOf(redefinedFeature) in - ((direction = FeatureDirectionKind::_'in' or - direction = FeatureDirectionKind::out) implies - redefiningFeature.direction = direction) - and - (direction = FeatureDirectionKind::inout implies - redefiningFeature.direction <> null))"""^^rdf:XMLLiteral ; - dcterms:title "RedefinitionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "successionEffectStep" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

Steps that represent occurrences that are side effects of the transitionStep occurring.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedConcern" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ConcernUsages that are nestedUsages of this Usage.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "OwningMembershipShape" ; - oslc:property , , , ; - dcterms:description """

An OwningMembership is a Membership that owns its memberElement as a ownedRelatedElement. The ownedMemberElement becomes an ownedMember of the membershipOwningNamespace.

- -ownedMemberName = ownedMemberElement.name -ownedMemberShortName = ownedMemberElement.shortName"""^^rdf:XMLLiteral ; - dcterms:title "OwningMembershipShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "functionIsModelLevelEvaluable" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

Whether this Function can be used as the function of a model-level evaluable InvocationExpression. Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = true. For all other Functions it is false.

- -

Note: See the specification of the KerML concrete syntax notation for Expressions for an identification of which library Functions are model-level evaluable.

"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "verificationCaseUsageVerificationCaseDefinition" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The VerificationCase that is the definition of this VerificationCaseUsage.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "TriggerInvocationExpressionShape" ; - oslc:property ; - dcterms:description """

A TriggerInvocationExpression is an InvocationExpression that invokes one of the trigger Functions from the Kernel Semantic Library Triggers package, as indicated by its kind.

-specializesFromLibrary( - if kind = TriggerKind::when then - 'Triggers::TriggerWhen' - else if kind = TriggerKind::at then - 'Triggers::TriggerAt' - else - 'Triggers::TriggerAfter' - endif endif -) -kind = TriggerKind::after implies - argument->notEmpty() and - argument->at(1).result.specializesFromLibrary('Quantities::ScalarQuantityValue') and - let mRef : Element = - resolveGlobal('Quantities::TensorQuantityValue::mRef').ownedMemberElement in - argument->at(1).result.feature-> - select(ownedRedefinition.redefinedFeature-> - closure(ownedRedefinition.redefinedFeature)-> - includes(mRef))-> - exists(specializesFromLibrary('ISQBase::DurationUnit')) -kind = TriggerKind::at implies - argument->notEmpty() and - argument->at(1).result.specializesFromLibrary('Time::TimeInstantValue') -kind = TriggerKind::when implies - argument->notEmpty() and - argument->at(1).oclIsKindOf(FeatureReferenceExpression) and - let referent : Feature = - argument->at(1).oclAsType(FeatureReferenceExpression).referent in - referent.oclIsKindOf(Expression) and - referent.oclAsType(Expression).result.specializesFromLibrary('ScalarValues::Boolean')"""^^rdf:XMLLiteral ; - dcterms:title "TriggerInvocationExpressionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "transitionUsageSource" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The source ActionUsage of this TransitionUsage, which becomes the source of the succession for the TransitionUsage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "annotationOwningAnnotatingElement" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The annotatingElement of this Annotation, when it is also its owningRelatedElement.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "portDefinitionConjugatedPortDefinition" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The that is conjugate to this PortDefinition.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "MetaclassShape" ; - dcterms:description """

A Metaclass is a Structure used to type MetadataFeatures.

-specializesFromLibrary('Metaobjects::Metaobject')"""^^rdf:XMLLiteral ; - dcterms:title "MetaclassShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureIsPortion" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "BindingConnectorAsUsageShape" ; - dcterms:description "

A BindingConnectorAsUsage is both a BindingConnector and a ConnectorAsUsage.

"^^rdf:XMLLiteral ; - dcterms:title "BindingConnectorAsUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "stateUsageEntryAction" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ActionUsage of this StateUsage to be performed on entry to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateUsage by a StateSubactionMembership with kind = entry.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ViewDefinitionShape" ; - oslc:property , , , ; - dcterms:description """

A ViewDefinition is a PartDefinition that specifies how a view artifact is constructed to satisfy a viewpoint. It specifies a viewConditions to define the model content to be presented and a viewRendering to define how the model content is presented.

-view = usage->selectByKind(ViewUsage) -satisfiedViewpoint = ownedRequirement-> - selectByKind(ViewpointUsage)-> - select(isComposite) -viewRendering = - let renderings: OrderedSet(ViewRenderingMembership) = - featureMembership->selectByKind(ViewRenderingMembership) in - if renderings->isEmpty() then null - else renderings->first().referencedRendering - endif -viewCondition = ownedMembership-> - selectByKind(ElementFilterMembership). - condition -featureMembership-> - selectByKind(ViewRenderingMembership)-> - size() <= 1 -specializesFromLibrary('Views::View')"""^^rdf:XMLLiteral ; - dcterms:title "ViewDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "DocumentationShape" ; - oslc:property ; - dcterms:description """

Documentation is a Comment that specifically documents a documentedElement, which must be its owner.

-"""^^rdf:XMLLiteral ; - dcterms:title "DocumentationShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureValueFeatureWithValue" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Feature to be provided a value.

- -

The Feature to be provided a value.

"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "viewUsageViewDefinition" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ViewDefinition that is the definition of this ViewUsage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "allocationDefinitionAllocation" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The AllocationUsages that refine the allocation mapping defined by this AllocationDefinition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "transitionUsageTriggerAction" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The AcceptActionUsages that define the triggers of this TransitionUsage, which are the ownedFeatures of the TransitionUsage related to it by TransitionFeatureMemberships with kind = trigger, which must all be AcceptActionUsages.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "viewUsageViewCondition" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Expressions related to this ViewUsage by ElementFilterMemberships, which specify conditions on Elements to be rendered in a view.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "DecisionNodeShape" ; - dcterms:description """

A DecisionNode is a ControlNode that makes a selection from its outgoing Successions.

-targetConnector->selectByKind(Succession)->size() <= 1 -sourceConnector->selectAsKind(Succession)-> - collect(connectorEnd->at(2))-> - forAll(targetMult | - multiplicityHasBounds(targetMult, 0, 1)) -specializesFromLibrary('Actions::Action::decisions') -sourceConnector->selectByKind(Succession)-> - forAll(subsetsChain(self, - resolveGlobal('ControlPerformances::MergePerformance::outgoingHBLink')))"""^^rdf:XMLLiteral ; - dcterms:title "DecisionNodeShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "elementOwningMembership" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The owningRelationship of this Element, if that Relationship is a Membership.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "SuccessionShape" ; - oslc:property , , , ; - dcterms:description """

A Succession is a binary Connector that requires its relatedFeatures to happen separately in time.

- -specializesFromLibrary('Occurences::happensBeforeLinks') -transitionStep = - if owningNamespace.oclIsKindOf(Step) and - owningNamespace.oclAsType(Step). - specializesFromLibrary('TransitionPerformances::TransitionPerformance') then - owningNamespace.oclAsType(Step) - else null - endif -triggerStep = - if transitionStep = null or - transitionStep.ownedFeature.size() < 2 or - not transitionStep.ownedFeature->at(2).oclIsKindOf(Step) - then Set{} - else Set{transitionStep.ownedFeature->at(2).oclAsType(Step)} - endif -effectStep = - if transitionStep = null or - transitionStep.ownedFeature.size() < 4 or - not transitionStep.ownedFeature->at(4).oclIsKindOf(Step) - then Set{} - else Set{transitionStep.ownedFeature->at(4).oclAsType(Step)} - endif -guardExpression = - if transitionStep = null or - transitionStep.ownedFeature.size() < 3 or - not transitionStep.ownedFeature->at(3).oclIsKindOf(Expression) - then Set{} - else Set{transitionStep.ownedFeature->at(3).oclAsType(Expression)} - endif"""^^rdf:XMLLiteral ; - dcterms:title "SuccessionShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ItemDefinitionShape" ; - dcterms:description """

An ItemDefinition is an OccurrenceDefinition of the Structure of things that may themselves be systems or parts of systems, but may also be things that are acted on by a system or parts of a system, but which do not necessarily perform actions themselves. This includes items that can be exchanged between parts of a system, such as water or electrical signals.

- -specializesFromLibrary('Items::Item')"""^^rdf:XMLLiteral ; - dcterms:title "ItemDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "dependencyClient" ; - oslc:occurs oslc:One-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Element or Elements dependent on the supplier Elements.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ExposeShape" ; - dcterms:description """

An Expose is an Import of Memberships into a ViewUsage that provide the Elements to be included in a view. Visibility is always ignored for an Expose (i.e., isImportAll = true).

-isImportAll -importOwningNamespace.oclIsType(ViewUsage)"""^^rdf:XMLLiteral ; - dcterms:title "ExposeShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedState" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The StateUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "membershipVisibility" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

Whether or not the Membership of the memberElement in the membershipOwningNamespace is publicly visible outside that Namespace.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedCalculation" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The CalculationUsage that are nestedUsages of this Usage.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "MetadataDefinitionShape" ; - dcterms:description """

A MetadataDefinition is an ItemDefinition that is also a Metaclass.

-specializesFromLibrary('Metadata::MetadataItem')"""^^rdf:XMLLiteral ; - dcterms:title "MetadataDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "InvocationExpressionShape" ; - oslc:property , ; - dcterms:description """

An InvocationExpression is an Expression each of whose input parameters are bound to the result of an argument Expression.

- -not ownedTyping->exists(oclIsKindOf(Behavior)) and -not ownedSubsetting.subsettedFeature.type->exists(oclIsKindOf(Behavior)) implies - ownedFeature.selectByKind(BindingConnector)->exists( - relatedFeature->includes(self) and - relatedFeature->includes(result)) - -TBD -ownedFeature-> - select(direction = _'in').valuation-> - select(v | v <> null).value -let features : Set(Feature) = type.feature->asSet() in -input->forAll(inp | - inp.ownedRedefinition.redefinedFeature-> - intersection(features)->size() = 1) -let features : Set(Feature) = type.feature->asSet() in -input->forAll(inp1 | input->forAll(inp2 | - inp1 <> inp2 implies - inp1.ownedRedefinition.redefinedFeature-> - intersection(inp2.ownedRedefinition.redefinedFeature)-> - intersection(features)->isEmpty()))"""^^rdf:XMLLiteral ; - dcterms:title "InvocationExpressionShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "PortConjugationShape" ; - oslc:property , ; - dcterms:description """
-"""^^rdf:XMLLiteral ; - dcterms:title "PortConjugationShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "AllocationDefinitionShape" ; - oslc:property ; - dcterms:description """

An AllocationDefinition is a ConnectionDefinition that specifies that some or all of the responsibility to realize the intent of the source is allocated to the target instances. Such allocations define mappings across the various structures and hierarchies of a system model, perhaps as a precursor to more rigorous specifications and implementations. An AllocationDefinition can itself be refined using nested allocations that give a finer-grained decomposition of the containing allocation mapping.

-allocation = usage->selectAsKind(AllocationUsage) -specializesFromLibrary('Allocations::Allocation')"""^^rdf:XMLLiteral ; - dcterms:title "AllocationDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "relationshipIsImplied" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "InteractionShape" ; - dcterms:description """

An Interaction is a Behavior that is also an Association, providing a context for multiple objects that have behaviors that impact one another.

-"""^^rdf:XMLLiteral ; - dcterms:title "InteractionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageUsage" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Usages that are features of this Usage (not necessarily owned).

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "elementDeclaredShortName" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ItemFeatureShape" ; - dcterms:description """

An ItemFeature is the ownedFeature of an ItemFlow that identifies the things carried by the kinds of transfers that are instances of the ItemFlow.

-ownedRedefinition.redefinedFeature-> - redefinesFromLibrary('Transfers::Transfer::item')"""^^rdf:XMLLiteral ; - dcterms:title "ItemFeatureShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "caseDefinitionActorParameter" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The parameters of this CaseDefinition that represent actors involved in the case.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "IntersectingShape" ; - oslc:property , ; - dcterms:description """

Intersecting is a Relationship that makes its intersectingType one of the intersectingTypes of its typeIntersected.

-"""^^rdf:XMLLiteral ; - dcterms:title "IntersectingShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureInvertingOwningFeature" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

A featureInverted that is also the owningRelatedElement of this FeatureInverting.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "viewRenderingMembershipReferencedRendering" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The RenderingUsage that is referenced through this ViewRenderingMembership. It is the referencedFeature of the ownedReferenceSubsetting for the ownedRendering, if there is one, and, otherwise, the ownedRendering itself.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ConjugatedPortTypingShape" ; - oslc:property , ; - dcterms:description """

A ConjugatedPortTyping is a FeatureTyping whose type is a ConjugatedPortDefinition. (This relationship is intended to be an abstract-syntax marker for a special surface notation for conjugated typing of ports.)

-portDefinition = conjugatedPortDefinition.originalPortDefinition"""^^rdf:XMLLiteral ; - dcterms:title "ConjugatedPortTypingShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureMembershipOwningType" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Type that owns this FeatureMembership.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedConnection" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ConnectorAsUsages that are ownedUsages of this Definition. Note that this list includes BindingConnectorAsUsages and SuccessionAsUsages, even though these are ConnectorAsUsages but not ConnectionUsages.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "expressionFunction" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Function that types this Expression.

- -

This is the Function that types the Expression.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "SendActionUsageShape" ; - oslc:property , , ; - dcterms:description """

A SendActionUsage is an ActionUsage that specifies the sending of a payload given by the result of its payloadArgument Expression via a MessageTransfer whose source is given by the result of the senderArgument Expression and whose target is given by the result of the receiverArgument Expression. If no senderArgument is provided, the default is the this context for the action. If no receiverArgument is given, then the receiver is to be determined by, e.g., outgoing Connections from the sender.

- -senderArgument = argument(2) -payloadArgument = argument(1) -inputParameters()->size() >= 3 -receiverArgument = argument(3) -isSubactionUsage() implies - specializesFromLibrary('Actions::Action::acceptSubactions') -specializesFromLibrary('Actions::sendActions')"""^^rdf:XMLLiteral ; - dcterms:title "SendActionUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedPart" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The PartUsages that are nestedUsages of this Usage.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "LoopActionUsageShape" ; - oslc:property ; - dcterms:description """

A LoopActionUsage is an ActionUsage that specifies that its bodyAction should be performed repeatedly. Its subclasses WhileLoopActionUsage and ForLoopActionUsage provide different ways to determine how many times the bodyAction should be performed.

-bodyAction = - let parameter : Feature = inputParameter(2) in - if parameter <> null and parameter.oclIsKindOf(Action) then - parameter.oclAsType(Action) - else - null - endif -"""^^rdf:XMLLiteral ; - dcterms:title "LoopActionUsageShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "OccurrenceUsageShape" ; - oslc:property , , , ; - dcterms:description """

An OccurrenceUsage is a Usage whose types are all Classes. Nominally, if a type is an OccurrenceDefinition, an OccurrenceUsage is a Usage of that OccurrenceDefinition within a system. However, other types of Kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries.

- -individualDefinition = - let individualDefinitions : OrderedSet(OccurrenceDefinition) = - occurrenceDefinition-> - selectByKind(OccurrenceDefinition)-> - select(isIndividual) in - if individualDefinitions->isEmpty() then null - else individualDefinitions->first() endif -isIndividual implies individualDefinition <> null -specializesFromLibrary('Occurrences::occurrences') -isComposite and -owningType <> null and -(owningType.oclIsKindOf(Class) or - owningType.oclIsKindOf(OccurrenceUsage) or - owningType.oclIsKindOf(Feature) and - owningType.oclAsType(Feature).type-> - exists(oclIsKind(Class))) implies - specializesFromLibrary('Occurrences::Occurrence::suboccurrences') -occurrenceDefinition-> - selectByKind(OccurrenceDefinition)-> - select(isIndividual).size() <= 1 -portionKind <> null implies - occurrenceDefinition->forAll(occ | - featuringType->exists(specializes(occ)))"""^^rdf:XMLLiteral ; - dcterms:title "OccurrenceUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionVariant" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Usages which represent the variants of this Definition as a variation point Definition, if isVariation = true. If isVariation = false, the there must be no variants.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "itemFlowItemType" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The type of values transferred, which is the type of the itemFeature of the ItemFlow.

- -"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ClassShape" ; - dcterms:description """

A Class is a Classifier of things (in the universe) that can be distinguished without regard to how they are related to other things (via Features). This means multiple things classified by the same Class can be distinguished, even when they are related other things in exactly the same way.

- -specializesFromLibrary('Occurrences::Occurrence') -ownedSpecialization.general-> - forAll(not oclIsKindOf(DataType)) and -not oclIsKindOf(Association) implies - ownedSpecialization.general-> - forAll(not oclIsKindOf(Association))"""^^rdf:XMLLiteral ; - dcterms:title "ClassShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedView" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ViewUsages that are nestedUsages of this Usage.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedEnumeration" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

A PortConjugation is a Conjugation Relationship between a PortDefinition and its corresponding ConjugatedPortDefinition. As a result of this Relationship, the ConjugatedPortDefinition inherits all the features of the original PortDefinition, but input flows of the original PortDefinition become outputs on the ConjugatedPortDefinition and output flows of the original PortDefinition become inputs on the ConjugatedPortDefinition.

The code>EnumerationUsages that are nestedUsages of this Usage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "literalIntegerValue" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

The Integer value that is the result of evaluating this LiteralInteger.

-

The Integer value that is the result of evaluating this Expression.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ConjugatedPortDefinitionShape" ; - oslc:property , ; - dcterms:description """

A ConjugatedPortDefinition is a PortDefinition that is a PortDefinition of its original PortDefinition. That is, a ConjugatedPortDefinition inherits all the features of the original PortDefinition, but input flows of the original PortDefinition become outputs on the ConjugatedPortDefinition and output flows of the original PortDefinition become inputs on the ConjugatedPortDefinition. Every PortDefinition (that is not itself a ConjugatedPortDefinition) has exactly one corresponding ConjugatedPortDefinition, whose effective name is the name of the originalPortDefinition, with the character ~ prepended.

-ownedPortConjugator.originalPortDefinition = originalPortDefinition -conjugatedPortDefinition = null"""^^rdf:XMLLiteral ; - dcterms:title "ConjugatedPortDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "elementIsLibraryElement" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

Whether this Element is contained in the ownership tree of a library model.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeInheritedMembership" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedCalculation" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The CalculationUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "connectorTargetFeature" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The target relatedFeatures for this Connector. This includes all the relatedFeatures other than the sourceFeature.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "behaviorParameter" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The parameters of this Behavior, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Behavior.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "elementOwnedAnnotation" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement."^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "subclassificationOwningClassifier" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Classifier that owns this Subclassification relationship, which must also be its subclassifier.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "conjugatedPortDefinitionOwnedPortConjugator" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The PortConjugation that is the ownedConjugator of this ConjugatedPortDefinition, linking it to its originalPortDefinition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "requirementDefinitionReqId" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

An optional modeler-specified identifier for this RequirementDefinition (used, e.g., to link it to an original requirement text in some source document), which is the declaredShortName for the RequirementDefinition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "viewRenderingMembershipOwnedRendering" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The owned RenderingUsage that is either itself the referencedRendering or subsets the referencedRendering."^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "MembershipExposeShape" ; - dcterms:description "

A MembershipExpose is an Expose that exposes a specific importedMembership and, if isRecursive = true, additional Memberships recursively.

"^^rdf:XMLLiteral ; - dcterms:title "MembershipExposeShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "AllocationUsageShape" ; - oslc:property ; - dcterms:description """

An AllocationUsage is a usage of an AllocationDefinition asserting the allocation of the source feature to the target feature.

-specializesFromLibrary('Allocations::allocations')"""^^rdf:XMLLiteral ; - dcterms:title "AllocationUsageShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "OccurrenceDefinitionShape" ; - oslc:property , ; - dcterms:description """

An OccurrenceDefinition is a Definition of a Class of individuals that have an independent life over time and potentially an extent over space. This includes both structural things and behaviors that act on such structures.

- -

If isIndividual is true, then the OccurrenceDefinition is constrained to represent an individual thing. The instances of such an OccurrenceDefinition include all spatial and temporal portions of the individual being represented, but only one of these can be the complete Life of the individual. All other instances must be portions of the "maximal portion" that is single Life instance, capturing the conception that all of the instances represent one individual with a single "identity".

- -

An OccurrenceDefinition must specialize, directly or indirectly, the base Class Occurrence from the Kernel Semantic Library.

- -let n : Integer = ownedMember->selectByKind(LifeClass) in -if isIndividual then n = 1 else n = 0 endif -lifeClass = - let lifeClasses: OrderedSet(LifeClass) = - ownedMember->selectByKind(LifeClass) in - if lifeClasses->isEmpty() then null - else lifeClasses->first() - endif"""^^rdf:XMLLiteral ; - dcterms:title "OccurrenceDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "InterfaceUsageShape" ; - oslc:property ; - dcterms:description """

An InterfaceUsage is a Usage of an InterfaceDefinition to represent an interface connecting parts of a system through specific ports.

-ownedEndFeature->size() = 2 implies - specializesFromLibrary('Interfaces::binaryInterfaces') -specializesFromLibrary('Interfaces::interfaces')"""^^rdf:XMLLiteral ; - dcterms:title "InterfaceUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "membershipMemberShortName" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

The short name of the memberElement relative to the membershipOwningNamespace.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedConstraint" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ConstraintUsages that are ownedUsages of this Definition.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedState" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The StateUsages that are nestedUsages of this Usage.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "acceptActionUsagePayloadArgument" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

An Expression whose result is bound to the payload parameter of this AcceptActionUsage. If provided, the AcceptActionUsage will only accept a Transfer with exactly this payload.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedVerificationCase" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The VerificationCaseUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "RequirementUsageShape" ; - oslc:property , , , , , , , , ; - dcterms:description """

A RequirementUsage is a Usage of a RequirementDefinition.

-actorParameter = featureMembership-> - selectByKind(ActorMembership). - ownedActorParameter -assumedConstraint = ownedFeatureMembership-> - selectByKind(RequirementConstraintMembership)-> - select(kind = RequirementConstraintKind::assumption). - ownedConstraint -framedConcern = featureMembership-> - selectByKind(FramedConcernMembership). - ownedConcern -requiredConstraint = ownedFeatureMembership-> - selectByKind(RequirementConstraintMembership)-> - select(kind = RequirementConstraintKind::requirement). - ownedConstraint -stakeholderParameter = featureMembership-> - selectByKind(AStakholderMembership). - ownedStakeholderParameter -subjectParameter = - let subjects : OrderedSet(SubjectMembership) = - featureMembership->selectByKind(SubjectMembership) in - if subjects->isEmpty() then null - else subjects->first().ownedSubjectParameter - endif -text = documentation.body -featureMembership-> - selectByKind(SubjectMembership)-> - size() <= 1 -input->notEmpty() and input->first() = subjectParameter -specializesFromLibrary('Requirements::requirementChecks') -isComposite and owningType <> null and - (owningType.oclIsKindOf(RequirementDefinition) or - owningType.oclIsKindOf(RequirementUsage)) implies - specializesFromLibrary('Requirements::RequirementCheck::subrequirements') -owningfeatureMembership <> null and -owningfeatureMembership.oclIsKindOf(ObjectiveMembership) implies - owningType.ownedSpecialization.general->forAll(gen | - (gen.oclIsKindOf(CaseDefinition) implies - redefines(gen.oclAsType(CaseDefinition).objectiveRequirement)) and - (gen.oclIsKindOf(CaseUsage) implies - redefines(gen.oclAsType(CaseUsage).objectiveRequirement)) -owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(RequirementVerificationMembership) implies - specializesFromLibrary('VerificationCases::VerificationCase::obj::requirementVerifications')"""^^rdf:XMLLiteral ; - dcterms:title "RequirementUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "whileLoopActionUsageUntilArgument" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Expression whose result, if false, determines that the bodyAction should continue to be performed. It is the (optional) third owned parameter of the WhileLoopActionUsage.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "itemFlowItemFlowEnd" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The connectorEnds of this ItemFlow that are ItemFlowEnds.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "namespaceOwnedMember" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the .

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "assignmentActionUsageTargetArgument" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Expression whose value is an occurrence in the domain of the referent Feature, for which the value of the referent will be set to the result of the valueExpression by this AssignmentActionUsage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "owningMembershipOwnedMemberShortName" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

The shortName of the ownedMemberElement.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "textualRepresentationRepresentedElement" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Element that is represented by this TextualRepresentation.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ExhibitStateUsageShape" ; - oslc:property ; - dcterms:description """

An ExhibitStateUsage is a StateUsage that represents the exhibiting of a StateUsage. Unless it is the StateUsage itself, the StateUsage to be exhibited is related to the ExhibitStateUsage by a ReferenceSubsetting Relationship. An ExhibitStateUsage is also a PerformActionUsage, with its exhibitedState as the performedAction.

- -owningType <> null and -(owningType.oclIsKindOf(PartDefinition) or - owningType.oclIsKindOf(PartUsage)) implies - specializesFromLibrary('Parts::Part::exhibitedStates') -ownedReferenceSubsetting <> null implies - ownedReferenceSubsetting.referencedFeature.oclIsKindOf(StateUsage)"""^^rdf:XMLLiteral ; - dcterms:title "ExhibitStateUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "framedConcernMembershipReferencedConcern" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ConcernUsage that is referenced through this FramedConcernMembership. It is the referencedConstraint of the FramedConcernMembership considered as a RequirementConstraintMembership, which must be a ConcernUsage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeFeaturingOwningFeatureOfType" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

A featureOfType that is also the owningRelatedElement of this TypeFeaturing.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "requirementDefinitionRequiredConstraint" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The owned ConstraintUsages that represent requirements of this RequirementDefinition, derived as the ownedConstraints of the RequirementConstraintMemberships of the RequirementDefinition with kind = requirement.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "relationshipTarget" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The relatedElements to which this Relationship is considered to be directed.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeOwnedDisjoining" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "occurrenceUsagePortionKind" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "annotationAnnotatingElement" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The AnnotatingElement that annotates the annotatedElement of this Annotation.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "StructureShape" ; - dcterms:description """

A Structure is a Class of objects in the modeled universe that are primarily structural in nature. While such an object is not itself behavioral, it may be involved in and acted on by Behaviors, and it may be the performer of some of them.

- -specializesFromLibrary('Objects::Object') -ownedSpecialization.general->forAll(not oclIsKindOf(Behavior))"""^^rdf:XMLLiteral ; - dcterms:title "StructureShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ForLoopActionUsageShape" ; - oslc:property , ; - dcterms:description """

A ForLoopActionUsage is a LoopActionUsage that specifies that its bodyAction ActionUsage should be performed once for each value, in order, from the sequence of values obtained as the result of the seqArgument Expression, with the loopVariable set to the value for each iteration.

-seqArgument = argument(1) - -isSubactionUsage() implies - specializesFromLibrary('Actions::Action::forLoops') -loopVariable <> null and -loopVariable.redefinesFromLibrary('Actions::ForLoopAction::var') -specializesFromLibrary('Actions::forLoopActions') -loopVariable = - if ownedFeature->isEmpty() or - not ownedFeature->first().oclIsKindOf(ReferenceUsage) then - null - else - ownedFeature->first().oclAsType(ReferenceUsage) - endif -ownedFeature->notEmpty() and -ownedFeature->at(1).oclIsKindOf(ReferenceUsage) - -inputParameters()->size() = 2"""^^rdf:XMLLiteral ; - dcterms:title "ForLoopActionUsageShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "InterfaceDefinitionShape" ; - oslc:property ; - dcterms:description """

An InterfaceDefinition is a ConnectionDefinition all of whose ends are PortUsages, defining an interface between elements that interact through such ports.

-specializesFromLibrary('Interfaces::Interface') -ownedEndFeature->size() = 2 implies - specializesFromLibrary('Interfaces::BinaryInterface')"""^^rdf:XMLLiteral ; - dcterms:title "InterfaceDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "elementShortName" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "MergeNodeShape" ; - dcterms:description """

A MergeNode is a ControlNode that asserts the merging of its incoming Successions. A MergeNode may have at most one outgoing Successions.

-sourceConnector->selectAsKind(Succession)->size() <= 1 -targetConnector->selectByKind(Succession)-> - collect(connectorEnd->at(1))-> - forAll(sourceMult | - multiplicityHasBounds(sourceMult, 0, 1)) -targetConnector->selectByKind(Succession)-> - forAll(subsetsChain(self, - resolveGlobal('ControlPerformances::MergePerformance::incomingHBLink'))) -specializesFromLibrary('Actions::Action::merges')"""^^rdf:XMLLiteral ; - dcterms:title "MergeNodeShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "viewUsageSatisfiedViewpoint" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The nestedRequirements of this ViewUsage that are ViewpointUsages for (additional) viewpoints satisfied by the ViewUsage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedTransition" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The TransitionUsages that are nestedUsages of this Usage.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "elementElementId" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - dcterms:identifier ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "disjoiningDisjoiningType" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

Type asserted to be disjoint with the typeDisjoined.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "satisfyRequirementUsageSatisfiedRequirement" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The RequirementUsage that is satisfied by the satisfyingSubject of this SatisfyRequirementUsage. It is the assertedConstraint of the SatisfyRequirementUsage considered as an AssertConstraintUsage, which must be a RequirementUsage.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "LibraryPackageShape" ; - oslc:property ; - dcterms:description """

A LibraryPackage is a Package that is the container for a model library. A LibraryPackage is itself a library Element as are all Elements that are directly or indirectly contained in it.

-"""^^rdf:XMLLiteral ; - dcterms:title "LibraryPackageShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "FlowConnectionDefinitionShape" ; - dcterms:description """

A FlowConnectionDefinition is a ConnectionDefinition and ActionDefinition that is also an Interaction representing flows between Usages.

-specializesFromLibrary('Connections::MessageConnection')"""^^rdf:XMLLiteral ; - dcterms:title "FlowConnectionDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "owningMembershipOwnedMemberElementId" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

The elementId of the ownedMemberElement.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedConnection" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages and SuccessionAsUsages, even though these are ConnectorAsUsages but not ConnectionUsages.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "stateDefinitionState" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The StateUsages, which are actions in the StateDefinition, that specify the discrete states in the behavior defined by the StateDefinition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "commentLocale" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

Identification of the language of the body text and, optionally, the region and/or encoding. The format shall be a POSIX locale conformant to ISO/IEC 15897, with the format [language[_territory][.codeset][@modifier]].

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "MembershipShape" ; - oslc:property , , , , , ; - dcterms:description """

A Membership is a Relationship between a Namespace and an Element that indicates the Element is a member of (i.e., is contained in) the Namespace. Any memberNames specify how the memberElement is identified in the Namespace and the visibility specifies whether or not the memberElement is publicly visible from outside the Namespace.

- -

If a Membership is an OwningMembership, then it owns its memberElement, which becomes an ownedMember of the membershipOwningNamespace. Otherwise, the memberNames of a Membership are effectively aliases within the membershipOwningNamespace for an Element with a separate OwningMembership in the same or a different Namespace.

- -

 

- -memberElementId = memberElement.elementId"""^^rdf:XMLLiteral ; - dcterms:title "MembershipShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "relationshipSource" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The relatedElements from which this Relationship is considered to be directed.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "connectionUsageConnectionDefinition" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The AssociationStructures that are the types of this ConnectionUsage. Nominally, these are , but other kinds of Kernel AssociationStructures are also allowed, to permit use of AssociationStructures from the Kernel Model Libraries

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "relationshipRelatedElement" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "StateSubactionMembershipShape" ; - oslc:property , ; - dcterms:description """

A StateSubactionMembership is a FeatureMembership for an entry, do or exit ActionUsage of a StateDefinition or StateUsage.

-owningType.oclIsKindOf(StateDefinition) or -owningType.oclIsKindOf(StateUsage)"""^^rdf:XMLLiteral ; - dcterms:title "StateSubactionMembershipShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "requirementVerificationMembershipVerifiedRequirement" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The RequirementUsage that is identified as being verified. It is the referencedConstraint of the RequirementVerificationMembership considered as a RequirementConstraintMembership, which must be a RequirementUsage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "elementFilterMembershipCondition" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The model-level evaluable Boolean-valued Expression used to filter the imported members of the membershipOwningNamespace of this ElementFilterMembership.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "occurrenceUsageOccurrenceDefinition" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "successionTriggerStep" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

Steps that map incoming events to the timing of occurrences of the transitionStep. The values of triggerStep subset the list of acceptable events to be received by a Behavior or the object that performs it.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "subclassificationSuperclassifier" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The more general Classifier in this Subclassification.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "occurrenceDefinitionLifeClass" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

If isIndividual is true, a LifeClass that specializes this OccurrenceDefinition, restricting it to represent an individual.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "verificationCaseUsageVerifiedRequirement" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The RequirementUsages verified by this VerificationCaseUsage, which are the verifiedRequirements of all RequirementVerificationMemberships of the objectiveRequirement.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "relationshipOwnedRelatedElement" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The relatedElements of this Relationship that are owned by the Relationship.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "literalBooleanValue" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

The Boolean value that is the result of evaluating this LiteralBoolean.

-

The Boolean value that is the result of evaluating this Expression.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "elementOwnedElement" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "membershipMemberElementId" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

The elementId of the memberElement.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ViewRenderingMembershipShape" ; - oslc:property , ; - dcterms:description """

A ViewRenderingMembership is a FeatureMembership that identifies the viewRendering of a ViewDefinition or ViewUsage.

-referencedRendering = - let reference: ReferenceSubsetting = - ownedRendering.ownedReferenceSubsetting in - if reference = null then ownedRendering - else if not reference.referencedFeature.oclIsKindOf(RenderingUsage) then null - else reference.referencedFeature.oclAsType(RenderingUsage) - endif -owningType.oclIsKindOf(ViewDefinition) or -owningType.oclIsKindOf(ViewUsage)"""^^rdf:XMLLiteral ; - dcterms:title "ViewRenderingMembershipShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionDirectedUsage" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The usages of this Definition that are directedFeatures.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "DependencyShape" ; - oslc:property , ; - dcterms:description """

A Dependency is a Relationship that indicates that one or more client Elements require one more supplier Elements for their complete specification. In general, this means that a change to one of the supplier Elements may necessitate a change to, or re-specification of, the client Elements.

- -

Note that a Dependency is entirely a model-level Relationship, without instance-level semantics.

"""^^rdf:XMLLiteral ; - dcterms:title "DependencyShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "differencingTypeDifferenced" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

Type with interpretations partly determined by differencingType, as described in Type::differencingType.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureTypingOwningFeature" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

A typedFeature that is also the owningRelatedElement of this FeatureTyping.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "sendActionUsageReceiverArgument" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

An Expression whose result is bound to the receiver input parameter of this SendActionUsage.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "expressionResult" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

An output parameter of the Expression whose value is the result of the Expression. The result of an Expression is either inherited from its function or it is related to the Expression via a ReturnParameterMembership, in which case it redefines the result parameter of its function.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "TransitionUsageShape" ; - oslc:property , , , , , ; - dcterms:description """

A TransitionUsage is an ActionUsage representing a triggered transition between ActionUsages or StateUsages. When triggered by a triggerAction, when its guardExpression is true, the TransitionUsage asserts that its source is exited, then its effectAction (if any) is performed, and then its target is entered.

- -

A TransitionUsage can be related to some of its ownedFeatures using TransitionFeatureMembership Relationships, corresponding to the triggerAction, guardExpression and effectAction of the TransitionUsage.

-isComposite and owningType <> null and -(owningType.oclIsKindOf(ActionDefinition) or - owningType.oclIsKindOf(ActionUsage)) and -not (owningType.oclIsKindOf(StateDefinition) or - owningType.oclIsKindOf(StateUsage)) implies - specializesFromLibrary('Actions::Action::decisionTransitions') -isComposite and owningType <> null and -(owningType.oclIsKindOf(StateDefinition) or - owningType.oclIsKindOf(StateUsage)) implies - specializesFromLibrary(\"States::State::stateTransitions\") -specializesFromLibrary('Actions::transitionActions') -source = - if ownedMembership->isEmpty() then null - else - let member : Element = - ownedMembership->at(1).memberElement in - if not member.oclIsKindOf(ActionUsage) then null - else member.oclAsKindOf(ActionUsage) - endif - endif -target = - if succession.targetFeature->isEmpty() then null - else - let targetFeature : Feature = - succession.targetFeature->at(1) in - if not targetFeature.oclIsKindOf(ActionUsage) then null - else targetFeature.oclAsType(ActionUsage) - endif - endif -triggerAction = ownedFeatureMembership-> - selectByKind(TransitionFeatureMembership)-> - select(kind = TransitionFeatureKind::trigger).transitionFeature-> - selectByKind(AcceptActionUsage) -let successions : Sequence(Successions) = - ownedMember->selectByKind(Succession) in -successions->notEmpty() and -successions->at(1).targetFeature-> - forAll(oclIsKindOf(ActionUsage)) -guardExpression = ownedFeatureMembership-> - selectByKind(TransitionFeatureMembership)-> - select(kind = TransitionFeatureKind::trigger).transitionFeature-> - selectByKind(Expression) -triggerAction->forAll(specializesFromLibrary('Actions::TransitionAction::accepter') and -guardExpression->forAll(specializesFromLibrary('Actions::TransitionAction::guard') and -effectAction->forAll(specializesFromLibrary('Actions::TransitionAction::effect')) -triggerAction = ownedFeatureMembership-> - selectByKind(TransitionFeatureMembership)-> - select(kind = TransitionFeatureKind::trigger).transitionFeatures-> - selectByKind(AcceptActionUsage) -succession.sourceFeature = source -ownedMember->selectByKind(BindingConnector)->exists(b | - b.relatedFeatures->includes(source) and - b.relatedFeatures->includes(inputParameter(1))) -triggerAction->notEmpty() implies - let payloadParameter : Feature = inputParameter(2) in - payloadParameter <> null and - payloadParameter.subsetsChain(triggerAction->at(1), triggerPayloadParameter()) -ownedMember->selectByKind(BindingConnector)->exists(b | - b.relatedFeatures->includes(succession) and - b.relatedFeatures->includes(resolveGlobal( - 'TransitionPerformances::TransitionPerformance::transitionLink'))) -if triggerAction->isEmpty() then - inputParameters()->size() >= 1 -else - inputParameters()->size() >= 2 -endif - -succession = ownedMember->selectByKind(Succession)->at(1)"""^^rdf:XMLLiteral ; - dcterms:title "TransitionUsageShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "DataTypeShape" ; - dcterms:description """

A DataType is a Classifier of things (in the universe) that can only be distinguished by how they are related to other things (via Features). This means multiple things classified by the same DataType

- -
    -
  • Cannot be distinguished when they are related to other things in exactly the same way, even when they are intended to be about different things.
  • -
  • Can be distinguished when they are related to other things in different ways, even when they are intended to be about the same thing.
  • -
- -specializesFromLibrary('Base::DataValue') -ownedSpecialization.general-> - forAll(not oclIsKindOf(Class) and - not oclIsKindOf(Association))"""^^rdf:XMLLiteral ; - dcterms:title "DataTypeShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedAction" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ActionUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "SelectExpressionShape" ; - dcterms:description """

A SelectExpression is an OperatorExpression whose operator is \"select\", which resolves to the Function ControlFunctions::select from the Kernel Functions Library.

-operator = 'select'"""^^rdf:XMLLiteral ; - dcterms:title "SelectExpressionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedViewpoint" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ViewpointUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "intersectingTypeIntersected" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

Type with interpretations partly determined by intersectingType, as described in Type::intersectingType.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureDirection" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind).

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "membershipMemberName" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

The name of the memberElement relative to the membershipOwningNamespace.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageOwningDefinition" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Definition that owns this Usage (if any).

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "requirementDefinitionActorParameter" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The parameters of this RequirementDefinition that represent actors involved in the requirement.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "connectorRelatedFeature" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Features that are related by this Connector considered as a Relationship and that restrict the links it identifies, given by the referenced Features of the connectorEnds of the Connector.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "InvariantShape" ; - oslc:property ; - dcterms:description """

An Invariant is a BooleanExpression that is asserted to have a specific Boolean result value. If isNegated = false, then the result is asserted to be true. If isNegated = true, then the result is asserted to be false.

- -if isNegated then - specializesFromLibrary('Performances::falseEvaluations') -else - specializesFromLibrary('Performances::trueEvaluations') -endif"""^^rdf:XMLLiteral ; - dcterms:title "InvariantShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "assignmentActionUsageValueExpression" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Expression whose result is to be assigned to the referent Feature.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "SpecializationShape" ; - oslc:property , , ; - dcterms:description """

Specialization is a Relationship between two Types that requires all instances of the specific type to also be instances of the general Type (i.e., the set of instances of the specific Type is a subset of those of the general Type, which might be the same set).

- -not specific.isConjugated"""^^rdf:XMLLiteral ; - dcterms:title "SpecializationShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "DisjoiningShape" ; - oslc:property , , ; - dcterms:description """

A Disjoining is a Relationship between Types asserted to have interpretations that are not shared (disjoint) between them, identified as typeDisjoined and disjoiningType. For example, a Classifier for mammals is disjoint from a Classifier for minerals, and a Feature for people's parents is disjoint from a Feature for their children.

-"""^^rdf:XMLLiteral ; - dcterms:title "DisjoiningShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "unioningTypeUnioned" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

Type with interpretations partly determined by unioningType, as described in Type::unioningType.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "specializationGeneral" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

A Type with a superset of all instances of the specific Type, which might be the same set.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureOwnedFeatureChaining" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "VerificationCaseDefinitionShape" ; - oslc:property ; - dcterms:description """

A VerificationCaseDefinition is a CaseDefinition for the purpose of verification of the subject of the case against its requirements.

-verifiedRequirement = - if objectiveRequirement = null then OrderedSet{} - else - objectiveRequirement.featureMembership-> - selectByKind(RequirementVerificationMembership). - verifiedRequirement->asOrderedSet() - endif -specializesFromLibrary('VerificationCases::VerificationCase')"""^^rdf:XMLLiteral ; - dcterms:title "VerificationCaseDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "viewDefinitionViewRendering" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The RenderingUsage to be used to render views defined by this ViewDefinition, which is the referencedRendering of the ViewRenderingMembership of the ViewDefinition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "packageFilterCondition" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The model-level evaluable Boolean-valued Expression used to filter the members of this Package, which are owned by the Package are via ElementFilterMemberships.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "elementOwner" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "allocationUsageAllocationDefinition" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The AllocationDefinitions that are the types of this AllocationUsage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedInterface" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The InterfaceUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "elementIsImpliedIncluded" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedFlow" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The code>FlowConnectionUsages that are nestedUsages of this Usage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "analysisCaseUsageAnalysisAction" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The composite usages of the AnalysisCaseUsage that are defined as AnalysisActions.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "invariantIsNegated" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

Whether this Invariant is asserted to be false rather than true.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ElementFilterMembershipShape" ; - oslc:property ; - dcterms:description """

ElementFilterMembership is a Membership between a Namespace and a model-level evaluable Boolean-valued Expression, asserting that imported members of the Namespace should be filtered using the condition Expression. A general Namespace does not define any specific filtering behavior, but such behavior may be defined for various specialized kinds of Namespaces.

- -condition.isModelLevelEvaluable -condition.result.specializesFromLibrary('ScalarValues::Boolean')"""^^rdf:XMLLiteral ; - dcterms:title "ElementFilterMembershipShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "MembershipImportShape" ; - oslc:property ; - dcterms:description """

A MembershipImport is an Import that imports its importedMembership into the importOwningNamespace. If isRecursive = true and the memberElement of the importedMembership is a Namespace, then the equivalent of a recursive NamespaceImport is also performed on that Namespace.

- -importedElement = importedMembership.memberElement"""^^rdf:XMLLiteral ; - dcterms:title "MembershipImportShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "stakeholderMembershipOwnedStakeholderParameter" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The PartUsage specifying the stakeholder.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedCase" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The code>CaseUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "CaseDefinitionShape" ; - oslc:property , , ; - dcterms:description """

A CaseDefinition is a CalculationDefinition for a process, often involving collecting evidence or data, relative to a subject, possibly involving the collaboration of one or more other actors, producing a result that meets an objective.

-objectiveRequirement = - let objectives: OrderedSet(RequirementUsage) = - featureMembership-> - selectByKind(ObjectiveMembership). - ownedRequirement in - if objectives->isEmpty() then null - else objectives->first().ownedObjectiveRequirement - endif -featureMembership-> - selectByKind(ObjectiveMembership)-> - size() <= 1 -subjectParameter = - let subjectMems : OrderedSet(SubjectMembership) = - featureMembership->selectByKind(SubjectMembership) in - if subjectMems->isEmpty() then null - else subjectMems->first().ownedSubjectParameter - endif -actorParameter = featureMembership-> - selectByKind(ActorMembership). - ownedActorParameter -featureMembership->selectByKind(SubjectMembership)->size() <= 1 -input->notEmpty() and input->first() = subjectParameter -specializesFromLibrary('Cases::Case')"""^^rdf:XMLLiteral ; - dcterms:title "CaseDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "SubsettingShape" ; - oslc:property , , ; - dcterms:description """

Subsetting is Specialization in which the specific and general Types are Features. This means all values of the subsettingFeature (on instances of its domain, i.e., the intersection of its featuringTypes) are values of the subsettedFeature on instances of its domain. To support this the domain of the subsettingFeature must be the same or specialize (at least indirectly) the domain of the subsettedFeature (via Specialization), and the co-domain (intersection of the types) of the subsettingFeature must specialize the co-domain of the subsettedFeature.

- -let subsettingFeaturingTypes: OrderedSet(Type) = - subsettingFeature.featuringTypes in -let subsettedFeaturingTypes: OrderedSet(Type) = - subsettedFeature.featuringTypes in -let anythingType: Element = - subsettingFeature.resolveGlobal('Base::Anything').memberElement in -subsettedFeaturingTypes->forAll(t | - subsettingFeaturingTypes->isEmpty() and t = anythingType or - subsettingFeaturingTypes->exists(specializes(t)) -subsettedFeature.isUnique implies subsettingFeature.isUnique"""^^rdf:XMLLiteral ; - dcterms:title "SubsettingShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "FeatureShape" ; - oslc:property , , , , , , , , , , , , , , , , , , , , , ; - dcterms:description """

A Feature is a Type that classifies relations between multiple things (in the universe). The domain of the relation is the intersection of the featuringTypes of the Feature. (The domain of a Feature with no featuringTyps is implicitly the most general Type Base::Anything from the Kernel Semantic Library.) The co-domain of the relation is the intersection of the types of the Feature. - -

In the simplest cases, the featuringTypes and types are Classifiers and the Feature relates two things, one from the domain and one from the range. Examples include cars paired with wheels, people paired with other people, and cars paired with numbers representing the car length.

- -

Since Features are Types, their featuringTypes and types can be Features. In this case, the Feature effectively classifies relations between relations, which can be interpreted as the sequence of things related by the domain Feature concatenated with the sequence of things related by the co-domain Feature.

- -

The values of a Feature for a given instance of its domain are all the instances of its co-domain that are related to that domain instance by the Feature. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with values of the first Feature, then using those values as domain instances to obtain valus of the second Feature, and so on, to values of the last Feature.

- -ownedRedefinition = ownedSubsetting->selectByKind(Redefinition) -ownedTypeFeaturing = ownedRelationship->selectByKind(TypeFeaturing)-> - select(tf | tf.featureOfType = self) -ownedSubsetting = ownedSpecialization->selectByKind(Subsetting) -ownedTyping = ownedGeneralization->selectByKind(FeatureTyping) -type = - let types : OrderedSet(Types) = OrderedSet{self}-> - -- Note: The closure operation automatically handles circular relationships. - closure(typingFeatures()).typing.type->asOrderedSet() in - types->reject(t1 | types->exist(t2 | t2 <> t1 and t2.specializes(t1))) -multiplicity <> null implies multiplicity.featuringType = featuringType -specializesFromLibrary('Base::things') -chainingFeature->excludes(self) -ownedFeatureChaining = ownedRelationship->selectByKind(FeatureChaining) -chainingFeature = ownedFeatureChaining.chainingFeature -chainingFeature->size() <> 1 -isEnd and owningType <> null implies - let i : Integer = - owningType.ownedEndFeature->indexOf(self) in - owningType.ownedSpecialization.general-> - forAll(supertype | - supertype.endFeature->size() >= i implies - redefines(supertype.endFeature->at(i)) -direction = null and -ownedSpecializations->forAll(isImplied) implies - ownedMembership-> - selectByKind(FeatureValue)-> - forAll(fv | specializes(fv.value.result)) -isEnd and owningType <> null and -(owningType.oclIsKindOf(Association) or - owningType.oclIsKindOf(Connector)) implies - specializesFromLibrary('Links::Link::participant') -isComposite and -ownedTyping.type->includes(oclIsKindOf(Structure)) and -owningType <> null and -(owningType.oclIsKindOf(Structure) or - owningType.type->includes(oclIsKindOf(Structure))) implies - specializesFromLibrary('Occurrence::Occurrence::suboccurrences') -owningType <> null and -owningType.oclIsKindOf(FeatureReferenceExpression) and -self = owningType.oclAsType(FeatureReferenceExpression).result implies - specializes(owningType.oclAsType(FeatureReferenceExpression).referent) - -ownedTyping.type->exists(selectByKind(Class)) implies - specializesFromLibrary('Occurrences::occurrences') -isComposite and -ownedTyping.type->includes(oclIsKindOf(Class)) and -owningType <> null and -(owningType.oclIsKindOf(Class) or - owningType.oclIsKindOf(Feature) and - owningType.oclAsType(Feature).type-> - exists(oclIsKindOf(Class))) implies - specializesFromLibrary('Occurrence::Occurrence::suboccurrences') -ownedTyping.type->exists(selectByKind(DataType)) implies - specializesFromLibrary('Base::dataValues') -owningType <> null and -owningType.oclIsKindOf(ItemFlowEnd) and -owningType.ownedFeature->at(1) = self implies - let flowType : Type = owningType.owningType in - flowType <> null implies - let i : Integer = - flowType.ownedFeature.indexOf(owningType) in - (i = 1 implies - redefinesFromLibrary('Transfers::Transfer::source::sourceOutput')) and - (i = 2 implies - redefinesFromLibrary('Transfers::Transfer::source::targetInput')) - -owningType <> null and -(owningType.oclIsKindOf(Behavior) or - owningType.oclIsKindOf(Step)) implies - let i : Integer = - owningType.ownedFeature->select(direction <> null) in - owningType.ownedSpecialization.general-> - forAll(supertype | - let ownedParameters : Sequence(Feature) = - supertype.ownedFeature->select(direction <> null) in - ownedParameters->size() >= i implies - redefines(ownedParameters->at(i)) -ownedTyping.type->exists(selectByKind(Structure)) implies - specializesFromLibary('Objects::objects') -owningType <> null and -(owningType.oclIsKindOf(Function) and - self = owningType.oclAsType(Function).result or - owningType.oclIsKindOf(Expression) and - self = owningType.oclAsType(Expression).result) implies - owningType.ownedSpecialization.general-> - select(oclIsKindOf(Function) or oclIsKindOf(Expression))-> - forAll(supertype | - redefines( - if superType.oclIsKindOf(Function) then - superType.oclAsType(Function).result - else - superType.oclAsType(Expression).result - endif) -ownedFeatureInverting = ownedRelationship->selectByKind(FeatureInverting)-> - select(fi | fi.featureInverted = self) -featuringType = - let featuringTypes : OrderedSet(Type) = - featuring.type->asOrderedSet() in - if chainingFeature->isEmpty() then featuringTypes - else - featuringTypes-> - union(chainingFeature->first().featuringType)-> - asOrderedSet() - endif -ownedReferenceSubsetting = - let referenceSubsettings : OrderedSet(ReferenceSubsetting) = - ownedSubsetting->selectByKind(ReferenceSubsetting) in - if referenceSubsettings->isEmpty() then null - else referenceSubsettings->first() endif -ownedSubsetting->selectByKind(ReferenceSubsetting)->size() <= 1 -Sequence{1..chainingFeature->size() - 1}->forAll(i | - chainingFeature->at(i + 1).featuringType->forAll(t | - chainingFeature->at(i).specializes(t))) - -isPortion and -ownedTyping.type->includes(oclIsKindOf(Class)) and -owningType <> null and -(owningType.oclIsKindOf(Class) or - owningType.oclIsKindOf(Feature) and - owningType.oclAsType(Feature).type-> - exists(oclIsKindOf(Class))) implies - specializesFromLibrary('Occurrence::Occurrence::portions')"""^^rdf:XMLLiteral ; - dcterms:title "FeatureShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeOutput" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

All features related to this Type by FeatureMemberships that have direction out or inout.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureIsReadOnly" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

Whether the values of this Feature can change over the lifetime of an instance of the domain.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "viewpointDefinitionViewpointStakeholder" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The PartUsages that identify the stakeholders with concerns framed by this ViewpointDefinition, which are the owned and inherited stakeholderParameters of the framedConcerns of this ViewpointDefinition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "stateUsageExitAction" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ActionUsage of this StateUsage to be performed on exit to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateUsage by a StateSubactionMembership with kind = exit.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "exhibitStateUsageExhibitedState" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The StateUsage to be exhibited by the ExhibitStateUsage. It is the performedAction of the ExhibitStateUsage considered as a PerformActionUsage, which must be a StateUsage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "stateSubactionMembershipKind" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

Whether this StateSubactionMembership is for an entry, do or exit ActionUsage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "assertConstraintUsageAssertedConstraint" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ConstraintUsage to be performed by the AssertConstraintUsage. It is the referenceFeature of the ownedReferenceSubsetting for the AssertConstraintUsage, if there is one, and, otherwise, the AssertConstraintUsage itself.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featuringType" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Type that features the featureOfType.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "viewDefinitionViewCondition" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Expressions related to this ViewDefinition by ElementFilterMemberships, which specify conditions on Elements to be rendered in a view.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedConcern" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ConcernUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "conjugatedPortTypingConjugatedPortDefinition" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The type of this ConjugatedPortTyping considered as a FeatureTyping, which must be a ConjugatedPortDefinition.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "itemFlowTargetInputFeature" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Feature that receives the values carried by the ItemFlow. It must be an owned output of the target participant of the ItemFlow.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureChainingChainingFeature" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Feature whose values partly determine values of featureChained, as described in Feature::chainingFeature.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureInvertingFeatureInverted" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Feature that is an inverse of the invertingFeature.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedItem" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ItemUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedAllocation" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The AllocationUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "requirementConstraintMembershipKind" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

Whether the RequirementConstraintMembership is for an assumed or required ConstraintUsage.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "FlowConnectionUsageShape" ; - oslc:property ; - dcterms:description """

A FlowConnectionUsage is a ConnectionUsage that is also an ItemFlow.

-if ownedEndFeatures->isEmpty() then - specializesFromLibrary('Connections::messageConnections') -else - specializesFromLibrary('Connections::flowConnections') -endif"""^^rdf:XMLLiteral ; - dcterms:title "FlowConnectionUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "membershipImportImportedMembership" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Membership to be imported.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "successionTransitionStep" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

A Step that is typed by the Behavior TransitionPerformances::TransitionPerformance (from the Kernel Semantic Library) that has this Succession as its transitionLink.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "variantMembershipOwnedVariantUsage" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Usage that represents a variant in the context of the owningVariationDefinition or owningVariationUsage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "portConjugationOriginalPortDefinition" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The PortDefinition being conjugated.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "stateSubactionMembershipAction" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ActionUsage that is the ownedMemberFeature of this StateSubactionMembership.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "LiteralStringShape" ; - oslc:property ; - dcterms:description """

A LiteralString is a LiteralExpression that provides a String value as a result. Its result parameter must have the type String.

- -specializesFromLibrary('Performances::literalStringEvaluations')"""^^rdf:XMLLiteral ; - dcterms:title "LiteralStringShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "AnnotationShape" ; - oslc:property , , , ; - dcterms:description """

An Annotation is a Relationship between an AnnotatingElement and the Element that is annotated by that AnnotatingElement.

-"""^^rdf:XMLLiteral ; - dcterms:title "AnnotationShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedMetadata" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The MetadataUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ConjugationShape" ; - oslc:property , , ; - dcterms:description """

Conjugation is a Relationship between two types in which the conjugatedType inherits all the Features of the originalType, but with all input and output Features reversed. That is, any Features with a direction in relative to the originalType are considered to have an effective direction of out relative to the conjugatedType and, similarly, Features with direction out in the originalType are considered to have an effective direction of in in the conjugatedType. Features with direction inout, or with no direction, in the originalType, are inherited without change.

- -

A Type may participate as a conjugatedType in at most one Conjugation relationship, and such a Type may not also be the specific Type in any Specialization relationship.

-"""^^rdf:XMLLiteral ; - dcterms:title "ConjugationShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "SuccessionFlowConnectionUsageShape" ; - dcterms:description """

A SuccessionFlowConnectionUsage is a FlowConnectionUsage that is also a SuccessionItemFlow.

-specializesFromLibrary('Connections::successionFlowConnections')"""^^rdf:XMLLiteral ; - dcterms:title "SuccessionFlowConnectionUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "connectorSourceFeature" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The source relatedFeature for this Connector. It is the first relatedFeature.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "ifActionUsageIfArgument" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Expression whose result determines whether the thenAction or (optionally) the elseAction is performed. It is the first parameter of the IfActionUsage.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedEnumeration" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The EnumerationUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeInheritedFeature" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "multiplicityRangeUpperBound" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "The Expression whose result is the upper bound of the MultiplicityRange."^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "elementName" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - dcterms:title ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "literalRationalValue" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

The value whose rational approximation is the result of evaluating this LiteralRational.

- -

The Real value that is the result of evaluating this Expression.

"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "RenderingUsageShape" ; - oslc:property ; - dcterms:description """

A RenderingUsage is the usage of a RenderingDefinition to specify the rendering of a specific model view to produce a physical view artifact.

- - -specializesFromLibrary('Views::renderings') -owningType <> null and -(owningType.oclIsKindOf(RenderingDefinition) or - owningType.oclIsKindOf(RenderingUsage)) implies - specializesFromLibrary('Views::Rendering::subrenderings') -owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(ViewRenderingMembership) implies - redefinesFromLibrary('Views::View::viewRendering')"""^^rdf:XMLLiteral ; - dcterms:title "RenderingUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "framedConcernMembershipOwnedConcern" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ConcernUsage that is the ownedConstraint of this FramedConcernMembership.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "CalculationUsageShape" ; - oslc:property ; - dcterms:description """

A CalculationUsage is an ActionUsage that is also an Expression, and, so, is typed by a Function. Nominally, if the type is a CalculationDefinition, a CalculationUsage is a Usage of that CalculationDefinition within a system. However, other kinds of kernel Functions are also allowed, to permit use of Functions from the Kernel Model Libraries.

-specializesFromLibrary('Calculations::calculations') -owningType <> null and -(owningType.oclIsKindOf(CalculationDefinition) or - owningType.oclIsKindOf(CalculationUsage)) implies - specializesFromLibrary('Calculations::Calculation::subcalculations')"""^^rdf:XMLLiteral ; - dcterms:title "CalculationUsageShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "DifferencingShape" ; - oslc:property , ; - dcterms:description """

Differencing is a Relationship that makes its differencingType one of the differencingTypes of its typeDifferenced.

-"""^^rdf:XMLLiteral ; - dcterms:title "DifferencingShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "FeatureValueShape" ; - oslc:property , , , ; - dcterms:description """

A FeatureValue is a Membership that identifies a particular member Expression that provides the value of the Feature that owns the FeatureValue. The value is specified as either a bound value or an initial value, and as either a concrete or default value. A Feature can have at most one FeatureValue.

- -

The result of the value Expression is bound to the featureWithValue using a BindingConnector. If isInitial = false, then the featuringType of the BindingConnector is the same as the featuringType of the featureWithValue. If isInitial = true, then the featuringType of the BindingConnector is restricted to its startShot. - -

If isDefault = false, then the above semantics of the FeatureValue are realized for the given featureWithValue. Otherwise, the semantics are realized for any individual of the featuringType of the featureWithValue, unless another value is explicitly given for the featureWithValue for that individual.

- -not isDefault implies - featureWithValue.ownedMember-> - selectByKind(BindingConnector)->exists(b | - b.relatedFeature->includes(featureWithValue) and - b.relatedFeature->includes(value.result) and - if not isInitial then - b.featuringType = featureWithValue.featuringType - else - b.featuringType->exists(t | - t.oclIsKindOf(Feature) and - t.oclAsType(Feature).chainingFeature = - Sequence{ - resolveGlobal('Base::things::that'). - memberElement, - resolveGlobal('Occurrences::Occurrence::startShot'). - memberElement - } - ) - endif) -featureWithValue.redefinition.redefinedFeature-> - closure(redefinition.redefinedFeature).valuation-> - forAll(isDefault)"""^^rdf:XMLLiteral ; - dcterms:title "FeatureValueShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "associationTargetType" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The target relatedTypes for this Association. This includes all the relatedTypes other than the sourceType.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "portUsagePortDefinition" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The occurrenceDefinitions of this PortUsage, which must all be PortDefinitions.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "sendActionUsageSenderArgument" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

An Expression whose result is bound to the sender input parameter of this SendActionUsage.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "FeatureReferenceExpressionShape" ; - oslc:property ; - dcterms:description """

A FeatureReferenceExpression is an Expression whose result is bound to a referent Feature.

-referent = - let nonParameterMemberships : Sequence(Membership) = ownedMembership-> - reject(oclIsKindOf(ParameterMembership)) in - if nonParameterMemberships->isEmpty() or - not nonParameterMemberships->first().memberElement.oclIsKindOf(Feature) - then null - else nonParameterMemberships->first().memberElement.oclAsType(Feature) - endif -ownedMember->selectByKind(BindingConnector)->exists(b | - b.relatedFeatures->includes(targetFeature) and - b.relatedFeatures->includes(result)) -let membership : Membership = - ownedMembership->reject(m | m.oclIsKindOf(ParameterMembership)) in -membership->notEmpty() and -membership->at(1).memberElement.oclIsKindOf(Feature)"""^^rdf:XMLLiteral ; - dcterms:title "FeatureReferenceExpressionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureOwningFeatureMembership" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "VerificationCaseUsageShape" ; - oslc:property , ; - dcterms:description """

A VerificationCaseUsage is a Usage of a VerificationCaseDefinition.

-verifiedRequirement = - if objectiveRequirement = null then OrderedSet{} - else - objectiveRequirement.featureMembership-> - selectByKind(RequirementVerificationMembership). - verifiedRequirement->asOrderedSet() - endif -specializesFromLibrary('VerificationCases::verificationCases') -isComposite and owningType <> null and - (owningType.oclIsKindOf(VerificationCaseDefinition) or - owningType.oclIsKindOf(VerificationCaseUsage)) implies - specializesFromLibrary('VerificationCases::VerificationCase::subVerificationCases')"""^^rdf:XMLLiteral ; - dcterms:title "VerificationCaseUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "elementAliasIds" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

Various alternative identifiers for this Element. Generally, these will be set by tools.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "MetadataFeatureShape" ; - oslc:property ; - dcterms:description """

A MetadataFeature is a Feature that is an AnnotatingElement used to annotate another Element with metadata. It is typed by a Metaclass. All its ownedFeatures must redefine features of its metaclass and any feature bindings must be model-level evaluable.

- - -specializesFromLibrary('Metaobjects::metaobjects') -isSemantic() implies - let annotatedTypes : Sequence(Type) = - annotatedElement->selectAsKind(Type) in - let baseTypes : Sequence(MetadataFeature) = - evaluateFeature(resolveGlobal( - 'Metaobjects::SemanticMetadata::baseType'). - memberElement. - oclAsType(Feature))-> - selectAsKind(MetadataFeature) in - annotatedTypes->notEmpty() and - baseTypes()->notEmpty() and - baseTypes()->first().isSyntactic() implies - let annotatedType : Type = annotatedTypes->first() in - let baseType : Element = baseTypes->first().syntaxElement() in - if annotatedType.oclIsKindOf(Classifier) and - baseType.oclIsKindOf(Feature) then - baseType.oclAsType(Feature).type-> - forAll(t | annotatedType.specializes(t)) - else if baseType.oclIsKindOf(Type) then - annotatedType.specializes(baseType.oclAsType(Type)) - else - true - endif -not metaclass.isAbstract -let baseAnnotatedElementFeature : Feature = - resolveGlobal('Metaobjects::Metaobject::annotatedElement').memberElement. - oclAsType(Feature) in -let annotatedElementFeatures : OrderedSet(Feature) = feature-> - select(specializes(baseAnnotatedElementFeature))-> - excluding(baseAnnotatedElementFeature) in -annotatedElementFeatures->notEmpty() implies - let annotatedElementTypes : Set(Feature) = - annotatedElementFeatures.typing.type->asSet() in - let metaclasses : Set(Metaclass) = - annotatedElement.oclType().qualifiedName->collect(qn | - resolveGlobal(qn).memberElement.oclAsType(Metaclass)) in - metaclasses->forAll(m | annotatedElementTypes->exists(t | m.specializes(t))) -ownedFeature->closure(ownedFeature)->forAll(f | - f.declaredName = null and f.declaredShortName = null and - f.valuation <> null implies f.valuation.value.isModelLevelEvaluable and - f.redefinition.redefinedFeature->size() = 1) -metaclass = - let metaclassTypes : Sequence(Type) = type->selectByKind(Metaclass) in - if metaclassTypes->isEmpty() then null - else metaClassTypes->first() - endif -type->selectByKind(Metaclass).size() = 1"""^^rdf:XMLLiteral ; - dcterms:title "MetadataFeatureShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "MetadataUsageShape" ; - oslc:property ; - dcterms:description """

A MetadataUsage is a Usage and a MetadataFeature, used to annotate other Elements in a system model with metadata. As a MetadataFeature, its type must be a Metaclass, which will nominally be a MetadataDefinition. However, any kernel Metaclass is also allowed, to permit use of Metaclasses from the Kernel Model Libraries.

-specializesFromLibrary('Metadata::metadataItems')"""^^rdf:XMLLiteral ; - dcterms:title "MetadataUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "subclassificationSubclassifier" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The more specific Classifier in this Subclassification.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "subjectMembershipOwnedSubjectParameter" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The UsageownedMemberParameter of this SubjectMembership.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "connectorAssociation" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Associations that type the Connector.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "analysisCaseDefinitionResultExpression" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

An Expression used to compute the result of the AnalysisCaseDefinition, owned via a ResultExpressionMembership.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "LiteralIntegerShape" ; - oslc:property ; - dcterms:description """

A LiteralInteger is a LiteralExpression that provides an Integer value as a result. Its result parameter must have the type Integer.

- -specializesFromLibrary('Performances::literalIntegerEvaluations')"""^^rdf:XMLLiteral ; - dcterms:title "LiteralIntegerShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "redefinitionRedefinedFeature" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Feature that is redefined by the redefiningFeature of this Redefinition.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ConnectionUsageShape" ; - oslc:property ; - dcterms:description """

A ConnectionUsage is a ConnectorAsUsage that is also a PartUsage. Nominally, if its type is a ConnectionDefinition, then a ConnectionUsage is a Usage of that ConnectionDefinition, representing a connection between parts of a system. However, other kinds of kernel AssociationStructures are also allowed, to permit use of AssociationStructures from the Kernel Model Libraries.

-specializesFromLibrary('Connections::connections') -ownedEndFeature->size() = 2 implies - specializesFromLibrary('Connections::binaryConnections')"""^^rdf:XMLLiteral ; - dcterms:title "ConnectionUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "redefinitionRedefiningFeature" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Feature that is redefining the redefinedFeature of this Redefinition.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "subsettingSubsettingFeature" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Feature that is a subset of the subsettedFeature of this Subsetting.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "whileLoopActionUsageWhileArgument" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Expression whose result, if true, determines that the bodyAction should continue to be performed. It is the first owned parameter of the WhileLoopActionUsage.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ReferenceSubsettingShape" ; - oslc:property , ; - dcterms:description """

ReferenceSubsetting is a kind of Subsetting in which the referencedFeature is syntactically distinguished from other Features subsetted by the referencingFeature. ReferenceSubsetting has the same semantics as Subsetting, but the referenceFeature may have a special purpose relative to the referencingFeature. For instance, ReferenceSubsetting is used to identify the relatedFeatures of a Connector.

- -

ReferenceSubsetting is always an ownedRelationship of its referencingFeature. A Feature can have at most one ownedReferenceSubsetting.

-"""^^rdf:XMLLiteral ; - dcterms:title "ReferenceSubsettingShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "metadataAccessExpressionReferencedElement" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Element whose metadata is being accessed.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "subsettingOwningFeature" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

A subsettingFeature that is also the owningRelatedElement of this Subsetting.

- -"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageVariant" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "FeaturingShape" ; - oslc:property , ; - dcterms:description """

Featuring is a Relationship between a Type and a Feature that is featured by that Type. It asserts that every instance in the domain of the feature must be classified by the type.

- -

Featuring is abstract and does not commit to which of feature or type are the source or target of the Relationship. This commitment is made in the subclasses of Featuring, TypeFeaturing and FeatureMembership, which have opposite directions.

"""^^rdf:XMLLiteral ; - dcterms:title "FeaturingShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "FramedConcernMembershipShape" ; - oslc:property , ; - dcterms:description """

A FramedConcernMembership is a RequirementConstraintMembership for a framed ConcernUsage of a RequirementDefinition or RequirementUsage.

-kind = RequirementConstraintKind::requirement"""^^rdf:XMLLiteral ; - dcterms:title "FramedConcernMembershipShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "annotatingElementOwnedAnnotatingRelationship" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ownedRelationships of this AnnotatingElement that are Annotations, for which this AnnotatingElement is the annotatingElement.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "transitionUsageSuccession" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Succession that is the ownedFeature of this TransitionUsage, which, if the TransitionUsage is triggered, asserts the temporal ordering of the source and target.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ViewUsageShape" ; - oslc:property , , , , ; - dcterms:description """

A ViewUsage is a usage of a ViewDefinition to specify the generation of a view of the members of a collection of exposedNamespaces. The ViewUsage can satisfy more viewpoints than its definition, and it can specialize the viewRendering specified by its definition.

-exposedElement = ownedImport->selectByKind(Expose). - importedMemberships(Set{}).memberElement-> - select(elm | includeAsExposed(elm))-> - asOrderedSet() -satisfiedViewpoint = ownedRequirement-> - selectByKind(ViewpointUsage)-> - select(isComposite) -viewCondition = ownedMembership-> - selectByKind(ElementFilterMembership). - condition -viewRendering = - let renderings: OrderedSet(ViewRenderingMembership) = - featureMembership->selectByKind(ViewRenderingMembership) in - if renderings->isEmpty() then null - else renderings->first().referencedRendering - endif -featureMembership-> - selectByKind(ViewRenderingMembership)-> - size() <= 1 -specializesFromLibrary('Views::views') -owningType <> null and -(owningType.oclIsKindOf(ViewDefinition) or - owningType.oclIsKindOf(ViewUsage)) implies - specializesFromLibrary('Views::View::subviews')"""^^rdf:XMLLiteral ; - dcterms:title "ViewUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeIntersectingType" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex).

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "intersectingIntersectingType" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

Type that partly determines interpretations of typeIntersected, as described in Type::intersectingType.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ConstraintUsageShape" ; - oslc:property ; - dcterms:description """

A ConstraintUsage is an OccurrenceUsage that is also a BooleanExpression, and, so, is typed by a Predicate. Nominally, if the type is a ConstraintDefinition, a ConstraintUsage is a Usage of that ConstraintDefinition. However, other kinds of kernel Predicates are also allowed, to permit use of Predicates from the Kernel Model Libraries.

-owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(RequirementConstraintMembership) implies - if owningFeatureMembership.oclAsType(RequirementConstraintMembership).kind = - RequirementConstraintKind::assumption then - specializesFromLibrary('Requirements::RequirementCheck::assumptions') - else - specializesFromLibrary('Requirements::RequirementCheck::constraints') - endif -specializesFromLibrary('Constraints::constraintChecks') -owningType <> null and -(owningType.oclIsKindOf(ItemDefinition) or - owningType.oclIsKindOf(ItemUsage)) implies - specializesFromLibrary('Items::Item::checkedConstraints')"""^^rdf:XMLLiteral ; - dcterms:title "ConstraintUsageShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ViewpointDefinitionShape" ; - oslc:property ; - dcterms:description """

A ViewpointDefinition is a RequirementDefinition that specifies one or more stakeholder concerns that are to be satisfied by creating a view of a model.

-viewpointStakeholder = framedConcern.featureMemberhsip-> - selectByKind(StakeholderMembership). - ownedStakeholderParameter -specializesFromLibrary('Views::Viewpoint')"""^^rdf:XMLLiteral ; - dcterms:title "ViewpointDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedRendering" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The RenderingUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "forLoopActionUsageSeqArgument" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Expression whose result provides the sequence of values to which the loopVariable is set for each iterative performance of the bodyAction. It is the Expression whose result is bound to the seq input parameter of this ForLoopActionUsage.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "commentBody" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

The annotation text for the Comment.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "useCaseUsageIncludedUseCase" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The UseCaseUsages that are included by this UseCaseUse, which are the useCaseIncludeds of the IncludeUseCaseUsages owned by this UseCaseUsage.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "NamespaceImportShape" ; - oslc:property ; - dcterms:description """

A NamespaceImport is an Import that imports Memberships from its importedNamespace into the importOwningNamespace. If isRecursive = false, then only the visible Memberships of the importedNamespace are imported. If isRecursive = true, then, in addition, Memberships are recursively imported from any ownedMembers of the importedNamespace that are Namespaces.

- -importedElement = importedNamespace"""^^rdf:XMLLiteral ; - dcterms:title "NamespaceImportShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeOwnedSpecialization" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "actorMembershipOwnedActorParameter" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The PartUsage specifying the actor.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "StepShape" ; - oslc:property , ; - dcterms:description """

A Step is a Feature that is typed by one or more Behaviors. Steps may be used by one Behavior to coordinate the performance of other Behaviors, supporting a steady refinement of behavioral descriptions. Steps can be ordered in time and can be connected using ItemFlows to specify things flowing between their parameters.

- -specializesFromLibrary('Performances::performances') -owningType <> null and - (owningType.oclIsKindOf(Behavior) or - owningType.oclIsKindOf(Step)) implies - specializesFromLibrary('Performances::Performance::enclosedPerformance') -isComposite and owningType <> null and -(owningType.oclIsKindOf(Structure) or - owningType.oclIsKindOf(Feature) and - owningType.oclAsType(Feature).type-> - exists(oclIsKindOf(Structure)) implies - specializesFromLibrary('Objects::Object::ownedPerformance') -owningType <> null and - (owningType.oclIsKindOf(Behavior) or - owningType.oclIsKindOf(Step)) and - self.isComposite implies - specializesFromLibrary('Performances::Performance::subperformance') -behavior = type->selectByKind(Behavior)"""^^rdf:XMLLiteral ; - dcterms:title "StepShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "itemFlowSourceOutputFeature" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Feature that provides the items carried by the ItemFlow. It must be an owned output of the source of the ItemFlow.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureTypingTypedFeature" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Feature that has a type determined by this FeatureTyping.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedAnalysisCase" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The AnalysisCaseUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "membershipMembershipOwningNamespace" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Namespace of which the memberElement becomes a member due to this Membership.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "renderingDefinitionRendering" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The usages of a RenderingDefinition that are RenderingUsages.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ConnectorShape" ; - oslc:property , , , , ; - dcterms:description """

A Connector is a usage of Associations, with links restricted according to instances of the Type in which they are used (domain of the Connector). The associations of the Connector restrict what kinds of things might be linked. The Connector further restricts these links to be between values of Features on instances of its domain.

- -relatedFeature = connectorEnd.ownedReferenceSubsetting-> - select(s | s <> null).subsettedFeature -relatedFeature->forAll(f | - if featuringType->isEmpty() then f.isFeaturedWithin(null) - else featuringType->forAll(t | f.isFeaturedWithin(t)) - endif) -sourceFeature = - if relatedFeature->isEmpty() then null - else relatedFeature->first() - endif -targetFeature = - if relatedFeature->size() < 2 then OrderedSet{} - else - relatedFeature-> - subSequence(2, relatedFeature->size())-> - asOrderedSet() - endif -not isAbstract implies relatedFeature->size() >= 2 -specializesFromLibrary('Links::links') -association->exists(oclIsKindOf(AssociationStructure)) implies - specializesFromLibrary('Objects::linkObjects') -connectorEnds->size() = 2 and -association->exists(oclIsKindOf(AssocationStructure)) implies - specializesFromLibrary('Objects::binaryLinkObjects') -connectorEnd->size() = 2 implies - specializesFromLibrary('Links::binaryLinks') -connectorEnds->size() > 2 implies - not specializesFromLibrary('Links::BinaryLink')"""^^rdf:XMLLiteral ; - dcterms:title "ConnectorShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureMembershipOwnedMemberFeature" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Feature that this FeatureMembership relates to its owningType, making it an ownedFeature of the owningType.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "useCaseUsageUseCaseDefinition" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The UseCaseDefinition that is the definition of this UseCaseUsage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "importVisibility" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

The visibility level of the imported members from this Import relative to the importOwningNamespace.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "EventOccurrenceUsageShape" ; - oslc:property ; - dcterms:description """

An EventOccurrenceUsage is an OccurrenceUsage that represents another OccurrenceUsage occurring as a suboccurrence of the containing occurrence of the EventOccurrenceUsage. Unless it is the EventOccurrenceUsage itself, the referenced OccurrenceUsage is related to the EventOccurrenceUsage by a ReferenceSubsetting Relationship.

- -

If the EventOccurrenceUsage is owned by an OccurrenceDefinition or OccurrenceUsage, then it also subsets the timeEnclosedOccurrences property of the Class Occurrence from the Kernel Semantic Library model Occurrences.

-eventOccurrence = - if ownedReferenceSubsetting = null then self - else if ownedReferenceSubsetting.referencedFeature.oclIsKindOf(OccurrenceUsage) then - ownedReferenceSubsetting.referencedFeature.oclAsType(OccurrenceUsage) - else null - endif endif -ownedReferenceSubsetting <> null implies - ownedReferenceSubsetting.referencedFeature.oclIsKindOf(OccurrenceUsage) -owningType <> null and -(owningType.oclIsKindOf(OccurrenceDefinition) or - owningType.oclIsKindOf(OccurrenceUsage)) implies - specializesFromLibrary('Occurrences::Occurrence::timeEnclosedOccurrences') -isReference"""^^rdf:XMLLiteral ; - dcterms:title "EventOccurrenceUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedRequirement" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The RequirementUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedPort" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The PortUsages that are nestedUsages of this Usage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedReference" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ReferenceUsages that are nestedUsages of this Usage.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "AnalysisCaseDefinitionShape" ; - oslc:property , ; - dcterms:description """

An AnalysisCaseDefinition is a CaseDefinition for the case of carrying out an analysis.

-analysisAction = action->select( - isComposite and - specializes('AnalysisCases::AnalysisAction')) -resultExpression = - let results : OrderedSet(ResultExpressionMembership) = - featureMembersip-> - selectByKind(ResultExpressionMembership) in - if results->isEmpty() then null - else results->first().ownedResultExpression - endif -specializesFromLibrary('AnalysisCases::AnalysisCase')"""^^rdf:XMLLiteral ; - dcterms:title "AnalysisCaseDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "transitionFeatureMembershipKind" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

Whether this TransitionFeatureMembership is for a trigger, guard or effect.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "LiteralRationalShape" ; - oslc:property ; - dcterms:description """

A LiteralRational is a LiteralExpression that provides a Rational value as a result. Its result parameter must have the type Rational.

- -specializesFromLibrary('Performances::literalRationalEvaluations')"""^^rdf:XMLLiteral ; - dcterms:title "LiteralRationalShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "LiteralBooleanShape" ; - oslc:property ; - dcterms:description """

LiteralBoolean is a LiteralExpression that provides a Boolean value as a result. Its result parameter must have type Boolean.

- -specializesFromLibrary('Performances::literalBooleanEvaluations')"""^^rdf:XMLLiteral ; - dcterms:title "LiteralBooleanShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "UnioningShape" ; - oslc:property , ; - dcterms:description """

Unioning is a Relationship that makes its unioningType one of the unioningTypes of its typeUnioned.

-"""^^rdf:XMLLiteral ; - dcterms:title "UnioningShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "connectionDefinitionConnectionEnd" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Usages that define the things related by the ConnectionDefinition.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ItemFlowEndShape" ; - dcterms:description """

An ItemFlowEnd is a Feature that is one of the connectorEnds giving the source or target of an ItemFlow. For ItemFlows typed by FlowTransfer or its specializations, ItemFlowEnds must have exactly one ownedFeature, which redefines Transfer::source::sourceOutput or Transfer::target::targetInput and redefines the corresponding feature of the relatedElement for its end.

-isEnd -ownedFeature->size() = 1 -owningType <> null and owningType.oclIsKindOf(ItemFlow)"""^^rdf:XMLLiteral ; - dcterms:title "ItemFlowEndShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "FeatureMembershipShape" ; - oslc:property , ; - dcterms:description """

A FeatureMembership is an OwningMembership between a Feature in an owningType that is also a Featuring Relationship between the Feature and the Type, in which the featuringType is the source and the featureOfType is the target. A FeatureMembership is always owned by its owningType, which is the featuringType for the FeatureMembership considered as a Featuring.

-"""^^rdf:XMLLiteral ; - dcterms:title "FeatureMembershipShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "PortDefinitionShape" ; - oslc:property ; - dcterms:description """

A PortDefinition defines a point at which external entities can connect to and interact with a system or part of a system. Any ownedUsages of a PortDefinition, other than PortUsages, must not be composite.

- - - -conjugatedPortDefinition = -let conjugatedPortDefinitions : OrderedSet(ConjugatedPortDefinition) = - ownedMember->selectByKind(ConjugatedPortDefinition) in -if conjugatedPortDefinitions->isEmpty() then null -else conjugatedPortDefinitions->first() -endif -ownedUsage-> - reject(oclIsKindOf(PortUsage))-> - forAll(not isComposite) -not oclIsKindOf(ConjugatedPortDefinition) implies - ownedMember-> - selectByKind(ConjugatedPortDefinition)-> - size() = 1 -specializesFromLibrary('Ports::Port')"""^^rdf:XMLLiteral ; - dcterms:title "PortDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "transitionUsageGuardExpression" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Expressions that define the guards of this TransitionUsage, which are the ownedFeatures of the TransitionUsage related to it by TransitionFeatureMemberships with kind = guard, which must all be Expressions.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "UseCaseUsageShape" ; - oslc:property , ; - dcterms:description """

A UseCaseUsage is a Usage of a UseCaseDefinition.

-includedUseCase = ownedUseCase-> - selectByKind(IncludeUseCaseUsage). - useCaseIncluded -specializesFromLibrary('UseCases::useCases') -isComposite and owningType <> null and -(owningType.oclIsKindOf(UseCaseDefinition) or - owningType.oclIsKindOf(UseCaseUsage)) implies - specializesFromLibrary('UseCases::UseCase::subUseCases')"""^^rdf:XMLLiteral ; - dcterms:title "UseCaseUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedUseCase" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The UseCaseUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "TextualRepresentationShape" ; - oslc:property , , ; - dcterms:description """

A TextualRepresentation is an AnnotatingElement whose body represents the representedElement in a given language. The representedElement must be the owner of the TextualRepresentation. The named language can be a natural language, in which case the body is an informal representation, or an artificial language, in which case the body is expected to be a formal, machine-parsable representation.

- -

If the named language of a TextualRepresentation is machine-parsable, then the body text should be legal input text as defined for that language. The interpretation of the named language string shall be case insensitive. The following language names are defined to correspond to the given standard languages:

- - - - - - - - - - - - - - - - - - -
kermlKernel Modeling Language
oclObject Constraint Language
alfAction Language for fUML
- -

Other specifications may define specific language strings, other than those shown above, to be used to indicate the use of languages from those specifications in KerML TextualRepresentation.

- -

If the language of a TextualRepresentation is "kerml", then the body text shall be a legal representation of the representedElement in the KerML textual concrete syntax. A conforming tool can use such a TextualRepresentation Annotation to record the original KerML concrete syntax text from which an Element was parsed. In this case, it is a tool responsibility to ensure that the body of the TextualRepresentation remains correct (or the Annotation is removed) if the annotated Element changes other than by re-parsing the body text.

- -

An Element with a TextualRepresentation in a language other than KerML is essentially a semantically "opaque" Element specified in the other language. However, a conforming KerML tool may interpret such an element consistently with the specification of the named language.

-"""^^rdf:XMLLiteral ; - dcterms:title "TextualRepresentationShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "namespaceMembership" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "ifActionUsageThenAction" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ActionUsage that is to be performed if the result of the ifArgument is true. It is the second parameter of the IfActionUsage.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedView" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ViewUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "TypeFeaturingShape" ; - oslc:property , , ; - dcterms:description "

A TypeFeaturing is a Featuring Relationship in which the featureOfType is the source and the featuringType is the target.

"^^rdf:XMLLiteral ; - dcterms:title "TypeFeaturingShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "AttributeUsageShape" ; - oslc:property ; - dcterms:description """

An AttributeUsage is a Usage whose type is a DataType. Nominally, if the type is an AttributeDefinition, an AttributeUsage is a usage of a AttributeDefinition to represent the value of some system quality or characteristic. However, other kinds of kernel DataTypes are also allowed, to permit use of DataTypes from the Kernel Model Libraries. An AttributeUsage itself as well as all its nested features must be referential (non-composite).

- -

An AttributeUsage must specialize, directly or indirectly, the base Feature Base::dataValues from the Kernel Semantic Library.

-isReference -feature->forAll(not isComposite) -specializesFromLibrary('Base::dataValues')"""^^rdf:XMLLiteral ; - dcterms:title "AttributeUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "conjugationConjugatedType" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Type that is the result of applying Conjugation to the originalType.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "elementOwnedRelationship" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Relationships for which this Element is the owningRelatedElement.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "elementOwningRelationship" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Relationship for which this Element is an ownedRelatedElement, if any.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureOwnedSubsetting" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "metadataUsageMetadataDefinition" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The MetadataDefinition that is the definition of this MetadataUsage.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "MetadataAccessExpressionShape" ; - oslc:property ; - dcterms:description """

A MetadataAccessExpression is an Expression whose result is a sequence of instances of Metaclasses representing all the MetadataFeature annotations of the referencedElement. In addition, the sequence includes an instance of the reflective Metaclass corresponding to the MOF class of the referencedElement, with values for all the abstract syntax properties of the referencedElement.

-specializesFromLibrary('Performances::metadataAccessEvaluations')"""^^rdf:XMLLiteral ; - dcterms:title "MetadataAccessExpressionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedUseCase" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The UseCaseUsages that are nestedUsages of this Usage.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "annotatingElementAnnotation" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Annotations that relate this AnnotatingElement to its annotatedElements.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "unioningUnioningType" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

Type that partly determines interpretations of typeUnioned, as described in Type::unioningType.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "PartDefinitionShape" ; - dcterms:description """

A PartDefinition is an ItemDefinition of a Class of systems or parts of systems. Note that all parts may be considered items for certain purposes, but not all items are parts that can perform actions within a system.

- -specializesFromLibrary('Parts::Part')"""^^rdf:XMLLiteral ; - dcterms:title "PartDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "connectorConnectorEnd" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The endFeatures of a Connector, which redefine the endFeatures of the associations of the Connector. The connectorEnds determine via ReferenceSubsetting Relationships which Features are related by the Connector.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "satisfyRequirementUsageSatisfyingFeature" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Feature that represents the actual subject that is asserted to satisfy the satisfiedRequirement. The satisfyingFeature is bound to the subjectParameter of the SatisfyRequirementUsage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeDirectedFeature" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The features of this Type that have a non-null direction.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "StateUsageShape" ; - oslc:property , , , , ; - dcterms:description """

A StateUsage is an ActionUsage that is nominally the Usage of a StateDefinition. However, other kinds of kernel Behaviors are also allowed as types, to permit use of Behaviors - -

A StateUsage may be related to up to three of its ownedFeatures by StateSubactionMembership Relationships, all of different kinds, corresponding to the entry, do and exit actions of the StateUsage.

- -doAction = - let doMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::do) in - if doMemberships->isEmpty() then null - else doMemberships->at(1) - endif -entryAction = - let entryMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::entry) in - if entryMemberships->isEmpty() then null - else entryMemberships->at(1) - endif -isParallel implies - nestedAction.incomingTransition->isEmpty() and - nestedAction.outgoingTransition->isEmpty() -isSubstateUsage(true) implies - specializesFromLibrary('States::State::substates') -exitAction = - let exitMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::exit) in - if exitMemberships->isEmpty() then null - else exitMemberships->at(1) - endif -specializesFromLibrary('States::stateActions') -ownedMembership-> - selectByKind(StateSubactionMembership)-> - isUnique(kind) -isSubstateUsage(false) implies - specializesFromLibrary('States::State::substates')"""^^rdf:XMLLiteral ; - dcterms:title "StateUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "multiplicityRangeLowerBound" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Expression whose result provides the lower bound of the MultiplicityRange. If no lowerBound Expression is given, then the lower bound shall have the same value as the upper bound, unless the upper bound is unbounded (*), in which case the lower bound shall be 0.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureIsDerived" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

Whether the values of this Feature can always be computed from the values of other Features.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "occurrenceUsageIsIndividual" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedUsage" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Usages that are ownedFeatures of this Usage.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "AnalysisCaseUsageShape" ; - oslc:property , , ; - dcterms:description """

An AnalysisCaseUsage is a Usage of an AnalysisCaseDefinition.

-analysisAction = usage->select( - isComposite and - specializes('AnalysisCases::AnalysisAction')) -resultExpression = - let results : OrderedSet(ResultExpressionMembership) = - featureMembersip-> - selectByKind(ResultExpressionMembership) in - if results->isEmpty() then null - else results->first().ownedResultExpression - endif -specializesFromLibrary('AnalysisCases::analysisCases') -isComposite and owningType <> null and - (owningType.oclIsKindOf(AnalysisCaseDefinition) or - owningType.oclIsKindOf(AnalysisCaseUsage)) implies - specializesFromLibrary('AnalysisCases::AnalysisCase::subAnalysisCases')"""^^rdf:XMLLiteral ; - dcterms:title "AnalysisCaseUsageShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "BindingConnectorShape" ; - dcterms:description """

A BindingConnector is a binary Connector that requires its relatedFeatures to identify the same things (have the same values).

- -specializesFromLibrary('Links::selfLinks') -relatedFeature->size() = 2"""^^rdf:XMLLiteral ; - dcterms:title "BindingConnectorShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "elementDeclaredName" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

The declared name of this Element.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ElementShape" ; - oslc:property , , , , , , , , , , , , , , , , , ; - dcterms:description """

An Element is a constituent of a model that is uniquely identified relative to all other Elements. It can have Relationships with other Elements. Some of these Relationships might imply ownership of other Elements, which means that if an Element is deleted from a model, then so are all the Elements that it owns.

- -ownedElement = ownedRelationship.ownedRelatedElement -owner = owningRelationship.owningRelatedElement -qualifiedName = - if owningNamespace = null then null - else if owningNamespace.owner = null then escapedName() - else if owningNamespace.qualifiedName = null or - escapedName() = null then null - else owningNamespace.qualifiedName + '::' + escapedName() - endif endif endif -documentation = ownedElement->selectByKind(Documentation) -ownedAnnotation = ownedRelationship-> - selectByKind(Annotation)-> - select(a | a.annotatedElement = self) -name = effectiveName() -ownedRelationship->exists(isImplied) implies isImpliedIncluded -isLibraryElement = libraryNamespace() <> null - -shortName = effectiveShortName() -owningNamespace = - if owningMembership = null then null - else owningMembership.membershipOwningNamespace - endif -textualRepresentation = ownedElement->selectByKind(TextualRepresentation)"""^^rdf:XMLLiteral ; - dcterms:title "ElementShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ReferenceUsageShape" ; - dcterms:description """

A ReferenceUsage is a Usage that specifies a non-compositional (isComposite = false) reference to something. The definition of a ReferenceUsage can be any kind of Classifier, with the default being the top-level Classifier Base::Anything from the Kernel Semantic Library. This allows the specification of a generic reference without distinguishing if the thing referenced is an attribute value, item, action, etc.

-isReference"""^^rdf:XMLLiteral ; - dcterms:title "ReferenceUsageShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "OperatorExpressionShape" ; - oslc:property ; - dcterms:description """

An OperatorExpression is an InvocationExpression whose function is determined by resolving its operator in the context of one of the standard packages from the Kernel Function Library.

-let libFunctions : Sequence(Element) = - Sequence{'BaseFunctions', 'DataFunctions', 'ControlFunctions'}-> - collect(ns | resolveGlobal(ns + \"::'\" + operator + \"'\"). - memberElement) in -libFunctions->includes(function) - -"""^^rdf:XMLLiteral ; - dcterms:title "OperatorExpressionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "forLoopActionUsageLoopVariable" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ownedFeature of this ForLoopActionUsage that acts as the loop variable, which is assigned the successive values of the input sequence on each iteration. It is the ownedFeature that redefines ForLoopAction::var.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ItemUsageShape" ; - oslc:property ; - dcterms:description """

An ItemUsage is a ItemUsage whose definition is a Structure. Nominally, if the definition is an ItemDefinition, an ItemUsage is a ItemUsage of that ItemDefinition within a system. However, other kinds of Kernel Structures are also allowed, to permit use of Structures from the Kernel Model Libraries.

-itemDefinition = occurrenceDefinition->selectByKind(ItemDefinition) -specializesFromLibrary('Items::items') -isComposite and owningType <> null and -(owningType.oclIsKindOf(ItemDefinition) or - owningType.oclIsKindOf(ItemUsage)) implies - specializesFromLibrary('Items::Item::subitem')"""^^rdf:XMLLiteral ; - dcterms:title "ItemUsageShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "EnumerationUsageShape" ; - oslc:property ; - dcterms:description "

An EnumerationUsage is an AttributeUsage whose attributeDefinition is an EnumerationDefinition.

"^^rdf:XMLLiteral ; - dcterms:title "EnumerationUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "stateUsageStateDefinition" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Behaviors that are the types of this StateUsage. Nominally, these would be StateDefinitions, but kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeFeatureMembership" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships).

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ActionDefinitionShape" ; - oslc:property ; - dcterms:description """

An ActionDefinition is a Definition that is also a Behavior that defines an Action performed by a system or part of a system.

-specializesFromLibrary('Actions::Action') -action = usage->selectByKind(ActionUsage)"""^^rdf:XMLLiteral ; - dcterms:title "ActionDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedAllocation" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The AllocationUsages that are nestedUsages of this Usage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "requirementUsageReqId" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

An optional modeler-specified identifier for this RequirementUsage (used, e.g., to link it to an original requirement text in some source document), which is the declaredShortName for the RequirementUsage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeIsAbstract" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

Indicates whether instances of this Type must also be instances of at least one of its specialized Types.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "analysisCaseUsageResultExpression" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

An Expression used to compute the result of the AnalysisCaseUsage, owned via a ResultExpressionMembership.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeFeaturingFeatureOfType" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Feature that is featured by the featuringType. It is the source of the TypeFeaturing.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "UseCaseDefinitionShape" ; - oslc:property ; - dcterms:description """

A UseCaseDefinition is a CaseDefinition that specifies a set of actions performed by its subject, in interaction with one or more actors external to the subject. The objective is to yield an observable result that is of value to one or more of the actors.

- -includedUseCase = ownedUseCase-> - selectByKind(IncludeUseCaseUsage). - useCaseIncluded -specializesFromLibrary('UseCases::UseCase')"""^^rdf:XMLLiteral ; - dcterms:title "UseCaseDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "stateDefinitionEntryAction" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ActionUsage of this StateDefinition to be performed on entry to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateDefinition by a StateSubactionMembership with kind = entry.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeUnioningType" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "assignmentActionUsageReferent" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Feature whose value is to be set.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "LifeClassShape" ; - dcterms:description """

A LifeClass is a Class that specializes both the Class Occurrences::Life from the Kernel Semantic Library and a single OccurrenceDefinition, and has a multiplicity of 0..1. This constrains the OccurrenceDefinition being specialized to have at most one instance that is a complete Life.

- -specializesFromLibrary('Occurrences::Life') -multiplicity <> null and -multiplicity.specializesFromLibrary('Base::zeroOrOne') -specializes(individualDefinition) -isSufficient"""^^rdf:XMLLiteral ; - dcterms:title "LifeClassShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeOwnedEndFeature" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

All endFeatures of this Type that are ownedFeatures.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "elementOwningNamespace" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "analysisCaseDefinitionAnalysisAction" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The composite actions of the AnalysisCaseDefinition that are defined as AnalysisActions.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "libraryPackageIsStandard" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

Whether this LibraryPackage contains a standard library model. This should only be set to true for LibraryPackages in the standard Kernel Model Libraries or in normative model libraries for a language built on KerML.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeFeature" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ownedMemberFeatures of the featureMemberships of this Type.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "viewDefinitionView" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The usages of this ViewDefinition that are ViewUsages.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "CommentShape" ; - oslc:property , ; - dcterms:description """

A Comment is an AnnotatingElement whose body in some way describes its annotatedElements.

-"""^^rdf:XMLLiteral ; - dcterms:title "CommentShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "namespaceImportImportedNamespace" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Namespace whose visible Memberships are imported by this NamespaceImport.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "documentationDocumentedElement" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Element that is documented by this Documentation.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "enumerationUsageEnumerationDefinition" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The single EnumerationDefinition that is the type of this EnumerationUsage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "multiplicityRangeBound" ; - oslc:occurs oslc:One-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The owned Expressions of the MultiplicityRange whose results provide its bounds. These must be the only ownedMembers of the MultiplicityRange.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "loopActionUsageBodyAction" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ActionUsage to be performed repeatedly by the LoopActionUsage. It is the second parameter of the LoopActionUsage.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "owningMembershipOwnedMemberName" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

The name of the ownedMemberElement.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeOwnedDifferencing" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "TransitionFeatureMembershipShape" ; - oslc:property , ; - dcterms:description """

A TransitionFeatureMembership is a FeatureMembership for a trigger, guard or effect of a TransitionUsage, whose transitionFeature is a AcceptActionUsage, Boolean-valued Expression or ActionUsage, depending on its kind.

-kind = TransitionFeatureKind::trigger implies - transitionFeature.oclIsKindOf(AcceptActionUsage) -owningType.oclIsKindOf(TransitionUsage) -kind = TransitionFeatureKind::guard implies - transitionFeature.oclIsKindOf(Expression) and - let guard : Expression = transitionFeature.oclIsKindOf(Expression) in - guard.result.specializesFromLibrary('ScalarValues::Boolean') and - guard.result.multiplicity <> null and - guard.result.multiplicity.hasBounds(1,1) -kind = TransitionFeatureKind::effect implies - transitionFeature.oclIsKindOf(ActionUsage)"""^^rdf:XMLLiteral ; - dcterms:title "TransitionFeatureMembershipShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "stateDefinitionIsParallel" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

Whether the ownedStates of this StateDefinition are to all be performed in parallel. If true, none of the ownedActions (which includes ownedStates) may have any incoming or outgoing Transitions. If false, only one ownedState may be performed at a time.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureChainingFeature" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "actionDefinitionAction" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ActionUsages that are steps in this ActionDefinition, which define the actions that specify the behavior of the ActionDefinition.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "occurrenceDefinitionIsIndividual" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

Whether this OccurrenceDefinition is constrained to represent single individual.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "requirementDefinitionFramedConcern" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ConcernUsages framed by this RequirementDefinition, which are the ownedConcerns of all FramedConcernMemberships of the RequirementDefinition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "caseDefinitionObjectiveRequirement" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The RequirementUsage representing the objective of this CaseDefinition.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "viewDefinitionSatisfiedViewpoint" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The composite ownedRequirements of this ViewDefinition that are ViewpointUsages for viewpoints satisfied by the ViewDefinition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageDefinition" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ForkNodeShape" ; - dcterms:description """

A ForkNode is a ControlNode that must be followed by successor Actions as given by all its outgoing Successions.

-targetConnector->selectByKind(Succession)->size() <= 1 -specializesFromLibrary('Actions::Action::forks')"""^^rdf:XMLLiteral ; - dcterms:title "ForkNodeShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "eventOccurrenceUsageEventOccurrence" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The OccurrenceUsage referenced as an event by this EventOccurrenceUsage. It is the referenceFeature of the ownedReferenceSubsetting for the EventOccurrenceUsage, if there is one, and, otherwise, the EventOccurrenceUsage itself.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "LiteralInfinityShape" ; - dcterms:description """

A LiteralInfinity is a LiteralExpression that provides the positive infinity value (*). It's result must have the type Positive.

- -specializesFromLibrary('Performances::literalIntegerEvaluations')"""^^rdf:XMLLiteral ; - dcterms:title "LiteralInfinityShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeOwnedConjugator" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

A Conjugation owned by this Type for which the Type is the originalType.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ConnectorAsUsageShape" ; - dcterms:description "

A ConnectorAsUsage is both a Connector and a Usage. ConnectorAsUsage cannot itself be instantiated in a SysML model, but it is the base class for the concrete classes BindingConnectorAsUsage, SuccessionAsUsage and ConnectionUsage.

"^^rdf:XMLLiteral ; - dcterms:title "ConnectorAsUsageShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "RequirementVerificationMembershipShape" ; - oslc:property , ; - dcterms:description """

A RequirementVerificationMembership is a RequirementConstraintMembership used in the objective of a VerificationCase to identify a RequirementUsage that is verified by the VerificationCase.

-kind = RequirementConstraintKind::requirement -owningType.oclIsKindOf(RequirementUsage) and -owningType.owningFeatureMembership <> null and -owningType.owningFeatureMembership.oclIsKindOf(ObjectiveMembership)"""^^rdf:XMLLiteral ; - dcterms:title "RequirementVerificationMembershipShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "viewUsageViewRendering" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The RenderingUsage to be used to render views defined by this ViewUsage, which is the referencedRendering of the ViewRenderingMembership of the ViewUsage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedUsage" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Usages that are ownedFeatures of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureReferenceExpressionReferent" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Feature that is referenced by this FeatureReferenceExpression, which is its first non-parameter member.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "textualRepresentationBody" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

The textual representation of the representedElement in the given language.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "performActionUsagePerformedAction" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ActionUsage to be performed by this PerformedActionUsage. It is the eventOccurrence of the PerformActionUsage considered as an EventOccurrenceUsage, which must be an ActionUsage.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "annotatingElementAnnotatedElement" ; - oslc:occurs oslc:One-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Elements that are annotated by this AnnotatingElement. If annotation is not empty, these are the annotatedElements of the annotations. If annotation is empty, then it is the owningNamespace of the AnnotatingElement.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "TypeShape" ; - oslc:property , , , , , , , , , , , , , , , , , , , , , , , ; - dcterms:description """

A Type is a Namespace that is the most general kind of Element supporting the semantics of classification. A Type may be a Classifier or a Feature, defining conditions on what is classified by the Type (see also the description of isSufficient).

- -ownedSpecialization = ownedRelationship->selectByKind(Specialization)-> - select(s | s.special = self) - -multiplicity = - let ownedMultiplicities: Sequence(Multiplicity) = - ownedMember->selectByKind(Multiplicity) in - if ownedMultiplicities->isEmpty() then null - else ownedMultiplicities->first() - endif -ownedFeatureMembership = ownedRelationship->selectByKind(FeatureMembership) -ownedConjugator = - let ownedConjugators: Sequence(Conjugator) = - ownedRelationship->selectByKind(Conjugation) in - if ownedConjugators->isEmpty() then null - else ownedConjugators->at(1) endif -output = feature->select(f | - let direction: FeatureDirectionKind = directionOf(f) in - direction = FeatureDirectionKind::out or - direction = FeatureDirectionKind::inout) -input = feature->select(f | - let direction: FeatureDirectionKind = directionOf(f) in - direction = FeatureDirectionKind::_'in' or - direction = FeatureDirectionKind::inout) -inheritedMembership = inheritedMemberships(Set{}) -specializesFromLibrary('Base::Anything') -directedFeature = feature->select(f | directionOf(f) <> null) -feature = featureMembership.ownedMemberFeature -featureMembership = ownedFeatureMembership->union( - inheritedMembership->selectByKind(FeatureMembership)) -ownedFeature = ownedFeatureMembership.ownedMemberFeature -differencingType = ownedDifferencing.differencingType -intersectingType->excludes(self) -differencingType->excludes(self) -unioningType = ownedUnioning.unioningType -unioningType->excludes(self) -intersectingType = ownedIntersecting.intersectingType -ownedRelationship->selectByKind(Conjugation)->size() <= 1 -ownedMember->selectByKind(Multiplicity)->size() <= 1 -endFeature = feature->select(isEnd) -ownedDisjoining = - ownedRelationship->selectByKind(Disjoining) -ownedUnioning = - ownedRelationship->selectByKind(Unioning) -ownedRelationship->selectByKind(Intersecting) -ownedDifferencing = - ownedRelationship->selectByKind(Differencing) -ownedEndFeature = ownedFeature->select(isEnd) -inheritedFeature = inheritedMemberships-> - selectByKind(FeatureMembership).memberFeature -ownedUnioning->size() <> 1 -ownedIntersecting->size() <> 1 -ownedDifferencing->size() <> 1"""^^rdf:XMLLiteral ; - dcterms:title "TypeShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedAttribute" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The code>AttributeUsages that are nestedUsages of this Usage.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureValueIsDefault" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

Whether this FeatureValue is a concrete specification of the bound or initial value of the featureWithValue, or just a default value that may be overridden.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "owningMembershipOwnedMemberElement" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Element that becomes an ownedMember of the membershipOwningNamespace due to this OwningMembership.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "FeatureChainingShape" ; - oslc:property , ; - dcterms:description "

FeatureChaining is a Relationship that makes its target Feature one of the chainingFeatures of its owning Feature.

"^^rdf:XMLLiteral ; - dcterms:title "FeatureChainingShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "stateUsageDoAction" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ActionUsage of this StateUsage to be performed while in the state defined by the StateDefinition. It is the owned ActionUsage related to the StateUsage by a StateSubactionMembership with kind = do.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "namespaceOwnedMembership" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "requirementDefinitionSubjectParameter" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The parameter of this RequirementDefinition that represents its subject.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureType" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "EndFeatureMembershipShape" ; - dcterms:description """

EndFeatureMembership is a FeatureMembership that requires its memberFeature be owned and have isEnd = true.

- -ownedMemberFeature.isEnd"""^^rdf:XMLLiteral ; - dcterms:title "EndFeatureMembershipShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "transitionFeatureMembershipTransitionFeature" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Step that is the ownedMemberFeature of this TransitionFeatureMembership.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "subsettingSubsettedFeature" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Feature that is subsetted by the subsettingFeature of this Subsetting.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "sendActionUsagePayloadArgument" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

An Expression whose result is bound to the payload input parameter of this SendActionUsage.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "IncludeUseCaseUsageShape" ; - oslc:property ; - dcterms:description """

An IncludeUseCaseUsage is a UseCaseUsage that represents the inclusion of a UseCaseUsage by a UseCaseDefinition or UseCaseUsage. Unless it is the IncludeUseCaseUsage itself, the UseCaseUsage to be included is related to the includedUseCase by a ReferenceSubsetting Relationship. An IncludeUseCaseUsage is also a PerformActionUsage, with its useCaseIncluded as the performedAction.

- -owningType <> null and -(owningType.oclIsKindOf(UseCaseDefinition) or - owningType.oclIsKindOf(UseCaseUsage) implies - specializesFromLibrary('UseCases::UseCase::includedUseCases') -ownedReferenceSubsetting <> null implies - ownedReferenceSubsetting.referencedFeature.oclIsKindOf(UseCaseUsage)"""^^rdf:XMLLiteral ; - dcterms:title "IncludeUseCaseUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "requirementDefinitionStakeholderParameter" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The parameters of this RequirementDefinition that represent stakeholders for th requirement.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "actionUsageActionDefinition" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeDifferencingType" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex).

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ViewpointUsageShape" ; - oslc:property , ; - dcterms:description """

A ViewpointUsage is a Usage of a ViewpointDefinition.

- - -viewpointStakeholder = framedConcern.featureMemberhsip-> - selectByKind(StakeholderMembership). - ownedStakeholderParameter -specializesFromLibrary('Views::viewpoints') -isComposite and owningType <> null and -(owningType.oclIsKindOf(ViewDefinition) or - owningType.oclIsKindOf(ViewUsage)) implies - specializesFromLibrary('Views::View::viewpointSatisfactions')"""^^rdf:XMLLiteral ; - dcterms:title "ViewpointUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "viewUsageExposedElement" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Elements that are exposed by this ViewUsage, which are those memberElements of the imported Memberships from all the Expose Relationships that meet all the owned and inherited viewConditions.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureOwnedTyping" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeOwnedIntersecting" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "AcceptActionUsageShape" ; - oslc:property , , ; - dcterms:description """

An AcceptActionUsage is an ActionUsage that specifies the acceptance of an incomingTransfer from the Occurrence given by the result of its receiverArgument Expression. (If no receiverArgument is provided, the default is the this context of the AcceptActionUsage.) The payload of the accepted Transfer is output on its payloadParameter. Which Transfers may be accepted is determined by conformance to the typing and (potentially) binding of the payloadParameter.

- -inputParameters()->size() >= 2 -receiverArgument = argument(2) -payloadArgument = argument(1) -payloadParameter = - if parameter->isEmpty() then null - else parameter->first() endif -not isTriggerAction() implies - specializesFromLibrary('Actions::acceptActions') -isSubactionUsage() and not isTriggerAction() implies - specializesFromLibrary('Actions::Action::acceptSubactions') -isTriggerAction() implies - specializesFromLibrary('Actions::TransitionAction::accepter') -payloadArgument <> null and -payloadArgument.oclIsKindOf(TriggerInvocationExpression) implies - let invocation : Expression = - payloadArgument.oclAsType(Expression) in - parameter->size() >= 2 and - invocation.parameter->size() >= 2 and - ownedFeature->selectByKind(BindingConnector)->exists(b | - b.relatedFeatures->includes(parameter->at(2)) and - b.relatedFeatures->includes(invocation.parameter->at(2)))"""^^rdf:XMLLiteral ; - dcterms:title "AcceptActionUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "importIsRecursive" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

Whether to recursively import Memberships from visible, owned sub-Namespaces.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "operatorExpressionOperator" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

An operator symbol that names a corresponding Function from one of the standard packages from the Kernel Function Library .

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "AssociationShape" ; - oslc:property , , , ; - dcterms:description """

An Association is a Relationship and a Classifier to enable classification of links between things (in the universe). The co-domains (types) of the associationEnd Features are the relatedTypes, as co-domain and participants (linked things) of an Association identify each other.

- -relatedType = associationEnd.type -specializesFromLibrary('Links::Link') -oclIsKindOf(Structure) = oclIsKindOf(AssociationStructure) -associationEnd->size() = 2 implies - specializesFromLibrary('Links::BinaryLink') -not isAbstract implies relatedType->size() >= 2 -associationEnds->size() > 2 implies - not specializesFromLibrary('Links::BinaryLink') -sourceType = - if relatedType->isEmpty() then null - else relatedType->first() endif -targetType = - if relatedType->size() < 2 then OrderedSet{} - else - relatedType-> - subSequence(2, relatedType->size())-> - asOrderedSet() - endif"""^^rdf:XMLLiteral ; - dcterms:title "AssociationShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "MultiplicityShape" ; - dcterms:description """

A Multiplicity is a Feature whose co-domain is a set of natural numbers giving the allowed cardinalities of each typeWithMultiplicity. The cardinality of a Type is defined as follows, depending on whether the Type is a Classifier or Feature. -

    -
  • Classifier – The number of basic instances of the Classifier, that is, those instances representing things, which are not instances of any subtypes of the Classifier that are Features. -
  • Features – The number of instances with the same featuring instances. In the case of a Feature with a Classifier as its featuringType, this is the number of values of Feature for each basic instance of the Classifier. Note that, for non-unique Features, all duplicate values are included in this count.
  • -
- -

Multiplicity co-domains (in models) can be specified by Expression that might vary in their results. If the typeWithMultiplicity is a Classifier, the domain of the Multiplicity shall be Base::Anything. If the typeWithMultiplicity is a Feature, the Multiplicity shall have the same domain as the typeWithMultiplicity.

- -if owningType <> null and owningType.oclIsKindOf(Feature) then - featuringType = - owningType.oclAsType(Feature).featuringType -else - featuringType->isEmpty() -endif -specializesFromLibrary('Base::naturals')"""^^rdf:XMLLiteral ; - dcterms:title "MultiplicityShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "requirementConstraintMembershipReferencedConstraint" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ConstraintUsage that is referenced through this RequirementConstraintMembership. It is the referencedFeature of the ownedReferenceSubsetting of the ownedConstraint, if there is one, and, otherwise, the ownedConstraint itself.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureOwnedFeatureInverting" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "caseUsageObjectiveRequirement" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The RequirementUsage representing the objective of this CaseUsage.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ObjectiveMembershipShape" ; - oslc:property ; - dcterms:description """

An ObjectiveMembership is a FeatureMembership that indicates that its ownedObjectiveRequirement is the objective RequirementUsage for its owningType, which must be a CaseDefinition or CaseUsage.

-owningType.oclIsType(CaseDefinition) or -owningType.oclIsType(CaseUsage) - -ownedObjectiveRequirement.isComposite"""^^rdf:XMLLiteral ; - dcterms:title "ObjectiveMembershipShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedMetadata" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The MetadataUsages that are nestedUsages of this of this Usage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "successionGuardExpression" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

Expressions that must evaluate to true before the transitionStep can occur.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "triggerInvocationExpressionKind" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

Indicates which of the Functions from the Triggers model in the Kernel Semantic Library is to be invoked by this TriggerInvocationExpression.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureValueValue" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Expression that provides the value of the featureWithValue as its result.

- -

The Expression that provides the value as a result.

"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "referenceSubsettingReferencedFeature" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Feature that is referenced by the referencingFeature of this ReferenceSubsetting.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "acceptActionUsagePayloadParameter" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The nestedReference of this AcceptActionUsage that redefines the payload output parameter of the base AcceptActionUsage AcceptAction from the Systems Model Library.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "calculationUsageCalculationDefinition" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Function that is the type of this CalculationUsage. Nominally, this would be a CalculationDefinition, but a kernel Function is also allowed, to permit use of Functions from the Kernel Model Libraries.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "membershipMemberElement" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Element that becomes a member of the membershipOwningNamespace due to this Membership.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "analysisCaseUsageAnalysisCaseDefinition" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The AnalysisCaseDefinition that is the definition of this AnalysisCaseUsage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "dependencySupplier" ; - oslc:occurs oslc:One-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Element or Elements on which the client Elements depend in some respect.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "objectiveMembershipOwnedObjectiveRequirement" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The RequirementUsage that is the ownedMemberFeature of this RequirementUsage.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ClassifierShape" ; - oslc:property ; - dcterms:description """

A Classifier is a Type that classifies:

- -
    -
  • Things (in the universe) regardless of how Features relate them. (These are interpreted semantically as sequences of exactly one thing.)
  • -
  • How the above things are related by Features. (These are interpreted semantically as sequences of multiple things, such that the last thing in the sequence is also classified by the Classifier. Note that this means that a Classifier modeled as specializing a Feature cannot classify anything.)
  • -
- - -ownedSubclassification = - ownedSpecialization->selectByKind(Subclassification) -multiplicity <> null implies multiplicity.featuringType->isEmpty()"""^^rdf:XMLLiteral ; - dcterms:title "ClassifierShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeMultiplicity" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes.

- -

 

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedAction" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ActionUsages that are nestedUsages of this Usage.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionVariantMembership" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ownedMemberships of this Definition that are VariantMemberships. If isVariation = true, then this must be all ownedMemberships of the Definition. If isVariation = false, then variantMembershipmust be empty.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeFeaturingFeaturingType" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Type that features the featureOfType. It is the target of the TypeFeaturing.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedAnalysisCase" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The AnalysisCaseUsages that are nestedUsages of this Usage.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "itemFlowInteraction" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Interactions that type this ItemFlow. Interactions are both Associations and Behaviors, which can type Connectors and Steps, respectively.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ActorMembershipShape" ; - oslc:property ; - dcterms:description """

An ActorMembership is a ParameterMembership that identifies a PartUsage as an actor parameter, which specifies a role played by an external entity in interaction with the owningType of the ActorMembership.

-owningType.oclIsKindOf(RequirementUsage) or -owningType.oclIsKindOf(RequirementDefinition) or -owningType.oclIsKindOf(CaseDefinition) or -owningType.oclIsKindOf(CaseUsage) -"""^^rdf:XMLLiteral ; - dcterms:title "ActorMembershipShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "VariantMembershipShape" ; - oslc:property ; - dcterms:description """

A VariantMembership is a Membership between a variation point Definition or Usage and a Usage that represents a variant in the context of that variation. The membershipOwningNamespace for the VariantMembership must be either a Definition or a Usage with isVariation = true.

-membershipOwningNamespace.oclIsKindOf(Definition) and - membershipOwningNamespace.oclAsType(Definition).isVariation or -membershipOwningNamespace.oclIsKindOf(Usage) and - membershipOwningNamespace.oclAsType(Usage).isVariation -"""^^rdf:XMLLiteral ; - dcterms:title "VariantMembershipShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ConstraintDefinitionShape" ; - dcterms:description """

A ConstraintDefinition is an OccurrenceDefinition that is also a Predicate that defines a constraint that may be asserted to hold on a system or part of a system.

- - -specializesFromLibrary('Constraints::ConstraintCheck')"""^^rdf:XMLLiteral ; - dcterms:title "ConstraintDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "CaseUsageShape" ; - oslc:property , , , ; - dcterms:description """

A CaseUsage is a Usage of a CaseDefinition.

-objectiveRequirement = - let objectives: OrderedSet(RequirementUsage) = - featureMembership-> - selectByKind(ObjectiveMembership). - ownedRequirement in - if objectives->isEmpty() then null - else objectives->first().ownedObjectiveRequirement - endif -featureMembership-> - selectByKind(ObjectiveMembership)-> - size() <= 1 -featureMembership-> - selectByKind(SubjectMembership)-> - size() <= 1 -actorParameter = featureMembership-> - selectByKind(ActorMembership). - ownedActorParameter -subjectParameter = - let subjects : OrderedSet(SubjectMembership) = - featureMembership->selectByKind(SubjectMembership) in - if subjects->isEmpty() then null - else subjects->first().ownedSubjectParameter - endif -input->notEmpty() and input->first() = subjectParameter -specializesFromLibrary('Cases::cases') -isComposite and owningType <> null and - (owningType.oclIsKindOf(CaseDefinition) or - owningType.oclIsKindOf(CaseUsage)) implies - specializesFromLibrary('Cases::Case::subcases')"""^^rdf:XMLLiteral ; - dcterms:title "CaseUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "textualRepresentationLanguage" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

The natural or artifical language in which the body text is written.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageDirectedUsage" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The usages of this Usage that are directedFeatures.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "UsageShape" ; - oslc:property , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ; - dcterms:description """

A Usage is a usage of a Definition. A Usage may only be an ownedFeature of a Definition or another Usage.

- -

A Usage may have nestedUsages that model features that apply in the context of the owningUsage. A Usage may also have Definitions nested in it, but this has no semantic significance, other than the nested scoping resulting from the Usage being considered as a Namespace for any nested Definitions.

- -

However, if a Usage has isVariation = true, then it represents a variation point Usage. In this case, all of its members must be variant Usages, related to the Usage by VariantMembership Relationships. Rather than being features of the Usage, variant Usages model different concrete alternatives that can be chosen to fill in for the variation point Usage.

-variant = variantMembership.ownedVariantUsage -variantMembership = ownedMembership->selectByKind(VariantMembership) -isVariation implies ownedFeatureMembership->isEmpty() -isReference = not isComposite -owningVariationUsage <> null implies - specializes(owningVariationUsage) -isVariation implies - not ownedSpecialization.specific->exists( - oclIsKindOf(Definition) and - oclAsType(Definition).isVariation or - oclIsKindOf(Usage) and - oclAsType(Usage).isVariation) -owningVariationDefinition <> null implies - specializes(owningVariationDefinition) -directedUsage = directedFeature->selectByKind(Usage) -nestedAction = nestedUsage->selectByKind(ActionUsage) -nestedAllocation = nestedUsage->selectByKind(AllocationUsage) -nestedAnalysisCase = nestedUsage->selectByKind(AnalysisCaseUsage) -nestedAttribute = nestedUsage->selectByKind(AttributeUsage) -nestedCalculation = nestedUsage->selectByKind(CalculationUsage) -nestedCase = nestedUsage->selectByKind(CaseUsage) -nestedConcern = nestedUsage->selectByKind(ConcernUsage) -nestedConnection = nestedUsage->selectByKind(ConnectorAsUsage) -nestedConstraint = nestedUsage->selectByKind(ConstraintUsage) -ownedNested = nestedUsage->selectByKind(EnumerationUsage) -nestedFlow = nestedUsage->selectByKind(FlowConnectionUsage) -nestedInterface = nestedUsage->selectByKind(ReferenceUsage) -nestedItem = nestedUsage->selectByKind(ItemUsage) -nestedMetadata = nestedUsage->selectByKind(MetadataUsage) -nestedOccurrence = nestedUsage->selectByKind(OccurrenceUsage) -nestedPart = nestedUsage->selectByKind(PartUsage) -nestedPort = nestedUsage->selectByKind(PortUsage) -nestedReference = nestedUsage->selectByKind(ReferenceUsage) -nestedRendering = nestedUsage->selectByKind(RenderingUsage) -nestedRequirement = nestedUsage->selectByKind(RequirementUsage) -nestedState = nestedUsage->selectByKind(StateUsage) -nestedTransition = nestedUsage->selectByKind(TransitionUsage) -nestedUsage = ownedFeature->selectByKind(Usage) -nestedUseCase = nestedUsage->selectByKind(UseCaseUsage) -nestedVerificationCase = nestedUsage->selectByKind(VerificationCaseUsage) -nestedView = nestedUsage->selectByKind(ViewUsage) -nestedViewpoint = nestedUsage->selectByKind(ViewpointUsage) -usage = feature->selectByKind(Usage) -direction <> null or isEnd or featuringType->isEmpty() implies - isReference -isVariation implies isAbstract"""^^rdf:XMLLiteral ; - dcterms:title "UsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureIsComposite" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "AttributeDefinitionShape" ; - dcterms:description """

An AttributeDefinition is a Definition and a DataType of information about a quality or characteristic of a system or part of a system that has no independent identity other than its value. All features of an AttributeDefinition must be referential (non-composite).

- -

As a DataType, an AttributeDefinition must specialize, directly or indirectly, the base DataType Base::DataValue from the Kernel Semantic Library.

-feature->forAll(not isComposite)"""^^rdf:XMLLiteral ; - dcterms:title "AttributeDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "requirementVerificationMembershipOwnedRequirement" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The owned RequirementUsage that acts as the ownedConstraint for this RequirementVerificationMembership. This will either be the verifiedRequirement, or it will subset the verifiedRequirement.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "namespaceMember" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "requirementUsageActorParameter" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The parameters of this RequirementUsage that represent actors involved in the requirement.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionIsVariation" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

Whether this Definition is for a variation point or not. If true, then all the memberships of the Definition must be VariantMemberships.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "requirementUsageFramedConcern" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ConcernUsages framed by this RequirementUsage, which are the ownedConcerns of all FramedConcernMemberships of the RequirementUsage.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "SuccessionAsUsageShape" ; - dcterms:description "

A SuccessionAsUsage is both a ConnectorAsUsage and a Succession.

"^^rdf:XMLLiteral ; - dcterms:title "SuccessionAsUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageVariantMembership" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureOwnedTypeFeaturing" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "stepParameter" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedItem" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ItemUsages that are nestedUsages of this Usage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "useCaseDefinitionIncludedUseCase" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The UseCaseUsages that are included by this UseCaseDefinition, which are the useCaseIncludeds of the IncludeUseCaseUsages owned by this UseCaseDefinition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "itemUsageItemDefinition" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Structures that are the definitions of this ItemUsage. Nominally, these are ItemDefinitions, but other kinds of Kernel Structures are also allowed, to permit use of Structures from the Kernel Library.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "RenderingDefinitionShape" ; - oslc:property ; - dcterms:description """

A RenderingDefinition is a PartDefinition that defines a specific rendering of the content of a model view (e.g., symbols, style, layout, etc.).

-rendering = usages->selectByKind(RenderingUsage) -specializesFromLibrary('Views::Rendering')"""^^rdf:XMLLiteral ; - dcterms:title "RenderingDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "acceptActionUsageReceiverArgument" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

An Expression whose result is bound to the receiver input parameter of this AcceptActionUsage.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "requirementUsageSubjectParameter" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The parameter of this RequirementUsage that represents its subject.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "caseDefinitionSubjectParameter" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The parameter of this CaseDefinition that represents its subject.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeEndFeature" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

All features of this Type with isEnd = true.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featuringFeature" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Feature that is featured by the featuringType.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "requirementUsageStakeholderParameter" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The parameters of this RequirementUsage that represent stakeholders for the requirement.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "disjoiningOwningType" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

A typeDisjoined that is also an owningRelatedElement.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureInvertingInvertingFeature" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Feature that is an inverse of the invertedFeature.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "interfaceDefinitionInterfaceEnd" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The PortUsages that are the connectionEnds of this InterfaceDefinition. - -"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeOwnedFeature" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ownedMemberFeatures of the ownedFeatureMemberships of this Type.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "BooleanExpressionShape" ; - oslc:property ; - dcterms:description """

A BooleanExpression is a Boolean-valued Expression whose type is a Predicate. It represents a logical condition resulting from the evaluation of the Predicate.

- -specializesFromLibrary('Performances::booleanEvaluations')"""^^rdf:XMLLiteral ; - dcterms:title "BooleanExpressionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "associationAssociationEnd" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The features of the Association that identify the things that can be related by it. A concrete Association must have at least two associationEnds. When it has exactly two, the Association is called a binary Association.

- -

The ends of the Association determine which elements are eligible to be related by instances of the Association.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureIsNonunique" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType . - - - a oslc:Property ; - oslc:name "occurrenceUsageIndividualDefinition" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The at most one occurrenceDefinition that has isIndividual = true.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "attributeUsageAttributeDefinition" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The DataTypes that are the types of this AttributeUsage. Nominally, these are AttributeDefinitions, but other kinds of kernel DataTypes are also allowed, to permit use of DataTypes from the Kernel Model Libraries.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "stateUsageIsParallel" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

Whether the nestedStates of this StateUsage are to all be performed in parallel. If true, none of the nestedActions (which include nestedStates) may have any incoming or outgoing Transitions. If false, only one nestedState may be performed at a time.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "booleanExpressionPredicate" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Predicate that types this BooleanExpression.

-

The Predicate that types the Expression.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedViewpoint" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ViewpointUsages that are nestedUsages of this Usage.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ReturnParameterMembershipShape" ; - dcterms:description """

A ReturnParameterMembership is a ParameterMembership that indicates that the ownedMemberParameter is the result parameter of a Function or Expression. The direction of the ownedMemberParameter must be out.

- -owningType.oclIsKindOf(Function) or owningType.oclIsKindOf(Expression)"""^^rdf:XMLLiteral ; - dcterms:title "ReturnParameterMembershipShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "metadataFeatureMetaclass" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The type of this MetadataFeature, which must be a Metaclass.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ResultExpressionMembershipShape" ; - oslc:property ; - dcterms:description """

A ResultExpressionMembership is a FeatureMembership that indicates that the ownedResultExpression provides the result values for the Function or Expression that owns it. The owning Function or Expression must contain a BindingConnector between the result parameter of the ownedResultExpression and the result parameter of the owning Function or Expression.

- -owningType.oclIsKindOf(Function) or owningType.oclIsKindOf(Expression)"""^^rdf:XMLLiteral ; - dcterms:title "ResultExpressionMembershipShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeOwnedFeatureMembership" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "referenceSubsettingReferencingFeature" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Feature that owns this ReferenceSubsetting relationship, which is also its subsettingFeature.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "AssociationStructureShape" ; - dcterms:description """

An AssociationStructure is an Association that is also a Structure, classifying link objects that are both links and objects. As objects, link objects can be created and destroyed, and their non-end Features can change over time. However, the values of the end Features of a link object are fixed and cannot change over its lifetime.

-specializesFromLibrary('Objects::LinkObject') -endFeature->size() = 2 implies - specializesFromLibrary('Objects::BinaryLinkObject')"""^^rdf:XMLLiteral ; - dcterms:title "AssociationStructureShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "AssertConstraintUsageShape" ; - oslc:property ; - dcterms:description """

An AssertConstraintUsage is a ConstraintUsage that is also an Invariant and, so, is asserted to be true (by default). Unless it is the AssertConstraintUsage itself, the asserted ConstraintUsage is related to the AssertConstraintUsage by a ReferenceSubsetting Relationship.

-assertedConstraint = - if ownedReferenceSubsetting = null then self - else ownedReferenceSubsetting.referencedFeature.oclAsType(ConstraintUsage) - endif -if isNegated then - specializesFromLibrary('Constraints::negatedConstraints') -else - specializesFromLibrary('Constraints::assertedConstraints') -endif -ownedReferenceSubsetting <> null implies - ownedReferenceSubsetting.referencedFeature.oclIsKindOf(ConstraintUsage)"""^^rdf:XMLLiteral ; - dcterms:title "AssertConstraintUsageShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "PartUsageShape" ; - oslc:property ; - dcterms:description """

A PartUsage is a usage of a PartDefinition to represent a system or a part of a system. At least one of the itemDefinitions of the PartUsage must be a PartDefinition.

- -

A PartUsage must subset, directly or indirectly, the base PartUsage parts from the Systems Model Library.

-itemDefinition->selectByKind(PartDefinition) -partDefinition->notEmpty() -specializesFromLibrary('Parts::parts') -isComposite and owningType <> null and -(owningType.oclIsKindOf(ItemDefinition) or - owningType.oclIsKindOf(ItemUsage)) implies - specializesFromLibrary('Items::Item::subparts') -owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(ActorMembership) implies - if owningType.oclIsKindOf(RequirementDefinition) or - owningType.oclIsKindOf(RequirementUsage) - then specializesFromLibrary('Requirements::RequirementCheck::actors') - else specializesFromLibrary('Cases::Case::actors') -owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(StakeholderMembership) implies - specializesFromLibrary('Requirements::RequirementCheck::stakeholders')"""^^rdf:XMLLiteral ; - dcterms:title "PartUsageShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "LiteralExpressionShape" ; - dcterms:description """

A LiteralExpression is an Expression that provides a basic DataValue as a result.

- -isModelLevelEvaluable = true -specializesFromLibrary('Performances::literalEvaluations')"""^^rdf:XMLLiteral ; - dcterms:title "LiteralExpressionShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "AssignmentActionUsageShape" ; - oslc:property , , ; - dcterms:description """

An AssignmentActionUsage is an ActionUsage that is defined, directly or indirectly, by the ActionDefinition AssignmentAction from the Systems Model Library. It specifies that the value of the referent Feature, relative to the target given by the result of the targetArgument Expression, should be set to the result of the valueExpression.

- -specializesFromLibrary('Actions::assignmentActions') -let targetParameter : Feature = inputParameter(1) in -targetParameter <> null and -targetParameter.ownedFeature->notEmpty() and -targetParameter.ownedFeature->first(). - redefines('AssignmentAction::target::startingAt') -valueExpression = argument(2) -targetArgument = argument(1) -isSubactionUsage() implies - specializesFromLibrary('Actions::Action::assignments') -let targetParameter : Feature = inputParameter(1) in -targetParameter <> null and -targetParameter.ownedFeature->notEmpty() and -targetParameter->first().ownedFeature->notEmpty() and -targetParameter->first().ownedFeature->first(). - redefines('AssigmentAction::target::startingAt::accessedFeature') -let targetParameter : Feature = inputParameter(1) in -targetParameter <> null and -targetParameter.ownedFeature->notEmpty() and -targetParameter->first().ownedFeature->notEmpty() and -targetParameter->first().ownedFeature->first().redefines(referent) -referent = - let unownedFeatures : Sequence(Feature) = ownedMembership-> - reject(oclIsKindOf(FeatureMembership)).memberElement-> - selectByKind(Feature) in - if unownedFeatures->isEmpty() then null - else unownedFeatures->first().oclAsType(Feature) - endif -ownedMembership->exists( - not oclIsKindOf(OwningMembership) and - memberElement.oclIsKindOf(Feature))"""^^rdf:XMLLiteral ; - dcterms:title "AssignmentActionUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureOwnedRedefinition" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature.

- -"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "importImportOwningNamespace" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Namespace into which Memberships are imported by this Import, which must be the owningRelatedElement of the Import.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "interfaceUsageInterfaceDefinition" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The InterfaceDefinitions that type this InterfaceUsage.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ConcernDefinitionShape" ; - dcterms:description """

A ConcernDefinition is a RequirementDefinition that one or more stakeholders may be interested in having addressed. These stakeholders are identified by the ownedStakeholdersof the ConcernDefinition.

- -specializesFromLibrary('Requirements::ConcernCheck')"""^^rdf:XMLLiteral ; - dcterms:title "ConcernDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionUsage" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Usages that are features of this Definition (not necessarily owned).

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "SuccessionItemFlowShape" ; - dcterms:description """

A SuccessionItemFlow is an ItemFlow that also provides temporal ordering. It classifies Transfers that cannot start until the source Occurrence has completed and that must complete before the target Occurrence can start.

-specializesFromLibrary('Transfers::flowTransfersBefore')"""^^rdf:XMLLiteral ; - dcterms:title "SuccessionItemFlowShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "constraintUsageConstraintDefinition" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The (single) Predicate that is the type of this ConstraintUsage. Nominally, this will be a ConstraintDefinition, but other kinds of Predicates are also allowed, to permit use of Predicates from the Kernel Model Libraries.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "elementDocumentation" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Documentation owned by this Element.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "stateDefinitionExitAction" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ActionUsage of this StateDefinition to be performed on exit to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateDefinition by a StateSubactionMembership with kind = exit.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "parameterMembershipOwnedMemberParameter" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Feature that is identified as a parameter by this ParameterMembership.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedRequirement" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The RequirementUsages that are nestedUsages of this Usage.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "PackageShape" ; - oslc:property ; - dcterms:description """

A Package is a Namespace used to group Elements, without any instance-level semantics. It may have one or more model-level evaluable filterCondition Expressions used to filter its importedMemberships. Any imported member must meet all of the filterConditions.

-filterCondition = ownedMembership-> - selectByKind(ElementFilterMembership).condition"""^^rdf:XMLLiteral ; - dcterms:title "PackageShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "AnnotatingElementShape" ; - oslc:property , , ; - dcterms:description """

An AnnotatingElement is an Element that provides additional description of or metadata on some other Element. An AnnotatingElement is either attached to its annotatedElements by Annotation Relationships, or it implicitly annotates its owningNamespace.

- -annotatedElement = - if annotation->notEmpty() then annotation.annotatedElement - else Sequence{owningNamespace} endif -ownedAnnotatingRelationship = ownedRelationship-> - selectByKind(Annotation)-> - select(a | a.annotatingElement = self)"""^^rdf:XMLLiteral ; - dcterms:title "AnnotatingElementShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedTransition" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The TransitionUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "associationRelatedType" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The types of the associationEnds of the Association, which are the relatedElements of the Association considered as a Relationship.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "specializationOwningType" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Type that is the specific Type of this Specialization and owns it as its owningRelatedElement.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "JoinNodeShape" ; - dcterms:description """

A JoinNode is a ControlNode that waits for the completion of all the predecessor Actions given by incoming Successions.

-sourceConnector->selectByKind(Succession)->size() <= 1 -specializesFromLibrary('Actions::Action::join')"""^^rdf:XMLLiteral ; - dcterms:title "JoinNodeShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "conjugationOriginalType" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Type to be conjugated.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "SubclassificationShape" ; - oslc:property , , ; - dcterms:description """

Subclassification is Specialization in which both the specific and general Types are Classifier. This means all instances of the specific Classifier are also instances of the general Classifier.

-"""^^rdf:XMLLiteral ; - dcterms:title "SubclassificationShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeIsConjugated" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

Indicates whether this Type has an ownedConjugator.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "invocationExpressionOperand" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource . - - - a oslc:Property ; - oslc:name "functionResult" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The result parameter of the Function, which is owned by the Function via a ReturnParameterMembership.

- -

The object or value that is the result of evaluating the Function.

"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "calculationDefinitionCalculation" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The actions of this CalculationDefinition that are CalculationUsages.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureFeaturingType" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "requirementConstraintMembershipOwnedConstraint" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ConstraintUsage that is the ownedMemberFeature of this RequirementConstraintMembership.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "functionExpression" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Expressions that are steps in the calculation of the result of this Function.

- -

The set of expressions that represent computational steps or parts of a system of equations within the Function.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "IfActionUsageShape" ; - oslc:property , , ; - dcterms:description """

An IfActionUsage is an ActionUsage that specifies that the thenAction ActionUsage should be performed if the result of the ifArgument Expression is true. It may also optionally specify an elseAction ActionUsage that is performed if the result of the ifArgument is false.

-thenAction = - let parameter : Feature = inputParameter(2) in - if parameter <> null and parameter.oclIsKindOf(ActionUsage) then - parameter.oclAsType(ActionUsage) - else - null - endif -isSubactionUsage() implies - specializesFromLibrary('Actions::Action::ifSubactions') -if elseAction = null then - specializesFromLibrary('Actions::ifThenActions') -else - specializesFromLibrary('Actions::ifThenElseActions') -endif -ifArgument = - let parameter : Feature = inputParameter(1) in - if parameter <> null and parameter.oclIsKindOf(Expression) then - parameter.oclAsType(Expression) - else - null - endif -elseAction = - let parameter : Feature = inputParameter(3) in - if parameter <> null and parameter.oclIsKindOf(ActionUsage) then - parameter.oclAsType(ActionUsage) - else - null - endif -inputParameters()->size() >= 2"""^^rdf:XMLLiteral ; - dcterms:title "IfActionUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureOwningType" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Type that is the owningType of the owningFeatureMembership of this Feature.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "renderingUsageRenderingDefinition" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The RenderingDefinition that is the definition of this RenderingUsage.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "FeatureInvertingShape" ; - oslc:property , , ; - dcterms:description """

A FeatureInverting is a Relationship between Features asserting that their interpretations (sequences) are the reverse of each other, identified as featureInverted and invertingFeature. For example, a Feature identifying each person's parents is the inverse of a Feature identifying each person's children. A person identified as a parent of another will identify that other as one of their children.

-"""^^rdf:XMLLiteral ; - dcterms:title "FeatureInvertingShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "requirementUsageRequirementDefinition" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The RequirementDefinition that is the single definition of this RequirementUsage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "requirementUsageRequiredConstraint" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The owned ConstraintUsages that represent requirements of this RequirementUsage, which are the ownedConstraints of the RequirementConstraintMemberships of the RequirementUsage with kind = requirement.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "disjoiningTypeDisjoined" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

Type asserted to be disjoint with the disjoiningType.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ItemFlowShape" ; - oslc:property , , , , , ; - dcterms:description """

An ItemFlow is a Step that represents the transfer of objects or data values from one Feature to another. ItemFlows can take non-zero time to complete.

- -if itemFlowEnds->isEmpty() then - specializesFromLibrary('Transfers::transfers') -else - specializesFromLibrary('Transfers::flowTransfers') -endif -itemType = - if itemFeature = null then Sequence{} - else itemFeature.type - endif -sourceOutputFeature = - if connectorEnd->isEmpty() or - connectorEnd.ownedFeature->isEmpty() - then null - else connectorEnd.ownedFeature->first() - endif -targetInputFeature = - if connectorEnd->size() < 2 or - connectorEnd->at(2).ownedFeature->isEmpty() - then null - else connectorEnd->at(2).ownedFeature->first() - endif -itemFlowEnd = connectorEnd->selectByKind(ItemFlowEnd) -itemFeature = - let itemFeatures : Sequence(ItemFeature) = - ownedFeature->selectByKind(ItemFeature) in - if itemFeatures->isEmpty() then null - else itemFeatures->first() - endif -ownedFeature->selectByKind(ItemFeature)->size() <= 1"""^^rdf:XMLLiteral ; - dcterms:title "ItemFlowShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedVerificationCase" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The VerificationCaseUsages that are nestedUsages of this Usage.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "itemFlowItemFeature" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ownedFeature of the ItemFlow that is an ItemFeature (if any).

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "differencingDifferencingType" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

Type that partly determines interpretations of typeDifferenced, as described in Type::differencingType.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "CollectExpressionShape" ; - dcterms:description """

A CollectExpression is an OperatorExpression whose operator is \"collect\", which resolves to the Function ControlFunctions::collect from the Kernel Functions Library.

-operator = \"collect\""""^^rdf:XMLLiteral ; - dcterms:title "CollectExpressionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "namespaceOwnedImport" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ControlNodeShape" ; - dcterms:description """

A ControlNode is an ActionUsage that does not have any inherent behavior but provides constraints on incoming and outgoing Successions that are used to control other Actions. A ControlNode must be a composite owned usage of an ActionDefinition or ActionUsage.

- -sourceConnector->selectByKind(Succession)-> - collect(connectorEnd->at(1).multiplicity)-> - forAll(sourceMult | - multiplicityHasBounds(sourceMult, 1, 1)) -owningType <> null and -(owningType.oclIsKindOf(ActionDefinition) or - owningType.oclIsKindOf(ActionUsage)) -targetConnector->selectByKind(Succession)-> - collect(connectorEnd->at(2).multiplicity)-> - forAll(targetMult | - multiplicityHasBounds(targetMult, 1, 1)) -specializesFromLibrary('Action::Action::controls')"""^^rdf:XMLLiteral ; - dcterms:title "ControlNodeShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "NamespaceExposeShape" ; - dcterms:description "

A NamespaceExpose is an Expose Relationship that exposes the Memberships of a specific importedNamespace and, if isRecursive = true, additional Memberships recursively.

"^^rdf:XMLLiteral ; - dcterms:title "NamespaceExposeShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureChainExpressionTargetFeature" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Feature that is accessed by this FeatureChainExpression, which is its first non-parameter member.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "PredicateShape" ; - dcterms:description """

A Predicate is a Function whose result parameter has type Boolean and multiplicity 1..1.

- -specializesFromLibrary('Performances::BooleanEvaluation')"""^^rdf:XMLLiteral ; - dcterms:title "PredicateShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedConstraint" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ConstraintUsages that are nestedUsages of this Usage.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "requirementDefinitionAssumedConstraint" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The owned ConstraintUsages that represent assumptions of this RequirementDefinition, which are the ownedConstraints of the RequirementConstraintMemberships of the RequirementDefinition with kind = assumption.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "associationSourceType" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The source relatedType for this Association. It is the first relatedType of the Association.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "conjugatedPortDefinitionOriginalPortDefinition" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The original PortDefinition for this ConjugatedPortDefinition, which is the owningNamespace of the ConjugatedPortDefinition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "specializationSpecific" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

A Type with a subset of all instances of the general Type, which might be the same set.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "requirementUsageText" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

An optional textual statement of the requirement represented by this RequirementUsage, derived from the bodies of the documentation of the RequirementUsage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "elementQualifiedName" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedAttribute" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The AttributeUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedPort" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The PortUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureChainingFeatureChained" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Feature whose values are partly determined by values of the chainingFeature, as described in Feature::chainingFeature.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureOwnedReferenceSubsetting" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "FunctionShape" ; - oslc:property , , ; - dcterms:description """

A Function is a Behavior that has an out parameter that is identified as its result. A Function represents the performance of a calculation that produces the values of its result parameter. This calculation may be decomposed into Expressions that are steps of the Function.

- -ownedMembership.selectByKind(ResultExpressionMembership)-> - forAll(mem | ownedFeature.selectByKind(BindingConnector)-> - exists(binding | - binding.relatedFeature->includes(result) and - binding.relatedFeature->includes(mem.ownedResultExpression.result))) -specializesFromLibrary('Performances::Evaluation') -result = - let resultParams : Sequence(Feature) = - ownedFeatureMemberships-> - selectByKind(ReturnParameterMembership). - ownedParameterMember in - if resultParams->notEmpty() then resultParams->first() - else null - endif -ownedFeatureMembership-> - selectByKind(ReturnParameterMembership)-> - size() <= 1 -membership->selectByKind(ResultExpressionMembership)->size() <= 1"""^^rdf:XMLLiteral ; - dcterms:title "FunctionShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ExpressionShape" ; - oslc:property , , ; - dcterms:description """

An Expression is a Step that is typed by a Function. An Expression that also has a Function as its featuringType is a computational step within that Function. An Expression always has a single result parameter, which redefines the result parameter of its defining function. This allows Expressions to be interconnected in tree structures, in which inputs to each Expression in the tree are determined as the results of other Expression in the tree.

- -isModelLevelEvaluable = modelLevelEvaluable(Set(Element){}) -specializesFromLibrary('Performances::evaluations') -owningMembership <> null and -owningMembership.oclIsKindOf(FeatureValue) implies - let featureWithValue : Feature = - owningMembership.oclAsType(FeatureValue).featureWithValue in - featuringType = featureWithValue.featuringType -ownedMembership.selectByKind(ResultExpressionMembership)-> - forAll(mem | ownedFeature.selectByKind(BindingConnector)-> - exists(binding | - binding.relatedFeature->includes(result) and - binding.relatedFeature->includes(mem.ownedResultExpression.result))) -result = - let resultParams : Sequence(Feature) = - ownedFeatureMemberships-> - selectByKind(ReturnParameterMembership). - ownedParameterMember in - if resultParams->notEmpty() then resultParams->first() - else if function <> null then function.result - else null - endif endif -ownedFeatureMembership-> - selectByKind(ReturnParameterMembership)-> - size() <= 1 -membership->selectByKind(ResultExpressionMembership)->size() <= 1"""^^rdf:XMLLiteral ; - dcterms:title "ExpressionShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "DefinitionShape" ; - oslc:property , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ; - dcterms:description """

A Definition is a Classifier of Usages. The actual kinds of Definition that may appear in a model are given by the subclasses of Definition (possibly as extended with user-defined SemanticMetadata).

- -

Normally, a Definition has owned Usages that model features of the thing being defined. A Definition may also have other Definitions nested in it, but this has no semantic significance, other than the nested scoping resulting from the Definition being considered as a Namespace for any nested Definitions.

- -

However, if a Definition has isVariation = true, then it represents a variation point Definition. In this case, all of its members must be variant Usages, related to the Definition by VariantMembership Relationships. Rather than being features of the Definition, variant Usages model different concrete alternatives that can be chosen to fill in for an abstract Usage of the variation point Definition.

- -isVariation implies ownedFeatureMembership->isEmpty() -variant = variantMembership.ownedVariantUsage -variantMembership = ownedMembership->selectByKind(VariantMembership) -isVariation implies - not ownedSpecialization.specific->exists( - oclIsKindOf(Definition) and - oclAsType(Definition).isVariation) -usage = feature->selectByKind(Usage) -directedUsage = directedFeature->selectByKind(Usage) -ownedUsage = ownedFeature->selectByKind(Usage) -ownedAttribute = ownedUsage->selectByKind(AttributeUsage) -ownedReference = ownedUsage->selectByKind(ReferenceUsage) -ownedEnumeration = ownedUsage->selectByKind(EnumerationUsage) -ownedOccurrence = ownedUsage->selectByKind(OccurrenceUsage) -ownedItem = ownedUsage->selectByKind(ItemUsage) -ownedPart = ownedUsage->selectByKind(PartUsage) -ownedPort = ownedUsage->selectByKind(PortUsage) -ownedConnection = ownedUsage->selectByKind(ConnectorAsUsage) -ownedFlow = ownedUsage->selectByKind(FlowConnectionUsage) -ownedInterface = ownedUsage->selectByKind(ReferenceUsage) -ownedAllocation = ownedUsage->selectByKind(AllocationUsage) -ownedAction = ownedUsage->selectByKind(ActionUsage) -ownedState = ownedUsage->selectByKind(StateUsage) -ownedTransition = ownedUsage->selectByKind(TransitionUsage) -ownedCalculation = ownedUsage->selectByKind(CalculationUsage) -ownedConstraint = ownedUsage->selectByKind(ConstraintUsage) -ownedRequirement = ownedUsage->selectByKind(RequirementUsage) -ownedConcern = ownedUsage->selectByKind(ConcernUsage) -ownedCase = ownedUsage->selectByKind(CaseUsage) -ownedAnalysisCase = ownedUsage->selectByKind(AnalysisCaseUsage) -ownedVerificationCase = ownedUsage->selectByKind(VerificationCaseUsage) -ownedUseCase = ownedUsage->selectByKind(UseCaseUsage) -ownedView = ownedUsage->selectByKind(ViewUsage) -ownedViewpoint = ownedUsage->selectByKind(ViewpointUsage) -ownedRendering = ownedUsage->selectByKind(RenderingUsage) -ownedMetadata = ownedUsage->selectByKind(MetadataUsage) -isVariation implies isAbstract"""^^rdf:XMLLiteral ; - dcterms:title "DefinitionShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "WhileLoopActionUsageShape" ; - oslc:property , ; - dcterms:description """

A WhileLoopActionUsage is a LoopActionUsage that specifies that the bodyAction ActionUsage should be performed repeatedly while the result of the whileArgument Expression is true or until the result of the untilArgument Expression (if provided) is true. The whileArgument Expression is evaluated before each (possible) performance of the bodyAction, and the untilArgument Expression is evaluated after each performance of the bodyAction.

-isSubactionUsage() implies - specializesFromLibrary('Actions::Action::whileLoops') -untilArgument = - let parameter : Feature = inputParameter(3) in - if parameter <> null and parameter.oclIsKindOf(Expression) then - parameter.oclAsType(Expression) - else - null - endif - -specializesFromLibrary('Actions::whileLoopActions') -whileArgument = - let parameter : Feature = inputParameter(1) in - if parameter <> null and parameter.oclIsKindOf(Expression) then - parameter.oclAsType(Expression) - else - null - endif - -inputParameters()->size() >= 2"""^^rdf:XMLLiteral ; - dcterms:title "WhileLoopActionUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureValueIsInitial" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

Whether this FeatureValue specifies a bound value or an initial value for the featureWithValue.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "portConjugationConjugatedPortDefinition" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ConjugatedPortDefinition that is conjugate to the originalPortDefinition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedOccurrence" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The OccurrenceUsages that are nestedUsages of this Usage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "flowConnectionUsageFlowConnectionDefinition" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Interactions that are the types of this FlowConnectionUsage. Nominally, these are FlowConnectionDefinitions, but other kinds of Kernel Interactions are also allowed, to permit use of Interactions from the Kernel Model Libraries.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "stepBehavior" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Behaviors that type this Step.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedCase" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The CaseUsages that are nestedUsages of this Usage.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "enumerationDefinitionEnumeratedValue" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

EnumerationUsages of this EnumerationDefinitionthat have distinct, fixed values. Each enumeratedValue specifies one of the allowed instances of the EnumerationDefinition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "importImportedElement" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The effectively imported Element for this Import. For a MembershipImport, this is the memberElement of the importedMembership. For a NamespaceImport, it is the importedNamespace.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ConnectionDefinitionShape" ; - oslc:property ; - dcterms:description """

A ConnectionDefinition is a PartDefinition that is also an AssociationStructure. The end Features of a ConnectionDefinition must be Usages.

-specializesFromLibrary('Connections::Connection') -ownedEndFeature->size() = 2 implies - specializesFromLibrary('Connections::BinaryConnections')"""^^rdf:XMLLiteral ; - dcterms:title "ConnectionDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "includeUseCaseUsageUseCaseIncluded" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The UseCaseUsage to be included by this IncludeUseCaseUsage. It is the performedAction of the IncludeUseCaseUsage considered as a PerformActionUsage, which must be a UseCaseUsage.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "classifierOwnedSubclassification" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ParameterMembershipShape" ; - oslc:property ; - dcterms:description """

A ParameterMembership is a FeatureMembership that identifies its memberFeature as a parameter, which is always owned, and must have a direction. A ParameterMembership must be owned by a Behavior or a Step.

-ownedMemberParameter.direction = parameterDirection() -owningType.oclIsKindOf(Behavior) or owningType.oclIsKindOf(Step)"""^^rdf:XMLLiteral ; - dcterms:title "ParameterMembershipShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "transitionUsageTarget" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The target ActionUsage of this TransitionUsage, which is the targetFeature of the succession for the TransitionUsage.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "PerformActionUsageShape" ; - oslc:property ; - dcterms:description """

A PerformActionUsage is an ActionUsage that represents the performance of an ActionUsage. Unless it is the PerformActionUsage itself, the ActionUsage to be performed is related to the PerformActionUsage by a ReferenceSubsetting relationship. A PerformActionUsage is also an EventOccurrenceUsage, with its performedAction as the eventOccurrence.

-ownedReferenceSubsetting <> null implies - ownedReferenceSubsetting.referencedFeature.oclIsKindOf(ActionUsage) -owningType <> null and -(owningType.oclIsKindOf(PartDefinition) or - owningType.oclIsKindOf(PartUsage)) implies - specializesFromLibrary('Parts::Part::performedActions')"""^^rdf:XMLLiteral ; - dcterms:title "PerformActionUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "ifActionUsageElseAction" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ActionUsage that is to be performed if the result of the ifArgument is false. It is the (optional) third parameter of the IfActionUsage.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "caseUsageActorParameter" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The parameters of this CaseUsage that represent actors involved in the case.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "annotationOwningAnnotatedElement" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The annotatedElement of this Annotation, when it is also its owningRelatedElement.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "literalStringValue" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

The String value that is the result of evaluating this LiteralString.

- -

The String value that is the result of evaluating this Expression.

"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ConcernUsageShape" ; - oslc:property ; - dcterms:description """

A ConcernUsage is a Usage of a ConcernDefinition.

- - The ownedStakeholder features of the ConcernUsage shall all subset the ConcernCheck::concernedStakeholders feature. If the ConcernUsage is an ownedFeature of a StakeholderDefinition or StakeholderUsage, then the ConcernUsage shall have an ownedStakeholder feature that is bound to the self feature of its owner.

- -specializesFromLibrary('Requirements::concernChecks') -owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(FramedConcernMembership) implies - specializesFromLibrary('Requirements::RequirementCheck::concerns')"""^^rdf:XMLLiteral ; - dcterms:title "ConcernUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedOccurrence" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The OccurrenceUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeInput" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

All features related to this Type by FeatureMemberships that have direction in or inout.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "annotationAnnotatedElement" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Element that is annotated by the annotatingElement of this Annotation.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "PortUsageShape" ; - oslc:property ; - dcterms:description """

A PortUsage is a usage of a PortDefinition. A PortUsage itself as well as all its nestedUsages must be referential (non-composite).

-nestedUsage-> - reject(oclIsKindOf(PortUsage))-> - forAll(not isComposite) -specializesFromLibrary('Ports::ports') -isComposite and owningType <> null and -(owningType.oclIsKindOf(PortDefinition) or - owningType.oclIsKindOf(PortUsage)) implies - specializesFromLibrary('Ports::Port::subports') -owningType = null or -not owningType.oclIsKindOf(PortDefinition) and -not owningType.oclIsKindOf(PortUsage) implies - isReference"""^^rdf:XMLLiteral ; - dcterms:title "PortUsageShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "RelationshipShape" ; - oslc:property , , , , , ; - dcterms:description """

A Relationship is an Element that relates other Element. Some of its relatedElements may be owned, in which case those ownedRelatedElements will be deleted from a model if their owningRelationship is. A Relationship may also be owned by another Element, in which case the ownedRelatedElements of the Relationship are also considered to be transitively owned by the owningRelatedElement of the Relationship.

- -

The relatedElements of a Relationship are divided into source and target Elements. The Relationship is considered to be directed from the source to the target Elements. An undirected Relationship may have either all source or all target Elements.

- -

A "relationship Element" in the abstract syntax is generically any Element that is an instance of either Relationship or a direct or indirect specialization of Relationship. Any other kind of Element is a "non-relationship Element". It is a convention of that non-relationship Elements are only related via reified relationship Elements. Any meta-associations directly between non-relationship Elements must be derived from underlying reified Relationship.

- -relatedElement = source->union(target)"""^^rdf:XMLLiteral ; - dcterms:title "RelationshipShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedReference" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ReferenceUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "resultExpressionMembershipOwnedResultExpression" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Expression that provides the result for the owner of the ResultExpressionMembership.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "behaviorStep" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Steps that make up this Behavior.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "StateDefinitionShape" ; - oslc:property , , , , ; - dcterms:description """

A StateDefinition is the Definition of the Behavior of a system or part of a system in a certain state condition.

- -

A StateDefinition may be related to up to three of its ownedFeatures by StateBehaviorMembership Relationships, all of different kinds, corresponding to the entry, do and exit actions of the StateDefinition.

-specializesFromLibrary('States::StateAction') -ownedMembership-> - selectByKind(StateSubactionMembership)-> - isUnique(kind) -state = action->selectByKind(StateUsage) -doAction = - let doMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::do) in - if doMemberships->isEmpty() then null - else doMemberships->at(1) - endif -entryAction = - let entryMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::entry) in - if entryMemberships->isEmpty() then null - else entryMemberships->at(1) - endif -isParallel implies - ownedAction.incomingTransition->isEmpty() and - ownedAction.outgoingTransition->isEmpty() -exitAction = - let exitMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::exit) in - if exitMemberships->isEmpty() then null - else exitMemberships->at(1) - endif"""^^rdf:XMLLiteral ; - dcterms:title "StateDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "partUsagePartDefinition" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The itemDefinitions of this PartUsage that are PartDefinitions.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "transitionUsageEffectAction" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ActionUsages that define the effects of this TransitionUsage, which are the ownedFeatures of the TransitionUsage related to it by TransitionFeatureMemberships with kind = effect, which must all be ActionUsages.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedRendering" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The RenderingUsages that are nestedUsages of this Usage.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "CalculationDefinitionShape" ; - oslc:property ; - dcterms:description """

A CalculationDefinition is an ActionDefinition that also defines a Function producing a result.

-specializesFromLibrary('Calculations::Calculation') -calculation = action->selectByKind(CalculationUsage)"""^^rdf:XMLLiteral ; - dcterms:title "CalculationDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeOwnedUnioning" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "relationshipOwningRelatedElement" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The relatedElement of this Relationship that owns the Relationship, if any.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "caseUsageSubjectParameter" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The parameter of this CaseUsage that represents its subject.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "EnumerationDefinitionShape" ; - oslc:property ; - dcterms:description """

An EnumerationDefinition is an AttributeDefinition all of whose instances are given by an explicit list of enumeratedValues. This is realized by requiring that the EnumerationDefinition have isVariation = true, with the enumeratedValues being its variants.

-isVariation"""^^rdf:XMLLiteral ; - dcterms:title "EnumerationDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "SubjectMembershipShape" ; - oslc:property ; - dcterms:description """

A SubjectMembership is a ParameterMembership that indicates that its ownedSubjectParameter is the subject of its owningType. The owningType of a SubjectMembership must be a RequirementDefinition, RequirementUsage, CaseDefinition, or CaseUsage.

-owningType.oclIsType(RequirementDefinition) or -owningType.oclIsType(RequiremenCaseRequirementDefinition) or -owningType.oclIsType(CaseDefinition) or -owningType.oclIsType(CaseUsage) -"""^^rdf:XMLLiteral ; - dcterms:title "SubjectMembershipShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "caseUsageCaseDefinition" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The CaseDefinition that is the type of this CaseUsage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "conjugationOwningType" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The conjugatedType of this Conjugation that is also its owningRelatedElement.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "viewpointUsageViewpointDefinition" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ViewpointDefinition that is the definition of this ViewpointUsage.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "typeIsSufficient" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

Whether all things that meet the classification conditions of this Type must be classified by the Type.

- -

(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.)

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageIsReference" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

Whether this Usage is a referential Usage, that is, it has isComposite = false.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "invocationExpressionArgument" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The value Expressions of the FeatureValues of the owned input parameters of the InvocationExpression."^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "expressionIsModelLevelEvaluable" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

Whether this Expression meets the constraints necessary to be evaluated at model level, that is, using metadata within the model.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "stateDefinitionDoAction" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ActionUsage of this StateDefinition to be performed while in the state defined by the StateDefinition. It is the owned ActionUsage related to the StateDefinition by a StateSubactionMembership with kind = do.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "StakeholderMembershipShape" ; - oslc:property ; - dcterms:description """

A StakeholderMembership is a ParameterMembership that identifies a PartUsage as a stakeholderParameter of a RequirementDefinition or RequirementUsage, which specifies a role played by an entity with concerns framed by the owningType.

-owningType.oclIsKindOf(RequirementUsage) or -owningType.oclIsKindOf(RequirementDefinition)"""^^rdf:XMLLiteral ; - dcterms:title "StakeholderMembershipShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "importIsImportAll" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

Whether to import memberships without regard to declared visibility.

-"""^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "NamespaceShape" ; - oslc:property , , , , , ; - dcterms:description """

A Namespace is an Element that contains other Elements, known as its members, via Membership Relationships with those Elements. The members of a Namespace may be owned by the Namespace, aliased in the Namespace, or imported into the Namespace via Import Relationships.

- -

A Namespace can provide names for its members via the memberNames and memberShortNames specified by the Memberships in the Namespace. If a Membership specifies a memberName and/or memberShortName, then those are names of the corresponding memberElement relative to the Namespace. For an OwningMembership, the owningMemberName and owningMemberShortName are given by the Element name and shortName. Note that the same Element may be the memberElement of multiple Memberships in a Namespace (though it may be owned at most once), each of which may define a separate alias for the Element relative to the Namespace.

- -membership->forAll(m1 | - membership->forAll(m2 | - m1 <> m2 implies m1.isDistinguishableFrom(m2))) -member = membership.memberElement -ownedMember = ownedMembership->selectByKind(OwningMembership).ownedMemberElement -importedMembership = importedMemberships(Set{}) -ownedImport = ownedRelationship->selectByKind(Import) -ownedMembership = ownedRelationship->selectByKind(Membership)"""^^rdf:XMLLiteral ; - dcterms:title "NamespaceShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "concernUsageConcernDefinition" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The ConcernDefinition that is the single type of this ConcernUsage.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "RequirementConstraintMembershipShape" ; - oslc:property , , ; - dcterms:description """

A RequirementConstraintMembership is a FeatureMembership for an assumed or required ConstraintUsage of a RequirementDefinition or RequirementUsage.

-referencedConstraint = - let reference : ReferenceSubsetting = - ownedConstraint.ownedReferenceSubsetting in - if reference = null then ownedConstraint - else if not reference.referencedFeature.oclIsKindOf(ConstraintUsage) then null - else reference.referencedFeature.oclAsType(ConstraintUsage) - endif endif -owningType.oclIsKindOf(RequirementDefinition) or -owningType.oclIsKindOf(RequirementUsage) -ownedConstraint.isComposite"""^^rdf:XMLLiteral ; - dcterms:title "RequirementConstraintMembershipShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "SatisfyRequirementUsageShape" ; - oslc:property , ; - dcterms:description """

A SatisfyRequirementUsage is an AssertConstraintUsage that asserts, by default, that a satisfied RequirementUsage is true for a specific satisfyingFeature, or, if isNegated = true, that the RequirementUsage is false. The satisfied RequirementUsage is related to the SatisfyRequirementUsage by a ReferenceSubsetting Relationship.

-satisfyingFeature = - let bindings: BindingConnector = ownedMember-> - selectByKind(BindingConnector)-> - select(b | b.relatedElement->includes(subjectParameter)) in - if bindings->isEmpty() or - bindings->first().relatedElement->exits(r | r <> subjectParameter) - then null - else bindings->first().relatedElement->any(r | r <> subjectParameter) - endif -ownedMember->selectByKind(BindingConnector)-> - select(b | - b.relatedElement->includes(subjectParameter) and - b.relatedElement->exists(r | r <> subjectParameter))-> - size() = 1 -ownedReferenceSubsetting <> null implies - ownedReferenceSubsetting.referencedFeature.oclIsKindOf(RequirementUsage)"""^^rdf:XMLLiteral ; - dcterms:title "SatisfyRequirementUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureIsOrdered" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

Whether an order exists for the values of this Feature or not.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureIsEnd" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

Whether or not the this Feature is an end Feature, requiring a different interpretation of the multiplicity of the Feature.

- -

An end Feature is always considered to map each domain instance to a single co-domain instance, whether or not a Multiplicity is given for it. If a Multiplicity is given for an end Feature, rather than giving the co-domain cardinality for the Feature as usual, it specifies a cardinality constraint for navigating across the endFeatures of the featuringType of the end Feature. That is, if a Type has n endFeatures, then the Multiplicity of any one of those end Features constrains the cardinality of the set of values of that Feature when the values of the other n-1 end Features are held fixed.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "definitionOwnedFlow" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The FlowConnectionUsages that are ownedUsages of this Definition.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "requirementDefinitionText" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

An optional textual statement of the requirement represented by this RequirementDefinition, derived from the bodies of the documentation of the RequirementDefinition.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureEndOwningType" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "NullExpressionShape" ; - dcterms:description """

A NullExpression is an Expression that results in a null value.

- -specializesFromLibrary('Performances::nullEvaluations')"""^^rdf:XMLLiteral ; - dcterms:title "NullExpressionShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "BehaviorShape" ; - oslc:property , ; - dcterms:description """

A Behavior coordinates occurrences of other Behaviors, as well as changes in objects. Behaviors can be decomposed into Steps and be characterized by parameters.

- -specializesFromLibrary('Performances::Performance') -step = feature->selectByKind(Step) -ownedSpecialization.general->forAll(not oclIsKindOf(Structure))"""^^rdf:XMLLiteral ; - dcterms:title "BehaviorShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "requirementUsageAssumedConstraint" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The owned ConstraintUsages that represent assumptions of this RequirementUsage, derived as the ownedConstraints of the RequirementConstraintMemberships of the RequirementUsage with kind = assumption.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ActionUsageShape" ; - oslc:property ; - dcterms:description """

An ActionUsage is a Usage that is also a Step, and, so, is typed by a Behavior. Nominally, if the type is an ActionDefinition, an ActionUsage is a Usage of that ActionDefinition within a system. However, other kinds of kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries.

- -isSubactionUsage() implies - specializesFromLibrary('Actions::Action::subactions') -specializesFromLibrary('Actions::actions') -isComposite and owningType <> null and -(owningType.oclIsKindOf(PartDefinition) or - owningType.oclIsKindOf(PartUsage)) implies - specializesFromLibrary('Parts::Part::ownedActions') -owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(StateSubactionMembership) implies - let kind : StateSubactionKind = - owningFeatureMembership.oclAsType(StateSubactionMembership).kind in - if kind = StateSubactionKind::entry then - redefinesFromLibrary('States::StateAction::entryAction') - else if kind = StateSubactionKind::do then - redefinesFromLibrary('States::StateAction::doAction') - else - redefinesFromLibrary('States::StateAction::exitAction') - endif endif -owningType <> null and - (owningType.oclIsKindOf(AnalysisCaseDefinition) and - owningType.oclAsType(AnalysisCaseDefinition).analysisAction-> - includes(self) or - owningType.oclIsKindOf(AnalysisCaseUsage) and - owningType.oclAsType(AnalysisCaseUsage).analysisAction-> - includes(self)) implies - specializesFromLibrary('AnalysisCases::AnalysisCase::analysisSteps')"""^^rdf:XMLLiteral ; - dcterms:title "ActionUsageShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageOwningUsage" ; - oslc:occurs oslc:Zero-or-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The Usage in which this Usage is nested (if any).

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageIsVariation" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description "

Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "usageNestedInterface" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The InterfaceUsages that are nestedUsages of this Usage.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "RequirementDefinitionShape" ; - oslc:property , , , , , , , ; - dcterms:description """

A RequirementDefinition is a ConstraintDefinition that defines a requirement used in the context of a specification as a constraint that a valid solution must satisfy. The specification is relative to a specified subject, possibly in collaboration with one or more external actors.

-text = documentation.body -assumedConstraint = ownedFeatureMembership-> - selectByKind(RequirementConstraintMembership)-> - select(kind = RequirementConstraintKind::assumption). - ownedConstraint -requiredConstraint = ownedFeatureMembership-> - selectByKind(RequirementConstraintMembership)-> - select(kind = RequirementConstraintKind::requirement). - ownedConstraint -subjectParameter = - let subjects : OrderedSet(SubjectMembership) = - featureMembership->selectByKind(SubjectMembership) in - if subjects->isEmpty() then null - else subjects->first().ownedSubjectParameter - endif -framedConcern = featureMembership-> - selectByKind(FramedConcernMembership). - ownedConcern -actorParameter = featureMembership-> - selectByKind(ActorMembership). - ownedActorParameter -stakeholderParameter = featureMembership-> - selectByKind(StakholderMembership). - ownedStakeholderParameter -featureMembership-> - selectByKind(SubjectMembership)-> - size() <= 1 -input->notEmpty() and input->first() = subjectParameter -specializesFromLibrary('Requirements::RequirementCheck')"""^^rdf:XMLLiteral ; - dcterms:title "RequirementDefinitionShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "FeatureChainExpressionShape" ; - oslc:property ; - dcterms:description """

A FeatureChainExpression is an OperatorExpression whose operator is \".\", which resolves to the Function ControlFunctions::'.' from the Kernel Functions Library. It evaluates to the result of chaining the result Feature of its single argument Expression with its targetFeature.

-let sourceParameter : Feature = sourceTargetFeature() in -sourceTargetFeature <> null and -sourceTargetFeature.redefinesFromLibrary('ControlFunctions::'.'::source::target') -let sourceParameter : Feature = sourceTargetFeature() in -sourceTargetFeature <> null and -sourceTargetFeature.redefines(targetFeature) -targetFeature = - let nonParameterMemberships : Sequence(Membership) = ownedMembership-> - reject(oclIsKindOf(ParameterMembership)) in - if nonParameterMemberships->isEmpty() or - not nonParameterMemberships->first().memberElement.oclIsKindOf(Feature) - then null - else nonParameterMemberships->first().memberElement.oclAsType(Feature) - endif -argument->notEmpty() implies - targetFeature.featuringType->forAll(t | - t.specializes(argument->at(1).result))"""^^rdf:XMLLiteral ; - dcterms:title "FeatureChainExpressionShape"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "ImportShape" ; - oslc:property , , , , ; - dcterms:description """

An Import is an Relationship between its importOwningNamespace and either a Membership (for a MembershipImport) or another Namespace (for a NamespaceImport), which determines a set of Memberships that become importedMemberships of the importOwningNamespace. If isImportAll = false (the default), then only public Memberships are considered "visible". If isImportAll = true, then all Memberships are considered "visible", regardless of their declared visibility. If isRecursive = true, then visible Memberships are also recursively imported from owned sub-Namespaces.

- -"""^^rdf:XMLLiteral ; - dcterms:title "ImportShape"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureTypingType" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description """

The Type that is being applied by this FeatureTyping.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "elementTextualRepresentation" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The TextualRepresentations that annotate this Element.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "conjugatedPortTypingPortDefinition" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The originalPortDefinition of the conjugatedPortDefinition of this ConjugatedPortTyping.

"^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "featureIsUnique" ; - oslc:occurs oslc:Exactly-one ; - oslc:propertyDefinition - ; - oslc:readOnly "false"^^ ; - oslc:valueType ; - dcterms:description """

Whether or not values for this Feature must have no duplicates or not.

-"""^^rdf:XMLLiteral . - - - a oslc:Property ; - oslc:name "verificationCaseDefinitionVerifiedRequirement" ; - oslc:occurs oslc:Zero-or-many ; - oslc:propertyDefinition - ; - oslc:range ; - oslc:readOnly "false"^^ ; - oslc:valueType oslc:Resource ; - dcterms:description "

The RequirementUsages verified by this VerificationCaseDefinition, which are the verifiedRequirements of all RequirementVerificationMemberships of the objectiveRequirement.

"^^rdf:XMLLiteral . - - - a oslc:ResourceShape ; - oslc:describes ; - oslc:name "MultiplicityRangeShape" ; - oslc:property , , ; - dcterms:description """

A MultiplicityRange is a Multiplicity whose value is defined to be the (inclusive) range of natural numbers given by the result of a lowerBound Expression and the result of an upperBound Expression. The result of these Expressions shall be of type Natural. If the result of the upperBound Expression is the unbounded value *, then the specified range includes all natural numbers greater than or equal to the lowerBound value. If no lowerBound Expression, then the default is that the lower bound has the same value as the upper bound, except if the upperBound evaluates to *, in which case the default for the lower bound is 0.

- -bound->forAll(b | b.featuringType = self.featuringType) -bound->forAll(b | - b.result.specializesFromLibrary('ScalarValues::Integer') and - let value : UnlimitedNatural = valueOf(b) in - value <> null implies value >= 0 -) -lowerBound = - let ownedMembers : Sequence(Element) = - ownedMembership->selectByKind(OwningMembership).ownedMember in - if ownedMembers->size() < 2 or - not ownedMembers->first().oclIsKindOf(Expression) then null - else ownedMembers->first().oclAsType(Expression) - endif -upperBound = - let ownedMembers : Sequence(Element) = - ownedMembership->selectByKind(OwningMembership).ownedMember in - if ownedMembers->isEmpty() or - not ownedMembers->last().oclIsKindOf(Expression) - then null - else ownedMembers->last().oclAsType(Expression) - endif """^^rdf:XMLLiteral ; - dcterms:title "MultiplicityRangeShape"^^rdf:XMLLiteral . +# Copyright 2024 OASIS Open +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +@prefix : . +@prefix dcterms: . +@prefix oslc: . +@prefix oslc_sysmlv2: . +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . + + + +: a oslc:ResourceShapeConstraints ; + rdfs:label "OSLC System Modeling Language (SysML) Constraints" ; + dcterms:dateCopyrighted "2012-2024" ; + dcterms:description "

All vocabulary URIs defined in the OSLC System Modeling Language (SysML) namespace.

" ; + dcterms:hasVersion "PSD" ; + dcterms:isPartOf ; + dcterms:issued "2024-08-01"^^xsd:date ; + dcterms:license ; + dcterms:publisher ; + dcterms:source ; + dcterms:title "OSLC System Modeling Language (SysML) Version 2.0 Constraints" . + + +oslc_sysmlv2:AcceptActionUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:AcceptActionUsage ; + oslc:name "AcceptActionUsageShape" ; + oslc:property oslc_sysmlv2:acceptActionUsagePayloadArgument, + oslc_sysmlv2:acceptActionUsagePayloadParameter, + oslc_sysmlv2:acceptActionUsageReceiverArgument ; + dcterms:description "

An AcceptActionUsage is an ActionUsage that specifies the acceptance of an incomingTransfer from the Occurrence given by the result of its receiverArgument Expression. (If no receiverArgument is provided, the default is the this context of the AcceptActionUsage.) The payload of the accepted Transfer is output on its payloadParameter. Which Transfers may be accepted is determined by conformance to the typing and (potentially) binding of the payloadParameter.

" ; + dcterms:title "AcceptActionUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ActionDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ActionDefinition ; + oslc:name "ActionDefinitionShape" ; + oslc:property oslc_sysmlv2:actionDefinitionAction ; + dcterms:description "

An ActionDefinition is a Definition that is also a Behavior that defines an Action performed by a system or part of a system.

" ; + dcterms:title "ActionDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ActionUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ActionUsage ; + oslc:name "ActionUsageShape" ; + oslc:property oslc_sysmlv2:actionUsageActionDefinition ; + dcterms:description "

An ActionUsage is a Usage that is also a Step, and, so, is typed by a Behavior. Nominally, if the type is an ActionDefinition, an ActionUsage is a Usage of that ActionDefinition within a system. However, other kinds of kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries.

" ; + dcterms:title "ActionUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ActorMembershipShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ActorMembership ; + oslc:name "ActorMembershipShape" ; + oslc:property oslc_sysmlv2:actorMembershipOwnedActorParameter ; + dcterms:description "

An ActorMembership is a ParameterMembership that identifies a PartUsage as an actor parameter, which specifies a role played by an external entity in interaction with the owningType of the ActorMembership.

" ; + dcterms:title "ActorMembershipShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:AllocationDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:AllocationDefinition ; + oslc:name "AllocationDefinitionShape" ; + oslc:property oslc_sysmlv2:allocationDefinitionAllocation ; + dcterms:description "

An AllocationDefinition is a ConnectionDefinition that specifies that some or all of the responsibility to realize the intent of the source is allocated to the target instances. Such allocations define mappings across the various structures and hierarchies of a system model, perhaps as a precursor to more rigorous specifications and implementations. An AllocationDefinition can itself be refined using nested allocations that give a finer-grained decomposition of the containing allocation mapping.

" ; + dcterms:title "AllocationDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:AllocationUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:AllocationUsage ; + oslc:name "AllocationUsageShape" ; + oslc:property oslc_sysmlv2:allocationUsageAllocationDefinition ; + dcterms:description "

An AllocationUsage is a usage of an AllocationDefinition asserting the allocation of the source feature to the target feature.

" ; + dcterms:title "AllocationUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:AnalysisCaseDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:AnalysisCaseDefinition ; + oslc:name "AnalysisCaseDefinitionShape" ; + oslc:property oslc_sysmlv2:analysisCaseDefinitionAnalysisAction, + oslc_sysmlv2:analysisCaseDefinitionResultExpression ; + dcterms:description "

An AnalysisCaseDefinition is a CaseDefinition for the case of carrying out an analysis.

" ; + dcterms:title "AnalysisCaseDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:AnalysisCaseUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:AnalysisCaseUsage ; + oslc:name "AnalysisCaseUsageShape" ; + oslc:property oslc_sysmlv2:analysisCaseUsageAnalysisAction, + oslc_sysmlv2:analysisCaseUsageAnalysisCaseDefinition, + oslc_sysmlv2:analysisCaseUsageResultExpression ; + dcterms:description "

An AnalysisCaseUsage is a Usage of an AnalysisCaseDefinition.

" ; + dcterms:title "AnalysisCaseUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:AnnotatingElementShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:AnnotatingElement ; + oslc:name "AnnotatingElementShape" ; + oslc:property oslc_sysmlv2:annotatingElementAnnotatedElement, + oslc_sysmlv2:annotatingElementAnnotation, + oslc_sysmlv2:annotatingElementOwnedAnnotatingRelationship ; + dcterms:description "

An AnnotatingElement is an Element that provides additional description of or metadata on some other Element. An AnnotatingElement is either attached to its annotatedElements by Annotation Relationships, or it implicitly annotates its owningNamespace.

" ; + dcterms:title "AnnotatingElementShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:AnnotationShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Annotation ; + oslc:name "AnnotationShape" ; + oslc:property oslc_sysmlv2:annotationAnnotatedElement, + oslc_sysmlv2:annotationAnnotatingElement, + oslc_sysmlv2:annotationOwningAnnotatedElement, + oslc_sysmlv2:annotationOwningAnnotatingElement ; + dcterms:description "

An Annotation is a Relationship between an AnnotatingElement and the Element that is annotated by that AnnotatingElement.

" ; + dcterms:title "AnnotationShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:AssertConstraintUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:AssertConstraintUsage ; + oslc:name "AssertConstraintUsageShape" ; + oslc:property oslc_sysmlv2:assertConstraintUsageAssertedConstraint ; + dcterms:description "

An AssertConstraintUsage is a ConstraintUsage that is also an Invariant and, so, is asserted to be true (by default). Unless it is the AssertConstraintUsage itself, the asserted ConstraintUsage is related to the AssertConstraintUsage by a ReferenceSubsetting Relationship.

" ; + dcterms:title "AssertConstraintUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:AssignmentActionUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:AssignmentActionUsage ; + oslc:name "AssignmentActionUsageShape" ; + oslc:property oslc_sysmlv2:assignmentActionUsageReferent, + oslc_sysmlv2:assignmentActionUsageTargetArgument, + oslc_sysmlv2:assignmentActionUsageValueExpression ; + dcterms:description "

An AssignmentActionUsage is an ActionUsage that is defined, directly or indirectly, by the ActionDefinition AssignmentAction from the Systems Model Library. It specifies that the value of the referent Feature, relative to the target given by the result of the targetArgument Expression, should be set to the result of the valueExpression.

" ; + dcterms:title "AssignmentActionUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:AssociationShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Association ; + oslc:name "AssociationShape" ; + oslc:property oslc_sysmlv2:associationAssociationEnd, + oslc_sysmlv2:associationRelatedType, + oslc_sysmlv2:associationSourceType, + oslc_sysmlv2:associationTargetType ; + dcterms:description "

An Association is a Relationship and a Classifier to enable classification of links between things (in the universe). The co-domains (types) of the associationEnd Features are the relatedTypes, as co-domain and participants (linked things) of an Association identify each other.

" ; + dcterms:title "AssociationShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:AssociationStructureShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:AssociationStructure ; + oslc:name "AssociationStructureShape" ; + dcterms:description "

An AssociationStructure is an Association that is also a Structure, classifying link objects that are both links and objects. As objects, link objects can be created and destroyed, and their non-end Features can change over time. However, the values of the end Features of a link object are fixed and cannot change over its lifetime.

" ; + dcterms:title "AssociationStructureShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:AttributeDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:AttributeDefinition ; + oslc:name "AttributeDefinitionShape" ; + dcterms:description "

An AttributeDefinition is a Definition and a DataType of information about a quality or characteristic of a system or part of a system that has no independent identity other than its value. All features of an AttributeDefinition must be referential (non-composite).

" ; + dcterms:title "AttributeDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:AttributeUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:AttributeUsage ; + oslc:name "AttributeUsageShape" ; + oslc:property oslc_sysmlv2:attributeUsageAttributeDefinition ; + dcterms:description "

An AttributeUsage is a Usage whose type is a DataType. Nominally, if the type is an AttributeDefinition, an AttributeUsage is a usage of a AttributeDefinition to represent the value of some system quality or characteristic. However, other kinds of kernel DataTypes are also allowed, to permit use of DataTypes from the Kernel Model Libraries. An AttributeUsage itself as well as all its nested features must be referential (non-composite).

" ; + dcterms:title "AttributeUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:BehaviorShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Behavior ; + oslc:name "BehaviorShape" ; + oslc:property oslc_sysmlv2:behaviorParameter, + oslc_sysmlv2:behaviorStep ; + dcterms:description "

A Behavior coordinates occurrences of other Behaviors, as well as changes in objects. Behaviors can be decomposed into Steps and be characterized by parameters.

" ; + dcterms:title "BehaviorShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:BindingConnectorAsUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:BindingConnectorAsUsage ; + oslc:name "BindingConnectorAsUsageShape" ; + dcterms:description "

A BindingConnectorAsUsage is both a BindingConnector and a ConnectorAsUsage.

" ; + dcterms:title "BindingConnectorAsUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:BindingConnectorShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:BindingConnector ; + oslc:name "BindingConnectorShape" ; + dcterms:description "

A BindingConnector is a binary Connector that requires its relatedFeatures to identify the same things (have the same values).

" ; + dcterms:title "BindingConnectorShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:BooleanExpressionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:BooleanExpression ; + oslc:name "BooleanExpressionShape" ; + oslc:property oslc_sysmlv2:booleanExpressionPredicate ; + dcterms:description "

A BooleanExpression is a Boolean-valued Expression whose type is a Predicate. It represents a logical condition resulting from the evaluation of the Predicate.

" ; + dcterms:title "BooleanExpressionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:CalculationDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:CalculationDefinition ; + oslc:name "CalculationDefinitionShape" ; + oslc:property oslc_sysmlv2:calculationDefinitionCalculation ; + dcterms:description "

A CalculationDefinition is an ActionDefinition that also defines a Function producing a result.

" ; + dcterms:title "CalculationDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:CalculationUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:CalculationUsage ; + oslc:name "CalculationUsageShape" ; + oslc:property oslc_sysmlv2:calculationUsageCalculationDefinition ; + dcterms:description "

A CalculationUsage is an ActionUsage that is also an Expression, and, so, is typed by a Function. Nominally, if the type is a CalculationDefinition, a CalculationUsage is a Usage of that CalculationDefinition within a system. However, other kinds of kernel Functions are also allowed, to permit use of Functions from the Kernel Model Libraries.

" ; + dcterms:title "CalculationUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:CaseDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:CaseDefinition ; + oslc:name "CaseDefinitionShape" ; + oslc:property oslc_sysmlv2:caseDefinitionActorParameter, + oslc_sysmlv2:caseDefinitionObjectiveRequirement, + oslc_sysmlv2:caseDefinitionSubjectParameter ; + dcterms:description "

A CaseDefinition is a CalculationDefinition for a process, often involving collecting evidence or data, relative to a subject, possibly involving the collaboration of one or more other actors, producing a result that meets an objective.

" ; + dcterms:title "CaseDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:CaseUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:CaseUsage ; + oslc:name "CaseUsageShape" ; + oslc:property oslc_sysmlv2:caseUsageActorParameter, + oslc_sysmlv2:caseUsageCaseDefinition, + oslc_sysmlv2:caseUsageObjectiveRequirement, + oslc_sysmlv2:caseUsageSubjectParameter ; + dcterms:description "

A CaseUsage is a Usage of a CaseDefinition.

" ; + dcterms:title "CaseUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ClassShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Class ; + oslc:name "ClassShape" ; + dcterms:description "

A Class is a Classifier of things (in the universe) that can be distinguished without regard to how they are related to other things (via Features). This means multiple things classified by the same Class can be distinguished, even when they are related other things in exactly the same way.

" ; + dcterms:title "ClassShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ClassifierShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Classifier ; + oslc:name "ClassifierShape" ; + oslc:property oslc_sysmlv2:classifierOwnedSubclassification ; + dcterms:description "

A Classifier is a Type that classifies:

" ; + dcterms:title "ClassifierShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:CollectExpressionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:CollectExpression ; + oslc:name "CollectExpressionShape" ; + dcterms:description "

A CollectExpression is an OperatorExpression whose operator is \"collect\", which resolves to the Function ControlFunctions::collect from the Kernel Functions Library.

" ; + dcterms:title "CollectExpressionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:CommentShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Comment ; + oslc:name "CommentShape" ; + oslc:property oslc_sysmlv2:commentBody, + oslc_sysmlv2:commentLocale ; + dcterms:description "

A Comment is an AnnotatingElement whose body in some way describes its annotatedElements.

" ; + dcterms:title "CommentShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ConcernDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ConcernDefinition ; + oslc:name "ConcernDefinitionShape" ; + dcterms:description "

A ConcernDefinition is a RequirementDefinition that one or more stakeholders may be interested in having addressed. These stakeholders are identified by the ownedStakeholdersof the ConcernDefinition.

" ; + dcterms:title "ConcernDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ConcernUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ConcernUsage ; + oslc:name "ConcernUsageShape" ; + oslc:property oslc_sysmlv2:concernUsageConcernDefinition ; + dcterms:description "

A ConcernUsage is a Usage of a ConcernDefinition.

" ; + dcterms:title "ConcernUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ConjugatedPortDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ConjugatedPortDefinition ; + oslc:name "ConjugatedPortDefinitionShape" ; + oslc:property oslc_sysmlv2:conjugatedPortDefinitionOriginalPortDefinition, + oslc_sysmlv2:conjugatedPortDefinitionOwnedPortConjugator ; + dcterms:description "

A ConjugatedPortDefinition is a PortDefinition that is a PortDefinition of its original PortDefinition. That is, a ConjugatedPortDefinition inherits all the features of the original PortDefinition, but input flows of the original PortDefinition become outputs on the ConjugatedPortDefinition and output flows of the original PortDefinition become inputs on the ConjugatedPortDefinition. Every PortDefinition (that is not itself a ConjugatedPortDefinition) has exactly one corresponding ConjugatedPortDefinition, whose effective name is the name of the originalPortDefinition, with the character ~ prepended.

" ; + dcterms:title "ConjugatedPortDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ConjugatedPortTypingShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ConjugatedPortTyping ; + oslc:name "ConjugatedPortTypingShape" ; + oslc:property oslc_sysmlv2:conjugatedPortTypingConjugatedPortDefinition, + oslc_sysmlv2:conjugatedPortTypingPortDefinition ; + dcterms:description "

A ConjugatedPortTyping is a FeatureTyping whose type is a ConjugatedPortDefinition. (This relationship is intended to be an abstract-syntax marker for a special surface notation for conjugated typing of ports.)

" ; + dcterms:title "ConjugatedPortTypingShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ConjugationShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Conjugation ; + oslc:name "ConjugationShape" ; + oslc:property oslc_sysmlv2:conjugationConjugatedType, + oslc_sysmlv2:conjugationOriginalType, + oslc_sysmlv2:conjugationOwningType ; + dcterms:description "

Conjugation is a Relationship between two types in which the conjugatedType inherits all the Features of the originalType, but with all input and output Features reversed. That is, any Features with a direction in relative to the originalType are considered to have an effective direction of out relative to the conjugatedType and, similarly, Features with direction out in the originalType are considered to have an effective direction of in in the conjugatedType. Features with direction inout, or with no direction, in the originalType, are inherited without change.

" ; + dcterms:title "ConjugationShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ConnectionDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ConnectionDefinition ; + oslc:name "ConnectionDefinitionShape" ; + oslc:property oslc_sysmlv2:connectionDefinitionConnectionEnd ; + dcterms:description "

A ConnectionDefinition is a PartDefinition that is also an AssociationStructure. The end Features of a ConnectionDefinition must be Usages.

" ; + dcterms:title "ConnectionDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ConnectionUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ConnectionUsage ; + oslc:name "ConnectionUsageShape" ; + oslc:property oslc_sysmlv2:connectionUsageConnectionDefinition ; + dcterms:description "

A ConnectionUsage is a ConnectorAsUsage that is also a PartUsage. Nominally, if its type is a ConnectionDefinition, then a ConnectionUsage is a Usage of that ConnectionDefinition, representing a connection between parts of a system. However, other kinds of kernel AssociationStructures are also allowed, to permit use of AssociationStructures from the Kernel Model Libraries.

" ; + dcterms:title "ConnectionUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ConnectorAsUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ConnectorAsUsage ; + oslc:name "ConnectorAsUsageShape" ; + dcterms:description "

A ConnectorAsUsage is both a Connector and a Usage. ConnectorAsUsage cannot itself be instantiated in a SysML model, but it is the base class for the concrete classes BindingConnectorAsUsage, SuccessionAsUsage and ConnectionUsage.

" ; + dcterms:title "ConnectorAsUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ConnectorShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Connector ; + oslc:name "ConnectorShape" ; + oslc:property oslc_sysmlv2:connectorAssociation, + oslc_sysmlv2:connectorConnectorEnd, + oslc_sysmlv2:connectorRelatedFeature, + oslc_sysmlv2:connectorSourceFeature, + oslc_sysmlv2:connectorTargetFeature ; + dcterms:description "

A Connector is a usage of Associations, with links restricted according to instances of the Type in which they are used (domain of the Connector). The associations of the Connector restrict what kinds of things might be linked. The Connector further restricts these links to be between values of Features on instances of its domain.

" ; + dcterms:title "ConnectorShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ConstraintDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ConstraintDefinition ; + oslc:name "ConstraintDefinitionShape" ; + dcterms:description "

A ConstraintDefinition is an OccurrenceDefinition that is also a Predicate that defines a constraint that may be asserted to hold on a system or part of a system.

" ; + dcterms:title "ConstraintDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ConstraintUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ConstraintUsage ; + oslc:name "ConstraintUsageShape" ; + oslc:property oslc_sysmlv2:constraintUsageConstraintDefinition ; + dcterms:description "

A ConstraintUsage is an OccurrenceUsage that is also a BooleanExpression, and, so, is typed by a Predicate. Nominally, if the type is a ConstraintDefinition, a ConstraintUsage is a Usage of that ConstraintDefinition. However, other kinds of kernel Predicates are also allowed, to permit use of Predicates from the Kernel Model Libraries.

" ; + dcterms:title "ConstraintUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ControlNodeShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ControlNode ; + oslc:name "ControlNodeShape" ; + dcterms:description "

A ControlNode is an ActionUsage that does not have any inherent behavior but provides constraints on incoming and outgoing Successions that are used to control other Actions. A ControlNode must be a composite owned usage of an ActionDefinition or ActionUsage.

" ; + dcterms:title "ControlNodeShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:DataTypeShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:DataType ; + oslc:name "DataTypeShape" ; + dcterms:description "

A DataType is a Classifier of things (in the universe) that can only be distinguished by how they are related to other things (via Features). This means multiple things classified by the same DataType

" ; + dcterms:title "DataTypeShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:DecisionNodeShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:DecisionNode ; + oslc:name "DecisionNodeShape" ; + dcterms:description "

A DecisionNode is a ControlNode that makes a selection from its outgoing Successions.

" ; + dcterms:title "DecisionNodeShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:DefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Definition ; + oslc:name "DefinitionShape" ; + oslc:property oslc_sysmlv2:definitionDirectedUsage, + oslc_sysmlv2:definitionIsVariation, + oslc_sysmlv2:definitionOwnedAction, + oslc_sysmlv2:definitionOwnedAllocation, + oslc_sysmlv2:definitionOwnedAnalysisCase, + oslc_sysmlv2:definitionOwnedAttribute, + oslc_sysmlv2:definitionOwnedCalculation, + oslc_sysmlv2:definitionOwnedCase, + oslc_sysmlv2:definitionOwnedConcern, + oslc_sysmlv2:definitionOwnedConnection, + oslc_sysmlv2:definitionOwnedConstraint, + oslc_sysmlv2:definitionOwnedEnumeration, + oslc_sysmlv2:definitionOwnedFlow, + oslc_sysmlv2:definitionOwnedInterface, + oslc_sysmlv2:definitionOwnedItem, + oslc_sysmlv2:definitionOwnedMetadata, + oslc_sysmlv2:definitionOwnedOccurrence, + oslc_sysmlv2:definitionOwnedPart, + oslc_sysmlv2:definitionOwnedPort, + oslc_sysmlv2:definitionOwnedReference, + oslc_sysmlv2:definitionOwnedRendering, + oslc_sysmlv2:definitionOwnedRequirement, + oslc_sysmlv2:definitionOwnedState, + oslc_sysmlv2:definitionOwnedTransition, + oslc_sysmlv2:definitionOwnedUsage, + oslc_sysmlv2:definitionOwnedUseCase, + oslc_sysmlv2:definitionOwnedVerificationCase, + oslc_sysmlv2:definitionOwnedView, + oslc_sysmlv2:definitionOwnedViewpoint, + oslc_sysmlv2:definitionUsage, + oslc_sysmlv2:definitionVariant, + oslc_sysmlv2:definitionVariantMembership ; + dcterms:description "

A Definition is a Classifier of Usages. The actual kinds of Definition that may appear in a model are given by the subclasses of Definition (possibly as extended with user-defined SemanticMetadata).

" ; + dcterms:title "DefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:DependencyShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Dependency ; + oslc:name "DependencyShape" ; + oslc:property oslc_sysmlv2:dependencyClient, + oslc_sysmlv2:dependencySupplier ; + dcterms:description "

A Dependency is a Relationship that indicates that one or more client Elements require one more supplier Elements for their complete specification. In general, this means that a change to one of the supplier Elements may necessitate a change to, or re-specification of, the client Elements.

" ; + dcterms:title "DependencyShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:DifferencingShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Differencing ; + oslc:name "DifferencingShape" ; + oslc:property oslc_sysmlv2:differencingDifferencingType, + oslc_sysmlv2:differencingTypeDifferenced ; + dcterms:description "

Differencing is a Relationship that makes its differencingType one of the differencingTypes of its typeDifferenced.

" ; + dcterms:title "DifferencingShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:DisjoiningShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Disjoining ; + oslc:name "DisjoiningShape" ; + oslc:property oslc_sysmlv2:disjoiningDisjoiningType, + oslc_sysmlv2:disjoiningOwningType, + oslc_sysmlv2:disjoiningTypeDisjoined ; + dcterms:description "

A Disjoining is a Relationship between Types asserted to have interpretations that are not shared (disjoint) between them, identified as typeDisjoined and disjoiningType. For example, a Classifier for mammals is disjoint from a Classifier for minerals, and a Feature for people's parents is disjoint from a Feature for their children.

" ; + dcterms:title "DisjoiningShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:DocumentationShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Documentation ; + oslc:name "DocumentationShape" ; + oslc:property oslc_sysmlv2:documentationDocumentedElement ; + dcterms:description "

Documentation is a Comment that specifically documents a documentedElement, which must be its owner.

" ; + dcterms:title "DocumentationShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ElementFilterMembershipShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ElementFilterMembership ; + oslc:name "ElementFilterMembershipShape" ; + oslc:property oslc_sysmlv2:elementFilterMembershipCondition ; + dcterms:description "

ElementFilterMembership is a Membership between a Namespace and a model-level evaluable Boolean-valued Expression, asserting that imported members of the Namespace should be filtered using the condition Expression. A general Namespace does not define any specific filtering behavior, but such behavior may be defined for various specialized kinds of Namespaces.

" ; + dcterms:title "ElementFilterMembershipShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ElementShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Element ; + oslc:name "ElementShape" ; + oslc:property oslc_sysmlv2:elementAliasIds, + oslc_sysmlv2:elementDeclaredName, + oslc_sysmlv2:elementDeclaredShortName, + oslc_sysmlv2:elementDocumentation, + oslc_sysmlv2:elementElementId, + oslc_sysmlv2:elementIsImpliedIncluded, + oslc_sysmlv2:elementIsLibraryElement, + oslc_sysmlv2:elementName, + oslc_sysmlv2:elementOwnedAnnotation, + oslc_sysmlv2:elementOwnedElement, + oslc_sysmlv2:elementOwnedRelationship, + oslc_sysmlv2:elementOwner, + oslc_sysmlv2:elementOwningMembership, + oslc_sysmlv2:elementOwningNamespace, + oslc_sysmlv2:elementOwningRelationship, + oslc_sysmlv2:elementQualifiedName, + oslc_sysmlv2:elementShortName, + oslc_sysmlv2:elementTextualRepresentation ; + dcterms:description "

An Element is a constituent of a model that is uniquely identified relative to all other Elements. It can have Relationships with other Elements. Some of these Relationships might imply ownership of other Elements, which means that if an Element is deleted from a model, then so are all the Elements that it owns.

" ; + dcterms:title "ElementShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:EndFeatureMembershipShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:EndFeatureMembership ; + oslc:name "EndFeatureMembershipShape" ; + dcterms:description "

EndFeatureMembership is a FeatureMembership that requires its memberFeature be owned and have isEnd = true.

" ; + dcterms:title "EndFeatureMembershipShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:EnumerationDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:EnumerationDefinition ; + oslc:name "EnumerationDefinitionShape" ; + oslc:property oslc_sysmlv2:enumerationDefinitionEnumeratedValue ; + dcterms:description "

An EnumerationDefinition is an AttributeDefinition all of whose instances are given by an explicit list of enumeratedValues. This is realized by requiring that the EnumerationDefinition have isVariation = true, with the enumeratedValues being its variants.

" ; + dcterms:title "EnumerationDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:EnumerationUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:EnumerationUsage ; + oslc:name "EnumerationUsageShape" ; + oslc:property oslc_sysmlv2:enumerationUsageEnumerationDefinition ; + dcterms:description "

An EnumerationUsage is an AttributeUsage whose attributeDefinition is an EnumerationDefinition.

" ; + dcterms:title "EnumerationUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:EventOccurrenceUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:EventOccurrenceUsage ; + oslc:name "EventOccurrenceUsageShape" ; + oslc:property oslc_sysmlv2:eventOccurrenceUsageEventOccurrence ; + dcterms:description "

An EventOccurrenceUsage is an OccurrenceUsage that represents another OccurrenceUsage occurring as a suboccurrence of the containing occurrence of the EventOccurrenceUsage. Unless it is the EventOccurrenceUsage itself, the referenced OccurrenceUsage is related to the EventOccurrenceUsage by a ReferenceSubsetting Relationship.

" ; + dcterms:title "EventOccurrenceUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ExhibitStateUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ExhibitStateUsage ; + oslc:name "ExhibitStateUsageShape" ; + oslc:property oslc_sysmlv2:exhibitStateUsageExhibitedState ; + dcterms:description "

An ExhibitStateUsage is a StateUsage that represents the exhibiting of a StateUsage. Unless it is the StateUsage itself, the StateUsage to be exhibited is related to the ExhibitStateUsage by a ReferenceSubsetting Relationship. An ExhibitStateUsage is also a PerformActionUsage, with its exhibitedState as the performedAction.

" ; + dcterms:title "ExhibitStateUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ExposeShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Expose ; + oslc:name "ExposeShape" ; + dcterms:description "

An Expose is an Import of Memberships into a ViewUsage that provide the Elements to be included in a view. Visibility is always ignored for an Expose (i.e., isImportAll = true).

" ; + dcterms:title "ExposeShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ExpressionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Expression ; + oslc:name "ExpressionShape" ; + oslc:property oslc_sysmlv2:expressionFunction, + oslc_sysmlv2:expressionIsModelLevelEvaluable, + oslc_sysmlv2:expressionResult ; + dcterms:description "

An Expression is a Step that is typed by a Function. An Expression that also has a Function as its featuringType is a computational step within that Function. An Expression always has a single result parameter, which redefines the result parameter of its defining function. This allows Expressions to be interconnected in tree structures, in which inputs to each Expression in the tree are determined as the results of other Expression in the tree.

" ; + dcterms:title "ExpressionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:FeatureChainExpressionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:FeatureChainExpression ; + oslc:name "FeatureChainExpressionShape" ; + oslc:property oslc_sysmlv2:featureChainExpressionTargetFeature ; + dcterms:description "

A FeatureChainExpression is an OperatorExpression whose operator is \".\", which resolves to the Function ControlFunctions::'.' from the Kernel Functions Library. It evaluates to the result of chaining the result Feature of its single argument Expression with its targetFeature.

" ; + dcterms:title "FeatureChainExpressionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:FeatureChainingShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:FeatureChaining ; + oslc:name "FeatureChainingShape" ; + oslc:property oslc_sysmlv2:featureChainingChainingFeature, + oslc_sysmlv2:featureChainingFeatureChained ; + dcterms:description "

FeatureChaining is a Relationship that makes its target Feature one of the chainingFeatures of its owning Feature.

" ; + dcterms:title "FeatureChainingShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:FeatureInvertingShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:FeatureInverting ; + oslc:name "FeatureInvertingShape" ; + oslc:property oslc_sysmlv2:featureInvertingFeatureInverted, + oslc_sysmlv2:featureInvertingInvertingFeature, + oslc_sysmlv2:featureInvertingOwningFeature ; + dcterms:description "

A FeatureInverting is a Relationship between Features asserting that their interpretations (sequences) are the reverse of each other, identified as featureInverted and invertingFeature. For example, a Feature identifying each person's parents is the inverse of a Feature identifying each person's children. A person identified as a parent of another will identify that other as one of their children.

" ; + dcterms:title "FeatureInvertingShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:FeatureMembershipShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:FeatureMembership ; + oslc:name "FeatureMembershipShape" ; + oslc:property oslc_sysmlv2:featureMembershipOwnedMemberFeature, + oslc_sysmlv2:featureMembershipOwningType ; + dcterms:description "

A FeatureMembership is an OwningMembership between a Feature in an owningType that is also a Featuring Relationship between the Feature and the Type, in which the featuringType is the source and the featureOfType is the target. A FeatureMembership is always owned by its owningType, which is the featuringType for the FeatureMembership considered as a Featuring.

" ; + dcterms:title "FeatureMembershipShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:FeatureReferenceExpressionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:FeatureReferenceExpression ; + oslc:name "FeatureReferenceExpressionShape" ; + oslc:property oslc_sysmlv2:featureReferenceExpressionReferent ; + dcterms:description "

A FeatureReferenceExpression is an Expression whose result is bound to a referent Feature.

" ; + dcterms:title "FeatureReferenceExpressionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:FeatureShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Feature ; + oslc:name "FeatureShape" ; + oslc:property oslc_sysmlv2:featureChainingFeature, + oslc_sysmlv2:featureDirection, + oslc_sysmlv2:featureEndOwningType, + oslc_sysmlv2:featureFeaturingType, + oslc_sysmlv2:featureIsComposite, + oslc_sysmlv2:featureIsDerived, + oslc_sysmlv2:featureIsEnd, + oslc_sysmlv2:featureIsNonunique, + oslc_sysmlv2:featureIsOrdered, + oslc_sysmlv2:featureIsPortion, + oslc_sysmlv2:featureIsReadOnly, + oslc_sysmlv2:featureIsUnique, + oslc_sysmlv2:featureOwnedFeatureChaining, + oslc_sysmlv2:featureOwnedFeatureInverting, + oslc_sysmlv2:featureOwnedRedefinition, + oslc_sysmlv2:featureOwnedReferenceSubsetting, + oslc_sysmlv2:featureOwnedSubsetting, + oslc_sysmlv2:featureOwnedTypeFeaturing, + oslc_sysmlv2:featureOwnedTyping, + oslc_sysmlv2:featureOwningFeatureMembership, + oslc_sysmlv2:featureOwningType, + oslc_sysmlv2:featureType ; + dcterms:description """

A Feature is a Type that classifies relations between multiple things (in the universe). The domain of the relation is the intersection of the featuringTypes of the Feature. (The domain of a Feature with no featuringTyps is implicitly the most general Type Base::Anything from the Kernel Semantic Library.) The co-domain of the relation is the intersection of the types of the Feature.\r +\r +

""" ; + dcterms:title "FeatureShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:FeatureTypingShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:FeatureTyping ; + oslc:name "FeatureTypingShape" ; + oslc:property oslc_sysmlv2:featureTypingOwningFeature, + oslc_sysmlv2:featureTypingType, + oslc_sysmlv2:featureTypingTypedFeature ; + dcterms:description "

FeatureTyping is Specialization in which the specific Type is a Feature. This means the set of instances of the (specific) typedFeature is a subset of the set of instances of the (general) type. In the simplest case, the type is a Classifier, whereupon the typedFeature has values that are instances of the Classifier.

" ; + dcterms:title "FeatureTypingShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:FeatureValueShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:FeatureValue ; + oslc:name "FeatureValueShape" ; + oslc:property oslc_sysmlv2:featureValueFeatureWithValue, + oslc_sysmlv2:featureValueIsDefault, + oslc_sysmlv2:featureValueIsInitial, + oslc_sysmlv2:featureValueValue ; + dcterms:description "

A FeatureValue is a Membership that identifies a particular member Expression that provides the value of the Feature that owns the FeatureValue. The value is specified as either a bound value or an initial value, and as either a concrete or default value. A Feature can have at most one FeatureValue.

" ; + dcterms:title "FeatureValueShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:FeaturingShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Featuring ; + oslc:name "FeaturingShape" ; + oslc:property oslc_sysmlv2:featuringFeature, + oslc_sysmlv2:featuringType ; + dcterms:description "

Featuring is a Relationship between a Type and a Feature that is featured by that Type. It asserts that every instance in the domain of the feature must be classified by the type.

" ; + dcterms:title "FeaturingShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:FlowConnectionDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:FlowConnectionDefinition ; + oslc:name "FlowConnectionDefinitionShape" ; + dcterms:description "

A FlowConnectionDefinition is a ConnectionDefinition and ActionDefinition that is also an Interaction representing flows between Usages.

" ; + dcterms:title "FlowConnectionDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:FlowConnectionUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:FlowConnectionUsage ; + oslc:name "FlowConnectionUsageShape" ; + oslc:property oslc_sysmlv2:flowConnectionUsageFlowConnectionDefinition ; + dcterms:description "

A FlowConnectionUsage is a ConnectionUsage that is also an ItemFlow.

" ; + dcterms:title "FlowConnectionUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ForLoopActionUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ForLoopActionUsage ; + oslc:name "ForLoopActionUsageShape" ; + oslc:property oslc_sysmlv2:forLoopActionUsageLoopVariable, + oslc_sysmlv2:forLoopActionUsageSeqArgument ; + dcterms:description "

A ForLoopActionUsage is a LoopActionUsage that specifies that its bodyAction ActionUsage should be performed once for each value, in order, from the sequence of values obtained as the result of the seqArgument Expression, with the loopVariable set to the value for each iteration.

" ; + dcterms:title "ForLoopActionUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ForkNodeShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ForkNode ; + oslc:name "ForkNodeShape" ; + dcterms:description "

A ForkNode is a ControlNode that must be followed by successor Actions as given by all its outgoing Successions.

" ; + dcterms:title "ForkNodeShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:FramedConcernMembershipShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:FramedConcernMembership ; + oslc:name "FramedConcernMembershipShape" ; + oslc:property oslc_sysmlv2:framedConcernMembershipOwnedConcern, + oslc_sysmlv2:framedConcernMembershipReferencedConcern ; + dcterms:description "

A FramedConcernMembership is a RequirementConstraintMembership for a framed ConcernUsage of a RequirementDefinition or RequirementUsage.

" ; + dcterms:title "FramedConcernMembershipShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:FunctionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Function ; + oslc:name "FunctionShape" ; + oslc:property oslc_sysmlv2:functionExpression, + oslc_sysmlv2:functionIsModelLevelEvaluable, + oslc_sysmlv2:functionResult ; + dcterms:description "

A Function is a Behavior that has an out parameter that is identified as its result. A Function represents the performance of a calculation that produces the values of its result parameter. This calculation may be decomposed into Expressions that are steps of the Function.

" ; + dcterms:title "FunctionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:IfActionUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:IfActionUsage ; + oslc:name "IfActionUsageShape" ; + oslc:property oslc_sysmlv2:ifActionUsageElseAction, + oslc_sysmlv2:ifActionUsageIfArgument, + oslc_sysmlv2:ifActionUsageThenAction ; + dcterms:description "

An IfActionUsage is an ActionUsage that specifies that the thenAction ActionUsage should be performed if the result of the ifArgument Expression is true. It may also optionally specify an elseAction ActionUsage that is performed if the result of the ifArgument is false.

" ; + dcterms:title "IfActionUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ImportShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Import ; + oslc:name "ImportShape" ; + oslc:property oslc_sysmlv2:importImportOwningNamespace, + oslc_sysmlv2:importImportedElement, + oslc_sysmlv2:importIsImportAll, + oslc_sysmlv2:importIsRecursive, + oslc_sysmlv2:importVisibility ; + dcterms:description "

An Import is an Relationship between its importOwningNamespace and either a Membership (for a MembershipImport) or another Namespace (for a NamespaceImport), which determines a set of Memberships that become importedMemberships of the importOwningNamespace. If isImportAll = false (the default), then only public Memberships are considered \"visible\". If isImportAll = true, then all Memberships are considered \"visible\", regardless of their declared visibility. If isRecursive = true, then visible Memberships are also recursively imported from owned sub-Namespaces.

" ; + dcterms:title "ImportShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:IncludeUseCaseUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:IncludeUseCaseUsage ; + oslc:name "IncludeUseCaseUsageShape" ; + oslc:property oslc_sysmlv2:includeUseCaseUsageUseCaseIncluded ; + dcterms:description "

An IncludeUseCaseUsage is a UseCaseUsage that represents the inclusion of a UseCaseUsage by a UseCaseDefinition or UseCaseUsage. Unless it is the IncludeUseCaseUsage itself, the UseCaseUsage to be included is related to the includedUseCase by a ReferenceSubsetting Relationship. An IncludeUseCaseUsage is also a PerformActionUsage, with its useCaseIncluded as the performedAction.

" ; + dcterms:title "IncludeUseCaseUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:InteractionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Interaction ; + oslc:name "InteractionShape" ; + dcterms:description "

An Interaction is a Behavior that is also an Association, providing a context for multiple objects that have behaviors that impact one another.

" ; + dcterms:title "InteractionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:InterfaceDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:InterfaceDefinition ; + oslc:name "InterfaceDefinitionShape" ; + oslc:property oslc_sysmlv2:interfaceDefinitionInterfaceEnd ; + dcterms:description "

An InterfaceDefinition is a ConnectionDefinition all of whose ends are PortUsages, defining an interface between elements that interact through such ports.

" ; + dcterms:title "InterfaceDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:InterfaceUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:InterfaceUsage ; + oslc:name "InterfaceUsageShape" ; + oslc:property oslc_sysmlv2:interfaceUsageInterfaceDefinition ; + dcterms:description "

An InterfaceUsage is a Usage of an InterfaceDefinition to represent an interface connecting parts of a system through specific ports.

" ; + dcterms:title "InterfaceUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:IntersectingShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Intersecting ; + oslc:name "IntersectingShape" ; + oslc:property oslc_sysmlv2:intersectingIntersectingType, + oslc_sysmlv2:intersectingTypeIntersected ; + dcterms:description "

Intersecting is a Relationship that makes its intersectingType one of the intersectingTypes of its typeIntersected.

" ; + dcterms:title "IntersectingShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:InvariantShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Invariant ; + oslc:name "InvariantShape" ; + oslc:property oslc_sysmlv2:invariantIsNegated ; + dcterms:description "

An Invariant is a BooleanExpression that is asserted to have a specific Boolean result value. If isNegated = false, then the result is asserted to be true. If isNegated = true, then the result is asserted to be false.

" ; + dcterms:title "InvariantShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:InvocationExpressionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:InvocationExpression ; + oslc:name "InvocationExpressionShape" ; + oslc:property oslc_sysmlv2:invocationExpressionArgument, + oslc_sysmlv2:invocationExpressionOperand ; + dcterms:description "

An InvocationExpression is an Expression each of whose input parameters are bound to the result of an argument Expression.

" ; + dcterms:title "InvocationExpressionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ItemDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ItemDefinition ; + oslc:name "ItemDefinitionShape" ; + dcterms:description "

An ItemDefinition is an OccurrenceDefinition of the Structure of things that may themselves be systems or parts of systems, but may also be things that are acted on by a system or parts of a system, but which do not necessarily perform actions themselves. This includes items that can be exchanged between parts of a system, such as water or electrical signals.

" ; + dcterms:title "ItemDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ItemFeatureShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ItemFeature ; + oslc:name "ItemFeatureShape" ; + dcterms:description "

An ItemFeature is the ownedFeature of an ItemFlow that identifies the things carried by the kinds of transfers that are instances of the ItemFlow.

" ; + dcterms:title "ItemFeatureShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ItemFlowEndShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ItemFlowEnd ; + oslc:name "ItemFlowEndShape" ; + dcterms:description "

An ItemFlowEnd is a Feature that is one of the connectorEnds giving the source or target of an ItemFlow. For ItemFlows typed by FlowTransfer or its specializations, ItemFlowEnds must have exactly one ownedFeature, which redefines Transfer::source::sourceOutput or Transfer::target::targetInput and redefines the corresponding feature of the relatedElement for its end.

" ; + dcterms:title "ItemFlowEndShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ItemFlowShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ItemFlow ; + oslc:name "ItemFlowShape" ; + oslc:property oslc_sysmlv2:itemFlowInteraction, + oslc_sysmlv2:itemFlowItemFeature, + oslc_sysmlv2:itemFlowItemFlowEnd, + oslc_sysmlv2:itemFlowItemType, + oslc_sysmlv2:itemFlowSourceOutputFeature, + oslc_sysmlv2:itemFlowTargetInputFeature ; + dcterms:description "

An ItemFlow is a Step that represents the transfer of objects or data values from one Feature to another. ItemFlows can take non-zero time to complete.

" ; + dcterms:title "ItemFlowShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ItemUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ItemUsage ; + oslc:name "ItemUsageShape" ; + oslc:property oslc_sysmlv2:itemUsageItemDefinition ; + dcterms:description "

An ItemUsage is a ItemUsage whose definition is a Structure. Nominally, if the definition is an ItemDefinition, an ItemUsage is a ItemUsage of that ItemDefinition within a system. However, other kinds of Kernel Structures are also allowed, to permit use of Structures from the Kernel Model Libraries.

" ; + dcterms:title "ItemUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:JoinNodeShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:JoinNode ; + oslc:name "JoinNodeShape" ; + dcterms:description "

A JoinNode is a ControlNode that waits for the completion of all the predecessor Actions given by incoming Successions.

" ; + dcterms:title "JoinNodeShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:LibraryPackageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:LibraryPackage ; + oslc:name "LibraryPackageShape" ; + oslc:property oslc_sysmlv2:libraryPackageIsStandard ; + dcterms:description "

A LibraryPackage is a Package that is the container for a model library. A LibraryPackage is itself a library Element as are all Elements that are directly or indirectly contained in it.

" ; + dcterms:title "LibraryPackageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:LifeClassShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:LifeClass ; + oslc:name "LifeClassShape" ; + dcterms:description "

A LifeClass is a Class that specializes both the Class Occurrences::Life from the Kernel Semantic Library and a single OccurrenceDefinition, and has a multiplicity of 0..1. This constrains the OccurrenceDefinition being specialized to have at most one instance that is a complete Life.

" ; + dcterms:title "LifeClassShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:LiteralBooleanShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:LiteralBoolean ; + oslc:name "LiteralBooleanShape" ; + oslc:property oslc_sysmlv2:literalBooleanValue ; + dcterms:description "

LiteralBoolean is a LiteralExpression that provides a Boolean value as a result. Its result parameter must have type Boolean.

" ; + dcterms:title "LiteralBooleanShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:LiteralExpressionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:LiteralExpression ; + oslc:name "LiteralExpressionShape" ; + dcterms:description "

A LiteralExpression is an Expression that provides a basic DataValue as a result.

" ; + dcterms:title "LiteralExpressionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:LiteralInfinityShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:LiteralInfinity ; + oslc:name "LiteralInfinityShape" ; + dcterms:description "

A LiteralInfinity is a LiteralExpression that provides the positive infinity value (*). It's result must have the type Positive.

" ; + dcterms:title "LiteralInfinityShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:LiteralIntegerShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:LiteralInteger ; + oslc:name "LiteralIntegerShape" ; + oslc:property oslc_sysmlv2:literalIntegerValue ; + dcterms:description "

A LiteralInteger is a LiteralExpression that provides an Integer value as a result. Its result parameter must have the type Integer.

" ; + dcterms:title "LiteralIntegerShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:LiteralRationalShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:LiteralRational ; + oslc:name "LiteralRationalShape" ; + oslc:property oslc_sysmlv2:literalRationalValue ; + dcterms:description "

A LiteralRational is a LiteralExpression that provides a Rational value as a result. Its result parameter must have the type Rational.

" ; + dcterms:title "LiteralRationalShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:LiteralStringShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:LiteralString ; + oslc:name "LiteralStringShape" ; + oslc:property oslc_sysmlv2:literalStringValue ; + dcterms:description "

A LiteralString is a LiteralExpression that provides a String value as a result. Its result parameter must have the type String.

" ; + dcterms:title "LiteralStringShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:LoopActionUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:LoopActionUsage ; + oslc:name "LoopActionUsageShape" ; + oslc:property oslc_sysmlv2:loopActionUsageBodyAction ; + dcterms:description "

A LoopActionUsage is an ActionUsage that specifies that its bodyAction should be performed repeatedly. Its subclasses WhileLoopActionUsage and ForLoopActionUsage provide different ways to determine how many times the bodyAction should be performed.

" ; + dcterms:title "LoopActionUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:MembershipExposeShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:MembershipExpose ; + oslc:name "MembershipExposeShape" ; + dcterms:description "

A MembershipExpose is an Expose that exposes a specific importedMembership and, if isRecursive = true, additional Memberships recursively.

" ; + dcterms:title "MembershipExposeShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:MembershipImportShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:MembershipImport ; + oslc:name "MembershipImportShape" ; + oslc:property oslc_sysmlv2:membershipImportImportedMembership ; + dcterms:description "

A MembershipImport is an Import that imports its importedMembership into the importOwningNamespace. If isRecursive = true and the memberElement of the importedMembership is a Namespace, then the equivalent of a recursive NamespaceImport is also performed on that Namespace.

" ; + dcterms:title "MembershipImportShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:MembershipShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Membership ; + oslc:name "MembershipShape" ; + oslc:property oslc_sysmlv2:membershipMemberElement, + oslc_sysmlv2:membershipMemberElementId, + oslc_sysmlv2:membershipMemberName, + oslc_sysmlv2:membershipMemberShortName, + oslc_sysmlv2:membershipMembershipOwningNamespace, + oslc_sysmlv2:membershipVisibility ; + dcterms:description "

A Membership is a Relationship between a Namespace and an Element that indicates the Element is a member of (i.e., is contained in) the Namespace. Any memberNames specify how the memberElement is identified in the Namespace and the visibility specifies whether or not the memberElement is publicly visible from outside the Namespace.

" ; + dcterms:title "MembershipShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:MergeNodeShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:MergeNode ; + oslc:name "MergeNodeShape" ; + dcterms:description "

A MergeNode is a ControlNode that asserts the merging of its incoming Successions. A MergeNode may have at most one outgoing Successions.

" ; + dcterms:title "MergeNodeShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:MetaclassShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Metaclass ; + oslc:name "MetaclassShape" ; + dcterms:description "

A Metaclass is a Structure used to type MetadataFeatures.

" ; + dcterms:title "MetaclassShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:MetadataAccessExpressionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:MetadataAccessExpression ; + oslc:name "MetadataAccessExpressionShape" ; + oslc:property oslc_sysmlv2:metadataAccessExpressionReferencedElement ; + dcterms:description "

A MetadataAccessExpression is an Expression whose result is a sequence of instances of Metaclasses representing all the MetadataFeature annotations of the referencedElement. In addition, the sequence includes an instance of the reflective Metaclass corresponding to the MOF class of the referencedElement, with values for all the abstract syntax properties of the referencedElement.

" ; + dcterms:title "MetadataAccessExpressionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:MetadataDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:MetadataDefinition ; + oslc:name "MetadataDefinitionShape" ; + dcterms:description "

A MetadataDefinition is an ItemDefinition that is also a Metaclass.

" ; + dcterms:title "MetadataDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:MetadataFeatureShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:MetadataFeature ; + oslc:name "MetadataFeatureShape" ; + oslc:property oslc_sysmlv2:metadataFeatureMetaclass ; + dcterms:description "

A MetadataFeature is a Feature that is an AnnotatingElement used to annotate another Element with metadata. It is typed by a Metaclass. All its ownedFeatures must redefine features of its metaclass and any feature bindings must be model-level evaluable.

" ; + dcterms:title "MetadataFeatureShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:MetadataUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:MetadataUsage ; + oslc:name "MetadataUsageShape" ; + oslc:property oslc_sysmlv2:metadataUsageMetadataDefinition ; + dcterms:description "

A MetadataUsage is a Usage and a MetadataFeature, used to annotate other Elements in a system model with metadata. As a MetadataFeature, its type must be a Metaclass, which will nominally be a MetadataDefinition. However, any kernel Metaclass is also allowed, to permit use of Metaclasses from the Kernel Model Libraries.

" ; + dcterms:title "MetadataUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:MultiplicityRangeShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:MultiplicityRange ; + oslc:name "MultiplicityRangeShape" ; + oslc:property oslc_sysmlv2:multiplicityRangeBound, + oslc_sysmlv2:multiplicityRangeLowerBound, + oslc_sysmlv2:multiplicityRangeUpperBound ; + dcterms:description "

A MultiplicityRange is a Multiplicity whose value is defined to be the (inclusive) range of natural numbers given by the result of a lowerBound Expression and the result of an upperBound Expression. The result of these Expressions shall be of type Natural. If the result of the upperBound Expression is the unbounded value *, then the specified range includes all natural numbers greater than or equal to the lowerBound value. If no lowerBound Expression, then the default is that the lower bound has the same value as the upper bound, except if the upperBound evaluates to *, in which case the default for the lower bound is 0.

" ; + dcterms:title "MultiplicityRangeShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:MultiplicityShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Multiplicity ; + oslc:name "MultiplicityShape" ; + dcterms:description """

A Multiplicity is a Feature whose co-domain is a set of natural numbers giving the allowed cardinalities of each typeWithMultiplicity. The cardinality of a Type is defined as follows, depending on whether the Type is a Classifier or Feature.\r +

""" ; + dcterms:title "MultiplicityShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:NamespaceExposeShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:NamespaceExpose ; + oslc:name "NamespaceExposeShape" ; + dcterms:description "

A NamespaceExpose is an Expose Relationship that exposes the Memberships of a specific importedNamespace and, if isRecursive = true, additional Memberships recursively.

" ; + dcterms:title "NamespaceExposeShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:NamespaceImportShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:NamespaceImport ; + oslc:name "NamespaceImportShape" ; + oslc:property oslc_sysmlv2:namespaceImportImportedNamespace ; + dcterms:description "

A NamespaceImport is an Import that imports Memberships from its importedNamespace into the importOwningNamespace. If isRecursive = false, then only the visible Memberships of the importedNamespace are imported. If isRecursive = true, then, in addition, Memberships are recursively imported from any ownedMembers of the importedNamespace that are Namespaces.

" ; + dcterms:title "NamespaceImportShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:NamespaceShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Namespace ; + oslc:name "NamespaceShape" ; + oslc:property oslc_sysmlv2:namespaceImportedMembership, + oslc_sysmlv2:namespaceMember, + oslc_sysmlv2:namespaceMembership, + oslc_sysmlv2:namespaceOwnedImport, + oslc_sysmlv2:namespaceOwnedMember, + oslc_sysmlv2:namespaceOwnedMembership ; + dcterms:description "

A Namespace is an Element that contains other Elements, known as its members, via Membership Relationships with those Elements. The members of a Namespace may be owned by the Namespace, aliased in the Namespace, or imported into the Namespace via Import Relationships.

" ; + dcterms:title "NamespaceShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:NullExpressionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:NullExpression ; + oslc:name "NullExpressionShape" ; + dcterms:description "

A NullExpression is an Expression that results in a null value.

" ; + dcterms:title "NullExpressionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ObjectiveMembershipShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ObjectiveMembership ; + oslc:name "ObjectiveMembershipShape" ; + oslc:property oslc_sysmlv2:objectiveMembershipOwnedObjectiveRequirement ; + dcterms:description "

An ObjectiveMembership is a FeatureMembership that indicates that its ownedObjectiveRequirement is the objective RequirementUsage for its owningType, which must be a CaseDefinition or CaseUsage.

" ; + dcterms:title "ObjectiveMembershipShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:OccurrenceDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:OccurrenceDefinition ; + oslc:name "OccurrenceDefinitionShape" ; + oslc:property oslc_sysmlv2:occurrenceDefinitionIsIndividual, + oslc_sysmlv2:occurrenceDefinitionLifeClass ; + dcterms:description "

An OccurrenceDefinition is a Definition of a Class of individuals that have an independent life over time and potentially an extent over space. This includes both structural things and behaviors that act on such structures.

" ; + dcterms:title "OccurrenceDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:OccurrenceUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:OccurrenceUsage ; + oslc:name "OccurrenceUsageShape" ; + oslc:property oslc_sysmlv2:occurrenceUsageIndividualDefinition, + oslc_sysmlv2:occurrenceUsageIsIndividual, + oslc_sysmlv2:occurrenceUsageOccurrenceDefinition, + oslc_sysmlv2:occurrenceUsagePortionKind ; + dcterms:description "

An OccurrenceUsage is a Usage whose types are all Classes. Nominally, if a type is an OccurrenceDefinition, an OccurrenceUsage is a Usage of that OccurrenceDefinition within a system. However, other types of Kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries.

" ; + dcterms:title "OccurrenceUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:OperatorExpressionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:OperatorExpression ; + oslc:name "OperatorExpressionShape" ; + oslc:property oslc_sysmlv2:operatorExpressionOperator ; + dcterms:description "

An OperatorExpression is an InvocationExpression whose function is determined by resolving its operator in the context of one of the standard packages from the Kernel Function Library.

" ; + dcterms:title "OperatorExpressionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:OwningMembershipShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:OwningMembership ; + oslc:name "OwningMembershipShape" ; + oslc:property oslc_sysmlv2:owningMembershipOwnedMemberElement, + oslc_sysmlv2:owningMembershipOwnedMemberElementId, + oslc_sysmlv2:owningMembershipOwnedMemberName, + oslc_sysmlv2:owningMembershipOwnedMemberShortName ; + dcterms:description "

An OwningMembership is a Membership that owns its memberElement as a ownedRelatedElement. The ownedMemberElement becomes an ownedMember of the membershipOwningNamespace.

" ; + dcterms:title "OwningMembershipShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:PackageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Package ; + oslc:name "PackageShape" ; + oslc:property oslc_sysmlv2:packageFilterCondition ; + dcterms:description "

A Package is a Namespace used to group Elements, without any instance-level semantics. It may have one or more model-level evaluable filterCondition Expressions used to filter its importedMemberships. Any imported member must meet all of the filterConditions.

" ; + dcterms:title "PackageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ParameterMembershipShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ParameterMembership ; + oslc:name "ParameterMembershipShape" ; + oslc:property oslc_sysmlv2:parameterMembershipOwnedMemberParameter ; + dcterms:description "

A ParameterMembership is a FeatureMembership that identifies its memberFeature as a parameter, which is always owned, and must have a direction. A ParameterMembership must be owned by a Behavior or a Step.

" ; + dcterms:title "ParameterMembershipShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:PartDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:PartDefinition ; + oslc:name "PartDefinitionShape" ; + dcterms:description "

A PartDefinition is an ItemDefinition of a Class of systems or parts of systems. Note that all parts may be considered items for certain purposes, but not all items are parts that can perform actions within a system.

" ; + dcterms:title "PartDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:PartUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:PartUsage ; + oslc:name "PartUsageShape" ; + oslc:property oslc_sysmlv2:partUsagePartDefinition ; + dcterms:description "

A PartUsage is a usage of a PartDefinition to represent a system or a part of a system. At least one of the itemDefinitions of the PartUsage must be a PartDefinition.

" ; + dcterms:title "PartUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:PerformActionUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:PerformActionUsage ; + oslc:name "PerformActionUsageShape" ; + oslc:property oslc_sysmlv2:performActionUsagePerformedAction ; + dcterms:description "

A PerformActionUsage is an ActionUsage that represents the performance of an ActionUsage. Unless it is the PerformActionUsage itself, the ActionUsage to be performed is related to the PerformActionUsage by a ReferenceSubsetting relationship. A PerformActionUsage is also an EventOccurrenceUsage, with its performedAction as the eventOccurrence.

" ; + dcterms:title "PerformActionUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:PortConjugationShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:PortConjugation ; + oslc:name "PortConjugationShape" ; + oslc:property oslc_sysmlv2:portConjugationConjugatedPortDefinition, + oslc_sysmlv2:portConjugationOriginalPortDefinition ; + dcterms:description "

A PortConjugation is a Conjugation Relationship between a PortDefinition and its corresponding ConjugatedPortDefinition. As a result of this Relationship, the ConjugatedPortDefinition inherits all the features of the original PortDefinition, but input flows of the original PortDefinition become outputs on the ConjugatedPortDefinition and output flows of the original PortDefinition become inputs on the ConjugatedPortDefinition.

" ; + dcterms:title "PortConjugationShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:PortDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:PortDefinition ; + oslc:name "PortDefinitionShape" ; + oslc:property oslc_sysmlv2:portDefinitionConjugatedPortDefinition ; + dcterms:description "

A PortDefinition defines a point at which external entities can connect to and interact with a system or part of a system. Any ownedUsages of a PortDefinition, other than PortUsages, must not be composite.

" ; + dcterms:title "PortDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:PortUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:PortUsage ; + oslc:name "PortUsageShape" ; + oslc:property oslc_sysmlv2:portUsagePortDefinition ; + dcterms:description "

A PortUsage is a usage of a PortDefinition. A PortUsage itself as well as all its nestedUsages must be referential (non-composite).

" ; + dcterms:title "PortUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:PredicateShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Predicate ; + oslc:name "PredicateShape" ; + dcterms:description "

A Predicate is a Function whose result parameter has type Boolean and multiplicity 1..1.

" ; + dcterms:title "PredicateShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:RedefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Redefinition ; + oslc:name "RedefinitionShape" ; + oslc:property oslc_sysmlv2:redefinitionRedefinedFeature, + oslc_sysmlv2:redefinitionRedefiningFeature ; + dcterms:description "

Redefinition is a kind of Subsetting that requires the redefinedFeature and the redefiningFeature to have the same values (on each instance of the domain of the redefiningFeature). This means any restrictions on the redefiningFeature, such as type or multiplicity, also apply to the redefinedFeature (on each instance of the domain of the redefiningFeature), and vice versa. The redefinedFeature might have values for instances of the domain of the redefiningFeature, but only as instances of the domain of the redefinedFeature that happen to also be instances of the domain of the redefiningFeature. This is supported by the constraints inherited from Subsetting on the domains of the redefiningFeature and redefinedFeature. However, these constraints are narrowed for Redefinition to require the owningTypes of the redefiningFeature and redefinedFeature to be different and the redefinedFeature to not be inherited into the owningNamespace of the redefiningFeature.This enables the redefiningFeature to have the same name as the redefinedFeature, if desired.

" ; + dcterms:title "RedefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ReferenceSubsettingShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ReferenceSubsetting ; + oslc:name "ReferenceSubsettingShape" ; + oslc:property oslc_sysmlv2:referenceSubsettingReferencedFeature, + oslc_sysmlv2:referenceSubsettingReferencingFeature ; + dcterms:description "

ReferenceSubsetting is a kind of Subsetting in which the referencedFeature is syntactically distinguished from other Features subsetted by the referencingFeature. ReferenceSubsetting has the same semantics as Subsetting, but the referenceFeature may have a special purpose relative to the referencingFeature. For instance, ReferenceSubsetting is used to identify the relatedFeatures of a Connector.

" ; + dcterms:title "ReferenceSubsettingShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ReferenceUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ReferenceUsage ; + oslc:name "ReferenceUsageShape" ; + dcterms:description "

A ReferenceUsage is a Usage that specifies a non-compositional (isComposite = false) reference to something. The definition of a ReferenceUsage can be any kind of Classifier, with the default being the top-level Classifier Base::Anything from the Kernel Semantic Library. This allows the specification of a generic reference without distinguishing if the thing referenced is an attribute value, item, action, etc.

" ; + dcterms:title "ReferenceUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:RelationshipShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Relationship ; + oslc:name "RelationshipShape" ; + oslc:property oslc_sysmlv2:relationshipIsImplied, + oslc_sysmlv2:relationshipOwnedRelatedElement, + oslc_sysmlv2:relationshipOwningRelatedElement, + oslc_sysmlv2:relationshipRelatedElement, + oslc_sysmlv2:relationshipSource, + oslc_sysmlv2:relationshipTarget ; + dcterms:description "

A Relationship is an Element that relates other Element. Some of its relatedElements may be owned, in which case those ownedRelatedElements will be deleted from a model if their owningRelationship is. A Relationship may also be owned by another Element, in which case the ownedRelatedElements of the Relationship are also considered to be transitively owned by the owningRelatedElement of the Relationship.

" ; + dcterms:title "RelationshipShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:RenderingDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:RenderingDefinition ; + oslc:name "RenderingDefinitionShape" ; + oslc:property oslc_sysmlv2:renderingDefinitionRendering ; + dcterms:description "

A RenderingDefinition is a PartDefinition that defines a specific rendering of the content of a model view (e.g., symbols, style, layout, etc.).

" ; + dcterms:title "RenderingDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:RenderingUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:RenderingUsage ; + oslc:name "RenderingUsageShape" ; + oslc:property oslc_sysmlv2:renderingUsageRenderingDefinition ; + dcterms:description "

A RenderingUsage is the usage of a RenderingDefinition to specify the rendering of a specific model view to produce a physical view artifact.

" ; + dcterms:title "RenderingUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:RequirementConstraintMembershipShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:RequirementConstraintMembership ; + oslc:name "RequirementConstraintMembershipShape" ; + oslc:property oslc_sysmlv2:requirementConstraintMembershipKind, + oslc_sysmlv2:requirementConstraintMembershipOwnedConstraint, + oslc_sysmlv2:requirementConstraintMembershipReferencedConstraint ; + dcterms:description "

A RequirementConstraintMembership is a FeatureMembership for an assumed or required ConstraintUsage of a RequirementDefinition or RequirementUsage.

" ; + dcterms:title "RequirementConstraintMembershipShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:RequirementDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:RequirementDefinition ; + oslc:name "RequirementDefinitionShape" ; + oslc:property oslc_sysmlv2:requirementDefinitionActorParameter, + oslc_sysmlv2:requirementDefinitionAssumedConstraint, + oslc_sysmlv2:requirementDefinitionFramedConcern, + oslc_sysmlv2:requirementDefinitionReqId, + oslc_sysmlv2:requirementDefinitionRequiredConstraint, + oslc_sysmlv2:requirementDefinitionStakeholderParameter, + oslc_sysmlv2:requirementDefinitionSubjectParameter, + oslc_sysmlv2:requirementDefinitionText ; + dcterms:description "

A RequirementDefinition is a ConstraintDefinition that defines a requirement used in the context of a specification as a constraint that a valid solution must satisfy. The specification is relative to a specified subject, possibly in collaboration with one or more external actors.

" ; + dcterms:title "RequirementDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:RequirementUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:RequirementUsage ; + oslc:name "RequirementUsageShape" ; + oslc:property oslc_sysmlv2:requirementUsageActorParameter, + oslc_sysmlv2:requirementUsageAssumedConstraint, + oslc_sysmlv2:requirementUsageFramedConcern, + oslc_sysmlv2:requirementUsageReqId, + oslc_sysmlv2:requirementUsageRequiredConstraint, + oslc_sysmlv2:requirementUsageRequirementDefinition, + oslc_sysmlv2:requirementUsageStakeholderParameter, + oslc_sysmlv2:requirementUsageSubjectParameter, + oslc_sysmlv2:requirementUsageText ; + dcterms:description "

A RequirementUsage is a Usage of a RequirementDefinition.

" ; + dcterms:title "RequirementUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:RequirementVerificationMembershipShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:RequirementVerificationMembership ; + oslc:name "RequirementVerificationMembershipShape" ; + oslc:property oslc_sysmlv2:requirementVerificationMembershipOwnedRequirement, + oslc_sysmlv2:requirementVerificationMembershipVerifiedRequirement ; + dcterms:description "

A RequirementVerificationMembership is a RequirementConstraintMembership used in the objective of a VerificationCase to identify a RequirementUsage that is verified by the VerificationCase.

" ; + dcterms:title "RequirementVerificationMembershipShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ResultExpressionMembershipShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ResultExpressionMembership ; + oslc:name "ResultExpressionMembershipShape" ; + oslc:property oslc_sysmlv2:resultExpressionMembershipOwnedResultExpression ; + dcterms:description "

A ResultExpressionMembership is a FeatureMembership that indicates that the ownedResultExpression provides the result values for the Function or Expression that owns it. The owning Function or Expression must contain a BindingConnector between the result parameter of the ownedResultExpression and the result parameter of the owning Function or Expression.

" ; + dcterms:title "ResultExpressionMembershipShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ReturnParameterMembershipShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ReturnParameterMembership ; + oslc:name "ReturnParameterMembershipShape" ; + dcterms:description "

A ReturnParameterMembership is a ParameterMembership that indicates that the ownedMemberParameter is the result parameter of a Function or Expression. The direction of the ownedMemberParameter must be out.

" ; + dcterms:title "ReturnParameterMembershipShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:SatisfyRequirementUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:SatisfyRequirementUsage ; + oslc:name "SatisfyRequirementUsageShape" ; + oslc:property oslc_sysmlv2:satisfyRequirementUsageSatisfiedRequirement, + oslc_sysmlv2:satisfyRequirementUsageSatisfyingFeature ; + dcterms:description "

A SatisfyRequirementUsage is an AssertConstraintUsage that asserts, by default, that a satisfied RequirementUsage is true for a specific satisfyingFeature, or, if isNegated = true, that the RequirementUsage is false. The satisfied RequirementUsage is related to the SatisfyRequirementUsage by a ReferenceSubsetting Relationship.

" ; + dcterms:title "SatisfyRequirementUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:SelectExpressionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:SelectExpression ; + oslc:name "SelectExpressionShape" ; + dcterms:description "

A SelectExpression is an OperatorExpression whose operator is \"select\", which resolves to the Function ControlFunctions::select from the Kernel Functions Library.

" ; + dcterms:title "SelectExpressionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:SendActionUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:SendActionUsage ; + oslc:name "SendActionUsageShape" ; + oslc:property oslc_sysmlv2:sendActionUsagePayloadArgument, + oslc_sysmlv2:sendActionUsageReceiverArgument, + oslc_sysmlv2:sendActionUsageSenderArgument ; + dcterms:description "

A SendActionUsage is an ActionUsage that specifies the sending of a payload given by the result of its payloadArgument Expression via a MessageTransfer whose source is given by the result of the senderArgument Expression and whose target is given by the result of the receiverArgument Expression. If no senderArgument is provided, the default is the this context for the action. If no receiverArgument is given, then the receiver is to be determined by, e.g., outgoing Connections from the sender.

" ; + dcterms:title "SendActionUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:SpecializationShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Specialization ; + oslc:name "SpecializationShape" ; + oslc:property oslc_sysmlv2:specializationGeneral, + oslc_sysmlv2:specializationOwningType, + oslc_sysmlv2:specializationSpecific ; + dcterms:description "

Specialization is a Relationship between two Types that requires all instances of the specific type to also be instances of the general Type (i.e., the set of instances of the specific Type is a subset of those of the general Type, which might be the same set).

" ; + dcterms:title "SpecializationShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:StakeholderMembershipShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:StakeholderMembership ; + oslc:name "StakeholderMembershipShape" ; + oslc:property oslc_sysmlv2:stakeholderMembershipOwnedStakeholderParameter ; + dcterms:description "

A StakeholderMembership is a ParameterMembership that identifies a PartUsage as a stakeholderParameter of a RequirementDefinition or RequirementUsage, which specifies a role played by an entity with concerns framed by the owningType.

" ; + dcterms:title "StakeholderMembershipShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:StateDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:StateDefinition ; + oslc:name "StateDefinitionShape" ; + oslc:property oslc_sysmlv2:stateDefinitionDoAction, + oslc_sysmlv2:stateDefinitionEntryAction, + oslc_sysmlv2:stateDefinitionExitAction, + oslc_sysmlv2:stateDefinitionIsParallel, + oslc_sysmlv2:stateDefinitionState ; + dcterms:description "

A StateDefinition is the Definition of the Behavior of a system or part of a system in a certain state condition.

" ; + dcterms:title "StateDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:StateSubactionMembershipShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:StateSubactionMembership ; + oslc:name "StateSubactionMembershipShape" ; + oslc:property oslc_sysmlv2:stateSubactionMembershipAction, + oslc_sysmlv2:stateSubactionMembershipKind ; + dcterms:description "

A StateSubactionMembership is a FeatureMembership for an entry, do or exit ActionUsage of a StateDefinition or StateUsage.

" ; + dcterms:title "StateSubactionMembershipShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:StateUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:StateUsage ; + oslc:name "StateUsageShape" ; + oslc:property oslc_sysmlv2:stateUsageDoAction, + oslc_sysmlv2:stateUsageEntryAction, + oslc_sysmlv2:stateUsageExitAction, + oslc_sysmlv2:stateUsageIsParallel, + oslc_sysmlv2:stateUsageStateDefinition ; + dcterms:description """

A StateUsage is an ActionUsage that is nominally the Usage of a StateDefinition. However, other kinds of kernel Behaviors are also allowed as types, to permit use of Behaviors +

""" ; + dcterms:title "StateUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:StepShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Step ; + oslc:name "StepShape" ; + oslc:property oslc_sysmlv2:stepBehavior, + oslc_sysmlv2:stepParameter ; + dcterms:description "

A Step is a Feature that is typed by one or more Behaviors. Steps may be used by one Behavior to coordinate the performance of other Behaviors, supporting a steady refinement of behavioral descriptions. Steps can be ordered in time and can be connected using ItemFlows to specify things flowing between their parameters.

" ; + dcterms:title "StepShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:StructureShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Structure ; + oslc:name "StructureShape" ; + dcterms:description "

A Structure is a Class of objects in the modeled universe that are primarily structural in nature. While such an object is not itself behavioral, it may be involved in and acted on by Behaviors, and it may be the performer of some of them.

" ; + dcterms:title "StructureShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:SubclassificationShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Subclassification ; + oslc:name "SubclassificationShape" ; + oslc:property oslc_sysmlv2:subclassificationOwningClassifier, + oslc_sysmlv2:subclassificationSubclassifier, + oslc_sysmlv2:subclassificationSuperclassifier ; + dcterms:description "

Subclassification is Specialization in which both the specific and general Types are Classifier. This means all instances of the specific Classifier are also instances of the general Classifier.

" ; + dcterms:title "SubclassificationShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:SubjectMembershipShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:SubjectMembership ; + oslc:name "SubjectMembershipShape" ; + oslc:property oslc_sysmlv2:subjectMembershipOwnedSubjectParameter ; + dcterms:description "

A SubjectMembership is a ParameterMembership that indicates that its ownedSubjectParameter is the subject of its owningType. The owningType of a SubjectMembership must be a RequirementDefinition, RequirementUsage, CaseDefinition, or CaseUsage.

" ; + dcterms:title "SubjectMembershipShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:SubsettingShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Subsetting ; + oslc:name "SubsettingShape" ; + oslc:property oslc_sysmlv2:subsettingOwningFeature, + oslc_sysmlv2:subsettingSubsettedFeature, + oslc_sysmlv2:subsettingSubsettingFeature ; + dcterms:description "

Subsetting is Specialization in which the specific and general Types are Features. This means all values of the subsettingFeature (on instances of its domain, i.e., the intersection of its featuringTypes) are values of the subsettedFeature on instances of its domain. To support this the domain of the subsettingFeature must be the same or specialize (at least indirectly) the domain of the subsettedFeature (via Specialization), and the co-domain (intersection of the types) of the subsettingFeature must specialize the co-domain of the subsettedFeature.

" ; + dcterms:title "SubsettingShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:SuccessionAsUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:SuccessionAsUsage ; + oslc:name "SuccessionAsUsageShape" ; + dcterms:description "

A SuccessionAsUsage is both a ConnectorAsUsage and a Succession.

" ; + dcterms:title "SuccessionAsUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:SuccessionFlowConnectionUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:SuccessionFlowConnectionUsage ; + oslc:name "SuccessionFlowConnectionUsageShape" ; + dcterms:description "

A SuccessionFlowConnectionUsage is a FlowConnectionUsage that is also a SuccessionItemFlow.

" ; + dcterms:title "SuccessionFlowConnectionUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:SuccessionItemFlowShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:SuccessionItemFlow ; + oslc:name "SuccessionItemFlowShape" ; + dcterms:description "

A SuccessionItemFlow is an ItemFlow that also provides temporal ordering. It classifies Transfers that cannot start until the source Occurrence has completed and that must complete before the target Occurrence can start.

" ; + dcterms:title "SuccessionItemFlowShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:SuccessionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Succession ; + oslc:name "SuccessionShape" ; + oslc:property oslc_sysmlv2:successionEffectStep, + oslc_sysmlv2:successionGuardExpression, + oslc_sysmlv2:successionTransitionStep, + oslc_sysmlv2:successionTriggerStep ; + dcterms:description "

A Succession is a binary Connector that requires its relatedFeatures to happen separately in time.

" ; + dcterms:title "SuccessionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:TextualRepresentationShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:TextualRepresentation ; + oslc:name "TextualRepresentationShape" ; + oslc:property oslc_sysmlv2:textualRepresentationBody, + oslc_sysmlv2:textualRepresentationLanguage, + oslc_sysmlv2:textualRepresentationRepresentedElement ; + dcterms:description "

A TextualRepresentation is an AnnotatingElement whose body represents the representedElement in a given language. The representedElement must be the owner of the TextualRepresentation. The named language can be a natural language, in which case the body is an informal representation, or an artificial language, in which case the body is expected to be a formal, machine-parsable representation.

" ; + dcterms:title "TextualRepresentationShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:TransitionFeatureMembershipShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:TransitionFeatureMembership ; + oslc:name "TransitionFeatureMembershipShape" ; + oslc:property oslc_sysmlv2:transitionFeatureMembershipKind, + oslc_sysmlv2:transitionFeatureMembershipTransitionFeature ; + dcterms:description "

A TransitionFeatureMembership is a FeatureMembership for a trigger, guard or effect of a TransitionUsage, whose transitionFeature is a AcceptActionUsage, Boolean-valued Expression or ActionUsage, depending on its kind.

" ; + dcterms:title "TransitionFeatureMembershipShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:TransitionUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:TransitionUsage ; + oslc:name "TransitionUsageShape" ; + oslc:property oslc_sysmlv2:transitionUsageEffectAction, + oslc_sysmlv2:transitionUsageGuardExpression, + oslc_sysmlv2:transitionUsageSource, + oslc_sysmlv2:transitionUsageSuccession, + oslc_sysmlv2:transitionUsageTarget, + oslc_sysmlv2:transitionUsageTriggerAction ; + dcterms:description "

A TransitionUsage is an ActionUsage representing a triggered transition between ActionUsages or StateUsages. When triggered by a triggerAction, when its guardExpression is true, the TransitionUsage asserts that its source is exited, then its effectAction (if any) is performed, and then its target is entered.

" ; + dcterms:title "TransitionUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:TriggerInvocationExpressionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:TriggerInvocationExpression ; + oslc:name "TriggerInvocationExpressionShape" ; + oslc:property oslc_sysmlv2:triggerInvocationExpressionKind ; + dcterms:description "

A TriggerInvocationExpression is an InvocationExpression that invokes one of the trigger Functions from the Kernel Semantic Library Triggers package, as indicated by its kind.

" ; + dcterms:title "TriggerInvocationExpressionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:TypeFeaturingShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:TypeFeaturing ; + oslc:name "TypeFeaturingShape" ; + oslc:property oslc_sysmlv2:typeFeaturingFeatureOfType, + oslc_sysmlv2:typeFeaturingFeaturingType, + oslc_sysmlv2:typeFeaturingOwningFeatureOfType ; + dcterms:description "

A TypeFeaturing is a Featuring Relationship in which the featureOfType is the source and the featuringType is the target.

" ; + dcterms:title "TypeFeaturingShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:TypeShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Type ; + oslc:name "TypeShape" ; + oslc:property oslc_sysmlv2:typeDifferencingType, + oslc_sysmlv2:typeDirectedFeature, + oslc_sysmlv2:typeEndFeature, + oslc_sysmlv2:typeFeature, + oslc_sysmlv2:typeFeatureMembership, + oslc_sysmlv2:typeInheritedFeature, + oslc_sysmlv2:typeInheritedMembership, + oslc_sysmlv2:typeInput, + oslc_sysmlv2:typeIntersectingType, + oslc_sysmlv2:typeIsAbstract, + oslc_sysmlv2:typeIsConjugated, + oslc_sysmlv2:typeIsSufficient, + oslc_sysmlv2:typeMultiplicity, + oslc_sysmlv2:typeOutput, + oslc_sysmlv2:typeOwnedConjugator, + oslc_sysmlv2:typeOwnedDifferencing, + oslc_sysmlv2:typeOwnedDisjoining, + oslc_sysmlv2:typeOwnedEndFeature, + oslc_sysmlv2:typeOwnedFeature, + oslc_sysmlv2:typeOwnedFeatureMembership, + oslc_sysmlv2:typeOwnedIntersecting, + oslc_sysmlv2:typeOwnedSpecialization, + oslc_sysmlv2:typeOwnedUnioning, + oslc_sysmlv2:typeUnioningType ; + dcterms:description "

A Type is a Namespace that is the most general kind of Element supporting the semantics of classification. A Type may be a Classifier or a Feature, defining conditions on what is classified by the Type (see also the description of isSufficient).

" ; + dcterms:title "TypeShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:UnioningShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Unioning ; + oslc:name "UnioningShape" ; + oslc:property oslc_sysmlv2:unioningTypeUnioned, + oslc_sysmlv2:unioningUnioningType ; + dcterms:description "

Unioning is a Relationship that makes its unioningType one of the unioningTypes of its typeUnioned.

" ; + dcterms:title "UnioningShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:UsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:Usage ; + oslc:name "UsageShape" ; + oslc:property oslc_sysmlv2:usageDefinition, + oslc_sysmlv2:usageDirectedUsage, + oslc_sysmlv2:usageIsReference, + oslc_sysmlv2:usageIsVariation, + oslc_sysmlv2:usageNestedAction, + oslc_sysmlv2:usageNestedAllocation, + oslc_sysmlv2:usageNestedAnalysisCase, + oslc_sysmlv2:usageNestedAttribute, + oslc_sysmlv2:usageNestedCalculation, + oslc_sysmlv2:usageNestedCase, + oslc_sysmlv2:usageNestedConcern, + oslc_sysmlv2:usageNestedConnection, + oslc_sysmlv2:usageNestedConstraint, + oslc_sysmlv2:usageNestedEnumeration, + oslc_sysmlv2:usageNestedFlow, + oslc_sysmlv2:usageNestedInterface, + oslc_sysmlv2:usageNestedItem, + oslc_sysmlv2:usageNestedMetadata, + oslc_sysmlv2:usageNestedOccurrence, + oslc_sysmlv2:usageNestedPart, + oslc_sysmlv2:usageNestedPort, + oslc_sysmlv2:usageNestedReference, + oslc_sysmlv2:usageNestedRendering, + oslc_sysmlv2:usageNestedRequirement, + oslc_sysmlv2:usageNestedState, + oslc_sysmlv2:usageNestedTransition, + oslc_sysmlv2:usageNestedUsage, + oslc_sysmlv2:usageNestedUseCase, + oslc_sysmlv2:usageNestedVerificationCase, + oslc_sysmlv2:usageNestedView, + oslc_sysmlv2:usageNestedViewpoint, + oslc_sysmlv2:usageOwningDefinition, + oslc_sysmlv2:usageOwningUsage, + oslc_sysmlv2:usageUsage, + oslc_sysmlv2:usageVariant, + oslc_sysmlv2:usageVariantMembership ; + dcterms:description "

A Usage is a usage of a Definition. A Usage may only be an ownedFeature of a Definition or another Usage.

" ; + dcterms:title "UsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:UseCaseDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:UseCaseDefinition ; + oslc:name "UseCaseDefinitionShape" ; + oslc:property oslc_sysmlv2:useCaseDefinitionIncludedUseCase ; + dcterms:description "

A UseCaseDefinition is a CaseDefinition that specifies a set of actions performed by its subject, in interaction with one or more actors external to the subject. The objective is to yield an observable result that is of value to one or more of the actors.

" ; + dcterms:title "UseCaseDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:UseCaseUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:UseCaseUsage ; + oslc:name "UseCaseUsageShape" ; + oslc:property oslc_sysmlv2:useCaseUsageIncludedUseCase, + oslc_sysmlv2:useCaseUsageUseCaseDefinition ; + dcterms:description "

A UseCaseUsage is a Usage of a UseCaseDefinition.

" ; + dcterms:title "UseCaseUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:VariantMembershipShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:VariantMembership ; + oslc:name "VariantMembershipShape" ; + oslc:property oslc_sysmlv2:variantMembershipOwnedVariantUsage ; + dcterms:description "

A VariantMembership is a Membership between a variation point Definition or Usage and a Usage that represents a variant in the context of that variation. The membershipOwningNamespace for the VariantMembership must be either a Definition or a Usage with isVariation = true.

" ; + dcterms:title "VariantMembershipShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:VerificationCaseDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:VerificationCaseDefinition ; + oslc:name "VerificationCaseDefinitionShape" ; + oslc:property oslc_sysmlv2:verificationCaseDefinitionVerifiedRequirement ; + dcterms:description "

A VerificationCaseDefinition is a CaseDefinition for the purpose of verification of the subject of the case against its requirements.

" ; + dcterms:title "VerificationCaseDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:VerificationCaseUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:VerificationCaseUsage ; + oslc:name "VerificationCaseUsageShape" ; + oslc:property oslc_sysmlv2:verificationCaseUsageVerificationCaseDefinition, + oslc_sysmlv2:verificationCaseUsageVerifiedRequirement ; + dcterms:description "

A VerificationCaseUsage is a Usage of a VerificationCaseDefinition.

" ; + dcterms:title "VerificationCaseUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ViewDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ViewDefinition ; + oslc:name "ViewDefinitionShape" ; + oslc:property oslc_sysmlv2:viewDefinitionSatisfiedViewpoint, + oslc_sysmlv2:viewDefinitionView, + oslc_sysmlv2:viewDefinitionViewCondition, + oslc_sysmlv2:viewDefinitionViewRendering ; + dcterms:description "

A ViewDefinition is a PartDefinition that specifies how a view artifact is constructed to satisfy a viewpoint. It specifies a viewConditions to define the model content to be presented and a viewRendering to define how the model content is presented.

" ; + dcterms:title "ViewDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ViewRenderingMembershipShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ViewRenderingMembership ; + oslc:name "ViewRenderingMembershipShape" ; + oslc:property oslc_sysmlv2:viewRenderingMembershipOwnedRendering, + oslc_sysmlv2:viewRenderingMembershipReferencedRendering ; + dcterms:description "

A ViewRenderingMembership is a FeatureMembership that identifies the viewRendering of a ViewDefinition or ViewUsage.

" ; + dcterms:title "ViewRenderingMembershipShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ViewUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ViewUsage ; + oslc:name "ViewUsageShape" ; + oslc:property oslc_sysmlv2:viewUsageExposedElement, + oslc_sysmlv2:viewUsageSatisfiedViewpoint, + oslc_sysmlv2:viewUsageViewCondition, + oslc_sysmlv2:viewUsageViewDefinition, + oslc_sysmlv2:viewUsageViewRendering ; + dcterms:description "

A ViewUsage is a usage of a ViewDefinition to specify the generation of a view of the members of a collection of exposedNamespaces. The ViewUsage can satisfy more viewpoints than its definition, and it can specialize the viewRendering specified by its definition.

" ; + dcterms:title "ViewUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ViewpointDefinitionShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ViewpointDefinition ; + oslc:name "ViewpointDefinitionShape" ; + oslc:property oslc_sysmlv2:viewpointDefinitionViewpointStakeholder ; + dcterms:description "

A ViewpointDefinition is a RequirementDefinition that specifies one or more stakeholder concerns that are to be satisfied by creating a view of a model.

" ; + dcterms:title "ViewpointDefinitionShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:ViewpointUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:ViewpointUsage ; + oslc:name "ViewpointUsageShape" ; + oslc:property oslc_sysmlv2:viewpointUsageViewpointDefinition, + oslc_sysmlv2:viewpointUsageViewpointStakeholder ; + dcterms:description "

A ViewpointUsage is a Usage of a ViewpointDefinition.

" ; + dcterms:title "ViewpointUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:WhileLoopActionUsageShape a oslc:ResourceShape ; + oslc:describes oslc_sysmlv2:WhileLoopActionUsage ; + oslc:name "WhileLoopActionUsageShape" ; + oslc:property oslc_sysmlv2:whileLoopActionUsageUntilArgument, + oslc_sysmlv2:whileLoopActionUsageWhileArgument ; + dcterms:description "

A WhileLoopActionUsage is a LoopActionUsage that specifies that the bodyAction ActionUsage should be performed repeatedly while the result of the whileArgument Expression is true or until the result of the untilArgument Expression (if provided) is true. The whileArgument Expression is evaluated before each (possible) performance of the bodyAction, and the untilArgument Expression is evaluated after each performance of the bodyAction.

" ; + dcterms:title "WhileLoopActionUsageShape"^^rdf:XMLLiteral . + +oslc_sysmlv2:elementElementId a oslc:Property ; + oslc:name "elementElementId" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition dcterms:identifier ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element.

" . + +oslc_sysmlv2:elementName a oslc:Property ; + oslc:name "elementName" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition dcterms:title ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null.

" . + +oslc_sysmlv2:acceptActionUsagePayloadArgument a oslc:Property ; + oslc:name "acceptActionUsagePayloadArgument" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:acceptActionUsagePayloadArgument ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

An Expression whose result is bound to the payload parameter of this AcceptActionUsage. If provided, the AcceptActionUsage will only accept a Transfer with exactly this payload.

" . + +oslc_sysmlv2:acceptActionUsagePayloadParameter a oslc:Property ; + oslc:name "acceptActionUsagePayloadParameter" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:acceptActionUsagePayloadParameter ; + oslc:range oslc_sysmlv2:ReferenceUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The nestedReference of this AcceptActionUsage that redefines the payload output parameter of the base AcceptActionUsage AcceptAction from the Systems Model Library.

" . + +oslc_sysmlv2:acceptActionUsageReceiverArgument a oslc:Property ; + oslc:name "acceptActionUsageReceiverArgument" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:acceptActionUsageReceiverArgument ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

An Expression whose result is bound to the receiver input parameter of this AcceptActionUsage.

" . + +oslc_sysmlv2:actionDefinitionAction a oslc:Property ; + oslc:name "actionDefinitionAction" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:actionDefinitionAction ; + oslc:range oslc_sysmlv2:ActionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsages that are steps in this ActionDefinition, which define the actions that specify the behavior of the ActionDefinition.

" . + +oslc_sysmlv2:actionUsageActionDefinition a oslc:Property ; + oslc:name "actionUsageActionDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:actionUsageActionDefinition ; + oslc:range oslc_sysmlv2:Behavior ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries.

" . + +oslc_sysmlv2:actorMembershipOwnedActorParameter a oslc:Property ; + oslc:name "actorMembershipOwnedActorParameter" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:actorMembershipOwnedActorParameter ; + oslc:range oslc_sysmlv2:PartUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The PartUsage specifying the actor.

" . + +oslc_sysmlv2:allocationDefinitionAllocation a oslc:Property ; + oslc:name "allocationDefinitionAllocation" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:allocationDefinitionAllocation ; + oslc:range oslc_sysmlv2:AllocationUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The AllocationUsages that refine the allocation mapping defined by this AllocationDefinition.

" . + +oslc_sysmlv2:allocationUsageAllocationDefinition a oslc:Property ; + oslc:name "allocationUsageAllocationDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:allocationUsageAllocationDefinition ; + oslc:range oslc_sysmlv2:AllocationDefinition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The AllocationDefinitions that are the types of this AllocationUsage.

" . + +oslc_sysmlv2:analysisCaseDefinitionAnalysisAction a oslc:Property ; + oslc:name "analysisCaseDefinitionAnalysisAction" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:analysisCaseDefinitionAnalysisAction ; + oslc:range oslc_sysmlv2:ActionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The composite actions of the AnalysisCaseDefinition that are defined as AnalysisActions.

" . + +oslc_sysmlv2:analysisCaseDefinitionResultExpression a oslc:Property ; + oslc:name "analysisCaseDefinitionResultExpression" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:analysisCaseDefinitionResultExpression ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

An Expression used to compute the result of the AnalysisCaseDefinition, owned via a ResultExpressionMembership.

" . + +oslc_sysmlv2:analysisCaseUsageAnalysisAction a oslc:Property ; + oslc:name "analysisCaseUsageAnalysisAction" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:analysisCaseUsageAnalysisAction ; + oslc:range oslc_sysmlv2:ActionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The composite usages of the AnalysisCaseUsage that are defined as AnalysisActions.

" . + +oslc_sysmlv2:analysisCaseUsageAnalysisCaseDefinition a oslc:Property ; + oslc:name "analysisCaseUsageAnalysisCaseDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:analysisCaseUsageAnalysisCaseDefinition ; + oslc:range oslc_sysmlv2:AnalysisCaseDefinition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The AnalysisCaseDefinition that is the definition of this AnalysisCaseUsage.

" . + +oslc_sysmlv2:analysisCaseUsageResultExpression a oslc:Property ; + oslc:name "analysisCaseUsageResultExpression" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:analysisCaseUsageResultExpression ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

An Expression used to compute the result of the AnalysisCaseUsage, owned via a ResultExpressionMembership.

" . + +oslc_sysmlv2:annotatingElementAnnotatedElement a oslc:Property ; + oslc:name "annotatingElementAnnotatedElement" ; + oslc:occurs oslc:One-or-many ; + oslc:propertyDefinition oslc_sysmlv2:annotatingElementAnnotatedElement ; + oslc:range oslc_sysmlv2:Element ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Elements that are annotated by this AnnotatingElement. If annotation is not empty, these are the annotatedElements of the annotations. If annotation is empty, then it is the owningNamespace of the AnnotatingElement.

" . + +oslc_sysmlv2:annotatingElementAnnotation a oslc:Property ; + oslc:name "annotatingElementAnnotation" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:annotatingElementAnnotation ; + oslc:range oslc_sysmlv2:Annotation ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Annotations that relate this AnnotatingElement to its annotatedElements.

" . + +oslc_sysmlv2:annotatingElementOwnedAnnotatingRelationship a oslc:Property ; + oslc:name "annotatingElementOwnedAnnotatingRelationship" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:annotatingElementOwnedAnnotatingRelationship ; + oslc:range oslc_sysmlv2:Annotation ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedRelationships of this AnnotatingElement that are Annotations, for which this AnnotatingElement is the annotatingElement.

" . + +oslc_sysmlv2:annotationAnnotatedElement a oslc:Property ; + oslc:name "annotationAnnotatedElement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:annotationAnnotatedElement ; + oslc:range oslc_sysmlv2:Element ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Element that is annotated by the annotatingElement of this Annotation.

" . + +oslc_sysmlv2:annotationAnnotatingElement a oslc:Property ; + oslc:name "annotationAnnotatingElement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:annotationAnnotatingElement ; + oslc:range oslc_sysmlv2:AnnotatingElement ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The AnnotatingElement that annotates the annotatedElement of this Annotation.

" . + +oslc_sysmlv2:annotationOwningAnnotatedElement a oslc:Property ; + oslc:name "annotationOwningAnnotatedElement" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:annotationOwningAnnotatedElement ; + oslc:range oslc_sysmlv2:Element ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The annotatedElement of this Annotation, when it is also its owningRelatedElement.

" . + +oslc_sysmlv2:annotationOwningAnnotatingElement a oslc:Property ; + oslc:name "annotationOwningAnnotatingElement" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:annotationOwningAnnotatingElement ; + oslc:range oslc_sysmlv2:AnnotatingElement ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The annotatingElement of this Annotation, when it is also its owningRelatedElement.

" . + +oslc_sysmlv2:assertConstraintUsageAssertedConstraint a oslc:Property ; + oslc:name "assertConstraintUsageAssertedConstraint" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:assertConstraintUsageAssertedConstraint ; + oslc:range oslc_sysmlv2:ConstraintUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConstraintUsage to be performed by the AssertConstraintUsage. It is the referenceFeature of the ownedReferenceSubsetting for the AssertConstraintUsage, if there is one, and, otherwise, the AssertConstraintUsage itself.

" . + +oslc_sysmlv2:assignmentActionUsageReferent a oslc:Property ; + oslc:name "assignmentActionUsageReferent" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:assignmentActionUsageReferent ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature whose value is to be set.

" . + +oslc_sysmlv2:assignmentActionUsageTargetArgument a oslc:Property ; + oslc:name "assignmentActionUsageTargetArgument" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:assignmentActionUsageTargetArgument ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Expression whose value is an occurrence in the domain of the referent Feature, for which the value of the referent will be set to the result of the valueExpression by this AssignmentActionUsage.

" . + +oslc_sysmlv2:assignmentActionUsageValueExpression a oslc:Property ; + oslc:name "assignmentActionUsageValueExpression" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:assignmentActionUsageValueExpression ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Expression whose result is to be assigned to the referent Feature.

" . + +oslc_sysmlv2:associationAssociationEnd a oslc:Property ; + oslc:name "associationAssociationEnd" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:associationAssociationEnd ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The features of the Association that identify the things that can be related by it. A concrete Association must have at least two associationEnds. When it has exactly two, the Association is called a binary Association.

" . + +oslc_sysmlv2:associationRelatedType a oslc:Property ; + oslc:name "associationRelatedType" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:associationRelatedType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The types of the associationEnds of the Association, which are the relatedElements of the Association considered as a Relationship.

" . + +oslc_sysmlv2:associationSourceType a oslc:Property ; + oslc:name "associationSourceType" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:associationSourceType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The source relatedType for this Association. It is the first relatedType of the Association.

" . + +oslc_sysmlv2:associationTargetType a oslc:Property ; + oslc:name "associationTargetType" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:associationTargetType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The target relatedTypes for this Association. This includes all the relatedTypes other than the sourceType.

" . + +oslc_sysmlv2:attributeUsageAttributeDefinition a oslc:Property ; + oslc:name "attributeUsageAttributeDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:attributeUsageAttributeDefinition ; + oslc:range oslc_sysmlv2:DataType ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The DataTypes that are the types of this AttributeUsage. Nominally, these are AttributeDefinitions, but other kinds of kernel DataTypes are also allowed, to permit use of DataTypes from the Kernel Model Libraries.

" . + +oslc_sysmlv2:behaviorParameter a oslc:Property ; + oslc:name "behaviorParameter" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:behaviorParameter ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The parameters of this Behavior, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Behavior.

" . + +oslc_sysmlv2:behaviorStep a oslc:Property ; + oslc:name "behaviorStep" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:behaviorStep ; + oslc:range oslc_sysmlv2:Step ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Steps that make up this Behavior.

" . + +oslc_sysmlv2:booleanExpressionPredicate a oslc:Property ; + oslc:name "booleanExpressionPredicate" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:booleanExpressionPredicate ; + oslc:range oslc_sysmlv2:Predicate ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Predicate that types this BooleanExpression.

" . + +oslc_sysmlv2:calculationDefinitionCalculation a oslc:Property ; + oslc:name "calculationDefinitionCalculation" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:calculationDefinitionCalculation ; + oslc:range oslc_sysmlv2:CalculationUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The actions of this CalculationDefinition that are CalculationUsages.

" . + +oslc_sysmlv2:calculationUsageCalculationDefinition a oslc:Property ; + oslc:name "calculationUsageCalculationDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:calculationUsageCalculationDefinition ; + oslc:range oslc_sysmlv2:Function ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Function that is the type of this CalculationUsage. Nominally, this would be a CalculationDefinition, but a kernel Function is also allowed, to permit use of Functions from the Kernel Model Libraries.

" . + +oslc_sysmlv2:caseDefinitionActorParameter a oslc:Property ; + oslc:name "caseDefinitionActorParameter" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:caseDefinitionActorParameter ; + oslc:range oslc_sysmlv2:PartUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The parameters of this CaseDefinition that represent actors involved in the case.

" . + +oslc_sysmlv2:caseDefinitionObjectiveRequirement a oslc:Property ; + oslc:name "caseDefinitionObjectiveRequirement" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:caseDefinitionObjectiveRequirement ; + oslc:range oslc_sysmlv2:RequirementUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RequirementUsage representing the objective of this CaseDefinition.

" . + +oslc_sysmlv2:caseDefinitionSubjectParameter a oslc:Property ; + oslc:name "caseDefinitionSubjectParameter" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:caseDefinitionSubjectParameter ; + oslc:range oslc_sysmlv2:Usage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The parameter of this CaseDefinition that represents its subject.

" . + +oslc_sysmlv2:caseUsageActorParameter a oslc:Property ; + oslc:name "caseUsageActorParameter" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:caseUsageActorParameter ; + oslc:range oslc_sysmlv2:PartUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The parameters of this CaseUsage that represent actors involved in the case.

" . + +oslc_sysmlv2:caseUsageCaseDefinition a oslc:Property ; + oslc:name "caseUsageCaseDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:caseUsageCaseDefinition ; + oslc:range oslc_sysmlv2:CaseDefinition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The CaseDefinition that is the type of this CaseUsage.

" . + +oslc_sysmlv2:caseUsageObjectiveRequirement a oslc:Property ; + oslc:name "caseUsageObjectiveRequirement" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:caseUsageObjectiveRequirement ; + oslc:range oslc_sysmlv2:RequirementUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RequirementUsage representing the objective of this CaseUsage.

" . + +oslc_sysmlv2:caseUsageSubjectParameter a oslc:Property ; + oslc:name "caseUsageSubjectParameter" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:caseUsageSubjectParameter ; + oslc:range oslc_sysmlv2:Usage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The parameter of this CaseUsage that represents its subject.

" . + +oslc_sysmlv2:classifierOwnedSubclassification a oslc:Property ; + oslc:name "classifierOwnedSubclassification" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:classifierOwnedSubclassification ; + oslc:range oslc_sysmlv2:Subclassification ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier.

" . + +oslc_sysmlv2:commentBody a oslc:Property ; + oslc:name "commentBody" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:commentBody ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

The annotation text for the Comment.

" . + +oslc_sysmlv2:commentLocale a oslc:Property ; + oslc:name "commentLocale" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:commentLocale ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

Identification of the language of the body text and, optionally, the region and/or encoding. The format shall be a POSIX locale conformant to ISO/IEC 15897, with the format [language[_territory][.codeset][@modifier]].

" . + +oslc_sysmlv2:concernUsageConcernDefinition a oslc:Property ; + oslc:name "concernUsageConcernDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:concernUsageConcernDefinition ; + oslc:range oslc_sysmlv2:ConcernDefinition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConcernDefinition that is the single type of this ConcernUsage.

" . + +oslc_sysmlv2:conjugatedPortDefinitionOriginalPortDefinition a oslc:Property ; + oslc:name "conjugatedPortDefinitionOriginalPortDefinition" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:conjugatedPortDefinitionOriginalPortDefinition ; + oslc:range oslc_sysmlv2:PortDefinition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The original PortDefinition for this ConjugatedPortDefinition, which is the owningNamespace of the ConjugatedPortDefinition.

" . + +oslc_sysmlv2:conjugatedPortDefinitionOwnedPortConjugator a oslc:Property ; + oslc:name "conjugatedPortDefinitionOwnedPortConjugator" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:conjugatedPortDefinitionOwnedPortConjugator ; + oslc:range oslc_sysmlv2:PortConjugation ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The PortConjugation that is the ownedConjugator of this ConjugatedPortDefinition, linking it to its originalPortDefinition.

" . + +oslc_sysmlv2:conjugatedPortTypingConjugatedPortDefinition a oslc:Property ; + oslc:name "conjugatedPortTypingConjugatedPortDefinition" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:conjugatedPortTypingConjugatedPortDefinition ; + oslc:range oslc_sysmlv2:ConjugatedPortDefinition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The type of this ConjugatedPortTyping considered as a FeatureTyping, which must be a ConjugatedPortDefinition.

" . + +oslc_sysmlv2:conjugatedPortTypingPortDefinition a oslc:Property ; + oslc:name "conjugatedPortTypingPortDefinition" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:conjugatedPortTypingPortDefinition ; + oslc:range oslc_sysmlv2:PortDefinition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The originalPortDefinition of the conjugatedPortDefinition of this ConjugatedPortTyping.

" . + +oslc_sysmlv2:conjugationConjugatedType a oslc:Property ; + oslc:name "conjugationConjugatedType" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:conjugationConjugatedType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Type that is the result of applying Conjugation to the originalType.

" . + +oslc_sysmlv2:conjugationOriginalType a oslc:Property ; + oslc:name "conjugationOriginalType" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:conjugationOriginalType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Type to be conjugated.

" . + +oslc_sysmlv2:conjugationOwningType a oslc:Property ; + oslc:name "conjugationOwningType" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:conjugationOwningType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The conjugatedType of this Conjugation that is also its owningRelatedElement.

" . + +oslc_sysmlv2:connectionDefinitionConnectionEnd a oslc:Property ; + oslc:name "connectionDefinitionConnectionEnd" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:connectionDefinitionConnectionEnd ; + oslc:range oslc_sysmlv2:Usage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Usages that define the things related by the ConnectionDefinition.

" . + +oslc_sysmlv2:connectionUsageConnectionDefinition a oslc:Property ; + oslc:name "connectionUsageConnectionDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:connectionUsageConnectionDefinition ; + oslc:range oslc_sysmlv2:AssociationStructure ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The AssociationStructures that are the types of this ConnectionUsage. Nominally, these are , but other kinds of Kernel AssociationStructures are also allowed, to permit use of AssociationStructures from the Kernel Model Libraries

" . + +oslc_sysmlv2:connectorAssociation a oslc:Property ; + oslc:name "connectorAssociation" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:connectorAssociation ; + oslc:range oslc_sysmlv2:Association ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Associations that type the Connector.

" . + +oslc_sysmlv2:connectorConnectorEnd a oslc:Property ; + oslc:name "connectorConnectorEnd" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:connectorConnectorEnd ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The endFeatures of a Connector, which redefine the endFeatures of the associations of the Connector. The connectorEnds determine via ReferenceSubsetting Relationships which Features are related by the Connector.

" . + +oslc_sysmlv2:connectorRelatedFeature a oslc:Property ; + oslc:name "connectorRelatedFeature" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:connectorRelatedFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Features that are related by this Connector considered as a Relationship and that restrict the links it identifies, given by the referenced Features of the connectorEnds of the Connector.

" . + +oslc_sysmlv2:connectorSourceFeature a oslc:Property ; + oslc:name "connectorSourceFeature" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:connectorSourceFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The source relatedFeature for this Connector. It is the first relatedFeature.

" . + +oslc_sysmlv2:connectorTargetFeature a oslc:Property ; + oslc:name "connectorTargetFeature" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:connectorTargetFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The target relatedFeatures for this Connector. This includes all the relatedFeatures other than the sourceFeature.

" . + +oslc_sysmlv2:constraintUsageConstraintDefinition a oslc:Property ; + oslc:name "constraintUsageConstraintDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:constraintUsageConstraintDefinition ; + oslc:range oslc_sysmlv2:Predicate ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The (single) Predicate that is the type of this ConstraintUsage. Nominally, this will be a ConstraintDefinition, but other kinds of Predicates are also allowed, to permit use of Predicates from the Kernel Model Libraries.

" . + +oslc_sysmlv2:definitionDirectedUsage a oslc:Property ; + oslc:name "definitionDirectedUsage" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionDirectedUsage ; + oslc:range oslc_sysmlv2:Usage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The usages of this Definition that are directedFeatures.

" . + +oslc_sysmlv2:definitionIsVariation a oslc:Property ; + oslc:name "definitionIsVariation" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:definitionIsVariation ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether this Definition is for a variation point or not. If true, then all the memberships of the Definition must be VariantMemberships.

" . + +oslc_sysmlv2:definitionOwnedAction a oslc:Property ; + oslc:name "definitionOwnedAction" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedAction ; + oslc:range oslc_sysmlv2:ActionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedAllocation a oslc:Property ; + oslc:name "definitionOwnedAllocation" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedAllocation ; + oslc:range oslc_sysmlv2:AllocationUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The AllocationUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedAnalysisCase a oslc:Property ; + oslc:name "definitionOwnedAnalysisCase" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedAnalysisCase ; + oslc:range oslc_sysmlv2:AnalysisCaseUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The AnalysisCaseUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedAttribute a oslc:Property ; + oslc:name "definitionOwnedAttribute" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedAttribute ; + oslc:range oslc_sysmlv2:AttributeUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The AttributeUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedCalculation a oslc:Property ; + oslc:name "definitionOwnedCalculation" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedCalculation ; + oslc:range oslc_sysmlv2:CalculationUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The CalculationUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedCase a oslc:Property ; + oslc:name "definitionOwnedCase" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedCase ; + oslc:range oslc_sysmlv2:CaseUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The code>CaseUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedConcern a oslc:Property ; + oslc:name "definitionOwnedConcern" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedConcern ; + oslc:range oslc_sysmlv2:ConcernUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConcernUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedConnection a oslc:Property ; + oslc:name "definitionOwnedConnection" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedConnection ; + oslc:range oslc_sysmlv2:ConnectorAsUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConnectorAsUsages that are ownedUsages of this Definition. Note that this list includes BindingConnectorAsUsages and SuccessionAsUsages, even though these are ConnectorAsUsages but not ConnectionUsages.

" . + +oslc_sysmlv2:definitionOwnedConstraint a oslc:Property ; + oslc:name "definitionOwnedConstraint" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedConstraint ; + oslc:range oslc_sysmlv2:ConstraintUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConstraintUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedEnumeration a oslc:Property ; + oslc:name "definitionOwnedEnumeration" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedEnumeration ; + oslc:range oslc_sysmlv2:EnumerationUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The EnumerationUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedFlow a oslc:Property ; + oslc:name "definitionOwnedFlow" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedFlow ; + oslc:range oslc_sysmlv2:FlowConnectionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The FlowConnectionUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedInterface a oslc:Property ; + oslc:name "definitionOwnedInterface" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedInterface ; + oslc:range oslc_sysmlv2:InterfaceUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The InterfaceUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedItem a oslc:Property ; + oslc:name "definitionOwnedItem" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedItem ; + oslc:range oslc_sysmlv2:ItemUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ItemUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedMetadata a oslc:Property ; + oslc:name "definitionOwnedMetadata" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedMetadata ; + oslc:range oslc_sysmlv2:MetadataUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The MetadataUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedOccurrence a oslc:Property ; + oslc:name "definitionOwnedOccurrence" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedOccurrence ; + oslc:range oslc_sysmlv2:OccurrenceUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The OccurrenceUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedPart a oslc:Property ; + oslc:name "definitionOwnedPart" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedPart ; + oslc:range oslc_sysmlv2:PartUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The PartUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedPort a oslc:Property ; + oslc:name "definitionOwnedPort" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedPort ; + oslc:range oslc_sysmlv2:PortUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The PortUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedReference a oslc:Property ; + oslc:name "definitionOwnedReference" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedReference ; + oslc:range oslc_sysmlv2:ReferenceUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ReferenceUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedRendering a oslc:Property ; + oslc:name "definitionOwnedRendering" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedRendering ; + oslc:range oslc_sysmlv2:RenderingUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RenderingUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedRequirement a oslc:Property ; + oslc:name "definitionOwnedRequirement" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedRequirement ; + oslc:range oslc_sysmlv2:RequirementUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RequirementUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedState a oslc:Property ; + oslc:name "definitionOwnedState" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedState ; + oslc:range oslc_sysmlv2:StateUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The StateUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedTransition a oslc:Property ; + oslc:name "definitionOwnedTransition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedTransition ; + oslc:range oslc_sysmlv2:TransitionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The TransitionUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedUsage a oslc:Property ; + oslc:name "definitionOwnedUsage" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedUsage ; + oslc:range oslc_sysmlv2:Usage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Usages that are ownedFeatures of this Definition.

" . + +oslc_sysmlv2:definitionOwnedUseCase a oslc:Property ; + oslc:name "definitionOwnedUseCase" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedUseCase ; + oslc:range oslc_sysmlv2:UseCaseUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The UseCaseUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedVerificationCase a oslc:Property ; + oslc:name "definitionOwnedVerificationCase" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedVerificationCase ; + oslc:range oslc_sysmlv2:VerificationCaseUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The VerificationCaseUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedView a oslc:Property ; + oslc:name "definitionOwnedView" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedView ; + oslc:range oslc_sysmlv2:ViewUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ViewUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionOwnedViewpoint a oslc:Property ; + oslc:name "definitionOwnedViewpoint" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionOwnedViewpoint ; + oslc:range oslc_sysmlv2:ViewpointUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ViewpointUsages that are ownedUsages of this Definition.

" . + +oslc_sysmlv2:definitionUsage a oslc:Property ; + oslc:name "definitionUsage" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionUsage ; + oslc:range oslc_sysmlv2:Usage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Usages that are features of this Definition (not necessarily owned).

" . + +oslc_sysmlv2:definitionVariant a oslc:Property ; + oslc:name "definitionVariant" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionVariant ; + oslc:range oslc_sysmlv2:Usage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Usages which represent the variants of this Definition as a variation point Definition, if isVariation = true. If isVariation = false, the there must be no variants.

" . + +oslc_sysmlv2:definitionVariantMembership a oslc:Property ; + oslc:name "definitionVariantMembership" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:definitionVariantMembership ; + oslc:range oslc_sysmlv2:VariantMembership ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedMemberships of this Definition that are VariantMemberships. If isVariation = true, then this must be all ownedMemberships of the Definition. If isVariation = false, then variantMembershipmust be empty.

" . + +oslc_sysmlv2:dependencyClient a oslc:Property ; + oslc:name "dependencyClient" ; + oslc:occurs oslc:One-or-many ; + oslc:propertyDefinition oslc_sysmlv2:dependencyClient ; + oslc:range oslc_sysmlv2:Element ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Element or Elements dependent on the supplier Elements.

" . + +oslc_sysmlv2:dependencySupplier a oslc:Property ; + oslc:name "dependencySupplier" ; + oslc:occurs oslc:One-or-many ; + oslc:propertyDefinition oslc_sysmlv2:dependencySupplier ; + oslc:range oslc_sysmlv2:Element ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Element or Elements on which the client Elements depend in some respect.

" . + +oslc_sysmlv2:differencingDifferencingType a oslc:Property ; + oslc:name "differencingDifferencingType" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:differencingDifferencingType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

Type that partly determines interpretations of typeDifferenced, as described in Type::differencingType.

" . + +oslc_sysmlv2:differencingTypeDifferenced a oslc:Property ; + oslc:name "differencingTypeDifferenced" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:differencingTypeDifferenced ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

Type with interpretations partly determined by differencingType, as described in Type::differencingType.

" . + +oslc_sysmlv2:disjoiningDisjoiningType a oslc:Property ; + oslc:name "disjoiningDisjoiningType" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:disjoiningDisjoiningType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

Type asserted to be disjoint with the typeDisjoined.

" . + +oslc_sysmlv2:disjoiningOwningType a oslc:Property ; + oslc:name "disjoiningOwningType" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:disjoiningOwningType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

A typeDisjoined that is also an owningRelatedElement.

" . + +oslc_sysmlv2:disjoiningTypeDisjoined a oslc:Property ; + oslc:name "disjoiningTypeDisjoined" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:disjoiningTypeDisjoined ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

Type asserted to be disjoint with the disjoiningType.

" . + +oslc_sysmlv2:documentationDocumentedElement a oslc:Property ; + oslc:name "documentationDocumentedElement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:documentationDocumentedElement ; + oslc:range oslc_sysmlv2:Element ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Element that is documented by this Documentation.

" . + +oslc_sysmlv2:elementAliasIds a oslc:Property ; + oslc:name "elementAliasIds" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:elementAliasIds ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

Various alternative identifiers for this Element. Generally, these will be set by tools.

" . + +oslc_sysmlv2:elementDeclaredName a oslc:Property ; + oslc:name "elementDeclaredName" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:elementDeclaredName ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

The declared name of this Element.

" . + +oslc_sysmlv2:elementDeclaredShortName a oslc:Property ; + oslc:name "elementDeclaredShortName" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:elementDeclaredShortName ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context.

" . + +oslc_sysmlv2:elementDocumentation a oslc:Property ; + oslc:name "elementDocumentation" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:elementDocumentation ; + oslc:range oslc_sysmlv2:Documentation ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Documentation owned by this Element.

" . + +oslc_sysmlv2:elementFilterMembershipCondition a oslc:Property ; + oslc:name "elementFilterMembershipCondition" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:elementFilterMembershipCondition ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The model-level evaluable Boolean-valued Expression used to filter the imported members of the membershipOwningNamespace of this ElementFilterMembership.

" . + +oslc_sysmlv2:elementIsImpliedIncluded a oslc:Property ; + oslc:name "elementIsImpliedIncluded" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:elementIsImpliedIncluded ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them.

" . + +oslc_sysmlv2:elementIsLibraryElement a oslc:Property ; + oslc:name "elementIsLibraryElement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:elementIsLibraryElement ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether this Element is contained in the ownership tree of a library model.

" . + +oslc_sysmlv2:elementOwnedAnnotation a oslc:Property ; + oslc:name "elementOwnedAnnotation" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:elementOwnedAnnotation ; + oslc:range oslc_sysmlv2:Annotation ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement.

" . + +oslc_sysmlv2:elementOwnedElement a oslc:Property ; + oslc:name "elementOwnedElement" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:elementOwnedElement ; + oslc:range oslc_sysmlv2:Element ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element.

" . + +oslc_sysmlv2:elementOwnedRelationship a oslc:Property ; + oslc:name "elementOwnedRelationship" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:elementOwnedRelationship ; + oslc:range oslc_sysmlv2:Relationship ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Relationships for which this Element is the owningRelatedElement.

" . + +oslc_sysmlv2:elementOwner a oslc:Property ; + oslc:name "elementOwner" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:elementOwner ; + oslc:range oslc_sysmlv2:Element ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any.

" . + +oslc_sysmlv2:elementOwningMembership a oslc:Property ; + oslc:name "elementOwningMembership" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:elementOwningMembership ; + oslc:range oslc_sysmlv2:OwningMembership ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The owningRelationship of this Element, if that Relationship is a Membership.

" . + +oslc_sysmlv2:elementOwningNamespace a oslc:Property ; + oslc:name "elementOwningNamespace" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:elementOwningNamespace ; + oslc:range oslc_sysmlv2:Namespace ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any.

" . + +oslc_sysmlv2:elementOwningRelationship a oslc:Property ; + oslc:name "elementOwningRelationship" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:elementOwningRelationship ; + oslc:range oslc_sysmlv2:Relationship ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Relationship for which this Element is an ownedRelatedElement, if any.

" . + +oslc_sysmlv2:elementQualifiedName a oslc:Property ; + oslc:name "elementQualifiedName" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:elementQualifiedName ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element.

" . + +oslc_sysmlv2:elementShortName a oslc:Property ; + oslc:name "elementShortName" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:elementShortName ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null.

" . + +oslc_sysmlv2:elementTextualRepresentation a oslc:Property ; + oslc:name "elementTextualRepresentation" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:elementTextualRepresentation ; + oslc:range oslc_sysmlv2:TextualRepresentation ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The TextualRepresentations that annotate this Element.

" . + +oslc_sysmlv2:enumerationDefinitionEnumeratedValue a oslc:Property ; + oslc:name "enumerationDefinitionEnumeratedValue" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:enumerationDefinitionEnumeratedValue ; + oslc:range oslc_sysmlv2:EnumerationUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

EnumerationUsages of this EnumerationDefinitionthat have distinct, fixed values. Each enumeratedValue specifies one of the allowed instances of the EnumerationDefinition.

" . + +oslc_sysmlv2:enumerationUsageEnumerationDefinition a oslc:Property ; + oslc:name "enumerationUsageEnumerationDefinition" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:enumerationUsageEnumerationDefinition ; + oslc:range oslc_sysmlv2:EnumerationDefinition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The single EnumerationDefinition that is the type of this EnumerationUsage.

" . + +oslc_sysmlv2:eventOccurrenceUsageEventOccurrence a oslc:Property ; + oslc:name "eventOccurrenceUsageEventOccurrence" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:eventOccurrenceUsageEventOccurrence ; + oslc:range oslc_sysmlv2:OccurrenceUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The OccurrenceUsage referenced as an event by this EventOccurrenceUsage. It is the referenceFeature of the ownedReferenceSubsetting for the EventOccurrenceUsage, if there is one, and, otherwise, the EventOccurrenceUsage itself.

" . + +oslc_sysmlv2:exhibitStateUsageExhibitedState a oslc:Property ; + oslc:name "exhibitStateUsageExhibitedState" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:exhibitStateUsageExhibitedState ; + oslc:range oslc_sysmlv2:StateUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The StateUsage to be exhibited by the ExhibitStateUsage. It is the performedAction of the ExhibitStateUsage considered as a PerformActionUsage, which must be a StateUsage.

" . + +oslc_sysmlv2:expressionFunction a oslc:Property ; + oslc:name "expressionFunction" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:expressionFunction ; + oslc:range oslc_sysmlv2:Function ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Function that types this Expression.

" . + +oslc_sysmlv2:expressionIsModelLevelEvaluable a oslc:Property ; + oslc:name "expressionIsModelLevelEvaluable" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:expressionIsModelLevelEvaluable ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether this Expression meets the constraints necessary to be evaluated at model level, that is, using metadata within the model.

" . + +oslc_sysmlv2:expressionResult a oslc:Property ; + oslc:name "expressionResult" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:expressionResult ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

" . + +oslc_sysmlv2:featureChainExpressionTargetFeature a oslc:Property ; + oslc:name "featureChainExpressionTargetFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featureChainExpressionTargetFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that is accessed by this FeatureChainExpression, which is its first non-parameter member.

" . + +oslc_sysmlv2:featureChainingChainingFeature a oslc:Property ; + oslc:name "featureChainingChainingFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featureChainingChainingFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature whose values partly determine values of featureChained, as described in Feature::chainingFeature.

" . + +oslc_sysmlv2:featureChainingFeature a oslc:Property ; + oslc:name "featureChainingFeature" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:featureChainingFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature.

" . + +oslc_sysmlv2:featureChainingFeatureChained a oslc:Property ; + oslc:name "featureChainingFeatureChained" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featureChainingFeatureChained ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature whose values are partly determined by values of the chainingFeature, as described in Feature::chainingFeature.

" . + +oslc_sysmlv2:featureDirection a oslc:Property ; + oslc:name "featureDirection" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:featureDirection ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind).

" . + +oslc_sysmlv2:featureEndOwningType a oslc:Property ; + oslc:name "featureEndOwningType" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:featureEndOwningType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature.

" . + +oslc_sysmlv2:featureFeaturingType a oslc:Property ; + oslc:name "featureFeaturingType" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:featureFeaturingType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature.

" . + +oslc_sysmlv2:featureInvertingFeatureInverted a oslc:Property ; + oslc:name "featureInvertingFeatureInverted" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featureInvertingFeatureInverted ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that is an inverse of the invertingFeature.

" . + +oslc_sysmlv2:featureInvertingInvertingFeature a oslc:Property ; + oslc:name "featureInvertingInvertingFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featureInvertingInvertingFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that is an inverse of the invertedFeature.

" . + +oslc_sysmlv2:featureInvertingOwningFeature a oslc:Property ; + oslc:name "featureInvertingOwningFeature" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:featureInvertingOwningFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

A featureInverted that is also the owningRelatedElement of this FeatureInverting.

" . + +oslc_sysmlv2:featureIsComposite a oslc:Property ; + oslc:name "featureIsComposite" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featureIsComposite ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does.

" . + +oslc_sysmlv2:featureIsDerived a oslc:Property ; + oslc:name "featureIsDerived" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featureIsDerived ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether the values of this Feature can always be computed from the values of other Features.

" . + +oslc_sysmlv2:featureIsEnd a oslc:Property ; + oslc:name "featureIsEnd" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featureIsEnd ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether or not the this Feature is an end Feature, requiring a different interpretation of the multiplicity of the Feature.

" . + +oslc_sysmlv2:featureIsNonunique a oslc:Property ; + oslc:name "featureIsNonunique" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featureIsNonunique ; + oslc:readOnly false ; + oslc:valueType xsd:boolean . + +oslc_sysmlv2:featureIsOrdered a oslc:Property ; + oslc:name "featureIsOrdered" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featureIsOrdered ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether an order exists for the values of this Feature or not.

" . + +oslc_sysmlv2:featureIsPortion a oslc:Property ; + oslc:name "featureIsPortion" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featureIsPortion ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances.

" . + +oslc_sysmlv2:featureIsReadOnly a oslc:Property ; + oslc:name "featureIsReadOnly" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featureIsReadOnly ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether the values of this Feature can change over the lifetime of an instance of the domain.

" . + +oslc_sysmlv2:featureIsUnique a oslc:Property ; + oslc:name "featureIsUnique" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featureIsUnique ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether or not values for this Feature must have no duplicates or not.

" . + +oslc_sysmlv2:featureMembershipOwnedMemberFeature a oslc:Property ; + oslc:name "featureMembershipOwnedMemberFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featureMembershipOwnedMemberFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that this FeatureMembership relates to its owningType, making it an ownedFeature of the owningType.

" . + +oslc_sysmlv2:featureMembershipOwningType a oslc:Property ; + oslc:name "featureMembershipOwningType" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featureMembershipOwningType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Type that owns this FeatureMembership.

" . + +oslc_sysmlv2:featureOwnedFeatureChaining a oslc:Property ; + oslc:name "featureOwnedFeatureChaining" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:featureOwnedFeatureChaining ; + oslc:range oslc_sysmlv2:FeatureChaining ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained.

" . + +oslc_sysmlv2:featureOwnedFeatureInverting a oslc:Property ; + oslc:name "featureOwnedFeatureInverting" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:featureOwnedFeatureInverting ; + oslc:range oslc_sysmlv2:FeatureInverting ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted.

" . + +oslc_sysmlv2:featureOwnedRedefinition a oslc:Property ; + oslc:name "featureOwnedRedefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:featureOwnedRedefinition ; + oslc:range oslc_sysmlv2:Redefinition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature.

" . + +oslc_sysmlv2:featureOwnedReferenceSubsetting a oslc:Property ; + oslc:name "featureOwnedReferenceSubsetting" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:featureOwnedReferenceSubsetting ; + oslc:range oslc_sysmlv2:ReferenceSubsetting ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature.

" . + +oslc_sysmlv2:featureOwnedSubsetting a oslc:Property ; + oslc:name "featureOwnedSubsetting" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:featureOwnedSubsetting ; + oslc:range oslc_sysmlv2:Subsetting ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature.

" . + +oslc_sysmlv2:featureOwnedTypeFeaturing a oslc:Property ; + oslc:name "featureOwnedTypeFeaturing" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:featureOwnedTypeFeaturing ; + oslc:range oslc_sysmlv2:TypeFeaturing ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType.

" . + +oslc_sysmlv2:featureOwnedTyping a oslc:Property ; + oslc:name "featureOwnedTyping" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:featureOwnedTyping ; + oslc:range oslc_sysmlv2:FeatureTyping ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature.

" . + +oslc_sysmlv2:featureOwningFeatureMembership a oslc:Property ; + oslc:name "featureOwningFeatureMembership" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:featureOwningFeatureMembership ; + oslc:range oslc_sysmlv2:FeatureMembership ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType.

" . + +oslc_sysmlv2:featureOwningType a oslc:Property ; + oslc:name "featureOwningType" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:featureOwningType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Type that is the owningType of the owningFeatureMembership of this Feature.

" . + +oslc_sysmlv2:featureReferenceExpressionReferent a oslc:Property ; + oslc:name "featureReferenceExpressionReferent" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featureReferenceExpressionReferent ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that is referenced by this FeatureReferenceExpression, which is its first non-parameter member.

" . + +oslc_sysmlv2:featureType a oslc:Property ; + oslc:name "featureType" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:featureType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature.

" . + +oslc_sysmlv2:featureTypingOwningFeature a oslc:Property ; + oslc:name "featureTypingOwningFeature" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:featureTypingOwningFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

A typedFeature that is also the owningRelatedElement of this FeatureTyping.

" . + +oslc_sysmlv2:featureTypingType a oslc:Property ; + oslc:name "featureTypingType" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featureTypingType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Type that is being applied by this FeatureTyping.

" . + +oslc_sysmlv2:featureTypingTypedFeature a oslc:Property ; + oslc:name "featureTypingTypedFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featureTypingTypedFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that has a type determined by this FeatureTyping.

" . + +oslc_sysmlv2:featureValueFeatureWithValue a oslc:Property ; + oslc:name "featureValueFeatureWithValue" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featureValueFeatureWithValue ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature to be provided a value.

" . + +oslc_sysmlv2:featureValueIsDefault a oslc:Property ; + oslc:name "featureValueIsDefault" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featureValueIsDefault ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether this FeatureValue is a concrete specification of the bound or initial value of the featureWithValue, or just a default value that may be overridden.

" . + +oslc_sysmlv2:featureValueIsInitial a oslc:Property ; + oslc:name "featureValueIsInitial" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featureValueIsInitial ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether this FeatureValue specifies a bound value or an initial value for the featureWithValue.

" . + +oslc_sysmlv2:featureValueValue a oslc:Property ; + oslc:name "featureValueValue" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featureValueValue ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Expression that provides the value of the featureWithValue as its result.

" . + +oslc_sysmlv2:featuringFeature a oslc:Property ; + oslc:name "featuringFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featuringFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that is featured by the featuringType.

" . + +oslc_sysmlv2:featuringType a oslc:Property ; + oslc:name "featuringType" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:featuringType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Type that features the featureOfType.

" . + +oslc_sysmlv2:flowConnectionUsageFlowConnectionDefinition a oslc:Property ; + oslc:name "flowConnectionUsageFlowConnectionDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:flowConnectionUsageFlowConnectionDefinition ; + oslc:range oslc_sysmlv2:Interaction ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Interactions that are the types of this FlowConnectionUsage. Nominally, these are FlowConnectionDefinitions, but other kinds of Kernel Interactions are also allowed, to permit use of Interactions from the Kernel Model Libraries.

" . + +oslc_sysmlv2:forLoopActionUsageLoopVariable a oslc:Property ; + oslc:name "forLoopActionUsageLoopVariable" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:forLoopActionUsageLoopVariable ; + oslc:range oslc_sysmlv2:ReferenceUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedFeature of this ForLoopActionUsage that acts as the loop variable, which is assigned the successive values of the input sequence on each iteration. It is the ownedFeature that redefines ForLoopAction::var.

" . + +oslc_sysmlv2:forLoopActionUsageSeqArgument a oslc:Property ; + oslc:name "forLoopActionUsageSeqArgument" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:forLoopActionUsageSeqArgument ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Expression whose result provides the sequence of values to which the loopVariable is set for each iterative performance of the bodyAction. It is the Expression whose result is bound to the seq input parameter of this ForLoopActionUsage.

" . + +oslc_sysmlv2:framedConcernMembershipOwnedConcern a oslc:Property ; + oslc:name "framedConcernMembershipOwnedConcern" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:framedConcernMembershipOwnedConcern ; + oslc:range oslc_sysmlv2:ConcernUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConcernUsage that is the ownedConstraint of this FramedConcernMembership.

" . + +oslc_sysmlv2:framedConcernMembershipReferencedConcern a oslc:Property ; + oslc:name "framedConcernMembershipReferencedConcern" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:framedConcernMembershipReferencedConcern ; + oslc:range oslc_sysmlv2:ConcernUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConcernUsage that is referenced through this FramedConcernMembership. It is the referencedConstraint of the FramedConcernMembership considered as a RequirementConstraintMembership, which must be a ConcernUsage.

" . + +oslc_sysmlv2:functionExpression a oslc:Property ; + oslc:name "functionExpression" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:functionExpression ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Expressions that are steps in the calculation of the result of this Function.

" . + +oslc_sysmlv2:functionIsModelLevelEvaluable a oslc:Property ; + oslc:name "functionIsModelLevelEvaluable" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:functionIsModelLevelEvaluable ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether this Function can be used as the function of a model-level evaluable InvocationExpression. Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = true. For all other Functions it is false.

" . + +oslc_sysmlv2:functionResult a oslc:Property ; + oslc:name "functionResult" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:functionResult ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The result parameter of the Function, which is owned by the Function via a ReturnParameterMembership.

" . + +oslc_sysmlv2:ifActionUsageElseAction a oslc:Property ; + oslc:name "ifActionUsageElseAction" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:ifActionUsageElseAction ; + oslc:range oslc_sysmlv2:ActionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsage that is to be performed if the result of the ifArgument is false. It is the (optional) third parameter of the IfActionUsage.

" . + +oslc_sysmlv2:ifActionUsageIfArgument a oslc:Property ; + oslc:name "ifActionUsageIfArgument" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:ifActionUsageIfArgument ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Expression whose result determines whether the thenAction or (optionally) the elseAction is performed. It is the first parameter of the IfActionUsage.

" . + +oslc_sysmlv2:ifActionUsageThenAction a oslc:Property ; + oslc:name "ifActionUsageThenAction" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:ifActionUsageThenAction ; + oslc:range oslc_sysmlv2:ActionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsage that is to be performed if the result of the ifArgument is true. It is the second parameter of the IfActionUsage.

" . + +oslc_sysmlv2:importImportOwningNamespace a oslc:Property ; + oslc:name "importImportOwningNamespace" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:importImportOwningNamespace ; + oslc:range oslc_sysmlv2:Namespace ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Namespace into which Memberships are imported by this Import, which must be the owningRelatedElement of the Import.

" . + +oslc_sysmlv2:importImportedElement a oslc:Property ; + oslc:name "importImportedElement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:importImportedElement ; + oslc:range oslc_sysmlv2:Element ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The effectively imported Element for this Import. For a MembershipImport, this is the memberElement of the importedMembership. For a NamespaceImport, it is the importedNamespace.

" . + +oslc_sysmlv2:importIsImportAll a oslc:Property ; + oslc:name "importIsImportAll" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:importIsImportAll ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether to import memberships without regard to declared visibility.

" . + +oslc_sysmlv2:importIsRecursive a oslc:Property ; + oslc:name "importIsRecursive" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:importIsRecursive ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether to recursively import Memberships from visible, owned sub-Namespaces.

" . + +oslc_sysmlv2:importVisibility a oslc:Property ; + oslc:name "importVisibility" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:importVisibility ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

The visibility level of the imported members from this Import relative to the importOwningNamespace.

" . + +oslc_sysmlv2:includeUseCaseUsageUseCaseIncluded a oslc:Property ; + oslc:name "includeUseCaseUsageUseCaseIncluded" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:includeUseCaseUsageUseCaseIncluded ; + oslc:range oslc_sysmlv2:UseCaseUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The UseCaseUsage to be included by this IncludeUseCaseUsage. It is the performedAction of the IncludeUseCaseUsage considered as a PerformActionUsage, which must be a UseCaseUsage.

" . + +oslc_sysmlv2:interfaceDefinitionInterfaceEnd a oslc:Property ; + oslc:name "interfaceDefinitionInterfaceEnd" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:interfaceDefinitionInterfaceEnd ; + oslc:range oslc_sysmlv2:PortUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description """

The PortUsages that are the connectionEnds of this InterfaceDefinition.\r +\r +

""" . + +oslc_sysmlv2:interfaceUsageInterfaceDefinition a oslc:Property ; + oslc:name "interfaceUsageInterfaceDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:interfaceUsageInterfaceDefinition ; + oslc:range oslc_sysmlv2:InterfaceDefinition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The InterfaceDefinitions that type this InterfaceUsage.

" . + +oslc_sysmlv2:intersectingIntersectingType a oslc:Property ; + oslc:name "intersectingIntersectingType" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:intersectingIntersectingType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

Type that partly determines interpretations of typeIntersected, as described in Type::intersectingType.

" . + +oslc_sysmlv2:intersectingTypeIntersected a oslc:Property ; + oslc:name "intersectingTypeIntersected" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:intersectingTypeIntersected ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

Type with interpretations partly determined by intersectingType, as described in Type::intersectingType.

" . + +oslc_sysmlv2:invariantIsNegated a oslc:Property ; + oslc:name "invariantIsNegated" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:invariantIsNegated ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether this Invariant is asserted to be false rather than true.

" . + +oslc_sysmlv2:invocationExpressionArgument a oslc:Property ; + oslc:name "invocationExpressionArgument" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:invocationExpressionArgument ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The value Expressions of the FeatureValues of the owned input parameters of the InvocationExpression.

" . + +oslc_sysmlv2:invocationExpressionOperand a oslc:Property ; + oslc:name "invocationExpressionOperand" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:invocationExpressionOperand ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource . + +oslc_sysmlv2:itemFlowInteraction a oslc:Property ; + oslc:name "itemFlowInteraction" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:itemFlowInteraction ; + oslc:range oslc_sysmlv2:Interaction ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Interactions that type this ItemFlow. Interactions are both Associations and Behaviors, which can type Connectors and Steps, respectively.

" . + +oslc_sysmlv2:itemFlowItemFeature a oslc:Property ; + oslc:name "itemFlowItemFeature" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:itemFlowItemFeature ; + oslc:range oslc_sysmlv2:ItemFeature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedFeature of the ItemFlow that is an ItemFeature (if any).

" . + +oslc_sysmlv2:itemFlowItemFlowEnd a oslc:Property ; + oslc:name "itemFlowItemFlowEnd" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:itemFlowItemFlowEnd ; + oslc:range oslc_sysmlv2:ItemFlowEnd ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The connectorEnds of this ItemFlow that are ItemFlowEnds.

" . + +oslc_sysmlv2:itemFlowItemType a oslc:Property ; + oslc:name "itemFlowItemType" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:itemFlowItemType ; + oslc:range oslc_sysmlv2:Classifier ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The type of values transferred, which is the type of the itemFeature of the ItemFlow.

" . + +oslc_sysmlv2:itemFlowSourceOutputFeature a oslc:Property ; + oslc:name "itemFlowSourceOutputFeature" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:itemFlowSourceOutputFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that provides the items carried by the ItemFlow. It must be an owned output of the source of the ItemFlow.

" . + +oslc_sysmlv2:itemFlowTargetInputFeature a oslc:Property ; + oslc:name "itemFlowTargetInputFeature" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:itemFlowTargetInputFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that receives the values carried by the ItemFlow. It must be an owned output of the target participant of the ItemFlow.

" . + +oslc_sysmlv2:itemUsageItemDefinition a oslc:Property ; + oslc:name "itemUsageItemDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:itemUsageItemDefinition ; + oslc:range oslc_sysmlv2:Structure ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Structures that are the definitions of this ItemUsage. Nominally, these are ItemDefinitions, but other kinds of Kernel Structures are also allowed, to permit use of Structures from the Kernel Library.

" . + +oslc_sysmlv2:libraryPackageIsStandard a oslc:Property ; + oslc:name "libraryPackageIsStandard" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:libraryPackageIsStandard ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether this LibraryPackage contains a standard library model. This should only be set to true for LibraryPackages in the standard Kernel Model Libraries or in normative model libraries for a language built on KerML.

" . + +oslc_sysmlv2:literalBooleanValue a oslc:Property ; + oslc:name "literalBooleanValue" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:literalBooleanValue ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

The Boolean value that is the result of evaluating this LiteralBoolean.

" . + +oslc_sysmlv2:literalIntegerValue a oslc:Property ; + oslc:name "literalIntegerValue" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:literalIntegerValue ; + oslc:readOnly false ; + oslc:valueType xsd:integer ; + dcterms:description "

The Integer value that is the result of evaluating this LiteralInteger.

" . + +oslc_sysmlv2:literalRationalValue a oslc:Property ; + oslc:name "literalRationalValue" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:literalRationalValue ; + oslc:readOnly false ; + oslc:valueType xsd:float ; + dcterms:description "

The value whose rational approximation is the result of evaluating this LiteralRational.

" . + +oslc_sysmlv2:literalStringValue a oslc:Property ; + oslc:name "literalStringValue" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:literalStringValue ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

The String value that is the result of evaluating this LiteralString.

" . + +oslc_sysmlv2:loopActionUsageBodyAction a oslc:Property ; + oslc:name "loopActionUsageBodyAction" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:loopActionUsageBodyAction ; + oslc:range oslc_sysmlv2:ActionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsage to be performed repeatedly by the LoopActionUsage. It is the second parameter of the LoopActionUsage.

" . + +oslc_sysmlv2:membershipImportImportedMembership a oslc:Property ; + oslc:name "membershipImportImportedMembership" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:membershipImportImportedMembership ; + oslc:range oslc_sysmlv2:Membership ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Membership to be imported.

" . + +oslc_sysmlv2:membershipMemberElement a oslc:Property ; + oslc:name "membershipMemberElement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:membershipMemberElement ; + oslc:range oslc_sysmlv2:Element ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Element that becomes a member of the membershipOwningNamespace due to this Membership.

" . + +oslc_sysmlv2:membershipMemberElementId a oslc:Property ; + oslc:name "membershipMemberElementId" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:membershipMemberElementId ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

The elementId of the memberElement.

" . + +oslc_sysmlv2:membershipMemberName a oslc:Property ; + oslc:name "membershipMemberName" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:membershipMemberName ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

The name of the memberElement relative to the membershipOwningNamespace.

" . + +oslc_sysmlv2:membershipMemberShortName a oslc:Property ; + oslc:name "membershipMemberShortName" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:membershipMemberShortName ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

The short name of the memberElement relative to the membershipOwningNamespace.

" . + +oslc_sysmlv2:membershipMembershipOwningNamespace a oslc:Property ; + oslc:name "membershipMembershipOwningNamespace" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:membershipMembershipOwningNamespace ; + oslc:range oslc_sysmlv2:Namespace ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Namespace of which the memberElement becomes a member due to this Membership.

" . + +oslc_sysmlv2:membershipVisibility a oslc:Property ; + oslc:name "membershipVisibility" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:membershipVisibility ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

Whether or not the Membership of the memberElement in the membershipOwningNamespace is publicly visible outside that Namespace.

" . + +oslc_sysmlv2:metadataAccessExpressionReferencedElement a oslc:Property ; + oslc:name "metadataAccessExpressionReferencedElement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:metadataAccessExpressionReferencedElement ; + oslc:range oslc_sysmlv2:Element ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Element whose metadata is being accessed.

" . + +oslc_sysmlv2:metadataFeatureMetaclass a oslc:Property ; + oslc:name "metadataFeatureMetaclass" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:metadataFeatureMetaclass ; + oslc:range oslc_sysmlv2:Metaclass ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The type of this MetadataFeature, which must be a Metaclass.

" . + +oslc_sysmlv2:metadataUsageMetadataDefinition a oslc:Property ; + oslc:name "metadataUsageMetadataDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:metadataUsageMetadataDefinition ; + oslc:range oslc_sysmlv2:Metaclass ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The MetadataDefinition that is the definition of this MetadataUsage.

" . + +oslc_sysmlv2:multiplicityRangeBound a oslc:Property ; + oslc:name "multiplicityRangeBound" ; + oslc:occurs oslc:One-or-many ; + oslc:propertyDefinition oslc_sysmlv2:multiplicityRangeBound ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The owned Expressions of the MultiplicityRange whose results provide its bounds. These must be the only ownedMembers of the MultiplicityRange.

" . + +oslc_sysmlv2:multiplicityRangeLowerBound a oslc:Property ; + oslc:name "multiplicityRangeLowerBound" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:multiplicityRangeLowerBound ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Expression whose result provides the lower bound of the MultiplicityRange. If no lowerBound Expression is given, then the lower bound shall have the same value as the upper bound, unless the upper bound is unbounded (*), in which case the lower bound shall be 0.

" . + +oslc_sysmlv2:multiplicityRangeUpperBound a oslc:Property ; + oslc:name "multiplicityRangeUpperBound" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:multiplicityRangeUpperBound ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Expression whose result is the upper bound of the MultiplicityRange.

" . + +oslc_sysmlv2:namespaceImportImportedNamespace a oslc:Property ; + oslc:name "namespaceImportImportedNamespace" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:namespaceImportImportedNamespace ; + oslc:range oslc_sysmlv2:Namespace ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Namespace whose visible Memberships are imported by this NamespaceImport.

" . + +oslc_sysmlv2:namespaceImportedMembership a oslc:Property ; + oslc:name "namespaceImportedMembership" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:namespaceImportedMembership ; + oslc:range oslc_sysmlv2:Membership ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Memberships in this Namespace that result from the ownedImports of this Namespace.

" . + +oslc_sysmlv2:namespaceMember a oslc:Property ; + oslc:name "namespaceMember" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:namespaceMember ; + oslc:range oslc_sysmlv2:Element ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace.

" . + +oslc_sysmlv2:namespaceMembership a oslc:Property ; + oslc:name "namespaceMembership" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:namespaceMembership ; + oslc:range oslc_sysmlv2:Membership ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships.

" . + +oslc_sysmlv2:namespaceOwnedImport a oslc:Property ; + oslc:name "namespaceOwnedImport" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:namespaceOwnedImport ; + oslc:range oslc_sysmlv2:Import ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace.

" . + +oslc_sysmlv2:namespaceOwnedMember a oslc:Property ; + oslc:name "namespaceOwnedMember" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:namespaceOwnedMember ; + oslc:range oslc_sysmlv2:Element ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the .

" . + +oslc_sysmlv2:namespaceOwnedMembership a oslc:Property ; + oslc:name "namespaceOwnedMembership" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:namespaceOwnedMembership ; + oslc:range oslc_sysmlv2:Membership ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace.

" . + +oslc_sysmlv2:objectiveMembershipOwnedObjectiveRequirement a oslc:Property ; + oslc:name "objectiveMembershipOwnedObjectiveRequirement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:objectiveMembershipOwnedObjectiveRequirement ; + oslc:range oslc_sysmlv2:RequirementUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RequirementUsage that is the ownedMemberFeature of this RequirementUsage.

" . + +oslc_sysmlv2:occurrenceDefinitionIsIndividual a oslc:Property ; + oslc:name "occurrenceDefinitionIsIndividual" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:occurrenceDefinitionIsIndividual ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether this OccurrenceDefinition is constrained to represent single individual.

" . + +oslc_sysmlv2:occurrenceDefinitionLifeClass a oslc:Property ; + oslc:name "occurrenceDefinitionLifeClass" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:occurrenceDefinitionLifeClass ; + oslc:range oslc_sysmlv2:LifeClass ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

If isIndividual is true, a LifeClass that specializes this OccurrenceDefinition, restricting it to represent an individual.

" . + +oslc_sysmlv2:occurrenceUsageIndividualDefinition a oslc:Property ; + oslc:name "occurrenceUsageIndividualDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:occurrenceUsageIndividualDefinition ; + oslc:range oslc_sysmlv2:OccurrenceDefinition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The at most one occurrenceDefinition that has isIndividual = true.

" . + +oslc_sysmlv2:occurrenceUsageIsIndividual a oslc:Property ; + oslc:name "occurrenceUsageIsIndividual" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:occurrenceUsageIsIndividual ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition.

" . + +oslc_sysmlv2:occurrenceUsageOccurrenceDefinition a oslc:Property ; + oslc:name "occurrenceUsageOccurrenceDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:occurrenceUsageOccurrenceDefinition ; + oslc:range oslc_sysmlv2:Class ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries.

" . + +oslc_sysmlv2:occurrenceUsagePortionKind a oslc:Property ; + oslc:name "occurrenceUsagePortionKind" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:occurrenceUsagePortionKind ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted.

" . + +oslc_sysmlv2:operatorExpressionOperator a oslc:Property ; + oslc:name "operatorExpressionOperator" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:operatorExpressionOperator ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

An operator symbol that names a corresponding Function from one of the standard packages from the Kernel Function Library .

" . + +oslc_sysmlv2:owningMembershipOwnedMemberElement a oslc:Property ; + oslc:name "owningMembershipOwnedMemberElement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:owningMembershipOwnedMemberElement ; + oslc:range oslc_sysmlv2:Element ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Element that becomes an ownedMember of the membershipOwningNamespace due to this OwningMembership.

" . + +oslc_sysmlv2:owningMembershipOwnedMemberElementId a oslc:Property ; + oslc:name "owningMembershipOwnedMemberElementId" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:owningMembershipOwnedMemberElementId ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

The elementId of the ownedMemberElement.

" . + +oslc_sysmlv2:owningMembershipOwnedMemberName a oslc:Property ; + oslc:name "owningMembershipOwnedMemberName" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:owningMembershipOwnedMemberName ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

The name of the ownedMemberElement.

" . + +oslc_sysmlv2:owningMembershipOwnedMemberShortName a oslc:Property ; + oslc:name "owningMembershipOwnedMemberShortName" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:owningMembershipOwnedMemberShortName ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

The shortName of the ownedMemberElement.

" . + +oslc_sysmlv2:packageFilterCondition a oslc:Property ; + oslc:name "packageFilterCondition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:packageFilterCondition ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The model-level evaluable Boolean-valued Expression used to filter the members of this Package, which are owned by the Package are via ElementFilterMemberships.

" . + +oslc_sysmlv2:parameterMembershipOwnedMemberParameter a oslc:Property ; + oslc:name "parameterMembershipOwnedMemberParameter" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:parameterMembershipOwnedMemberParameter ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that is identified as a parameter by this ParameterMembership.

" . + +oslc_sysmlv2:partUsagePartDefinition a oslc:Property ; + oslc:name "partUsagePartDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:partUsagePartDefinition ; + oslc:range oslc_sysmlv2:PartDefinition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The itemDefinitions of this PartUsage that are PartDefinitions.

" . + +oslc_sysmlv2:performActionUsagePerformedAction a oslc:Property ; + oslc:name "performActionUsagePerformedAction" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:performActionUsagePerformedAction ; + oslc:range oslc_sysmlv2:ActionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsage to be performed by this PerformedActionUsage. It is the eventOccurrence of the PerformActionUsage considered as an EventOccurrenceUsage, which must be an ActionUsage.

" . + +oslc_sysmlv2:portConjugationConjugatedPortDefinition a oslc:Property ; + oslc:name "portConjugationConjugatedPortDefinition" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:portConjugationConjugatedPortDefinition ; + oslc:range oslc_sysmlv2:ConjugatedPortDefinition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConjugatedPortDefinition that is conjugate to the originalPortDefinition.

" . + +oslc_sysmlv2:portConjugationOriginalPortDefinition a oslc:Property ; + oslc:name "portConjugationOriginalPortDefinition" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:portConjugationOriginalPortDefinition ; + oslc:range oslc_sysmlv2:PortDefinition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The PortDefinition being conjugated.

" . + +oslc_sysmlv2:portDefinitionConjugatedPortDefinition a oslc:Property ; + oslc:name "portDefinitionConjugatedPortDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:portDefinitionConjugatedPortDefinition ; + oslc:range oslc_sysmlv2:ConjugatedPortDefinition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The that is conjugate to this PortDefinition.

" . + +oslc_sysmlv2:portUsagePortDefinition a oslc:Property ; + oslc:name "portUsagePortDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:portUsagePortDefinition ; + oslc:range oslc_sysmlv2:PortDefinition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The occurrenceDefinitions of this PortUsage, which must all be PortDefinitions.

" . + +oslc_sysmlv2:redefinitionRedefinedFeature a oslc:Property ; + oslc:name "redefinitionRedefinedFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:redefinitionRedefinedFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that is redefined by the redefiningFeature of this Redefinition.

" . + +oslc_sysmlv2:redefinitionRedefiningFeature a oslc:Property ; + oslc:name "redefinitionRedefiningFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:redefinitionRedefiningFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that is redefining the redefinedFeature of this Redefinition.

" . + +oslc_sysmlv2:referenceSubsettingReferencedFeature a oslc:Property ; + oslc:name "referenceSubsettingReferencedFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:referenceSubsettingReferencedFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that is referenced by the referencingFeature of this ReferenceSubsetting.

" . + +oslc_sysmlv2:referenceSubsettingReferencingFeature a oslc:Property ; + oslc:name "referenceSubsettingReferencingFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:referenceSubsettingReferencingFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that owns this ReferenceSubsetting relationship, which is also its subsettingFeature.

" . + +oslc_sysmlv2:relationshipIsImplied a oslc:Property ; + oslc:name "relationshipIsImplied" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:relationshipIsImplied ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler.

" . + +oslc_sysmlv2:relationshipOwnedRelatedElement a oslc:Property ; + oslc:name "relationshipOwnedRelatedElement" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:relationshipOwnedRelatedElement ; + oslc:range oslc_sysmlv2:Element ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The relatedElements of this Relationship that are owned by the Relationship.

" . + +oslc_sysmlv2:relationshipOwningRelatedElement a oslc:Property ; + oslc:name "relationshipOwningRelatedElement" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:relationshipOwningRelatedElement ; + oslc:range oslc_sysmlv2:Element ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The relatedElement of this Relationship that owns the Relationship, if any.

" . + +oslc_sysmlv2:relationshipRelatedElement a oslc:Property ; + oslc:name "relationshipRelatedElement" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:relationshipRelatedElement ; + oslc:range oslc_sysmlv2:Element ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship.

" . + +oslc_sysmlv2:relationshipSource a oslc:Property ; + oslc:name "relationshipSource" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:relationshipSource ; + oslc:range oslc_sysmlv2:Element ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The relatedElements from which this Relationship is considered to be directed.

" . + +oslc_sysmlv2:relationshipTarget a oslc:Property ; + oslc:name "relationshipTarget" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:relationshipTarget ; + oslc:range oslc_sysmlv2:Element ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The relatedElements to which this Relationship is considered to be directed.

" . + +oslc_sysmlv2:renderingDefinitionRendering a oslc:Property ; + oslc:name "renderingDefinitionRendering" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:renderingDefinitionRendering ; + oslc:range oslc_sysmlv2:RenderingUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The usages of a RenderingDefinition that are RenderingUsages.

" . + +oslc_sysmlv2:renderingUsageRenderingDefinition a oslc:Property ; + oslc:name "renderingUsageRenderingDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:renderingUsageRenderingDefinition ; + oslc:range oslc_sysmlv2:RenderingDefinition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RenderingDefinition that is the definition of this RenderingUsage.

" . + +oslc_sysmlv2:requirementConstraintMembershipKind a oslc:Property ; + oslc:name "requirementConstraintMembershipKind" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:requirementConstraintMembershipKind ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

Whether the RequirementConstraintMembership is for an assumed or required ConstraintUsage.

" . + +oslc_sysmlv2:requirementConstraintMembershipOwnedConstraint a oslc:Property ; + oslc:name "requirementConstraintMembershipOwnedConstraint" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:requirementConstraintMembershipOwnedConstraint ; + oslc:range oslc_sysmlv2:ConstraintUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConstraintUsage that is the ownedMemberFeature of this RequirementConstraintMembership.

" . + +oslc_sysmlv2:requirementConstraintMembershipReferencedConstraint a oslc:Property ; + oslc:name "requirementConstraintMembershipReferencedConstraint" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:requirementConstraintMembershipReferencedConstraint ; + oslc:range oslc_sysmlv2:ConstraintUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConstraintUsage that is referenced through this RequirementConstraintMembership. It is the referencedFeature of the ownedReferenceSubsetting of the ownedConstraint, if there is one, and, otherwise, the ownedConstraint itself.

" . + +oslc_sysmlv2:requirementDefinitionActorParameter a oslc:Property ; + oslc:name "requirementDefinitionActorParameter" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:requirementDefinitionActorParameter ; + oslc:range oslc_sysmlv2:PartUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The parameters of this RequirementDefinition that represent actors involved in the requirement.

" . + +oslc_sysmlv2:requirementDefinitionAssumedConstraint a oslc:Property ; + oslc:name "requirementDefinitionAssumedConstraint" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:requirementDefinitionAssumedConstraint ; + oslc:range oslc_sysmlv2:ConstraintUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The owned ConstraintUsages that represent assumptions of this RequirementDefinition, which are the ownedConstraints of the RequirementConstraintMemberships of the RequirementDefinition with kind = assumption.

" . + +oslc_sysmlv2:requirementDefinitionFramedConcern a oslc:Property ; + oslc:name "requirementDefinitionFramedConcern" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:requirementDefinitionFramedConcern ; + oslc:range oslc_sysmlv2:ConcernUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConcernUsages framed by this RequirementDefinition, which are the ownedConcerns of all FramedConcernMemberships of the RequirementDefinition.

" . + +oslc_sysmlv2:requirementDefinitionReqId a oslc:Property ; + oslc:name "requirementDefinitionReqId" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:requirementDefinitionReqId ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

An optional modeler-specified identifier for this RequirementDefinition (used, e.g., to link it to an original requirement text in some source document), which is the declaredShortName for the RequirementDefinition.

" . + +oslc_sysmlv2:requirementDefinitionRequiredConstraint a oslc:Property ; + oslc:name "requirementDefinitionRequiredConstraint" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:requirementDefinitionRequiredConstraint ; + oslc:range oslc_sysmlv2:ConstraintUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The owned ConstraintUsages that represent requirements of this RequirementDefinition, derived as the ownedConstraints of the RequirementConstraintMemberships of the RequirementDefinition with kind = requirement.

" . + +oslc_sysmlv2:requirementDefinitionStakeholderParameter a oslc:Property ; + oslc:name "requirementDefinitionStakeholderParameter" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:requirementDefinitionStakeholderParameter ; + oslc:range oslc_sysmlv2:PartUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The parameters of this RequirementDefinition that represent stakeholders for th requirement.

" . + +oslc_sysmlv2:requirementDefinitionSubjectParameter a oslc:Property ; + oslc:name "requirementDefinitionSubjectParameter" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:requirementDefinitionSubjectParameter ; + oslc:range oslc_sysmlv2:Usage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The parameter of this RequirementDefinition that represents its subject.

" . + +oslc_sysmlv2:requirementDefinitionText a oslc:Property ; + oslc:name "requirementDefinitionText" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:requirementDefinitionText ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

An optional textual statement of the requirement represented by this RequirementDefinition, derived from the bodies of the documentation of the RequirementDefinition.

" . + +oslc_sysmlv2:requirementUsageActorParameter a oslc:Property ; + oslc:name "requirementUsageActorParameter" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:requirementUsageActorParameter ; + oslc:range oslc_sysmlv2:PartUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The parameters of this RequirementUsage that represent actors involved in the requirement.

" . + +oslc_sysmlv2:requirementUsageAssumedConstraint a oslc:Property ; + oslc:name "requirementUsageAssumedConstraint" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:requirementUsageAssumedConstraint ; + oslc:range oslc_sysmlv2:ConstraintUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The owned ConstraintUsages that represent assumptions of this RequirementUsage, derived as the ownedConstraints of the RequirementConstraintMemberships of the RequirementUsage with kind = assumption.

" . + +oslc_sysmlv2:requirementUsageFramedConcern a oslc:Property ; + oslc:name "requirementUsageFramedConcern" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:requirementUsageFramedConcern ; + oslc:range oslc_sysmlv2:ConcernUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConcernUsages framed by this RequirementUsage, which are the ownedConcerns of all FramedConcernMemberships of the RequirementUsage.

" . + +oslc_sysmlv2:requirementUsageReqId a oslc:Property ; + oslc:name "requirementUsageReqId" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:requirementUsageReqId ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

An optional modeler-specified identifier for this RequirementUsage (used, e.g., to link it to an original requirement text in some source document), which is the declaredShortName for the RequirementUsage.

" . + +oslc_sysmlv2:requirementUsageRequiredConstraint a oslc:Property ; + oslc:name "requirementUsageRequiredConstraint" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:requirementUsageRequiredConstraint ; + oslc:range oslc_sysmlv2:ConstraintUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The owned ConstraintUsages that represent requirements of this RequirementUsage, which are the ownedConstraints of the RequirementConstraintMemberships of the RequirementUsage with kind = requirement.

" . + +oslc_sysmlv2:requirementUsageRequirementDefinition a oslc:Property ; + oslc:name "requirementUsageRequirementDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:requirementUsageRequirementDefinition ; + oslc:range oslc_sysmlv2:RequirementDefinition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RequirementDefinition that is the single definition of this RequirementUsage.

" . + +oslc_sysmlv2:requirementUsageStakeholderParameter a oslc:Property ; + oslc:name "requirementUsageStakeholderParameter" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:requirementUsageStakeholderParameter ; + oslc:range oslc_sysmlv2:PartUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The parameters of this RequirementUsage that represent stakeholders for the requirement.

" . + +oslc_sysmlv2:requirementUsageSubjectParameter a oslc:Property ; + oslc:name "requirementUsageSubjectParameter" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:requirementUsageSubjectParameter ; + oslc:range oslc_sysmlv2:Usage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The parameter of this RequirementUsage that represents its subject.

" . + +oslc_sysmlv2:requirementUsageText a oslc:Property ; + oslc:name "requirementUsageText" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:requirementUsageText ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

An optional textual statement of the requirement represented by this RequirementUsage, derived from the bodies of the documentation of the RequirementUsage.

" . + +oslc_sysmlv2:requirementVerificationMembershipOwnedRequirement a oslc:Property ; + oslc:name "requirementVerificationMembershipOwnedRequirement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:requirementVerificationMembershipOwnedRequirement ; + oslc:range oslc_sysmlv2:RequirementUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The owned RequirementUsage that acts as the ownedConstraint for this RequirementVerificationMembership. This will either be the verifiedRequirement, or it will subset the verifiedRequirement.

" . + +oslc_sysmlv2:requirementVerificationMembershipVerifiedRequirement a oslc:Property ; + oslc:name "requirementVerificationMembershipVerifiedRequirement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:requirementVerificationMembershipVerifiedRequirement ; + oslc:range oslc_sysmlv2:RequirementUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RequirementUsage that is identified as being verified. It is the referencedConstraint of the RequirementVerificationMembership considered as a RequirementConstraintMembership, which must be a RequirementUsage.

" . + +oslc_sysmlv2:resultExpressionMembershipOwnedResultExpression a oslc:Property ; + oslc:name "resultExpressionMembershipOwnedResultExpression" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:resultExpressionMembershipOwnedResultExpression ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Expression that provides the result for the owner of the ResultExpressionMembership.

" . + +oslc_sysmlv2:satisfyRequirementUsageSatisfiedRequirement a oslc:Property ; + oslc:name "satisfyRequirementUsageSatisfiedRequirement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:satisfyRequirementUsageSatisfiedRequirement ; + oslc:range oslc_sysmlv2:RequirementUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RequirementUsage that is satisfied by the satisfyingSubject of this SatisfyRequirementUsage. It is the assertedConstraint of the SatisfyRequirementUsage considered as an AssertConstraintUsage, which must be a RequirementUsage.

" . + +oslc_sysmlv2:satisfyRequirementUsageSatisfyingFeature a oslc:Property ; + oslc:name "satisfyRequirementUsageSatisfyingFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:satisfyRequirementUsageSatisfyingFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that represents the actual subject that is asserted to satisfy the satisfiedRequirement. The satisfyingFeature is bound to the subjectParameter of the SatisfyRequirementUsage.

" . + +oslc_sysmlv2:sendActionUsagePayloadArgument a oslc:Property ; + oslc:name "sendActionUsagePayloadArgument" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:sendActionUsagePayloadArgument ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

An Expression whose result is bound to the payload input parameter of this SendActionUsage.

" . + +oslc_sysmlv2:sendActionUsageReceiverArgument a oslc:Property ; + oslc:name "sendActionUsageReceiverArgument" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:sendActionUsageReceiverArgument ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

An Expression whose result is bound to the receiver input parameter of this SendActionUsage.

" . + +oslc_sysmlv2:sendActionUsageSenderArgument a oslc:Property ; + oslc:name "sendActionUsageSenderArgument" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:sendActionUsageSenderArgument ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

An Expression whose result is bound to the sender input parameter of this SendActionUsage.

" . + +oslc_sysmlv2:specializationGeneral a oslc:Property ; + oslc:name "specializationGeneral" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:specializationGeneral ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

A Type with a superset of all instances of the specific Type, which might be the same set.

" . + +oslc_sysmlv2:specializationOwningType a oslc:Property ; + oslc:name "specializationOwningType" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:specializationOwningType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Type that is the specific Type of this Specialization and owns it as its owningRelatedElement.

" . + +oslc_sysmlv2:specializationSpecific a oslc:Property ; + oslc:name "specializationSpecific" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:specializationSpecific ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

A Type with a subset of all instances of the general Type, which might be the same set.

" . + +oslc_sysmlv2:stakeholderMembershipOwnedStakeholderParameter a oslc:Property ; + oslc:name "stakeholderMembershipOwnedStakeholderParameter" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:stakeholderMembershipOwnedStakeholderParameter ; + oslc:range oslc_sysmlv2:PartUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The PartUsage specifying the stakeholder.

" . + +oslc_sysmlv2:stateDefinitionDoAction a oslc:Property ; + oslc:name "stateDefinitionDoAction" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:stateDefinitionDoAction ; + oslc:range oslc_sysmlv2:ActionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsage of this StateDefinition to be performed while in the state defined by the StateDefinition. It is the owned ActionUsage related to the StateDefinition by a StateSubactionMembership with kind = do.

" . + +oslc_sysmlv2:stateDefinitionEntryAction a oslc:Property ; + oslc:name "stateDefinitionEntryAction" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:stateDefinitionEntryAction ; + oslc:range oslc_sysmlv2:ActionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsage of this StateDefinition to be performed on entry to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateDefinition by a StateSubactionMembership with kind = entry.

" . + +oslc_sysmlv2:stateDefinitionExitAction a oslc:Property ; + oslc:name "stateDefinitionExitAction" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:stateDefinitionExitAction ; + oslc:range oslc_sysmlv2:ActionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsage of this StateDefinition to be performed on exit to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateDefinition by a StateSubactionMembership with kind = exit.

" . + +oslc_sysmlv2:stateDefinitionIsParallel a oslc:Property ; + oslc:name "stateDefinitionIsParallel" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:stateDefinitionIsParallel ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether the ownedStates of this StateDefinition are to all be performed in parallel. If true, none of the ownedActions (which includes ownedStates) may have any incoming or outgoing Transitions. If false, only one ownedState may be performed at a time.

" . + +oslc_sysmlv2:stateDefinitionState a oslc:Property ; + oslc:name "stateDefinitionState" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:stateDefinitionState ; + oslc:range oslc_sysmlv2:StateUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The StateUsages, which are actions in the StateDefinition, that specify the discrete states in the behavior defined by the StateDefinition.

" . + +oslc_sysmlv2:stateSubactionMembershipAction a oslc:Property ; + oslc:name "stateSubactionMembershipAction" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:stateSubactionMembershipAction ; + oslc:range oslc_sysmlv2:ActionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsage that is the ownedMemberFeature of this StateSubactionMembership.

" . + +oslc_sysmlv2:stateSubactionMembershipKind a oslc:Property ; + oslc:name "stateSubactionMembershipKind" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:stateSubactionMembershipKind ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

Whether this StateSubactionMembership is for an entry, do or exit ActionUsage.

" . + +oslc_sysmlv2:stateUsageDoAction a oslc:Property ; + oslc:name "stateUsageDoAction" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:stateUsageDoAction ; + oslc:range oslc_sysmlv2:ActionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsage of this StateUsage to be performed while in the state defined by the StateDefinition. It is the owned ActionUsage related to the StateUsage by a StateSubactionMembership with kind = do.

" . + +oslc_sysmlv2:stateUsageEntryAction a oslc:Property ; + oslc:name "stateUsageEntryAction" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:stateUsageEntryAction ; + oslc:range oslc_sysmlv2:ActionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsage of this StateUsage to be performed on entry to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateUsage by a StateSubactionMembership with kind = entry.

" . + +oslc_sysmlv2:stateUsageExitAction a oslc:Property ; + oslc:name "stateUsageExitAction" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:stateUsageExitAction ; + oslc:range oslc_sysmlv2:ActionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsage of this StateUsage to be performed on exit to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateUsage by a StateSubactionMembership with kind = exit.

" . + +oslc_sysmlv2:stateUsageIsParallel a oslc:Property ; + oslc:name "stateUsageIsParallel" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:stateUsageIsParallel ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether the nestedStates of this StateUsage are to all be performed in parallel. If true, none of the nestedActions (which include nestedStates) may have any incoming or outgoing Transitions. If false, only one nestedState may be performed at a time.

" . + +oslc_sysmlv2:stateUsageStateDefinition a oslc:Property ; + oslc:name "stateUsageStateDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:stateUsageStateDefinition ; + oslc:range oslc_sysmlv2:Behavior ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Behaviors that are the types of this StateUsage. Nominally, these would be StateDefinitions, but kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries.

" . + +oslc_sysmlv2:stepBehavior a oslc:Property ; + oslc:name "stepBehavior" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:stepBehavior ; + oslc:range oslc_sysmlv2:Behavior ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Behaviors that type this Step.

" . + +oslc_sysmlv2:stepParameter a oslc:Property ; + oslc:name "stepParameter" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:stepParameter ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step.

" . + +oslc_sysmlv2:subclassificationOwningClassifier a oslc:Property ; + oslc:name "subclassificationOwningClassifier" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:subclassificationOwningClassifier ; + oslc:range oslc_sysmlv2:Classifier ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Classifier that owns this Subclassification relationship, which must also be its subclassifier.

" . + +oslc_sysmlv2:subclassificationSubclassifier a oslc:Property ; + oslc:name "subclassificationSubclassifier" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:subclassificationSubclassifier ; + oslc:range oslc_sysmlv2:Classifier ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The more specific Classifier in this Subclassification.

" . + +oslc_sysmlv2:subclassificationSuperclassifier a oslc:Property ; + oslc:name "subclassificationSuperclassifier" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:subclassificationSuperclassifier ; + oslc:range oslc_sysmlv2:Classifier ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The more general Classifier in this Subclassification.

" . + +oslc_sysmlv2:subjectMembershipOwnedSubjectParameter a oslc:Property ; + oslc:name "subjectMembershipOwnedSubjectParameter" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:subjectMembershipOwnedSubjectParameter ; + oslc:range oslc_sysmlv2:Usage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The UsageownedMemberParameter of this SubjectMembership.

" . + +oslc_sysmlv2:subsettingOwningFeature a oslc:Property ; + oslc:name "subsettingOwningFeature" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:subsettingOwningFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

A subsettingFeature that is also the owningRelatedElement of this Subsetting.

" . + +oslc_sysmlv2:subsettingSubsettedFeature a oslc:Property ; + oslc:name "subsettingSubsettedFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:subsettingSubsettedFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that is subsetted by the subsettingFeature of this Subsetting.

" . + +oslc_sysmlv2:subsettingSubsettingFeature a oslc:Property ; + oslc:name "subsettingSubsettingFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:subsettingSubsettingFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that is a subset of the subsettedFeature of this Subsetting.

" . + +oslc_sysmlv2:successionEffectStep a oslc:Property ; + oslc:name "successionEffectStep" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:successionEffectStep ; + oslc:range oslc_sysmlv2:Step ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

Steps that represent occurrences that are side effects of the transitionStep occurring.

" . + +oslc_sysmlv2:successionGuardExpression a oslc:Property ; + oslc:name "successionGuardExpression" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:successionGuardExpression ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

Expressions that must evaluate to true before the transitionStep can occur.

" . + +oslc_sysmlv2:successionTransitionStep a oslc:Property ; + oslc:name "successionTransitionStep" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:successionTransitionStep ; + oslc:range oslc_sysmlv2:Step ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

A Step that is typed by the Behavior TransitionPerformances::TransitionPerformance (from the Kernel Semantic Library) that has this Succession as its transitionLink.

" . + +oslc_sysmlv2:successionTriggerStep a oslc:Property ; + oslc:name "successionTriggerStep" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:successionTriggerStep ; + oslc:range oslc_sysmlv2:Step ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

Steps that map incoming events to the timing of occurrences of the transitionStep. The values of triggerStep subset the list of acceptable events to be received by a Behavior or the object that performs it.

" . + +oslc_sysmlv2:textualRepresentationBody a oslc:Property ; + oslc:name "textualRepresentationBody" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:textualRepresentationBody ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

The textual representation of the representedElement in the given language.

" . + +oslc_sysmlv2:textualRepresentationLanguage a oslc:Property ; + oslc:name "textualRepresentationLanguage" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:textualRepresentationLanguage ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

The natural or artifical language in which the body text is written.

" . + +oslc_sysmlv2:textualRepresentationRepresentedElement a oslc:Property ; + oslc:name "textualRepresentationRepresentedElement" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:textualRepresentationRepresentedElement ; + oslc:range oslc_sysmlv2:Element ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Element that is represented by this TextualRepresentation.

" . + +oslc_sysmlv2:transitionFeatureMembershipKind a oslc:Property ; + oslc:name "transitionFeatureMembershipKind" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:transitionFeatureMembershipKind ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

Whether this TransitionFeatureMembership is for a trigger, guard or effect.

" . + +oslc_sysmlv2:transitionFeatureMembershipTransitionFeature a oslc:Property ; + oslc:name "transitionFeatureMembershipTransitionFeature" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:transitionFeatureMembershipTransitionFeature ; + oslc:range oslc_sysmlv2:Step ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Step that is the ownedMemberFeature of this TransitionFeatureMembership.

" . + +oslc_sysmlv2:transitionUsageEffectAction a oslc:Property ; + oslc:name "transitionUsageEffectAction" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:transitionUsageEffectAction ; + oslc:range oslc_sysmlv2:ActionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsages that define the effects of this TransitionUsage, which are the ownedFeatures of the TransitionUsage related to it by TransitionFeatureMemberships with kind = effect, which must all be ActionUsages.

" . + +oslc_sysmlv2:transitionUsageGuardExpression a oslc:Property ; + oslc:name "transitionUsageGuardExpression" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:transitionUsageGuardExpression ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Expressions that define the guards of this TransitionUsage, which are the ownedFeatures of the TransitionUsage related to it by TransitionFeatureMemberships with kind = guard, which must all be Expressions.

" . + +oslc_sysmlv2:transitionUsageSource a oslc:Property ; + oslc:name "transitionUsageSource" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:transitionUsageSource ; + oslc:range oslc_sysmlv2:ActionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The source ActionUsage of this TransitionUsage, which becomes the source of the succession for the TransitionUsage.

" . + +oslc_sysmlv2:transitionUsageSuccession a oslc:Property ; + oslc:name "transitionUsageSuccession" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:transitionUsageSuccession ; + oslc:range oslc_sysmlv2:Succession ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Succession that is the ownedFeature of this TransitionUsage, which, if the TransitionUsage is triggered, asserts the temporal ordering of the source and target.

" . + +oslc_sysmlv2:transitionUsageTarget a oslc:Property ; + oslc:name "transitionUsageTarget" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:transitionUsageTarget ; + oslc:range oslc_sysmlv2:ActionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The target ActionUsage of this TransitionUsage, which is the targetFeature of the succession for the TransitionUsage.

" . + +oslc_sysmlv2:transitionUsageTriggerAction a oslc:Property ; + oslc:name "transitionUsageTriggerAction" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:transitionUsageTriggerAction ; + oslc:range oslc_sysmlv2:AcceptActionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The AcceptActionUsages that define the triggers of this TransitionUsage, which are the ownedFeatures of the TransitionUsage related to it by TransitionFeatureMemberships with kind = trigger, which must all be AcceptActionUsages.

" . + +oslc_sysmlv2:triggerInvocationExpressionKind a oslc:Property ; + oslc:name "triggerInvocationExpressionKind" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:triggerInvocationExpressionKind ; + oslc:readOnly false ; + oslc:valueType xsd:string ; + dcterms:description "

Indicates which of the Functions from the Triggers model in the Kernel Semantic Library is to be invoked by this TriggerInvocationExpression.

" . + +oslc_sysmlv2:typeDifferencingType a oslc:Property ; + oslc:name "typeDifferencingType" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:typeDifferencingType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex).

" . + +oslc_sysmlv2:typeDirectedFeature a oslc:Property ; + oslc:name "typeDirectedFeature" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:typeDirectedFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The features of this Type that have a non-null direction.

" . + +oslc_sysmlv2:typeEndFeature a oslc:Property ; + oslc:name "typeEndFeature" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:typeEndFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

All features of this Type with isEnd = true.

" . + +oslc_sysmlv2:typeFeature a oslc:Property ; + oslc:name "typeFeature" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:typeFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedMemberFeatures of the featureMemberships of this Type.

" . + +oslc_sysmlv2:typeFeatureMembership a oslc:Property ; + oslc:name "typeFeatureMembership" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:typeFeatureMembership ; + oslc:range oslc_sysmlv2:FeatureMembership ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships).

" . + +oslc_sysmlv2:typeFeaturingFeatureOfType a oslc:Property ; + oslc:name "typeFeaturingFeatureOfType" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:typeFeaturingFeatureOfType ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Feature that is featured by the featuringType. It is the source of the TypeFeaturing.

" . + +oslc_sysmlv2:typeFeaturingFeaturingType a oslc:Property ; + oslc:name "typeFeaturingFeaturingType" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:typeFeaturingFeaturingType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Type that features the featureOfType. It is the target of the TypeFeaturing.

" . + +oslc_sysmlv2:typeFeaturingOwningFeatureOfType a oslc:Property ; + oslc:name "typeFeaturingOwningFeatureOfType" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:typeFeaturingOwningFeatureOfType ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

A featureOfType that is also the owningRelatedElement of this TypeFeaturing.

" . + +oslc_sysmlv2:typeInheritedFeature a oslc:Property ; + oslc:name "typeInheritedFeature" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:typeInheritedFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships.

" . + +oslc_sysmlv2:typeInheritedMembership a oslc:Property ; + oslc:name "typeInheritedMembership" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:typeInheritedMembership ; + oslc:range oslc_sysmlv2:Membership ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type.

" . + +oslc_sysmlv2:typeInput a oslc:Property ; + oslc:name "typeInput" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:typeInput ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

All features related to this Type by FeatureMemberships that have direction in or inout.

" . + +oslc_sysmlv2:typeIntersectingType a oslc:Property ; + oslc:name "typeIntersectingType" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:typeIntersectingType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex).

" . + +oslc_sysmlv2:typeIsAbstract a oslc:Property ; + oslc:name "typeIsAbstract" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:typeIsAbstract ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Indicates whether instances of this Type must also be instances of at least one of its specialized Types.

" . + +oslc_sysmlv2:typeIsConjugated a oslc:Property ; + oslc:name "typeIsConjugated" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:typeIsConjugated ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Indicates whether this Type has an ownedConjugator.

" . + +oslc_sysmlv2:typeIsSufficient a oslc:Property ; + oslc:name "typeIsSufficient" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:typeIsSufficient ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether all things that meet the classification conditions of this Type must be classified by the Type.

" . + +oslc_sysmlv2:typeMultiplicity a oslc:Property ; + oslc:name "typeMultiplicity" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:typeMultiplicity ; + oslc:range oslc_sysmlv2:Multiplicity ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes.

" . + +oslc_sysmlv2:typeOutput a oslc:Property ; + oslc:name "typeOutput" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:typeOutput ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

All features related to this Type by FeatureMemberships that have direction out or inout.

" . + +oslc_sysmlv2:typeOwnedConjugator a oslc:Property ; + oslc:name "typeOwnedConjugator" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:typeOwnedConjugator ; + oslc:range oslc_sysmlv2:Conjugation ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

A Conjugation owned by this Type for which the Type is the originalType.

" . + +oslc_sysmlv2:typeOwnedDifferencing a oslc:Property ; + oslc:name "typeOwnedDifferencing" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:typeOwnedDifferencing ; + oslc:range oslc_sysmlv2:Differencing ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced.

" . + +oslc_sysmlv2:typeOwnedDisjoining a oslc:Property ; + oslc:name "typeOwnedDisjoining" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:typeOwnedDisjoining ; + oslc:range oslc_sysmlv2:Disjoining ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type.

" . + +oslc_sysmlv2:typeOwnedEndFeature a oslc:Property ; + oslc:name "typeOwnedEndFeature" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:typeOwnedEndFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

All endFeatures of this Type that are ownedFeatures.

" . + +oslc_sysmlv2:typeOwnedFeature a oslc:Property ; + oslc:name "typeOwnedFeature" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:typeOwnedFeature ; + oslc:range oslc_sysmlv2:Feature ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedMemberFeatures of the ownedFeatureMemberships of this Type.

" . + +oslc_sysmlv2:typeOwnedFeatureMembership a oslc:Property ; + oslc:name "typeOwnedFeatureMembership" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:typeOwnedFeatureMembership ; + oslc:range oslc_sysmlv2:FeatureMembership ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type.

" . + +oslc_sysmlv2:typeOwnedIntersecting a oslc:Property ; + oslc:name "typeOwnedIntersecting" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:typeOwnedIntersecting ; + oslc:range oslc_sysmlv2:Intersecting ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected.

" . + +oslc_sysmlv2:typeOwnedSpecialization a oslc:Property ; + oslc:name "typeOwnedSpecialization" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:typeOwnedSpecialization ; + oslc:range oslc_sysmlv2:Specialization ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type.

" . + +oslc_sysmlv2:typeOwnedUnioning a oslc:Property ; + oslc:name "typeOwnedUnioning" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:typeOwnedUnioning ; + oslc:range oslc_sysmlv2:Unioning ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned.

" . + +oslc_sysmlv2:typeUnioningType a oslc:Property ; + oslc:name "typeUnioningType" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:typeUnioningType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general.

" . + +oslc_sysmlv2:unioningTypeUnioned a oslc:Property ; + oslc:name "unioningTypeUnioned" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:unioningTypeUnioned ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

Type with interpretations partly determined by unioningType, as described in Type::unioningType.

" . + +oslc_sysmlv2:unioningUnioningType a oslc:Property ; + oslc:name "unioningUnioningType" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:unioningUnioningType ; + oslc:range oslc_sysmlv2:Type ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

Type that partly determines interpretations of typeUnioned, as described in Type::unioningType.

" . + +oslc_sysmlv2:usageDefinition a oslc:Property ; + oslc:name "usageDefinition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageDefinition ; + oslc:range oslc_sysmlv2:Classifier ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries.

" . + +oslc_sysmlv2:usageDirectedUsage a oslc:Property ; + oslc:name "usageDirectedUsage" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageDirectedUsage ; + oslc:range oslc_sysmlv2:Usage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The usages of this Usage that are directedFeatures.

" . + +oslc_sysmlv2:usageIsReference a oslc:Property ; + oslc:name "usageIsReference" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:usageIsReference ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether this Usage is a referential Usage, that is, it has isComposite = false.

" . + +oslc_sysmlv2:usageIsVariation a oslc:Property ; + oslc:name "usageIsVariation" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:usageIsVariation ; + oslc:readOnly false ; + oslc:valueType xsd:boolean ; + dcterms:description "

Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships.

" . + +oslc_sysmlv2:usageNestedAction a oslc:Property ; + oslc:name "usageNestedAction" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedAction ; + oslc:range oslc_sysmlv2:ActionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ActionUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedAllocation a oslc:Property ; + oslc:name "usageNestedAllocation" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedAllocation ; + oslc:range oslc_sysmlv2:AllocationUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The AllocationUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedAnalysisCase a oslc:Property ; + oslc:name "usageNestedAnalysisCase" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedAnalysisCase ; + oslc:range oslc_sysmlv2:AnalysisCaseUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The AnalysisCaseUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedAttribute a oslc:Property ; + oslc:name "usageNestedAttribute" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedAttribute ; + oslc:range oslc_sysmlv2:AttributeUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The code>AttributeUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedCalculation a oslc:Property ; + oslc:name "usageNestedCalculation" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedCalculation ; + oslc:range oslc_sysmlv2:CalculationUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The CalculationUsage that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedCase a oslc:Property ; + oslc:name "usageNestedCase" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedCase ; + oslc:range oslc_sysmlv2:CaseUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The CaseUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedConcern a oslc:Property ; + oslc:name "usageNestedConcern" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedConcern ; + oslc:range oslc_sysmlv2:ConcernUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConcernUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedConnection a oslc:Property ; + oslc:name "usageNestedConnection" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedConnection ; + oslc:range oslc_sysmlv2:ConnectorAsUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages and SuccessionAsUsages, even though these are ConnectorAsUsages but not ConnectionUsages.

" . + +oslc_sysmlv2:usageNestedConstraint a oslc:Property ; + oslc:name "usageNestedConstraint" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedConstraint ; + oslc:range oslc_sysmlv2:ConstraintUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ConstraintUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedEnumeration a oslc:Property ; + oslc:name "usageNestedEnumeration" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedEnumeration ; + oslc:range oslc_sysmlv2:EnumerationUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The code>EnumerationUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedFlow a oslc:Property ; + oslc:name "usageNestedFlow" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedFlow ; + oslc:range oslc_sysmlv2:FlowConnectionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The code>FlowConnectionUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedInterface a oslc:Property ; + oslc:name "usageNestedInterface" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedInterface ; + oslc:range oslc_sysmlv2:InterfaceUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The InterfaceUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedItem a oslc:Property ; + oslc:name "usageNestedItem" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedItem ; + oslc:range oslc_sysmlv2:ItemUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ItemUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedMetadata a oslc:Property ; + oslc:name "usageNestedMetadata" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedMetadata ; + oslc:range oslc_sysmlv2:MetadataUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The MetadataUsages that are nestedUsages of this of this Usage.

" . + +oslc_sysmlv2:usageNestedOccurrence a oslc:Property ; + oslc:name "usageNestedOccurrence" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedOccurrence ; + oslc:range oslc_sysmlv2:OccurrenceUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The OccurrenceUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedPart a oslc:Property ; + oslc:name "usageNestedPart" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedPart ; + oslc:range oslc_sysmlv2:PartUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The PartUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedPort a oslc:Property ; + oslc:name "usageNestedPort" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedPort ; + oslc:range oslc_sysmlv2:PortUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The PortUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedReference a oslc:Property ; + oslc:name "usageNestedReference" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedReference ; + oslc:range oslc_sysmlv2:ReferenceUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ReferenceUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedRendering a oslc:Property ; + oslc:name "usageNestedRendering" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedRendering ; + oslc:range oslc_sysmlv2:RenderingUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RenderingUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedRequirement a oslc:Property ; + oslc:name "usageNestedRequirement" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedRequirement ; + oslc:range oslc_sysmlv2:RequirementUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RequirementUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedState a oslc:Property ; + oslc:name "usageNestedState" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedState ; + oslc:range oslc_sysmlv2:StateUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The StateUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedTransition a oslc:Property ; + oslc:name "usageNestedTransition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedTransition ; + oslc:range oslc_sysmlv2:TransitionUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The TransitionUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedUsage a oslc:Property ; + oslc:name "usageNestedUsage" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedUsage ; + oslc:range oslc_sysmlv2:Usage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Usages that are ownedFeatures of this Usage.

" . + +oslc_sysmlv2:usageNestedUseCase a oslc:Property ; + oslc:name "usageNestedUseCase" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedUseCase ; + oslc:range oslc_sysmlv2:UseCaseUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The UseCaseUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedVerificationCase a oslc:Property ; + oslc:name "usageNestedVerificationCase" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedVerificationCase ; + oslc:range oslc_sysmlv2:VerificationCaseUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The VerificationCaseUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedView a oslc:Property ; + oslc:name "usageNestedView" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedView ; + oslc:range oslc_sysmlv2:ViewUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ViewUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageNestedViewpoint a oslc:Property ; + oslc:name "usageNestedViewpoint" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageNestedViewpoint ; + oslc:range oslc_sysmlv2:ViewpointUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ViewpointUsages that are nestedUsages of this Usage.

" . + +oslc_sysmlv2:usageOwningDefinition a oslc:Property ; + oslc:name "usageOwningDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:usageOwningDefinition ; + oslc:range oslc_sysmlv2:Definition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Definition that owns this Usage (if any).

" . + +oslc_sysmlv2:usageOwningUsage a oslc:Property ; + oslc:name "usageOwningUsage" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:usageOwningUsage ; + oslc:range oslc_sysmlv2:Usage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Usage in which this Usage is nested (if any).

" . + +oslc_sysmlv2:usageUsage a oslc:Property ; + oslc:name "usageUsage" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageUsage ; + oslc:range oslc_sysmlv2:Usage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Usages that are features of this Usage (not necessarily owned).

" . + +oslc_sysmlv2:usageVariant a oslc:Property ; + oslc:name "usageVariant" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageVariant ; + oslc:range oslc_sysmlv2:Usage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants.

" . + +oslc_sysmlv2:usageVariantMembership a oslc:Property ; + oslc:name "usageVariantMembership" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:usageVariantMembership ; + oslc:range oslc_sysmlv2:VariantMembership ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty.

" . + +oslc_sysmlv2:useCaseDefinitionIncludedUseCase a oslc:Property ; + oslc:name "useCaseDefinitionIncludedUseCase" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:useCaseDefinitionIncludedUseCase ; + oslc:range oslc_sysmlv2:UseCaseUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The UseCaseUsages that are included by this UseCaseDefinition, which are the useCaseIncludeds of the IncludeUseCaseUsages owned by this UseCaseDefinition.

" . + +oslc_sysmlv2:useCaseUsageIncludedUseCase a oslc:Property ; + oslc:name "useCaseUsageIncludedUseCase" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:useCaseUsageIncludedUseCase ; + oslc:range oslc_sysmlv2:UseCaseUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The UseCaseUsages that are included by this UseCaseUse, which are the useCaseIncludeds of the IncludeUseCaseUsages owned by this UseCaseUsage.

" . + +oslc_sysmlv2:useCaseUsageUseCaseDefinition a oslc:Property ; + oslc:name "useCaseUsageUseCaseDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:useCaseUsageUseCaseDefinition ; + oslc:range oslc_sysmlv2:UseCaseDefinition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The UseCaseDefinition that is the definition of this UseCaseUsage.

" . + +oslc_sysmlv2:variantMembershipOwnedVariantUsage a oslc:Property ; + oslc:name "variantMembershipOwnedVariantUsage" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:variantMembershipOwnedVariantUsage ; + oslc:range oslc_sysmlv2:Usage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Usage that represents a variant in the context of the owningVariationDefinition or owningVariationUsage.

" . + +oslc_sysmlv2:verificationCaseDefinitionVerifiedRequirement a oslc:Property ; + oslc:name "verificationCaseDefinitionVerifiedRequirement" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:verificationCaseDefinitionVerifiedRequirement ; + oslc:range oslc_sysmlv2:RequirementUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RequirementUsages verified by this VerificationCaseDefinition, which are the verifiedRequirements of all RequirementVerificationMemberships of the objectiveRequirement.

" . + +oslc_sysmlv2:verificationCaseUsageVerificationCaseDefinition a oslc:Property ; + oslc:name "verificationCaseUsageVerificationCaseDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:verificationCaseUsageVerificationCaseDefinition ; + oslc:range oslc_sysmlv2:VerificationCaseDefinition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The VerificationCase that is the definition of this VerificationCaseUsage.

" . + +oslc_sysmlv2:verificationCaseUsageVerifiedRequirement a oslc:Property ; + oslc:name "verificationCaseUsageVerifiedRequirement" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:verificationCaseUsageVerifiedRequirement ; + oslc:range oslc_sysmlv2:RequirementUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RequirementUsages verified by this VerificationCaseUsage, which are the verifiedRequirements of all RequirementVerificationMemberships of the objectiveRequirement.

" . + +oslc_sysmlv2:viewDefinitionSatisfiedViewpoint a oslc:Property ; + oslc:name "viewDefinitionSatisfiedViewpoint" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:viewDefinitionSatisfiedViewpoint ; + oslc:range oslc_sysmlv2:ViewpointUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The composite ownedRequirements of this ViewDefinition that are ViewpointUsages for viewpoints satisfied by the ViewDefinition.

" . + +oslc_sysmlv2:viewDefinitionView a oslc:Property ; + oslc:name "viewDefinitionView" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:viewDefinitionView ; + oslc:range oslc_sysmlv2:ViewUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The usages of this ViewDefinition that are ViewUsages.

" . + +oslc_sysmlv2:viewDefinitionViewCondition a oslc:Property ; + oslc:name "viewDefinitionViewCondition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:viewDefinitionViewCondition ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Expressions related to this ViewDefinition by ElementFilterMemberships, which specify conditions on Elements to be rendered in a view.

" . + +oslc_sysmlv2:viewDefinitionViewRendering a oslc:Property ; + oslc:name "viewDefinitionViewRendering" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:viewDefinitionViewRendering ; + oslc:range oslc_sysmlv2:RenderingUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RenderingUsage to be used to render views defined by this ViewDefinition, which is the referencedRendering of the ViewRenderingMembership of the ViewDefinition.

" . + +oslc_sysmlv2:viewRenderingMembershipOwnedRendering a oslc:Property ; + oslc:name "viewRenderingMembershipOwnedRendering" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:viewRenderingMembershipOwnedRendering ; + oslc:range oslc_sysmlv2:RenderingUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The owned RenderingUsage that is either itself the referencedRendering or subsets the referencedRendering.

" . + +oslc_sysmlv2:viewRenderingMembershipReferencedRendering a oslc:Property ; + oslc:name "viewRenderingMembershipReferencedRendering" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:viewRenderingMembershipReferencedRendering ; + oslc:range oslc_sysmlv2:RenderingUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RenderingUsage that is referenced through this ViewRenderingMembership. It is the referencedFeature of the ownedReferenceSubsetting for the ownedRendering, if there is one, and, otherwise, the ownedRendering itself.

" . + +oslc_sysmlv2:viewUsageExposedElement a oslc:Property ; + oslc:name "viewUsageExposedElement" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:viewUsageExposedElement ; + oslc:range oslc_sysmlv2:Element ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Elements that are exposed by this ViewUsage, which are those memberElements of the imported Memberships from all the Expose Relationships that meet all the owned and inherited viewConditions.

" . + +oslc_sysmlv2:viewUsageSatisfiedViewpoint a oslc:Property ; + oslc:name "viewUsageSatisfiedViewpoint" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:viewUsageSatisfiedViewpoint ; + oslc:range oslc_sysmlv2:ViewpointUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The nestedRequirements of this ViewUsage that are ViewpointUsages for (additional) viewpoints satisfied by the ViewUsage.

" . + +oslc_sysmlv2:viewUsageViewCondition a oslc:Property ; + oslc:name "viewUsageViewCondition" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:viewUsageViewCondition ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Expressions related to this ViewUsage by ElementFilterMemberships, which specify conditions on Elements to be rendered in a view.

" . + +oslc_sysmlv2:viewUsageViewDefinition a oslc:Property ; + oslc:name "viewUsageViewDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:viewUsageViewDefinition ; + oslc:range oslc_sysmlv2:ViewDefinition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ViewDefinition that is the definition of this ViewUsage.

" . + +oslc_sysmlv2:viewUsageViewRendering a oslc:Property ; + oslc:name "viewUsageViewRendering" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:viewUsageViewRendering ; + oslc:range oslc_sysmlv2:RenderingUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The RenderingUsage to be used to render views defined by this ViewUsage, which is the referencedRendering of the ViewRenderingMembership of the ViewUsage.

" . + +oslc_sysmlv2:viewpointDefinitionViewpointStakeholder a oslc:Property ; + oslc:name "viewpointDefinitionViewpointStakeholder" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:viewpointDefinitionViewpointStakeholder ; + oslc:range oslc_sysmlv2:PartUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The PartUsages that identify the stakeholders with concerns framed by this ViewpointDefinition, which are the owned and inherited stakeholderParameters of the framedConcerns of this ViewpointDefinition.

" . + +oslc_sysmlv2:viewpointUsageViewpointDefinition a oslc:Property ; + oslc:name "viewpointUsageViewpointDefinition" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:viewpointUsageViewpointDefinition ; + oslc:range oslc_sysmlv2:ViewpointDefinition ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The ViewpointDefinition that is the definition of this ViewpointUsage.

" . + +oslc_sysmlv2:viewpointUsageViewpointStakeholder a oslc:Property ; + oslc:name "viewpointUsageViewpointStakeholder" ; + oslc:occurs oslc:Zero-or-many ; + oslc:propertyDefinition oslc_sysmlv2:viewpointUsageViewpointStakeholder ; + oslc:range oslc_sysmlv2:PartUsage ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The PartUsages that identify the stakeholders with concerns framed by this ViewpointUsage, which are the owned and inherited stakeholderParameters of the framedConcerns of this ViewpointUsage.

" . + +oslc_sysmlv2:whileLoopActionUsageUntilArgument a oslc:Property ; + oslc:name "whileLoopActionUsageUntilArgument" ; + oslc:occurs oslc:Zero-or-one ; + oslc:propertyDefinition oslc_sysmlv2:whileLoopActionUsageUntilArgument ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Expression whose result, if false, determines that the bodyAction should continue to be performed. It is the (optional) third owned parameter of the WhileLoopActionUsage.

" . + +oslc_sysmlv2:whileLoopActionUsageWhileArgument a oslc:Property ; + oslc:name "whileLoopActionUsageWhileArgument" ; + oslc:occurs oslc:Exactly-one ; + oslc:propertyDefinition oslc_sysmlv2:whileLoopActionUsageWhileArgument ; + oslc:range oslc_sysmlv2:Expression ; + oslc:readOnly false ; + oslc:valueType oslc:Resource ; + dcterms:description "

The Expression whose result, if true, determines that the bodyAction should continue to be performed. It is the first owned parameter of the WhileLoopActionUsage.

" . + diff --git a/specs/sysml/sysml-spec.html b/specs/sysml/sysml-spec.html index 1e7dbce..25f31c0 100644 --- a/specs/sysml/sysml-spec.html +++ b/specs/sysml/sysml-spec.html @@ -2,7 +2,7 @@ - OSLC Systems Modeling Language Version 2.0. Part 2: Vocabulary + OSLC Systems Modeling Language Version 2.0. Part 1: Specification . -@prefix rdfs: . -@prefix owl: . -@prefix dcterms: . -@prefix vann: . - -@prefix oslc_am: . -@prefix oslc_sysmlv2: . - -oslc_sysmlv2: - a owl:Ontology ; - dcterms:title "OSLC SysML v2 Vocabulary" ; - rdfs:label "OSLC SysML v2 Vocabulary" ; - dcterms:description "All vocabulary URIs defined in the OSLC SysML v2 namespace."^^rdf:XMLLiteral ; - vann:preferredNamespacePrefix "oslc_sysmlv2" ; - dcterms:publisher ; - dcterms:issued "2022-07-11"^^ ; - dcterms:license ; - dcterms:source ; - dcterms:isPartOf ; - dcterms:hasVersion "WD" ; - dcterms:dateCopyrighted "2012-2024" . - - - - - a rdf:Property ; - rdfs:comment """

The Memberships in this Namespace that result from the ownedImports of this Namespace.

-""" ; - rdfs:label "namespaceImportedMembership" . - - - a rdfs:Class ; - rdfs:comment """

An AnnotatingElement is an Element that provides additional description of or metadata on some other Element. An AnnotatingElement is either attached to its annotatedElements by Annotation Relationships, or it implicitly annotates its owningNamespace.

- -annotatedElement = - if annotation->notEmpty() then annotation.annotatedElement - else Sequence{owningNamespace} endif -ownedAnnotatingRelationship = ownedRelationship-> - selectByKind(Annotation)-> - select(a | a.annotatingElement = self)""" ; - rdfs:label "AnnotatingElement" . - - - a rdf:Property ; - rdfs:comment "

The PartUsages that identify the stakeholders with concerns framed by this ViewpointUsage, which are the owned and inherited stakeholderParameters of the framedConcerns of this ViewpointUsage.

" ; - rdfs:label "viewpointUsageViewpointStakeholder" . - - - a rdf:Property ; - rdfs:comment "

The PartUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedPart" . - - - a rdf:Property ; - rdfs:comment """

Steps that represent occurrences that are side effects of the transitionStep occurring.

-""" ; - rdfs:label "successionEffectStep" . - - - a rdf:Property ; - rdfs:comment """

The ConcernUsages that are nestedUsages of this Usage.

-""" ; - rdfs:label "usageNestedConcern" . - - - a rdfs:Class ; - rdfs:comment """

An EventOccurrenceUsage is an OccurrenceUsage that represents another OccurrenceUsage occurring as a suboccurrence of the containing occurrence of the EventOccurrenceUsage. Unless it is the EventOccurrenceUsage itself, the referenced OccurrenceUsage is related to the EventOccurrenceUsage by a ReferenceSubsetting Relationship.

- -

If the EventOccurrenceUsage is owned by an OccurrenceDefinition or OccurrenceUsage, then it also subsets the timeEnclosedOccurrences property of the Class Occurrence from the Kernel Semantic Library model Occurrences.

-eventOccurrence = - if ownedReferenceSubsetting = null then self - else if ownedReferenceSubsetting.referencedFeature.oclIsKindOf(OccurrenceUsage) then - ownedReferenceSubsetting.referencedFeature.oclAsType(OccurrenceUsage) - else null - endif endif -ownedReferenceSubsetting <> null implies - ownedReferenceSubsetting.referencedFeature.oclIsKindOf(OccurrenceUsage) -owningType <> null and -(owningType.oclIsKindOf(OccurrenceDefinition) or - owningType.oclIsKindOf(OccurrenceUsage)) implies - specializesFromLibrary('Occurrences::Occurrence::timeEnclosedOccurrences') -isReference""" ; - rdfs:label "EventOccurrenceUsage" . - - - a rdf:Property ; - rdfs:comment """

Whether this Function can be used as the function of a model-level evaluable InvocationExpression. Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = true. For all other Functions it is false.

- -

Note: See the specification of the KerML concrete syntax notation for Expressions for an identification of which library Functions are model-level evaluable.

""" ; - rdfs:label "functionIsModelLevelEvaluable" . - - - a rdfs:Class ; - rdfs:comment """

A ConjugatedPortDefinition is a PortDefinition that is a PortDefinition of its original PortDefinition. That is, a ConjugatedPortDefinition inherits all the features of the original PortDefinition, but input flows of the original PortDefinition become outputs on the ConjugatedPortDefinition and output flows of the original PortDefinition become inputs on the ConjugatedPortDefinition. Every PortDefinition (that is not itself a ConjugatedPortDefinition) has exactly one corresponding ConjugatedPortDefinition, whose effective name is the name of the originalPortDefinition, with the character ~ prepended.

-ownedPortConjugator.originalPortDefinition = originalPortDefinition -conjugatedPortDefinition = null""" ; - rdfs:label "ConjugatedPortDefinition" . - - - a rdf:Property ; - rdfs:comment "

The VerificationCase that is the definition of this VerificationCaseUsage.

" ; - rdfs:label "verificationCaseUsageVerificationCaseDefinition" . - - - a rdfs:Class ; - rdfs:comment """

An ActionDefinition is a Definition that is also a Behavior that defines an Action performed by a system or part of a system.

-specializesFromLibrary('Actions::Action') -action = usage->selectByKind(ActionUsage)""" ; - rdfs:label "ActionDefinition" . - - - a rdfs:Class ; - rdfs:comment """

A ReturnParameterMembership is a ParameterMembership that indicates that the ownedMemberParameter is the result parameter of a Function or Expression. The direction of the ownedMemberParameter must be out.

- -owningType.oclIsKindOf(Function) or owningType.oclIsKindOf(Expression)""" ; - rdfs:label "ReturnParameterMembership" . - - - a rdf:Property ; - rdfs:comment "

The source ActionUsage of this TransitionUsage, which becomes the source of the succession for the TransitionUsage.

" ; - rdfs:label "transitionUsageSource" . - - - a rdf:Property ; - rdfs:comment "

The annotatingElement of this Annotation, when it is also its owningRelatedElement.

" ; - rdfs:label "annotationOwningAnnotatingElement" . - - - a rdfs:Class ; - rdfs:comment "

A SuccessionAsUsage is both a ConnectorAsUsage and a Succession.

" ; - rdfs:label "SuccessionAsUsage" . - - - a rdf:Property ; - rdfs:comment "

The that is conjugate to this PortDefinition.

" ; - rdfs:label "portDefinitionConjugatedPortDefinition" . - - - a rdf:Property ; - rdfs:comment """

Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances.

-""" ; - rdfs:label "featureIsPortion" . - - - a rdfs:Class ; - rdfs:comment """

An InvocationExpression is an Expression each of whose input parameters are bound to the result of an argument Expression.

- -not ownedTyping->exists(oclIsKindOf(Behavior)) and -not ownedSubsetting.subsettedFeature.type->exists(oclIsKindOf(Behavior)) implies - ownedFeature.selectByKind(BindingConnector)->exists( - relatedFeature->includes(self) and - relatedFeature->includes(result)) - -TBD -ownedFeature-> - select(direction = _'in').valuation-> - select(v | v <> null).value -let features : Set(Feature) = type.feature->asSet() in -input->forAll(inp | - inp.ownedRedefinition.redefinedFeature-> - intersection(features)->size() = 1) -let features : Set(Feature) = type.feature->asSet() in -input->forAll(inp1 | input->forAll(inp2 | - inp1 <> inp2 implies - inp1.ownedRedefinition.redefinedFeature-> - intersection(inp2.ownedRedefinition.redefinedFeature)-> - intersection(features)->isEmpty()))""" ; - rdfs:label "InvocationExpression" . - - - a rdf:Property ; - rdfs:comment "

The ActionUsage of this StateUsage to be performed on entry to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateUsage by a StateSubactionMembership with kind = entry.

" ; - rdfs:label "stateUsageEntryAction" . - - - a rdfs:Class ; - rdfs:comment """

A RequirementDefinition is a ConstraintDefinition that defines a requirement used in the context of a specification as a constraint that a valid solution must satisfy. The specification is relative to a specified subject, possibly in collaboration with one or more external actors.

-text = documentation.body -assumedConstraint = ownedFeatureMembership-> - selectByKind(RequirementConstraintMembership)-> - select(kind = RequirementConstraintKind::assumption). - ownedConstraint -requiredConstraint = ownedFeatureMembership-> - selectByKind(RequirementConstraintMembership)-> - select(kind = RequirementConstraintKind::requirement). - ownedConstraint -subjectParameter = - let subjects : OrderedSet(SubjectMembership) = - featureMembership->selectByKind(SubjectMembership) in - if subjects->isEmpty() then null - else subjects->first().ownedSubjectParameter - endif -framedConcern = featureMembership-> - selectByKind(FramedConcernMembership). - ownedConcern -actorParameter = featureMembership-> - selectByKind(ActorMembership). - ownedActorParameter -stakeholderParameter = featureMembership-> - selectByKind(StakholderMembership). - ownedStakeholderParameter -featureMembership-> - selectByKind(SubjectMembership)-> - size() <= 1 -input->notEmpty() and input->first() = subjectParameter -specializesFromLibrary('Requirements::RequirementCheck')""" ; - rdfs:label "RequirementDefinition" . - - - a rdf:Property ; - rdfs:comment """

The Feature to be provided a value.

- -

The Feature to be provided a value.

""" ; - rdfs:label "featureValueFeatureWithValue" . - - - a rdfs:Class ; - rdfs:comment """

An ItemFlowEnd is a Feature that is one of the connectorEnds giving the source or target of an ItemFlow. For ItemFlows typed by FlowTransfer or its specializations, ItemFlowEnds must have exactly one ownedFeature, which redefines Transfer::source::sourceOutput or Transfer::target::targetInput and redefines the corresponding feature of the relatedElement for its end.

-isEnd -ownedFeature->size() = 1 -owningType <> null and owningType.oclIsKindOf(ItemFlow)""" ; - rdfs:label "ItemFlowEnd" . - - - a rdf:Property ; - rdfs:comment "

The ViewDefinition that is the definition of this ViewUsage.

" ; - rdfs:label "viewUsageViewDefinition" . - - - a rdfs:Class ; - rdfs:comment """

A Connector is a usage of Associations, with links restricted according to instances of the Type in which they are used (domain of the Connector). The associations of the Connector restrict what kinds of things might be linked. The Connector further restricts these links to be between values of Features on instances of its domain.

- -relatedFeature = connectorEnd.ownedReferenceSubsetting-> - select(s | s <> null).subsettedFeature -relatedFeature->forAll(f | - if featuringType->isEmpty() then f.isFeaturedWithin(null) - else featuringType->forAll(t | f.isFeaturedWithin(t)) - endif) -sourceFeature = - if relatedFeature->isEmpty() then null - else relatedFeature->first() - endif -targetFeature = - if relatedFeature->size() < 2 then OrderedSet{} - else - relatedFeature-> - subSequence(2, relatedFeature->size())-> - asOrderedSet() - endif -not isAbstract implies relatedFeature->size() >= 2 -specializesFromLibrary('Links::links') -association->exists(oclIsKindOf(AssociationStructure)) implies - specializesFromLibrary('Objects::linkObjects') -connectorEnds->size() = 2 and -association->exists(oclIsKindOf(AssocationStructure)) implies - specializesFromLibrary('Objects::binaryLinkObjects') -connectorEnd->size() = 2 implies - specializesFromLibrary('Links::binaryLinks') -connectorEnds->size() > 2 implies - not specializesFromLibrary('Links::BinaryLink')""" ; - rdfs:label "Connector" . - - - a rdf:Property ; - rdfs:comment "

The AllocationUsages that refine the allocation mapping defined by this AllocationDefinition.

" ; - rdfs:label "allocationDefinitionAllocation" . - - - a rdfs:Class ; - rdfs:comment """

A FlowConnectionDefinition is a ConnectionDefinition and ActionDefinition that is also an Interaction representing flows between Usages.

-specializesFromLibrary('Connections::MessageConnection')""" ; - rdfs:label "FlowConnectionDefinition" . - - - a rdf:Property ; - rdfs:comment "

The AcceptActionUsages that define the triggers of this TransitionUsage, which are the ownedFeatures of the TransitionUsage related to it by TransitionFeatureMemberships with kind = trigger, which must all be AcceptActionUsages.

" ; - rdfs:label "transitionUsageTriggerAction" . - - - a rdf:Property ; - rdfs:comment "

The Expressions related to this ViewUsage by ElementFilterMemberships, which specify conditions on Elements to be rendered in a view.

" ; - rdfs:label "viewUsageViewCondition" . - - - a rdfs:Class ; - rdfs:comment """

A VariantMembership is a Membership between a variation point Definition or Usage and a Usage that represents a variant in the context of that variation. The membershipOwningNamespace for the VariantMembership must be either a Definition or a Usage with isVariation = true.

-membershipOwningNamespace.oclIsKindOf(Definition) and - membershipOwningNamespace.oclAsType(Definition).isVariation or -membershipOwningNamespace.oclIsKindOf(Usage) and - membershipOwningNamespace.oclAsType(Usage).isVariation -""" ; - rdfs:label "VariantMembership" . - - - a rdfs:Class ; - rdfs:comment """

A NullExpression is an Expression that results in a null value.

- -specializesFromLibrary('Performances::nullEvaluations')""" ; - rdfs:label "NullExpression" . - - - a rdfs:Class ; - rdfs:comment """

A LiteralString is a LiteralExpression that provides a String value as a result. Its result parameter must have the type String.

- -specializesFromLibrary('Performances::literalStringEvaluations')""" ; - rdfs:label "LiteralString" . - - - a rdf:Property ; - rdfs:comment """

The owningRelationship of this Element, if that Relationship is a Membership.

-""" ; - rdfs:label "elementOwningMembership" . - - - a rdf:Property ; - rdfs:comment "

The Element or Elements dependent on the supplier Elements.

" ; - rdfs:label "dependencyClient" . - - - a rdfs:Class ; - rdfs:comment "

An EnumerationUsage is an AttributeUsage whose attributeDefinition is an EnumerationDefinition.

" ; - rdfs:label "EnumerationUsage" . - - - a rdfs:Class ; - rdfs:comment """

An OperatorExpression is an InvocationExpression whose function is determined by resolving its operator in the context of one of the standard packages from the Kernel Function Library.

-let libFunctions : Sequence(Element) = - Sequence{'BaseFunctions', 'DataFunctions', 'ControlFunctions'}-> - collect(ns | resolveGlobal(ns + \"::'\" + operator + \"'\"). - memberElement) in -libFunctions->includes(function) - -""" ; - rdfs:label "OperatorExpression" . - - - a rdfs:Class ; - rdfs:comment """

A BooleanExpression is a Boolean-valued Expression whose type is a Predicate. It represents a logical condition resulting from the evaluation of the Predicate.

- -specializesFromLibrary('Performances::booleanEvaluations')""" ; - rdfs:label "BooleanExpression" . - - - a rdf:Property ; - rdfs:comment "

The StateUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedState" . - - - a rdf:Property ; - rdfs:comment """

Whether or not the Membership of the memberElement in the membershipOwningNamespace is publicly visible outside that Namespace.

-""" ; - rdfs:label "membershipVisibility" . - - - a rdf:Property ; - rdfs:comment """

The CalculationUsage that are nestedUsages of this Usage.

-""" ; - rdfs:label "usageNestedCalculation" . - - - a rdfs:Class ; - rdfs:comment """

A StateDefinition is the Definition of the Behavior of a system or part of a system in a certain state condition.

- -

A StateDefinition may be related to up to three of its ownedFeatures by StateBehaviorMembership Relationships, all of different kinds, corresponding to the entry, do and exit actions of the StateDefinition.

-specializesFromLibrary('States::StateAction') -ownedMembership-> - selectByKind(StateSubactionMembership)-> - isUnique(kind) -state = action->selectByKind(StateUsage) -doAction = - let doMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::do) in - if doMemberships->isEmpty() then null - else doMemberships->at(1) - endif -entryAction = - let entryMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::entry) in - if entryMemberships->isEmpty() then null - else entryMemberships->at(1) - endif -isParallel implies - ownedAction.incomingTransition->isEmpty() and - ownedAction.outgoingTransition->isEmpty() -exitAction = - let exitMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::exit) in - if exitMemberships->isEmpty() then null - else exitMemberships->at(1) - endif""" ; - rdfs:label "StateDefinition" . - - - a rdfs:Class ; - rdfs:comment "

A NamespaceExpose is an Expose Relationship that exposes the Memberships of a specific importedNamespace and, if isRecursive = true, additional Memberships recursively.

" ; - rdfs:label "NamespaceExpose" . - - - a rdf:Property ; - rdfs:comment "

Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler.

" ; - rdfs:label "relationshipIsImplied" . - - - a rdfs:Class ; - rdfs:comment """

Specialization is a Relationship between two Types that requires all instances of the specific type to also be instances of the general Type (i.e., the set of instances of the specific Type is a subset of those of the general Type, which might be the same set).

- -not specific.isConjugated""" ; - rdfs:label "Specialization" . - - - a rdf:Property ; - rdfs:comment "

The Usages that are features of this Usage (not necessarily owned).

" ; - rdfs:label "usageUsage" . - - - a rdf:Property ; - rdfs:comment """

An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context.

-""" ; - rdfs:label "elementDeclaredShortName" . - - - a rdf:Property ; - rdfs:comment "

The parameters of this CaseDefinition that represent actors involved in the case.

" ; - rdfs:label "caseDefinitionActorParameter" . - - - a rdf:Property ; - rdfs:comment """

A featureInverted that is also the owningRelatedElement of this FeatureInverting.

-""" ; - rdfs:label "featureInvertingOwningFeature" . - - - a rdf:Property ; - rdfs:comment "

The RenderingUsage that is referenced through this ViewRenderingMembership. It is the referencedFeature of the ownedReferenceSubsetting for the ownedRendering, if there is one, and, otherwise, the ownedRendering itself.

" ; - rdfs:label "viewRenderingMembershipReferencedRendering" . - - - a rdf:Property ; - rdfs:comment """

The Type that owns this FeatureMembership.

-""" ; - rdfs:label "featureMembershipOwningType" . - - - a rdf:Property ; - rdfs:comment "

The ConnectorAsUsages that are ownedUsages of this Definition. Note that this list includes BindingConnectorAsUsages and SuccessionAsUsages, even though these are ConnectorAsUsages but not ConnectionUsages.

" ; - rdfs:label "definitionOwnedConnection" . - - - a rdf:Property ; - rdfs:comment """

The Function that types this Expression.

- -

This is the Function that types the Expression.

-""" ; - rdfs:label "expressionFunction" . - - - a rdfs:Class ; - rdfs:comment """

A LibraryPackage is a Package that is the container for a model library. A LibraryPackage is itself a library Element as are all Elements that are directly or indirectly contained in it.

-""" ; - rdfs:label "LibraryPackage" . - - - a rdf:Property ; - rdfs:comment "

The PartUsages that are nestedUsages of this Usage.

" ; - rdfs:label "usageNestedPart" . - - - a rdf:Property ; - rdfs:comment "

The Usages which represent the variants of this Definition as a variation point Definition, if isVariation = true. If isVariation = false, the there must be no variants.

" ; - rdfs:label "definitionVariant" . - - - a rdf:Property ; - rdfs:comment """

The type of values transferred, which is the type of the itemFeature of the ItemFlow.

- -""" ; - rdfs:label "itemFlowItemType" . - - - a rdf:Property ; - rdfs:comment """

The ViewUsages that are nestedUsages of this Usage.

-""" ; - rdfs:label "usageNestedView" . - - - a rdf:Property ; - rdfs:comment "

The code>EnumerationUsages that are nestedUsages of this Usage.

" ; - rdfs:label "usageNestedEnumeration" . - - - a rdf:Property ; - rdfs:comment """

The Integer value that is the result of evaluating this LiteralInteger.

-

The Integer value that is the result of evaluating this Expression.

-""" ; - rdfs:label "literalIntegerValue" . - - - a rdf:Property ; - rdfs:comment "

Whether this Element is contained in the ownership tree of a library model.

" ; - rdfs:label "elementIsLibraryElement" . - - - a rdf:Property ; - rdfs:comment """

All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type.

-""" ; - rdfs:label "typeInheritedMembership" . - - - a rdf:Property ; - rdfs:comment "

The CalculationUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedCalculation" . - - - a rdfs:Class ; - rdfs:comment """

A ViewpointUsage is a Usage of a ViewpointDefinition.

- - -viewpointStakeholder = framedConcern.featureMemberhsip-> - selectByKind(StakeholderMembership). - ownedStakeholderParameter -specializesFromLibrary('Views::viewpoints') -isComposite and owningType <> null and -(owningType.oclIsKindOf(ViewDefinition) or - owningType.oclIsKindOf(ViewUsage)) implies - specializesFromLibrary('Views::View::viewpointSatisfactions')""" ; - rdfs:label "ViewpointUsage" . - - - a rdfs:Class ; - rdfs:comment """

A ConnectionDefinition is a PartDefinition that is also an AssociationStructure. The end Features of a ConnectionDefinition must be Usages.

-specializesFromLibrary('Connections::Connection') -ownedEndFeature->size() = 2 implies - specializesFromLibrary('Connections::BinaryConnections')""" ; - rdfs:label "ConnectionDefinition" . - - - a rdfs:Class ; - rdfs:comment """

A Relationship is an Element that relates other Element. Some of its relatedElements may be owned, in which case those ownedRelatedElements will be deleted from a model if their owningRelationship is. A Relationship may also be owned by another Element, in which case the ownedRelatedElements of the Relationship are also considered to be transitively owned by the owningRelatedElement of the Relationship.

- -

The relatedElements of a Relationship are divided into source and target Elements. The Relationship is considered to be directed from the source to the target Elements. An undirected Relationship may have either all source or all target Elements.

- -

A "relationship Element" in the abstract syntax is generically any Element that is an instance of either Relationship or a direct or indirect specialization of Relationship. Any other kind of Element is a "non-relationship Element". It is a convention of that non-relationship Elements are only related via reified relationship Elements. Any meta-associations directly between non-relationship Elements must be derived from underlying reified Relationship.

- -relatedElement = source->union(target)""" ; - rdfs:label "Relationship" . - - - a rdf:Property ; - rdfs:comment "

The target relatedFeatures for this Connector. This includes all the relatedFeatures other than the sourceFeature.

" ; - rdfs:label "connectorTargetFeature" . - - - a rdf:Property ; - rdfs:comment """

The parameters of this Behavior, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Behavior.

-""" ; - rdfs:label "behaviorParameter" . - - - a rdf:Property ; - rdfs:comment "

The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement." ; - rdfs:label "elementOwnedAnnotation" . - - - a rdf:Property ; - rdfs:comment """

The Classifier that owns this Subclassification relationship, which must also be its subclassifier.

-""" ; - rdfs:label "subclassificationOwningClassifier" . - - - a rdf:Property ; - rdfs:comment "

The PortConjugation that is the ownedConjugator of this ConjugatedPortDefinition, linking it to its originalPortDefinition.

" ; - rdfs:label "conjugatedPortDefinitionOwnedPortConjugator" . - - - a rdf:Property ; - rdfs:comment "

An optional modeler-specified identifier for this RequirementDefinition (used, e.g., to link it to an original requirement text in some source document), which is the declaredShortName for the RequirementDefinition.

" ; - rdfs:label "requirementDefinitionReqId" . - - - a rdfs:Class ; - rdfs:comment """

Intersecting is a Relationship that makes its intersectingType one of the intersectingTypes of its typeIntersected.

-""" ; - rdfs:label "Intersecting" . - - - a rdf:Property ; - rdfs:comment "

The owned RenderingUsage that is either itself the referencedRendering or subsets the referencedRendering." ; - rdfs:label "viewRenderingMembershipOwnedRendering" . - - - a rdfs:Class ; - rdfs:comment """

A ParameterMembership is a FeatureMembership that identifies its memberFeature as a parameter, which is always owned, and must have a direction. A ParameterMembership must be owned by a Behavior or a Step.

-ownedMemberParameter.direction = parameterDirection() -owningType.oclIsKindOf(Behavior) or owningType.oclIsKindOf(Step)""" ; - rdfs:label "ParameterMembership" . - - - a rdf:Property ; - rdfs:comment "

The short name of the memberElement relative to the membershipOwningNamespace.

" ; - rdfs:label "membershipMemberShortName" . - - - a rdf:Property ; - rdfs:comment """

The ConstraintUsages that are ownedUsages of this Definition.

-""" ; - rdfs:label "definitionOwnedConstraint" . - - - a rdf:Property ; - rdfs:comment """

The StateUsages that are nestedUsages of this Usage.

-""" ; - rdfs:label "usageNestedState" . - - - a rdf:Property ; - rdfs:comment """

An Expression whose result is bound to the payload parameter of this AcceptActionUsage. If provided, the AcceptActionUsage will only accept a Transfer with exactly this payload.

-""" ; - rdfs:label "acceptActionUsagePayloadArgument" . - - - a rdfs:Class ; - rdfs:comment """

A Class is a Classifier of things (in the universe) that can be distinguished without regard to how they are related to other things (via Features). This means multiple things classified by the same Class can be distinguished, even when they are related other things in exactly the same way.

- -specializesFromLibrary('Occurrences::Occurrence') -ownedSpecialization.general-> - forAll(not oclIsKindOf(DataType)) and -not oclIsKindOf(Association) implies - ownedSpecialization.general-> - forAll(not oclIsKindOf(Association))""" ; - rdfs:label "Class" . - - - a rdf:Property ; - rdfs:comment "

The VerificationCaseUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedVerificationCase" . - - - a rdf:Property ; - rdfs:comment """

The Expression whose result, if false, determines that the bodyAction should continue to be performed. It is the (optional) third owned parameter of the WhileLoopActionUsage.

-""" ; - rdfs:label "whileLoopActionUsageUntilArgument" . - - - a rdf:Property ; - rdfs:comment """

The connectorEnds of this ItemFlow that are ItemFlowEnds.

-""" ; - rdfs:label "itemFlowItemFlowEnd" . - - - a rdfs:Class ; - rdfs:comment """

Subclassification is Specialization in which both the specific and general Types are Classifier. This means all instances of the specific Classifier are also instances of the general Classifier.

-""" ; - rdfs:label "Subclassification" . - - - a rdfs:Class ; - rdfs:subClassOf oslc_am:Resource ; - rdfs:comment """

An Element is a constituent of a model that is uniquely identified relative to all other Elements. It can have Relationships with other Elements. Some of these Relationships might imply ownership of other Elements, which means that if an Element is deleted from a model, then so are all the Elements that it owns.

- -ownedElement = ownedRelationship.ownedRelatedElement -owner = owningRelationship.owningRelatedElement -qualifiedName = - if owningNamespace = null then null - else if owningNamespace.owner = null then escapedName() - else if owningNamespace.qualifiedName = null or - escapedName() = null then null - else owningNamespace.qualifiedName + '::' + escapedName() - endif endif endif -documentation = ownedElement->selectByKind(Documentation) -ownedAnnotation = ownedRelationship-> - selectByKind(Annotation)-> - select(a | a.annotatedElement = self) -name = effectiveName() -ownedRelationship->exists(isImplied) implies isImpliedIncluded -isLibraryElement = libraryNamespace() <> null - -shortName = effectiveShortName() -owningNamespace = - if owningMembership = null then null - else owningMembership.membershipOwningNamespace - endif -textualRepresentation = ownedElement->selectByKind(TextualRepresentation)""" ; - rdfs:label "Element" . - - - a rdf:Property ; - rdfs:comment """

The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the .

-""" ; - rdfs:label "namespaceOwnedMember" . - - - a rdf:Property ; - rdfs:comment "

The Expression whose value is an occurrence in the domain of the referent Feature, for which the value of the referent will be set to the result of the valueExpression by this AssignmentActionUsage.

" ; - rdfs:label "assignmentActionUsageTargetArgument" . - - - a rdf:Property ; - rdfs:comment "

The shortName of the ownedMemberElement.

" ; - rdfs:label "owningMembershipOwnedMemberShortName" . - - - a rdfs:Class ; - rdfs:comment """

A TransitionFeatureMembership is a FeatureMembership for a trigger, guard or effect of a TransitionUsage, whose transitionFeature is a AcceptActionUsage, Boolean-valued Expression or ActionUsage, depending on its kind.

-kind = TransitionFeatureKind::trigger implies - transitionFeature.oclIsKindOf(AcceptActionUsage) -owningType.oclIsKindOf(TransitionUsage) -kind = TransitionFeatureKind::guard implies - transitionFeature.oclIsKindOf(Expression) and - let guard : Expression = transitionFeature.oclIsKindOf(Expression) in - guard.result.specializesFromLibrary('ScalarValues::Boolean') and - guard.result.multiplicity <> null and - guard.result.multiplicity.hasBounds(1,1) -kind = TransitionFeatureKind::effect implies - transitionFeature.oclIsKindOf(ActionUsage)""" ; - rdfs:label "TransitionFeatureMembership" . - - - a rdf:Property ; - rdfs:comment """

The Element that is represented by this TextualRepresentation.

-""" ; - rdfs:label "textualRepresentationRepresentedElement" . - - - a rdf:Property ; - rdfs:comment "

The ConcernUsage that is referenced through this FramedConcernMembership. It is the referencedConstraint of the FramedConcernMembership considered as a RequirementConstraintMembership, which must be a ConcernUsage.

" ; - rdfs:label "framedConcernMembershipReferencedConcern" . - - - a rdf:Property ; - rdfs:comment "

A featureOfType that is also the owningRelatedElement of this TypeFeaturing.

" ; - rdfs:label "typeFeaturingOwningFeatureOfType" . - - - a rdfs:Class ; - rdfs:comment """

A FeatureValue is a Membership that identifies a particular member Expression that provides the value of the Feature that owns the FeatureValue. The value is specified as either a bound value or an initial value, and as either a concrete or default value. A Feature can have at most one FeatureValue.

- -

The result of the value Expression is bound to the featureWithValue using a BindingConnector. If isInitial = false, then the featuringType of the BindingConnector is the same as the featuringType of the featureWithValue. If isInitial = true, then the featuringType of the BindingConnector is restricted to its startShot. - -

If isDefault = false, then the above semantics of the FeatureValue are realized for the given featureWithValue. Otherwise, the semantics are realized for any individual of the featuringType of the featureWithValue, unless another value is explicitly given for the featureWithValue for that individual.

- -not isDefault implies - featureWithValue.ownedMember-> - selectByKind(BindingConnector)->exists(b | - b.relatedFeature->includes(featureWithValue) and - b.relatedFeature->includes(value.result) and - if not isInitial then - b.featuringType = featureWithValue.featuringType - else - b.featuringType->exists(t | - t.oclIsKindOf(Feature) and - t.oclAsType(Feature).chainingFeature = - Sequence{ - resolveGlobal('Base::things::that'). - memberElement, - resolveGlobal('Occurrences::Occurrence::startShot'). - memberElement - } - ) - endif) -featureWithValue.redefinition.redefinedFeature-> - closure(redefinition.redefinedFeature).valuation-> - forAll(isDefault)""" ; - rdfs:label "FeatureValue" . - - - a rdf:Property ; - rdfs:comment "

The owned ConstraintUsages that represent requirements of this RequirementDefinition, derived as the ownedConstraints of the RequirementConstraintMemberships of the RequirementDefinition with kind = requirement.

" ; - rdfs:label "requirementDefinitionRequiredConstraint" . - - - a rdf:Property ; - rdfs:comment """

The relatedElements to which this Relationship is considered to be directed.

-""" ; - rdfs:label "relationshipTarget" . - - - a rdf:Property ; - rdfs:comment """

The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type.

-""" ; - rdfs:label "typeOwnedDisjoining" . - - - a rdf:Property ; - rdfs:comment "

The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted.

" ; - rdfs:label "occurrenceUsagePortionKind" . - - - a rdf:Property ; - rdfs:comment """

The AnnotatingElement that annotates the annotatedElement of this Annotation.

-""" ; - rdfs:label "annotationAnnotatingElement" . - - - a rdf:Property ; - rdfs:comment "

The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null.

" ; - rdfs:label "elementShortName" . - - - a rdfs:Class ; - rdfs:comment """

A Comment is an AnnotatingElement whose body in some way describes its annotatedElements.

-""" ; - rdfs:label "Comment" . - - - a rdf:Property ; - rdfs:comment "

The nestedRequirements of this ViewUsage that are ViewpointUsages for (additional) viewpoints satisfied by the ViewUsage.

" ; - rdfs:label "viewUsageSatisfiedViewpoint" . - - - a rdf:Property ; - rdfs:comment """

The TransitionUsages that are nestedUsages of this Usage.

-""" ; - rdfs:label "usageNestedTransition" . - - - a rdf:Property ; - rdfs:comment """

Type asserted to be disjoint with the typeDisjoined.

-""" ; - rdfs:label "disjoiningDisjoiningType" . - - - a rdfs:Class ; - rdfs:comment """

A FeatureChainExpression is an OperatorExpression whose operator is \".\", which resolves to the Function ControlFunctions::'.' from the Kernel Functions Library. It evaluates to the result of chaining the result Feature of its single argument Expression with its targetFeature.

-let sourceParameter : Feature = sourceTargetFeature() in -sourceTargetFeature <> null and -sourceTargetFeature.redefinesFromLibrary('ControlFunctions::'.'::source::target') -let sourceParameter : Feature = sourceTargetFeature() in -sourceTargetFeature <> null and -sourceTargetFeature.redefines(targetFeature) -targetFeature = - let nonParameterMemberships : Sequence(Membership) = ownedMembership-> - reject(oclIsKindOf(ParameterMembership)) in - if nonParameterMemberships->isEmpty() or - not nonParameterMemberships->first().memberElement.oclIsKindOf(Feature) - then null - else nonParameterMemberships->first().memberElement.oclAsType(Feature) - endif -argument->notEmpty() implies - targetFeature.featuringType->forAll(t | - t.specializes(argument->at(1).result))""" ; - rdfs:label "FeatureChainExpression" . - - - a rdf:Property ; - rdfs:comment "

The RequirementUsage that is satisfied by the satisfyingSubject of this SatisfyRequirementUsage. It is the assertedConstraint of the SatisfyRequirementUsage considered as an AssertConstraintUsage, which must be a RequirementUsage.

" ; - rdfs:label "satisfyRequirementUsageSatisfiedRequirement" . - - - a rdf:Property ; - rdfs:comment "

The elementId of the ownedMemberElement.

" ; - rdfs:label "owningMembershipOwnedMemberElementId" . - - - a rdf:Property ; - rdfs:comment "

The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages and SuccessionAsUsages, even though these are ConnectorAsUsages but not ConnectionUsages.

" ; - rdfs:label "usageNestedConnection" . - - - a rdf:Property ; - rdfs:comment "

The StateUsages, which are actions in the StateDefinition, that specify the discrete states in the behavior defined by the StateDefinition.

" ; - rdfs:label "stateDefinitionState" . - - - a rdf:Property ; - rdfs:comment "

Identification of the language of the body text and, optionally, the region and/or encoding. The format shall be a POSIX locale conformant to ISO/IEC 15897, with the format [language[_territory][.codeset][@modifier]].

" ; - rdfs:label "commentLocale" . - - - a rdfs:Class ; - rdfs:comment """

A UseCaseUsage is a Usage of a UseCaseDefinition.

-includedUseCase = ownedUseCase-> - selectByKind(IncludeUseCaseUsage). - useCaseIncluded -specializesFromLibrary('UseCases::useCases') -isComposite and owningType <> null and -(owningType.oclIsKindOf(UseCaseDefinition) or - owningType.oclIsKindOf(UseCaseUsage)) implies - specializesFromLibrary('UseCases::UseCase::subUseCases')""" ; - rdfs:label "UseCaseUsage" . - - - a rdfs:Class ; - rdfs:comment """

A DataType is a Classifier of things (in the universe) that can only be distinguished by how they are related to other things (via Features). This means multiple things classified by the same DataType

- -
    -
  • Cannot be distinguished when they are related to other things in exactly the same way, even when they are intended to be about different things.
  • -
  • Can be distinguished when they are related to other things in different ways, even when they are intended to be about the same thing.
  • -
- -specializesFromLibrary('Base::DataValue') -ownedSpecialization.general-> - forAll(not oclIsKindOf(Class) and - not oclIsKindOf(Association))""" ; - rdfs:label "DataType" . - - - a rdf:Property ; - rdfs:comment "

The relatedElements from which this Relationship is considered to be directed.

" ; - rdfs:label "relationshipSource" . - - - a rdf:Property ; - rdfs:comment "

The AssociationStructures that are the types of this ConnectionUsage. Nominally, these are , but other kinds of Kernel AssociationStructures are also allowed, to permit use of AssociationStructures from the Kernel Model Libraries

" ; - rdfs:label "connectionUsageConnectionDefinition" . - - - a rdfs:Class ; - rdfs:comment """

An Expression is a Step that is typed by a Function. An Expression that also has a Function as its featuringType is a computational step within that Function. An Expression always has a single result parameter, which redefines the result parameter of its defining function. This allows Expressions to be interconnected in tree structures, in which inputs to each Expression in the tree are determined as the results of other Expression in the tree.

- -isModelLevelEvaluable = modelLevelEvaluable(Set(Element){}) -specializesFromLibrary('Performances::evaluations') -owningMembership <> null and -owningMembership.oclIsKindOf(FeatureValue) implies - let featureWithValue : Feature = - owningMembership.oclAsType(FeatureValue).featureWithValue in - featuringType = featureWithValue.featuringType -ownedMembership.selectByKind(ResultExpressionMembership)-> - forAll(mem | ownedFeature.selectByKind(BindingConnector)-> - exists(binding | - binding.relatedFeature->includes(result) and - binding.relatedFeature->includes(mem.ownedResultExpression.result))) -result = - let resultParams : Sequence(Feature) = - ownedFeatureMemberships-> - selectByKind(ReturnParameterMembership). - ownedParameterMember in - if resultParams->notEmpty() then resultParams->first() - else if function <> null then function.result - else null - endif endif -ownedFeatureMembership-> - selectByKind(ReturnParameterMembership)-> - size() <= 1 -membership->selectByKind(ResultExpressionMembership)->size() <= 1""" ; - rdfs:label "Expression" . - - - a rdf:Property ; - rdfs:comment "

The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship.

" ; - rdfs:label "relationshipRelatedElement" . - - - a rdf:Property ; - rdfs:comment "

The RequirementUsage that is identified as being verified. It is the referencedConstraint of the RequirementVerificationMembership considered as a RequirementConstraintMembership, which must be a RequirementUsage.

" ; - rdfs:label "requirementVerificationMembershipVerifiedRequirement" . - - - a rdf:Property ; - rdfs:comment """

The model-level evaluable Boolean-valued Expression used to filter the imported members of the membershipOwningNamespace of this ElementFilterMembership.

-""" ; - rdfs:label "elementFilterMembershipCondition" . - - - a rdf:Property ; - rdfs:comment "

The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries.

" ; - rdfs:label "occurrenceUsageOccurrenceDefinition" . - - - a rdf:Property ; - rdfs:comment """

Steps that map incoming events to the timing of occurrences of the transitionStep. The values of triggerStep subset the list of acceptable events to be received by a Behavior or the object that performs it.

-""" ; - rdfs:label "successionTriggerStep" . - - - a rdf:Property ; - rdfs:comment """

The more general Classifier in this Subclassification.

-""" ; - rdfs:label "subclassificationSuperclassifier" . - - - a rdf:Property ; - rdfs:comment "

If isIndividual is true, a LifeClass that specializes this OccurrenceDefinition, restricting it to represent an individual.

" ; - rdfs:label "occurrenceDefinitionLifeClass" . - - - a rdf:Property ; - rdfs:comment "

The RequirementUsages verified by this VerificationCaseUsage, which are the verifiedRequirements of all RequirementVerificationMemberships of the objectiveRequirement.

" ; - rdfs:label "verificationCaseUsageVerifiedRequirement" . - - - a rdf:Property ; - rdfs:comment "

The relatedElements of this Relationship that are owned by the Relationship.

" ; - rdfs:label "relationshipOwnedRelatedElement" . - - - a rdfs:Class ; - rdfs:comment """

A PartDefinition is an ItemDefinition of a Class of systems or parts of systems. Note that all parts may be considered items for certain purposes, but not all items are parts that can perform actions within a system.

- -specializesFromLibrary('Parts::Part')""" ; - rdfs:label "PartDefinition" . - - - a rdfs:Class ; - rdfs:comment """

A SendActionUsage is an ActionUsage that specifies the sending of a payload given by the result of its payloadArgument Expression via a MessageTransfer whose source is given by the result of the senderArgument Expression and whose target is given by the result of the receiverArgument Expression. If no senderArgument is provided, the default is the this context for the action. If no receiverArgument is given, then the receiver is to be determined by, e.g., outgoing Connections from the sender.

- -senderArgument = argument(2) -payloadArgument = argument(1) -inputParameters()->size() >= 3 -receiverArgument = argument(3) -isSubactionUsage() implies - specializesFromLibrary('Actions::Action::acceptSubactions') -specializesFromLibrary('Actions::sendActions')""" ; - rdfs:label "SendActionUsage" . - - - a rdf:Property ; - rdfs:comment """

The Boolean value that is the result of evaluating this LiteralBoolean.

-

The Boolean value that is the result of evaluating this Expression.

-""" ; - rdfs:label "literalBooleanValue" . - - - a rdf:Property ; - rdfs:comment """

The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element.

-""" ; - rdfs:label "elementOwnedElement" . - - - a rdf:Property ; - rdfs:comment "

The elementId of the memberElement.

" ; - rdfs:label "membershipMemberElementId" . - - - a rdfs:Class ; - rdfs:comment """

A LiteralExpression is an Expression that provides a basic DataValue as a result.

- -isModelLevelEvaluable = true -specializesFromLibrary('Performances::literalEvaluations')""" ; - rdfs:label "LiteralExpression" . - - - a rdfs:Class ; - rdfs:comment """

A StakeholderMembership is a ParameterMembership that identifies a PartUsage as a stakeholderParameter of a RequirementDefinition or RequirementUsage, which specifies a role played by an entity with concerns framed by the owningType.

-owningType.oclIsKindOf(RequirementUsage) or -owningType.oclIsKindOf(RequirementDefinition)""" ; - rdfs:label "StakeholderMembership" . - - - a rdf:Property ; - rdfs:comment """

The usages of this Definition that are directedFeatures.

-""" ; - rdfs:label "definitionDirectedUsage" . - - - a rdf:Property ; - rdfs:comment """

Type with interpretations partly determined by differencingType, as described in Type::differencingType.

-""" ; - rdfs:label "differencingTypeDifferenced" . - - - a rdfs:Class ; - rdfs:comment """

A ReferenceUsage is a Usage that specifies a non-compositional (isComposite = false) reference to something. The definition of a ReferenceUsage can be any kind of Classifier, with the default being the top-level Classifier Base::Anything from the Kernel Semantic Library. This allows the specification of a generic reference without distinguishing if the thing referenced is an attribute value, item, action, etc.

-isReference""" ; - rdfs:label "ReferenceUsage" . - - - a rdfs:Class ; - rdfs:comment """

An AllocationDefinition is a ConnectionDefinition that specifies that some or all of the responsibility to realize the intent of the source is allocated to the target instances. Such allocations define mappings across the various structures and hierarchies of a system model, perhaps as a precursor to more rigorous specifications and implementations. An AllocationDefinition can itself be refined using nested allocations that give a finer-grained decomposition of the containing allocation mapping.

-allocation = usage->selectAsKind(AllocationUsage) -specializesFromLibrary('Allocations::Allocation')""" ; - rdfs:label "AllocationDefinition" . - - - a rdf:Property ; - rdfs:comment "

A typedFeature that is also the owningRelatedElement of this FeatureTyping.

" ; - rdfs:label "featureTypingOwningFeature" . - - - a rdfs:Class ; - rdfs:comment """

ReferenceSubsetting is a kind of Subsetting in which the referencedFeature is syntactically distinguished from other Features subsetted by the referencingFeature. ReferenceSubsetting has the same semantics as Subsetting, but the referenceFeature may have a special purpose relative to the referencingFeature. For instance, ReferenceSubsetting is used to identify the relatedFeatures of a Connector.

- -

ReferenceSubsetting is always an ownedRelationship of its referencingFeature. A Feature can have at most one ownedReferenceSubsetting.

-""" ; - rdfs:label "ReferenceSubsetting" . - - - a rdf:Property ; - rdfs:comment """

An Expression whose result is bound to the receiver input parameter of this SendActionUsage.

-""" ; - rdfs:label "sendActionUsageReceiverArgument" . - - - a rdf:Property ; - rdfs:comment """

An output parameter of the Expression whose value is the result of the Expression. The result of an Expression is either inherited from its function or it is related to the Expression via a ReturnParameterMembership, in which case it redefines the result parameter of its function.

-""" ; - rdfs:label "expressionResult" . - - - a rdfs:Class ; - rdfs:comment """

An Invariant is a BooleanExpression that is asserted to have a specific Boolean result value. If isNegated = false, then the result is asserted to be true. If isNegated = true, then the result is asserted to be false.

- -if isNegated then - specializesFromLibrary('Performances::falseEvaluations') -else - specializesFromLibrary('Performances::trueEvaluations') -endif""" ; - rdfs:label "Invariant" . - - - a rdfs:Class ; - rdfs:comment """

A Type is a Namespace that is the most general kind of Element supporting the semantics of classification. A Type may be a Classifier or a Feature, defining conditions on what is classified by the Type (see also the description of isSufficient).

- -ownedSpecialization = ownedRelationship->selectByKind(Specialization)-> - select(s | s.special = self) - -multiplicity = - let ownedMultiplicities: Sequence(Multiplicity) = - ownedMember->selectByKind(Multiplicity) in - if ownedMultiplicities->isEmpty() then null - else ownedMultiplicities->first() - endif -ownedFeatureMembership = ownedRelationship->selectByKind(FeatureMembership) -ownedConjugator = - let ownedConjugators: Sequence(Conjugator) = - ownedRelationship->selectByKind(Conjugation) in - if ownedConjugators->isEmpty() then null - else ownedConjugators->at(1) endif -output = feature->select(f | - let direction: FeatureDirectionKind = directionOf(f) in - direction = FeatureDirectionKind::out or - direction = FeatureDirectionKind::inout) -input = feature->select(f | - let direction: FeatureDirectionKind = directionOf(f) in - direction = FeatureDirectionKind::_'in' or - direction = FeatureDirectionKind::inout) -inheritedMembership = inheritedMemberships(Set{}) -specializesFromLibrary('Base::Anything') -directedFeature = feature->select(f | directionOf(f) <> null) -feature = featureMembership.ownedMemberFeature -featureMembership = ownedFeatureMembership->union( - inheritedMembership->selectByKind(FeatureMembership)) -ownedFeature = ownedFeatureMembership.ownedMemberFeature -differencingType = ownedDifferencing.differencingType -intersectingType->excludes(self) -differencingType->excludes(self) -unioningType = ownedUnioning.unioningType -unioningType->excludes(self) -intersectingType = ownedIntersecting.intersectingType -ownedRelationship->selectByKind(Conjugation)->size() <= 1 -ownedMember->selectByKind(Multiplicity)->size() <= 1 -endFeature = feature->select(isEnd) -ownedDisjoining = - ownedRelationship->selectByKind(Disjoining) -ownedUnioning = - ownedRelationship->selectByKind(Unioning) -ownedRelationship->selectByKind(Intersecting) -ownedDifferencing = - ownedRelationship->selectByKind(Differencing) -ownedEndFeature = ownedFeature->select(isEnd) -inheritedFeature = inheritedMemberships-> - selectByKind(FeatureMembership).memberFeature -ownedUnioning->size() <> 1 -ownedIntersecting->size() <> 1 -ownedDifferencing->size() <> 1""" ; - rdfs:label "Type" . - - - a rdf:Property ; - rdfs:comment "

The ActionUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedAction" . - - - a rdf:Property ; - rdfs:comment "

The ViewpointUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedViewpoint" . - - - a rdf:Property ; - rdfs:comment """

Type with interpretations partly determined by intersectingType, as described in Type::intersectingType.

-""" ; - rdfs:label "intersectingTypeIntersected" . - - - a rdf:Property ; - rdfs:comment """

Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind).

-""" ; - rdfs:label "featureDirection" . - - - a rdf:Property ; - rdfs:comment """

The name of the memberElement relative to the membershipOwningNamespace.

-""" ; - rdfs:label "membershipMemberName" . - - - a rdf:Property ; - rdfs:comment "

The Definition that owns this Usage (if any).

" ; - rdfs:label "usageOwningDefinition" . - - - a rdfs:Class ; - rdfs:comment """

An AnalysisCaseUsage is a Usage of an AnalysisCaseDefinition.

-analysisAction = usage->select( - isComposite and - specializes('AnalysisCases::AnalysisAction')) -resultExpression = - let results : OrderedSet(ResultExpressionMembership) = - featureMembersip-> - selectByKind(ResultExpressionMembership) in - if results->isEmpty() then null - else results->first().ownedResultExpression - endif -specializesFromLibrary('AnalysisCases::analysisCases') -isComposite and owningType <> null and - (owningType.oclIsKindOf(AnalysisCaseDefinition) or - owningType.oclIsKindOf(AnalysisCaseUsage)) implies - specializesFromLibrary('AnalysisCases::AnalysisCase::subAnalysisCases')""" ; - rdfs:label "AnalysisCaseUsage" . - - - a rdf:Property ; - rdfs:comment "

The parameters of this RequirementDefinition that represent actors involved in the requirement.

" ; - rdfs:label "requirementDefinitionActorParameter" . - - - a rdf:Property ; - rdfs:comment """

The Features that are related by this Connector considered as a Relationship and that restrict the links it identifies, given by the referenced Features of the connectorEnds of the Connector.

-""" ; - rdfs:label "connectorRelatedFeature" . - - - a rdf:Property ; - rdfs:comment "

The Expression whose result is to be assigned to the referent Feature.

" ; - rdfs:label "assignmentActionUsageValueExpression" . - - - a rdf:Property ; - rdfs:comment """

Type with interpretations partly determined by unioningType, as described in Type::unioningType.

-""" ; - rdfs:label "unioningTypeUnioned" . - - - a rdf:Property ; - rdfs:comment """

A Type with a superset of all instances of the specific Type, which might be the same set.

-""" ; - rdfs:label "specializationGeneral" . - - - a rdf:Property ; - rdfs:comment "

The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained.

" ; - rdfs:label "featureOwnedFeatureChaining" . - - - a rdf:Property ; - rdfs:comment "

The RenderingUsage to be used to render views defined by this ViewDefinition, which is the referencedRendering of the ViewRenderingMembership of the ViewDefinition.

" ; - rdfs:label "viewDefinitionViewRendering" . - - - a rdf:Property ; - rdfs:comment """

The model-level evaluable Boolean-valued Expression used to filter the members of this Package, which are owned by the Package are via ElementFilterMemberships.

-""" ; - rdfs:label "packageFilterCondition" . - - - a rdf:Property ; - rdfs:comment "

The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any.

" ; - rdfs:label "elementOwner" . - - - a rdf:Property ; - rdfs:comment "

The AllocationDefinitions that are the types of this AllocationUsage.

" ; - rdfs:label "allocationUsageAllocationDefinition" . - - - a rdf:Property ; - rdfs:comment "

The InterfaceUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedInterface" . - - - a rdfs:Class ; - rdfs:comment """

A FramedConcernMembership is a RequirementConstraintMembership for a framed ConcernUsage of a RequirementDefinition or RequirementUsage.

-kind = RequirementConstraintKind::requirement""" ; - rdfs:label "FramedConcernMembership" . - - - a rdf:Property ; - rdfs:comment "

Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them.

" ; - rdfs:label "elementIsImpliedIncluded" . - - - a rdf:Property ; - rdfs:comment "

The code>FlowConnectionUsages that are nestedUsages of this Usage.

" ; - rdfs:label "usageNestedFlow" . - - - a rdfs:Class ; - rdfs:comment """

An AssignmentActionUsage is an ActionUsage that is defined, directly or indirectly, by the ActionDefinition AssignmentAction from the Systems Model Library. It specifies that the value of the referent Feature, relative to the target given by the result of the targetArgument Expression, should be set to the result of the valueExpression.

- -specializesFromLibrary('Actions::assignmentActions') -let targetParameter : Feature = inputParameter(1) in -targetParameter <> null and -targetParameter.ownedFeature->notEmpty() and -targetParameter.ownedFeature->first(). - redefines('AssignmentAction::target::startingAt') -valueExpression = argument(2) -targetArgument = argument(1) -isSubactionUsage() implies - specializesFromLibrary('Actions::Action::assignments') -let targetParameter : Feature = inputParameter(1) in -targetParameter <> null and -targetParameter.ownedFeature->notEmpty() and -targetParameter->first().ownedFeature->notEmpty() and -targetParameter->first().ownedFeature->first(). - redefines('AssigmentAction::target::startingAt::accessedFeature') -let targetParameter : Feature = inputParameter(1) in -targetParameter <> null and -targetParameter.ownedFeature->notEmpty() and -targetParameter->first().ownedFeature->notEmpty() and -targetParameter->first().ownedFeature->first().redefines(referent) -referent = - let unownedFeatures : Sequence(Feature) = ownedMembership-> - reject(oclIsKindOf(FeatureMembership)).memberElement-> - selectByKind(Feature) in - if unownedFeatures->isEmpty() then null - else unownedFeatures->first().oclAsType(Feature) - endif -ownedMembership->exists( - not oclIsKindOf(OwningMembership) and - memberElement.oclIsKindOf(Feature))""" ; - rdfs:label "AssignmentActionUsage" . - - - a rdf:Property ; - rdfs:comment """

The composite usages of the AnalysisCaseUsage that are defined as AnalysisActions.

-""" ; - rdfs:label "analysisCaseUsageAnalysisAction" . - - - a rdfs:Class ; - rdfs:comment """

A Package is a Namespace used to group Elements, without any instance-level semantics. It may have one or more model-level evaluable filterCondition Expressions used to filter its importedMemberships. Any imported member must meet all of the filterConditions.

-filterCondition = ownedMembership-> - selectByKind(ElementFilterMembership).condition""" ; - rdfs:label "Package" . - - - a rdf:Property ; - rdfs:comment """

Whether this Invariant is asserted to be false rather than true.

-""" ; - rdfs:label "invariantIsNegated" . - - - a rdf:Property ; - rdfs:comment "

The PartUsage specifying the stakeholder.

" ; - rdfs:label "stakeholderMembershipOwnedStakeholderParameter" . - - - a rdf:Property ; - rdfs:comment "

The code>CaseUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedCase" . - - - a rdfs:Class ; - rdfs:comment """

An ItemFeature is the ownedFeature of an ItemFlow that identifies the things carried by the kinds of transfers that are instances of the ItemFlow.

-ownedRedefinition.redefinedFeature-> - redefinesFromLibrary('Transfers::Transfer::item')""" ; - rdfs:label "ItemFeature" . - - - a rdfs:Class ; - rdfs:comment """

A ConstraintUsage is an OccurrenceUsage that is also a BooleanExpression, and, so, is typed by a Predicate. Nominally, if the type is a ConstraintDefinition, a ConstraintUsage is a Usage of that ConstraintDefinition. However, other kinds of kernel Predicates are also allowed, to permit use of Predicates from the Kernel Model Libraries.

-owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(RequirementConstraintMembership) implies - if owningFeatureMembership.oclAsType(RequirementConstraintMembership).kind = - RequirementConstraintKind::assumption then - specializesFromLibrary('Requirements::RequirementCheck::assumptions') - else - specializesFromLibrary('Requirements::RequirementCheck::constraints') - endif -specializesFromLibrary('Constraints::constraintChecks') -owningType <> null and -(owningType.oclIsKindOf(ItemDefinition) or - owningType.oclIsKindOf(ItemUsage)) implies - specializesFromLibrary('Items::Item::checkedConstraints')""" ; - rdfs:label "ConstraintUsage" . - - - a rdf:Property ; - rdfs:comment """

All features related to this Type by FeatureMemberships that have direction out or inout.

-""" ; - rdfs:label "typeOutput" . - - - a rdf:Property ; - rdfs:comment """

Whether the values of this Feature can change over the lifetime of an instance of the domain.

-""" ; - rdfs:label "featureIsReadOnly" . - - - a rdf:Property ; - rdfs:comment "

The PartUsages that identify the stakeholders with concerns framed by this ViewpointDefinition, which are the owned and inherited stakeholderParameters of the framedConcerns of this ViewpointDefinition.

" ; - rdfs:label "viewpointDefinitionViewpointStakeholder" . - - - a rdfs:Class ; - rdfs:comment """

A SubjectMembership is a ParameterMembership that indicates that its ownedSubjectParameter is the subject of its owningType. The owningType of a SubjectMembership must be a RequirementDefinition, RequirementUsage, CaseDefinition, or CaseUsage.

-owningType.oclIsType(RequirementDefinition) or -owningType.oclIsType(RequiremenCaseRequirementDefinition) or -owningType.oclIsType(CaseDefinition) or -owningType.oclIsType(CaseUsage) -""" ; - rdfs:label "SubjectMembership" . - - - a rdf:Property ; - rdfs:comment "

The ActionUsage of this StateUsage to be performed on exit to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateUsage by a StateSubactionMembership with kind = exit.

" ; - rdfs:label "stateUsageExitAction" . - - - a rdf:Property ; - rdfs:comment "

The StateUsage to be exhibited by the ExhibitStateUsage. It is the performedAction of the ExhibitStateUsage considered as a PerformActionUsage, which must be a StateUsage.

" ; - rdfs:label "exhibitStateUsageExhibitedState" . - - - a rdf:Property ; - rdfs:comment "

Whether this StateSubactionMembership is for an entry, do or exit ActionUsage.

" ; - rdfs:label "stateSubactionMembershipKind" . - - - a rdf:Property ; - rdfs:comment "

The ConstraintUsage to be performed by the AssertConstraintUsage. It is the referenceFeature of the ownedReferenceSubsetting for the AssertConstraintUsage, if there is one, and, otherwise, the AssertConstraintUsage itself.

" ; - rdfs:label "assertConstraintUsageAssertedConstraint" . - - - a rdf:Property ; - rdfs:comment "

The Type that features the featureOfType.

" ; - rdfs:label "featuringType" . - - - a rdf:Property ; - rdfs:comment "

The Expressions related to this ViewDefinition by ElementFilterMemberships, which specify conditions on Elements to be rendered in a view.

" ; - rdfs:label "viewDefinitionViewCondition" . - - - a rdf:Property ; - rdfs:comment "

The ConcernUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedConcern" . - - - a rdfs:Class ; - rdfs:comment """

A FeatureInverting is a Relationship between Features asserting that their interpretations (sequences) are the reverse of each other, identified as featureInverted and invertingFeature. For example, a Feature identifying each person's parents is the inverse of a Feature identifying each person's children. A person identified as a parent of another will identify that other as one of their children.

-""" ; - rdfs:label "FeatureInverting" . - - - a rdf:Property ; - rdfs:comment """

The type of this ConjugatedPortTyping considered as a FeatureTyping, which must be a ConjugatedPortDefinition.

-""" ; - rdfs:label "conjugatedPortTypingConjugatedPortDefinition" . - - - a rdf:Property ; - rdfs:comment "

The Feature that receives the values carried by the ItemFlow. It must be an owned output of the target participant of the ItemFlow.

" ; - rdfs:label "itemFlowTargetInputFeature" . - - - a rdf:Property ; - rdfs:comment """

The Feature whose values partly determine values of featureChained, as described in Feature::chainingFeature.

-""" ; - rdfs:label "featureChainingChainingFeature" . - - - a rdf:Property ; - rdfs:comment "

The Feature that is an inverse of the invertingFeature.

" ; - rdfs:label "featureInvertingFeatureInverted" . - - - a rdf:Property ; - rdfs:comment "

The ItemUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedItem" . - - - a rdf:Property ; - rdfs:comment "

The AllocationUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedAllocation" . - - - a rdf:Property ; - rdfs:comment "

Whether the RequirementConstraintMembership is for an assumed or required ConstraintUsage.

" ; - rdfs:label "requirementConstraintMembershipKind" . - - - a rdfs:Class ; - rdfs:comment """

ElementFilterMembership is a Membership between a Namespace and a model-level evaluable Boolean-valued Expression, asserting that imported members of the Namespace should be filtered using the condition Expression. A general Namespace does not define any specific filtering behavior, but such behavior may be defined for various specialized kinds of Namespaces.

- -condition.isModelLevelEvaluable -condition.result.specializesFromLibrary('ScalarValues::Boolean')""" ; - rdfs:label "ElementFilterMembership" . - - - a rdf:Property ; - rdfs:comment """

The Membership to be imported.

-""" ; - rdfs:label "membershipImportImportedMembership" . - - - a rdf:Property ; - rdfs:comment """

A Step that is typed by the Behavior TransitionPerformances::TransitionPerformance (from the Kernel Semantic Library) that has this Succession as its transitionLink.

-""" ; - rdfs:label "successionTransitionStep" . - - - a rdfs:Class ; - rdfs:comment """

An IncludeUseCaseUsage is a UseCaseUsage that represents the inclusion of a UseCaseUsage by a UseCaseDefinition or UseCaseUsage. Unless it is the IncludeUseCaseUsage itself, the UseCaseUsage to be included is related to the includedUseCase by a ReferenceSubsetting Relationship. An IncludeUseCaseUsage is also a PerformActionUsage, with its useCaseIncluded as the performedAction.

- -owningType <> null and -(owningType.oclIsKindOf(UseCaseDefinition) or - owningType.oclIsKindOf(UseCaseUsage) implies - specializesFromLibrary('UseCases::UseCase::includedUseCases') -ownedReferenceSubsetting <> null implies - ownedReferenceSubsetting.referencedFeature.oclIsKindOf(UseCaseUsage)""" ; - rdfs:label "IncludeUseCaseUsage" . - - - a rdf:Property ; - rdfs:comment "

The Usage that represents a variant in the context of the owningVariationDefinition or owningVariationUsage.

" ; - rdfs:label "variantMembershipOwnedVariantUsage" . - - - a rdf:Property ; - rdfs:comment "

The PortDefinition being conjugated.

" ; - rdfs:label "portConjugationOriginalPortDefinition" . - - - a rdf:Property ; - rdfs:comment "

The ActionUsage that is the ownedMemberFeature of this StateSubactionMembership.

" ; - rdfs:label "stateSubactionMembershipAction" . - - - a rdfs:Class ; - rdfs:comment """

An ItemUsage is a ItemUsage whose definition is a Structure. Nominally, if the definition is an ItemDefinition, an ItemUsage is a ItemUsage of that ItemDefinition within a system. However, other kinds of Kernel Structures are also allowed, to permit use of Structures from the Kernel Model Libraries.

-itemDefinition = occurrenceDefinition->selectByKind(ItemDefinition) -specializesFromLibrary('Items::items') -isComposite and owningType <> null and -(owningType.oclIsKindOf(ItemDefinition) or - owningType.oclIsKindOf(ItemUsage)) implies - specializesFromLibrary('Items::Item::subitem')""" ; - rdfs:label "ItemUsage" . - - - a rdfs:Class ; - rdfs:comment """

A TextualRepresentation is an AnnotatingElement whose body represents the representedElement in a given language. The representedElement must be the owner of the TextualRepresentation. The named language can be a natural language, in which case the body is an informal representation, or an artificial language, in which case the body is expected to be a formal, machine-parsable representation.

- -

If the named language of a TextualRepresentation is machine-parsable, then the body text should be legal input text as defined for that language. The interpretation of the named language string shall be case insensitive. The following language names are defined to correspond to the given standard languages:

- - - - - - - - - - - - - - - - - - -
kermlKernel Modeling Language
oclObject Constraint Language
alfAction Language for fUML
- -

Other specifications may define specific language strings, other than those shown above, to be used to indicate the use of languages from those specifications in KerML TextualRepresentation.

- -

If the language of a TextualRepresentation is "kerml", then the body text shall be a legal representation of the representedElement in the KerML textual concrete syntax. A conforming tool can use such a TextualRepresentation Annotation to record the original KerML concrete syntax text from which an Element was parsed. In this case, it is a tool responsibility to ensure that the body of the TextualRepresentation remains correct (or the Annotation is removed) if the annotated Element changes other than by re-parsing the body text.

- -

An Element with a TextualRepresentation in a language other than KerML is essentially a semantically "opaque" Element specified in the other language. However, a conforming KerML tool may interpret such an element consistently with the specification of the named language.

-""" ; - rdfs:label "TextualRepresentation" . - - - a rdf:Property ; - rdfs:comment "

The MetadataUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedMetadata" . - - - a rdf:Property ; - rdfs:comment "

The source relatedFeature for this Connector. It is the first relatedFeature.

" ; - rdfs:label "connectorSourceFeature" . - - - a rdfs:Class ; - rdfs:comment """

A JoinNode is a ControlNode that waits for the completion of all the predecessor Actions given by incoming Successions.

-sourceConnector->selectByKind(Succession)->size() <= 1 -specializesFromLibrary('Actions::Action::join')""" ; - rdfs:label "JoinNode" . - - - a rdf:Property ; - rdfs:comment """

The Expression whose result determines whether the thenAction or (optionally) the elseAction is performed. It is the first parameter of the IfActionUsage.

-""" ; - rdfs:label "ifActionUsageIfArgument" . - - - a rdf:Property ; - rdfs:comment "

The EnumerationUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedEnumeration" . - - - a rdf:Property ; - rdfs:comment """

All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships.

-""" ; - rdfs:label "typeInheritedFeature" . - - - a rdfs:Class ; - rdfs:comment """

A CalculationDefinition is an ActionDefinition that also defines a Function producing a result.

-specializesFromLibrary('Calculations::Calculation') -calculation = action->selectByKind(CalculationUsage)""" ; - rdfs:label "CalculationDefinition" . - - - a rdfs:Class ; - rdfs:comment """

A ConjugatedPortTyping is a FeatureTyping whose type is a ConjugatedPortDefinition. (This relationship is intended to be an abstract-syntax marker for a special surface notation for conjugated typing of ports.)

-portDefinition = conjugatedPortDefinition.originalPortDefinition""" ; - rdfs:label "ConjugatedPortTyping" . - - - a rdf:Property ; - rdfs:comment "The Expression whose result is the upper bound of the MultiplicityRange." ; - rdfs:label "multiplicityRangeUpperBound" . - - - a rdf:Property ; - rdfs:comment """

The value whose rational approximation is the result of evaluating this LiteralRational.

- -

The Real value that is the result of evaluating this Expression.

""" ; - rdfs:label "literalRationalValue" . - - - a rdfs:Class ; - rdfs:comment """

A MergeNode is a ControlNode that asserts the merging of its incoming Successions. A MergeNode may have at most one outgoing Successions.

-sourceConnector->selectAsKind(Succession)->size() <= 1 -targetConnector->selectByKind(Succession)-> - collect(connectorEnd->at(1))-> - forAll(sourceMult | - multiplicityHasBounds(sourceMult, 0, 1)) -targetConnector->selectByKind(Succession)-> - forAll(subsetsChain(self, - resolveGlobal('ControlPerformances::MergePerformance::incomingHBLink'))) -specializesFromLibrary('Actions::Action::merges')""" ; - rdfs:label "MergeNode" . - - - a rdfs:Class ; - rdfs:comment """

A ConnectionUsage is a ConnectorAsUsage that is also a PartUsage. Nominally, if its type is a ConnectionDefinition, then a ConnectionUsage is a Usage of that ConnectionDefinition, representing a connection between parts of a system. However, other kinds of kernel AssociationStructures are also allowed, to permit use of AssociationStructures from the Kernel Model Libraries.

-specializesFromLibrary('Connections::connections') -ownedEndFeature->size() = 2 implies - specializesFromLibrary('Connections::binaryConnections')""" ; - rdfs:label "ConnectionUsage" . - - - a rdfs:Class ; - rdfs:comment """

A NamespaceImport is an Import that imports Memberships from its importedNamespace into the importOwningNamespace. If isRecursive = false, then only the visible Memberships of the importedNamespace are imported. If isRecursive = true, then, in addition, Memberships are recursively imported from any ownedMembers of the importedNamespace that are Namespaces.

- -importedElement = importedNamespace""" ; - rdfs:label "NamespaceImport" . - - - a rdf:Property ; - rdfs:comment "

The ConcernUsage that is the ownedConstraint of this FramedConcernMembership.

" ; - rdfs:label "framedConcernMembershipOwnedConcern" . - - - a rdfs:Class ; - rdfs:comment """

A FeatureReferenceExpression is an Expression whose result is bound to a referent Feature.

-referent = - let nonParameterMemberships : Sequence(Membership) = ownedMembership-> - reject(oclIsKindOf(ParameterMembership)) in - if nonParameterMemberships->isEmpty() or - not nonParameterMemberships->first().memberElement.oclIsKindOf(Feature) - then null - else nonParameterMemberships->first().memberElement.oclAsType(Feature) - endif -ownedMember->selectByKind(BindingConnector)->exists(b | - b.relatedFeatures->includes(targetFeature) and - b.relatedFeatures->includes(result)) -let membership : Membership = - ownedMembership->reject(m | m.oclIsKindOf(ParameterMembership)) in -membership->notEmpty() and -membership->at(1).memberElement.oclIsKindOf(Feature)""" ; - rdfs:label "FeatureReferenceExpression" . - - - a rdf:Property ; - rdfs:comment """

The target relatedTypes for this Association. This includes all the relatedTypes other than the sourceType.

-""" ; - rdfs:label "associationTargetType" . - - - a rdf:Property ; - rdfs:comment "

The occurrenceDefinitions of this PortUsage, which must all be PortDefinitions.

" ; - rdfs:label "portUsagePortDefinition" . - - - a rdf:Property ; - rdfs:comment """

An Expression whose result is bound to the sender input parameter of this SendActionUsage.

-""" ; - rdfs:label "sendActionUsageSenderArgument" . - - - a rdf:Property ; - rdfs:comment "

The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType.

" ; - rdfs:label "featureOwningFeatureMembership" . - - - a rdf:Property ; - rdfs:comment "

Various alternative identifiers for this Element. Generally, these will be set by tools.

" ; - rdfs:label "elementAliasIds" . - - - a rdfs:Class ; - rdfs:comment """

An AcceptActionUsage is an ActionUsage that specifies the acceptance of an incomingTransfer from the Occurrence given by the result of its receiverArgument Expression. (If no receiverArgument is provided, the default is the this context of the AcceptActionUsage.) The payload of the accepted Transfer is output on its payloadParameter. Which Transfers may be accepted is determined by conformance to the typing and (potentially) binding of the payloadParameter.

- -inputParameters()->size() >= 2 -receiverArgument = argument(2) -payloadArgument = argument(1) -payloadParameter = - if parameter->isEmpty() then null - else parameter->first() endif -not isTriggerAction() implies - specializesFromLibrary('Actions::acceptActions') -isSubactionUsage() and not isTriggerAction() implies - specializesFromLibrary('Actions::Action::acceptSubactions') -isTriggerAction() implies - specializesFromLibrary('Actions::TransitionAction::accepter') -payloadArgument <> null and -payloadArgument.oclIsKindOf(TriggerInvocationExpression) implies - let invocation : Expression = - payloadArgument.oclAsType(Expression) in - parameter->size() >= 2 and - invocation.parameter->size() >= 2 and - ownedFeature->selectByKind(BindingConnector)->exists(b | - b.relatedFeatures->includes(parameter->at(2)) and - b.relatedFeatures->includes(invocation.parameter->at(2)))""" ; - rdfs:label "AcceptActionUsage" . - - - a rdf:Property ; - rdfs:comment """

The more specific Classifier in this Subclassification.

-""" ; - rdfs:label "subclassificationSubclassifier" . - - - a rdfs:Class ; - rdfs:comment """

A BindingConnector is a binary Connector that requires its relatedFeatures to identify the same things (have the same values).

- -specializesFromLibrary('Links::selfLinks') -relatedFeature->size() = 2""" ; - rdfs:label "BindingConnector" . - - - a rdf:Property ; - rdfs:comment "

The UsageownedMemberParameter of this SubjectMembership.

" ; - rdfs:label "subjectMembershipOwnedSubjectParameter" . - - - a rdf:Property ; - rdfs:comment """

The Associations that type the Connector.

-""" ; - rdfs:label "connectorAssociation" . - - - a rdf:Property ; - rdfs:comment """

An Expression used to compute the result of the AnalysisCaseDefinition, owned via a ResultExpressionMembership.

-""" ; - rdfs:label "analysisCaseDefinitionResultExpression" . - - - a rdf:Property ; - rdfs:comment """

The Feature that is redefined by the redefiningFeature of this Redefinition.

-""" ; - rdfs:label "redefinitionRedefinedFeature" . - - - a rdfs:Class ; - rdfs:comment """

A TriggerInvocationExpression is an InvocationExpression that invokes one of the trigger Functions from the Kernel Semantic Library Triggers package, as indicated by its kind.

-specializesFromLibrary( - if kind = TriggerKind::when then - 'Triggers::TriggerWhen' - else if kind = TriggerKind::at then - 'Triggers::TriggerAt' - else - 'Triggers::TriggerAfter' - endif endif -) -kind = TriggerKind::after implies - argument->notEmpty() and - argument->at(1).result.specializesFromLibrary('Quantities::ScalarQuantityValue') and - let mRef : Element = - resolveGlobal('Quantities::TensorQuantityValue::mRef').ownedMemberElement in - argument->at(1).result.feature-> - select(ownedRedefinition.redefinedFeature-> - closure(ownedRedefinition.redefinedFeature)-> - includes(mRef))-> - exists(specializesFromLibrary('ISQBase::DurationUnit')) -kind = TriggerKind::at implies - argument->notEmpty() and - argument->at(1).result.specializesFromLibrary('Time::TimeInstantValue') -kind = TriggerKind::when implies - argument->notEmpty() and - argument->at(1).oclIsKindOf(FeatureReferenceExpression) and - let referent : Feature = - argument->at(1).oclAsType(FeatureReferenceExpression).referent in - referent.oclIsKindOf(Expression) and - referent.oclAsType(Expression).result.specializesFromLibrary('ScalarValues::Boolean')""" ; - rdfs:label "TriggerInvocationExpression" . - - - a rdf:Property ; - rdfs:comment """

The Feature that is redefining the redefinedFeature of this Redefinition.

-""" ; - rdfs:label "redefinitionRedefiningFeature" . - - - a rdf:Property ; - rdfs:comment """

The Expression whose result, if true, determines that the bodyAction should continue to be performed. It is the first owned parameter of the WhileLoopActionUsage.

-""" ; - rdfs:label "whileLoopActionUsageWhileArgument" . - - - a rdfs:Class ; - rdfs:comment """

A ViewUsage is a usage of a ViewDefinition to specify the generation of a view of the members of a collection of exposedNamespaces. The ViewUsage can satisfy more viewpoints than its definition, and it can specialize the viewRendering specified by its definition.

-exposedElement = ownedImport->selectByKind(Expose). - importedMemberships(Set{}).memberElement-> - select(elm | includeAsExposed(elm))-> - asOrderedSet() -satisfiedViewpoint = ownedRequirement-> - selectByKind(ViewpointUsage)-> - select(isComposite) -viewCondition = ownedMembership-> - selectByKind(ElementFilterMembership). - condition -viewRendering = - let renderings: OrderedSet(ViewRenderingMembership) = - featureMembership->selectByKind(ViewRenderingMembership) in - if renderings->isEmpty() then null - else renderings->first().referencedRendering - endif -featureMembership-> - selectByKind(ViewRenderingMembership)-> - size() <= 1 -specializesFromLibrary('Views::views') -owningType <> null and -(owningType.oclIsKindOf(ViewDefinition) or - owningType.oclIsKindOf(ViewUsage)) implies - specializesFromLibrary('Views::View::subviews')""" ; - rdfs:label "ViewUsage" . - - - a rdf:Property ; - rdfs:comment """

The Feature that is a subset of the subsettedFeature of this Subsetting.

-""" ; - rdfs:label "subsettingSubsettingFeature" . - - - a rdfs:Class ; - rdfs:comment """

An AttributeDefinition is a Definition and a DataType of information about a quality or characteristic of a system or part of a system that has no independent identity other than its value. All features of an AttributeDefinition must be referential (non-composite).

- -

As a DataType, an AttributeDefinition must specialize, directly or indirectly, the base DataType Base::DataValue from the Kernel Semantic Library.

-feature->forAll(not isComposite)""" ; - rdfs:label "AttributeDefinition" . - - - a rdfs:Class ; - rdfs:comment """

A Metaclass is a Structure used to type MetadataFeatures.

-specializesFromLibrary('Metaobjects::Metaobject')""" ; - rdfs:label "Metaclass" . - - - a rdf:Property ; - rdfs:comment "

The Element whose metadata is being accessed.

" ; - rdfs:label "metadataAccessExpressionReferencedElement" . - - - a rdf:Property ; - rdfs:comment """

A subsettingFeature that is also the owningRelatedElement of this Subsetting.

- -""" ; - rdfs:label "subsettingOwningFeature" . - - - a rdf:Property ; - rdfs:comment "

The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants.

" ; - rdfs:label "usageVariant" . - - - a rdf:Property ; - rdfs:comment "

The ownedRelationships of this AnnotatingElement that are Annotations, for which this AnnotatingElement is the annotatingElement.

" ; - rdfs:label "annotatingElementOwnedAnnotatingRelationship" . - - - a rdf:Property ; - rdfs:comment "

The Succession that is the ownedFeature of this TransitionUsage, which, if the TransitionUsage is triggered, asserts the temporal ordering of the source and target.

" ; - rdfs:label "transitionUsageSuccession" . - - - a rdf:Property ; - rdfs:comment """

The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex).

-""" ; - rdfs:label "typeIntersectingType" . - - - a rdf:Property ; - rdfs:comment """

Type that partly determines interpretations of typeIntersected, as described in Type::intersectingType.

-""" ; - rdfs:label "intersectingIntersectingType" . - - - a rdfs:Class ; - rdfs:comment """

A UseCaseDefinition is a CaseDefinition that specifies a set of actions performed by its subject, in interaction with one or more actors external to the subject. The objective is to yield an observable result that is of value to one or more of the actors.

- -includedUseCase = ownedUseCase-> - selectByKind(IncludeUseCaseUsage). - useCaseIncluded -specializesFromLibrary('UseCases::UseCase')""" ; - rdfs:label "UseCaseDefinition" . - - - a rdfs:Class ; - rdfs:comment """

A Step is a Feature that is typed by one or more Behaviors. Steps may be used by one Behavior to coordinate the performance of other Behaviors, supporting a steady refinement of behavioral descriptions. Steps can be ordered in time and can be connected using ItemFlows to specify things flowing between their parameters.

- -specializesFromLibrary('Performances::performances') -owningType <> null and - (owningType.oclIsKindOf(Behavior) or - owningType.oclIsKindOf(Step)) implies - specializesFromLibrary('Performances::Performance::enclosedPerformance') -isComposite and owningType <> null and -(owningType.oclIsKindOf(Structure) or - owningType.oclIsKindOf(Feature) and - owningType.oclAsType(Feature).type-> - exists(oclIsKindOf(Structure)) implies - specializesFromLibrary('Objects::Object::ownedPerformance') -owningType <> null and - (owningType.oclIsKindOf(Behavior) or - owningType.oclIsKindOf(Step)) and - self.isComposite implies - specializesFromLibrary('Performances::Performance::subperformance') -behavior = type->selectByKind(Behavior)""" ; - rdfs:label "Step" . - - - a rdf:Property ; - rdfs:comment "

The RenderingUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedRendering" . - - - a rdf:Property ; - rdfs:comment """

The Expression whose result provides the sequence of values to which the loopVariable is set for each iterative performance of the bodyAction. It is the Expression whose result is bound to the seq input parameter of this ForLoopActionUsage.

-""" ; - rdfs:label "forLoopActionUsageSeqArgument" . - - - a rdf:Property ; - rdfs:comment """

The annotation text for the Comment.

-""" ; - rdfs:label "commentBody" . - - - a rdf:Property ; - rdfs:comment "

The UseCaseUsages that are included by this UseCaseUse, which are the useCaseIncludeds of the IncludeUseCaseUsages owned by this UseCaseUsage.

" ; - rdfs:label "useCaseUsageIncludedUseCase" . - - - a rdf:Property ; - rdfs:comment """

The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type.

-""" ; - rdfs:label "typeOwnedSpecialization" . - - - a rdf:Property ; - rdfs:comment "

The PartUsage specifying the actor.

" ; - rdfs:label "actorMembershipOwnedActorParameter" . - - - a rdf:Property ; - rdfs:comment """

The Feature that provides the items carried by the ItemFlow. It must be an owned output of the source of the ItemFlow.

-""" ; - rdfs:label "itemFlowSourceOutputFeature" . - - - a rdf:Property ; - rdfs:comment "

The Feature that has a type determined by this FeatureTyping.

" ; - rdfs:label "featureTypingTypedFeature" . - - - a rdfs:Class ; - rdfs:comment """

An AssociationStructure is an Association that is also a Structure, classifying link objects that are both links and objects. As objects, link objects can be created and destroyed, and their non-end Features can change over time. However, the values of the end Features of a link object are fixed and cannot change over its lifetime.

-specializesFromLibrary('Objects::LinkObject') -endFeature->size() = 2 implies - specializesFromLibrary('Objects::BinaryLinkObject')""" ; - rdfs:label "AssociationStructure" . - - - a rdfs:Class ; - rdfs:comment """

A ResultExpressionMembership is a FeatureMembership that indicates that the ownedResultExpression provides the result values for the Function or Expression that owns it. The owning Function or Expression must contain a BindingConnector between the result parameter of the ownedResultExpression and the result parameter of the owning Function or Expression.

- -owningType.oclIsKindOf(Function) or owningType.oclIsKindOf(Expression)""" ; - rdfs:label "ResultExpressionMembership" . - - - a rdf:Property ; - rdfs:comment "

The AnalysisCaseUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedAnalysisCase" . - - - a rdf:Property ; - rdfs:comment """

The Namespace of which the memberElement becomes a member due to this Membership.

-""" ; - rdfs:label "membershipMembershipOwningNamespace" . - - - a rdf:Property ; - rdfs:comment "

The usages of a RenderingDefinition that are RenderingUsages.

" ; - rdfs:label "renderingDefinitionRendering" . - - - a rdf:Property ; - rdfs:comment """

The Feature that this FeatureMembership relates to its owningType, making it an ownedFeature of the owningType.

-""" ; - rdfs:label "featureMembershipOwnedMemberFeature" . - - - a rdfs:Class ; - rdfs:comment """

A MembershipImport is an Import that imports its importedMembership into the importOwningNamespace. If isRecursive = true and the memberElement of the importedMembership is a Namespace, then the equivalent of a recursive NamespaceImport is also performed on that Namespace.

- -importedElement = importedMembership.memberElement""" ; - rdfs:label "MembershipImport" . - - - a rdf:Property ; - rdfs:comment "

The UseCaseDefinition that is the definition of this UseCaseUsage.

" ; - rdfs:label "useCaseUsageUseCaseDefinition" . - - - a rdf:Property ; - rdfs:comment """

The visibility level of the imported members from this Import relative to the importOwningNamespace.

-""" ; - rdfs:label "importVisibility" . - - - a rdf:Property ; - rdfs:comment "

The RequirementUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedRequirement" . - - - a rdf:Property ; - rdfs:comment "

The PortUsages that are nestedUsages of this Usage.

" ; - rdfs:label "usageNestedPort" . - - - a rdfs:Class ; - rdfs:comment """

A PortUsage is a usage of a PortDefinition. A PortUsage itself as well as all its nestedUsages must be referential (non-composite).

-nestedUsage-> - reject(oclIsKindOf(PortUsage))-> - forAll(not isComposite) -specializesFromLibrary('Ports::ports') -isComposite and owningType <> null and -(owningType.oclIsKindOf(PortDefinition) or - owningType.oclIsKindOf(PortUsage)) implies - specializesFromLibrary('Ports::Port::subports') -owningType = null or -not owningType.oclIsKindOf(PortDefinition) and -not owningType.oclIsKindOf(PortUsage) implies - isReference""" ; - rdfs:label "PortUsage" . - - - a rdf:Property ; - rdfs:comment """

The ReferenceUsages that are nestedUsages of this Usage.

-""" ; - rdfs:label "usageNestedReference" . - - - a rdfs:Class ; - rdfs:comment """

A ConstraintDefinition is an OccurrenceDefinition that is also a Predicate that defines a constraint that may be asserted to hold on a system or part of a system.

- - -specializesFromLibrary('Constraints::ConstraintCheck')""" ; - rdfs:label "ConstraintDefinition" . - - - a rdfs:Class ; - rdfs:comment """

A SelectExpression is an OperatorExpression whose operator is \"select\", which resolves to the Function ControlFunctions::select from the Kernel Functions Library.

-operator = 'select'""" ; - rdfs:label "SelectExpression" . - - - a rdf:Property ; - rdfs:comment "

Whether this TransitionFeatureMembership is for a trigger, guard or effect.

" ; - rdfs:label "transitionFeatureMembershipKind" . - - - a rdfs:Class ; - rdfs:comment """

A PortConjugation is a Conjugation Relationship between a PortDefinition and its corresponding ConjugatedPortDefinition. As a result of this Relationship, the ConjugatedPortDefinition inherits all the features of the original PortDefinition, but input flows of the original PortDefinition become outputs on the ConjugatedPortDefinition and output flows of the original PortDefinition become inputs on the ConjugatedPortDefinition.

-""" ; - rdfs:label "PortConjugation" . - - - a rdfs:Class ; - rdfs:comment """

A Succession is a binary Connector that requires its relatedFeatures to happen separately in time.

- -specializesFromLibrary('Occurences::happensBeforeLinks') -transitionStep = - if owningNamespace.oclIsKindOf(Step) and - owningNamespace.oclAsType(Step). - specializesFromLibrary('TransitionPerformances::TransitionPerformance') then - owningNamespace.oclAsType(Step) - else null - endif -triggerStep = - if transitionStep = null or - transitionStep.ownedFeature.size() < 2 or - not transitionStep.ownedFeature->at(2).oclIsKindOf(Step) - then Set{} - else Set{transitionStep.ownedFeature->at(2).oclAsType(Step)} - endif -effectStep = - if transitionStep = null or - transitionStep.ownedFeature.size() < 4 or - not transitionStep.ownedFeature->at(4).oclIsKindOf(Step) - then Set{} - else Set{transitionStep.ownedFeature->at(4).oclAsType(Step)} - endif -guardExpression = - if transitionStep = null or - transitionStep.ownedFeature.size() < 3 or - not transitionStep.ownedFeature->at(3).oclIsKindOf(Expression) - then Set{} - else Set{transitionStep.ownedFeature->at(3).oclAsType(Expression)} - endif""" ; - rdfs:label "Succession" . - - - a rdfs:Class ; - rdfs:comment """

A MetadataDefinition is an ItemDefinition that is also a Metaclass.

-specializesFromLibrary('Metadata::MetadataItem')""" ; - rdfs:label "MetadataDefinition" . - - - a rdf:Property ; - rdfs:comment "

The Usages that define the things related by the ConnectionDefinition.

" ; - rdfs:label "connectionDefinitionConnectionEnd" . - - - a rdf:Property ; - rdfs:comment "

The Expressions that define the guards of this TransitionUsage, which are the ownedFeatures of the TransitionUsage related to it by TransitionFeatureMemberships with kind = guard, which must all be Expressions.

" ; - rdfs:label "transitionUsageGuardExpression" . - - - a rdf:Property ; - rdfs:comment "

The UseCaseUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedUseCase" . - - - a rdfs:Class ; - rdfs:comment """

An IfActionUsage is an ActionUsage that specifies that the thenAction ActionUsage should be performed if the result of the ifArgument Expression is true. It may also optionally specify an elseAction ActionUsage that is performed if the result of the ifArgument is false.

-thenAction = - let parameter : Feature = inputParameter(2) in - if parameter <> null and parameter.oclIsKindOf(ActionUsage) then - parameter.oclAsType(ActionUsage) - else - null - endif -isSubactionUsage() implies - specializesFromLibrary('Actions::Action::ifSubactions') -if elseAction = null then - specializesFromLibrary('Actions::ifThenActions') -else - specializesFromLibrary('Actions::ifThenElseActions') -endif -ifArgument = - let parameter : Feature = inputParameter(1) in - if parameter <> null and parameter.oclIsKindOf(Expression) then - parameter.oclAsType(Expression) - else - null - endif -elseAction = - let parameter : Feature = inputParameter(3) in - if parameter <> null and parameter.oclIsKindOf(ActionUsage) then - parameter.oclAsType(ActionUsage) - else - null - endif -inputParameters()->size() >= 2""" ; - rdfs:label "IfActionUsage" . - - - a rdf:Property ; - rdfs:comment """

All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships.

-""" ; - rdfs:label "namespaceMembership" . - - - a rdf:Property ; - rdfs:comment """

The ActionUsage that is to be performed if the result of the ifArgument is true. It is the second parameter of the IfActionUsage.

-""" ; - rdfs:label "ifActionUsageThenAction" . - - - a rdf:Property ; - rdfs:comment "

The ViewUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedView" . - - - a rdfs:Class ; - rdfs:comment "

A TypeFeaturing is a Featuring Relationship in which the featureOfType is the source and the featuringType is the target.

" ; - rdfs:label "TypeFeaturing" . - - - a rdfs:Class ; - rdfs:comment """

EndFeatureMembership is a FeatureMembership that requires its memberFeature be owned and have isEnd = true.

- -ownedMemberFeature.isEnd""" ; - rdfs:label "EndFeatureMembership" . - - - a rdf:Property ; - rdfs:comment """

The Type that is the result of applying Conjugation to the originalType.

-""" ; - rdfs:label "conjugationConjugatedType" . - - - a rdf:Property ; - rdfs:comment "

The Relationships for which this Element is the owningRelatedElement.

" ; - rdfs:label "elementOwnedRelationship" . - - - a rdf:Property ; - rdfs:comment """

The Relationship for which this Element is an ownedRelatedElement, if any.

-""" ; - rdfs:label "elementOwningRelationship" . - - - a rdf:Property ; - rdfs:comment """

The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature.

-""" ; - rdfs:label "featureOwnedSubsetting" . - - - a rdf:Property ; - rdfs:comment "

The MetadataDefinition that is the definition of this MetadataUsage.

" ; - rdfs:label "metadataUsageMetadataDefinition" . - - - a rdfs:Class ; - rdfs:comment """

An AttributeUsage is a Usage whose type is a DataType. Nominally, if the type is an AttributeDefinition, an AttributeUsage is a usage of a AttributeDefinition to represent the value of some system quality or characteristic. However, other kinds of kernel DataTypes are also allowed, to permit use of DataTypes from the Kernel Model Libraries. An AttributeUsage itself as well as all its nested features must be referential (non-composite).

- -

An AttributeUsage must specialize, directly or indirectly, the base Feature Base::dataValues from the Kernel Semantic Library.

-isReference -feature->forAll(not isComposite) -specializesFromLibrary('Base::dataValues')""" ; - rdfs:label "AttributeUsage" . - - - a rdf:Property ; - rdfs:comment """

The UseCaseUsages that are nestedUsages of this Usage.

-""" ; - rdfs:label "usageNestedUseCase" . - - - a rdf:Property ; - rdfs:comment """

The Annotations that relate this AnnotatingElement to its annotatedElements.

-""" ; - rdfs:label "annotatingElementAnnotation" . - - - a rdf:Property ; - rdfs:comment """

Type that partly determines interpretations of typeUnioned, as described in Type::unioningType.

-""" ; - rdfs:label "unioningUnioningType" . - - - a rdfs:Class ; - rdfs:comment """

A Predicate is a Function whose result parameter has type Boolean and multiplicity 1..1.

- -specializesFromLibrary('Performances::BooleanEvaluation')""" ; - rdfs:label "Predicate" . - - - a rdf:Property ; - rdfs:comment "

The endFeatures of a Connector, which redefine the endFeatures of the associations of the Connector. The connectorEnds determine via ReferenceSubsetting Relationships which Features are related by the Connector.

" ; - rdfs:label "connectorConnectorEnd" . - - - a rdf:Property ; - rdfs:comment "

The Feature that represents the actual subject that is asserted to satisfy the satisfiedRequirement. The satisfyingFeature is bound to the subjectParameter of the SatisfyRequirementUsage.

" ; - rdfs:label "satisfyRequirementUsageSatisfyingFeature" . - - - a rdf:Property ; - rdfs:comment """

The features of this Type that have a non-null direction.

-""" ; - rdfs:label "typeDirectedFeature" . - - - a rdfs:Class ; - rdfs:comment """

A MetadataAccessExpression is an Expression whose result is a sequence of instances of Metaclasses representing all the MetadataFeature annotations of the referencedElement. In addition, the sequence includes an instance of the reflective Metaclass corresponding to the MOF class of the referencedElement, with values for all the abstract syntax properties of the referencedElement.

-specializesFromLibrary('Performances::metadataAccessEvaluations')""" ; - rdfs:label "MetadataAccessExpression" . - - - a rdf:Property ; - rdfs:comment """

The Expression whose result provides the lower bound of the MultiplicityRange. If no lowerBound Expression is given, then the lower bound shall have the same value as the upper bound, unless the upper bound is unbounded (*), in which case the lower bound shall be 0.

-""" ; - rdfs:label "multiplicityRangeLowerBound" . - - - a rdf:Property ; - rdfs:comment """

Whether the values of this Feature can always be computed from the values of other Features.

-""" ; - rdfs:label "featureIsDerived" . - - - a rdf:Property ; - rdfs:comment "

Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition.

" ; - rdfs:label "occurrenceUsageIsIndividual" . - - - a rdf:Property ; - rdfs:comment "

The Usages that are ownedFeatures of this Usage.

" ; - rdfs:label "usageNestedUsage" . - - - a rdfs:Class ; - rdfs:comment """

An Interaction is a Behavior that is also an Association, providing a context for multiple objects that have behaviors that impact one another.

-""" ; - rdfs:label "Interaction" . - - - a rdf:Property ; - rdfs:comment """

The declared name of this Element.

-""" ; - rdfs:label "elementDeclaredName" . - - - a rdfs:Class ; - rdfs:comment """

A DecisionNode is a ControlNode that makes a selection from its outgoing Successions.

-targetConnector->selectByKind(Succession)->size() <= 1 -sourceConnector->selectAsKind(Succession)-> - collect(connectorEnd->at(2))-> - forAll(targetMult | - multiplicityHasBounds(targetMult, 0, 1)) -specializesFromLibrary('Actions::Action::decisions') -sourceConnector->selectByKind(Succession)-> - forAll(subsetsChain(self, - resolveGlobal('ControlPerformances::MergePerformance::outgoingHBLink')))""" ; - rdfs:label "DecisionNode" . - - - a rdfs:Class ; - rdfs:comment """

A CaseDefinition is a CalculationDefinition for a process, often involving collecting evidence or data, relative to a subject, possibly involving the collaboration of one or more other actors, producing a result that meets an objective.

-objectiveRequirement = - let objectives: OrderedSet(RequirementUsage) = - featureMembership-> - selectByKind(ObjectiveMembership). - ownedRequirement in - if objectives->isEmpty() then null - else objectives->first().ownedObjectiveRequirement - endif -featureMembership-> - selectByKind(ObjectiveMembership)-> - size() <= 1 -subjectParameter = - let subjectMems : OrderedSet(SubjectMembership) = - featureMembership->selectByKind(SubjectMembership) in - if subjectMems->isEmpty() then null - else subjectMems->first().ownedSubjectParameter - endif -actorParameter = featureMembership-> - selectByKind(ActorMembership). - ownedActorParameter -featureMembership->selectByKind(SubjectMembership)->size() <= 1 -input->notEmpty() and input->first() = subjectParameter -specializesFromLibrary('Cases::Case')""" ; - rdfs:label "CaseDefinition" . - - - a rdf:Property ; - rdfs:comment "

The ownedFeature of this ForLoopActionUsage that acts as the loop variable, which is assigned the successive values of the input sequence on each iteration. It is the ownedFeature that redefines ForLoopAction::var.

" ; - rdfs:label "forLoopActionUsageLoopVariable" . - - - a rdf:Property ; - rdfs:comment "

The Behaviors that are the types of this StateUsage. Nominally, these would be StateDefinitions, but kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries.

" ; - rdfs:label "stateUsageStateDefinition" . - - - a rdfs:Class ; - rdfs:comment """

A WhileLoopActionUsage is a LoopActionUsage that specifies that the bodyAction ActionUsage should be performed repeatedly while the result of the whileArgument Expression is true or until the result of the untilArgument Expression (if provided) is true. The whileArgument Expression is evaluated before each (possible) performance of the bodyAction, and the untilArgument Expression is evaluated after each performance of the bodyAction.

-isSubactionUsage() implies - specializesFromLibrary('Actions::Action::whileLoops') -untilArgument = - let parameter : Feature = inputParameter(3) in - if parameter <> null and parameter.oclIsKindOf(Expression) then - parameter.oclAsType(Expression) - else - null - endif - -specializesFromLibrary('Actions::whileLoopActions') -whileArgument = - let parameter : Feature = inputParameter(1) in - if parameter <> null and parameter.oclIsKindOf(Expression) then - parameter.oclAsType(Expression) - else - null - endif - -inputParameters()->size() >= 2""" ; - rdfs:label "WhileLoopActionUsage" . - - - a rdf:Property ; - rdfs:comment """

The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships).

-""" ; - rdfs:label "typeFeatureMembership" . - - - a rdfs:Class ; - rdfs:comment """

An ExhibitStateUsage is a StateUsage that represents the exhibiting of a StateUsage. Unless it is the StateUsage itself, the StateUsage to be exhibited is related to the ExhibitStateUsage by a ReferenceSubsetting Relationship. An ExhibitStateUsage is also a PerformActionUsage, with its exhibitedState as the performedAction.

- -owningType <> null and -(owningType.oclIsKindOf(PartDefinition) or - owningType.oclIsKindOf(PartUsage)) implies - specializesFromLibrary('Parts::Part::exhibitedStates') -ownedReferenceSubsetting <> null implies - ownedReferenceSubsetting.referencedFeature.oclIsKindOf(StateUsage)""" ; - rdfs:label "ExhibitStateUsage" . - - - a rdfs:Class ; - rdfs:comment """

A ViewDefinition is a PartDefinition that specifies how a view artifact is constructed to satisfy a viewpoint. It specifies a viewConditions to define the model content to be presented and a viewRendering to define how the model content is presented.

-view = usage->selectByKind(ViewUsage) -satisfiedViewpoint = ownedRequirement-> - selectByKind(ViewpointUsage)-> - select(isComposite) -viewRendering = - let renderings: OrderedSet(ViewRenderingMembership) = - featureMembership->selectByKind(ViewRenderingMembership) in - if renderings->isEmpty() then null - else renderings->first().referencedRendering - endif -viewCondition = ownedMembership-> - selectByKind(ElementFilterMembership). - condition -featureMembership-> - selectByKind(ViewRenderingMembership)-> - size() <= 1 -specializesFromLibrary('Views::View')""" ; - rdfs:label "ViewDefinition" . - - - a rdf:Property ; - rdfs:comment "

The AllocationUsages that are nestedUsages of this Usage.

" ; - rdfs:label "usageNestedAllocation" . - - - a rdf:Property ; - rdfs:comment "

An optional modeler-specified identifier for this RequirementUsage (used, e.g., to link it to an original requirement text in some source document), which is the declaredShortName for the RequirementUsage.

" ; - rdfs:label "requirementUsageReqId" . - - - a rdfs:Class ; - rdfs:comment """

A LifeClass is a Class that specializes both the Class Occurrences::Life from the Kernel Semantic Library and a single OccurrenceDefinition, and has a multiplicity of 0..1. This constrains the OccurrenceDefinition being specialized to have at most one instance that is a complete Life.

- -specializesFromLibrary('Occurrences::Life') -multiplicity <> null and -multiplicity.specializesFromLibrary('Base::zeroOrOne') -specializes(individualDefinition) -isSufficient""" ; - rdfs:label "LifeClass" . - - - a rdf:Property ; - rdfs:comment """

Indicates whether instances of this Type must also be instances of at least one of its specialized Types.

-""" ; - rdfs:label "typeIsAbstract" . - - - a rdfs:Class ; - rdfs:comment """

A RequirementConstraintMembership is a FeatureMembership for an assumed or required ConstraintUsage of a RequirementDefinition or RequirementUsage.

-referencedConstraint = - let reference : ReferenceSubsetting = - ownedConstraint.ownedReferenceSubsetting in - if reference = null then ownedConstraint - else if not reference.referencedFeature.oclIsKindOf(ConstraintUsage) then null - else reference.referencedFeature.oclAsType(ConstraintUsage) - endif endif -owningType.oclIsKindOf(RequirementDefinition) or -owningType.oclIsKindOf(RequirementUsage) -ownedConstraint.isComposite""" ; - rdfs:label "RequirementConstraintMembership" . - - - a rdf:Property ; - rdfs:comment "

An Expression used to compute the result of the AnalysisCaseUsage, owned via a ResultExpressionMembership.

" ; - rdfs:label "analysisCaseUsageResultExpression" . - - - a rdf:Property ; - rdfs:comment "

The Feature that is featured by the featuringType. It is the source of the TypeFeaturing.

" ; - rdfs:label "typeFeaturingFeatureOfType" . - - - a rdf:Property ; - rdfs:comment "

The ActionUsage of this StateDefinition to be performed on entry to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateDefinition by a StateSubactionMembership with kind = entry.

" ; - rdfs:label "stateDefinitionEntryAction" . - - - a rdfs:Class ; - rdfs:comment """

An OccurrenceUsage is a Usage whose types are all Classes. Nominally, if a type is an OccurrenceDefinition, an OccurrenceUsage is a Usage of that OccurrenceDefinition within a system. However, other types of Kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries.

- -individualDefinition = - let individualDefinitions : OrderedSet(OccurrenceDefinition) = - occurrenceDefinition-> - selectByKind(OccurrenceDefinition)-> - select(isIndividual) in - if individualDefinitions->isEmpty() then null - else individualDefinitions->first() endif -isIndividual implies individualDefinition <> null -specializesFromLibrary('Occurrences::occurrences') -isComposite and -owningType <> null and -(owningType.oclIsKindOf(Class) or - owningType.oclIsKindOf(OccurrenceUsage) or - owningType.oclIsKindOf(Feature) and - owningType.oclAsType(Feature).type-> - exists(oclIsKind(Class))) implies - specializesFromLibrary('Occurrences::Occurrence::suboccurrences') -occurrenceDefinition-> - selectByKind(OccurrenceDefinition)-> - select(isIndividual).size() <= 1 -portionKind <> null implies - occurrenceDefinition->forAll(occ | - featuringType->exists(specializes(occ)))""" ; - rdfs:label "OccurrenceUsage" . - - - a rdfs:Class ; - rdfs:comment """

A RenderingDefinition is a PartDefinition that defines a specific rendering of the content of a model view (e.g., symbols, style, layout, etc.).

-rendering = usages->selectByKind(RenderingUsage) -specializesFromLibrary('Views::Rendering')""" ; - rdfs:label "RenderingDefinition" . - - - a rdf:Property ; - rdfs:comment """

The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general.

-""" ; - rdfs:label "typeUnioningType" . - - - a rdfs:Class ; - rdfs:comment """

A CalculationUsage is an ActionUsage that is also an Expression, and, so, is typed by a Function. Nominally, if the type is a CalculationDefinition, a CalculationUsage is a Usage of that CalculationDefinition within a system. However, other kinds of kernel Functions are also allowed, to permit use of Functions from the Kernel Model Libraries.

-specializesFromLibrary('Calculations::calculations') -owningType <> null and -(owningType.oclIsKindOf(CalculationDefinition) or - owningType.oclIsKindOf(CalculationUsage)) implies - specializesFromLibrary('Calculations::Calculation::subcalculations')""" ; - rdfs:label "CalculationUsage" . - - - a rdf:Property ; - rdfs:comment "

The Feature whose value is to be set.

" ; - rdfs:label "assignmentActionUsageReferent" . - - - a rdfs:Class ; - rdfs:comment """

LiteralBoolean is a LiteralExpression that provides a Boolean value as a result. Its result parameter must have type Boolean.

- -specializesFromLibrary('Performances::literalBooleanEvaluations')""" ; - rdfs:label "LiteralBoolean" . - - - a rdfs:Class ; - rdfs:comment """

A LiteralRational is a LiteralExpression that provides a Rational value as a result. Its result parameter must have the type Rational.

- -specializesFromLibrary('Performances::literalRationalEvaluations')""" ; - rdfs:label "LiteralRational" . - - - a rdf:Property ; - rdfs:comment """

All endFeatures of this Type that are ownedFeatures.

-""" ; - rdfs:label "typeOwnedEndFeature" . - - - a rdf:Property ; - rdfs:comment """

The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any.

-""" ; - rdfs:label "elementOwningNamespace" . - - - a rdf:Property ; - rdfs:comment "

The composite actions of the AnalysisCaseDefinition that are defined as AnalysisActions.

" ; - rdfs:label "analysisCaseDefinitionAnalysisAction" . - - - a rdf:Property ; - rdfs:comment "

Whether this LibraryPackage contains a standard library model. This should only be set to true for LibraryPackages in the standard Kernel Model Libraries or in normative model libraries for a language built on KerML.

" ; - rdfs:label "libraryPackageIsStandard" . - - - a rdf:Property ; - rdfs:comment """

The ownedMemberFeatures of the featureMemberships of this Type.

-""" ; - rdfs:label "typeFeature" . - - - a rdf:Property ; - rdfs:comment "

The usages of this ViewDefinition that are ViewUsages.

" ; - rdfs:label "viewDefinitionView" . - - - a rdf:Property ; - rdfs:comment """

The Namespace whose visible Memberships are imported by this NamespaceImport.

-""" ; - rdfs:label "namespaceImportImportedNamespace" . - - - a rdfs:Class ; - rdfs:comment """

Documentation is a Comment that specifically documents a documentedElement, which must be its owner.

-""" ; - rdfs:label "Documentation" . - - - a rdfs:Class ; - rdfs:comment """

A ForkNode is a ControlNode that must be followed by successor Actions as given by all its outgoing Successions.

-targetConnector->selectByKind(Succession)->size() <= 1 -specializesFromLibrary('Actions::Action::forks')""" ; - rdfs:label "ForkNode" . - - - a rdf:Property ; - rdfs:comment """

The Element that is documented by this Documentation.

-""" ; - rdfs:label "documentationDocumentedElement" . - - - a rdf:Property ; - rdfs:comment "

The single EnumerationDefinition that is the type of this EnumerationUsage.

" ; - rdfs:label "enumerationUsageEnumerationDefinition" . - - - a rdfs:Class ; - rdfs:comment """

An Annotation is a Relationship between an AnnotatingElement and the Element that is annotated by that AnnotatingElement.

-""" ; - rdfs:label "Annotation" . - - - a rdf:Property ; - rdfs:comment "

The owned Expressions of the MultiplicityRange whose results provide its bounds. These must be the only ownedMembers of the MultiplicityRange.

" ; - rdfs:label "multiplicityRangeBound" . - - - a rdfs:Class ; - rdfs:comment """

A FeatureMembership is an OwningMembership between a Feature in an owningType that is also a Featuring Relationship between the Feature and the Type, in which the featuringType is the source and the featureOfType is the target. A FeatureMembership is always owned by its owningType, which is the featuringType for the FeatureMembership considered as a Featuring.

-""" ; - rdfs:label "FeatureMembership" . - - - a rdfs:Class ; - rdfs:comment """

Conjugation is a Relationship between two types in which the conjugatedType inherits all the Features of the originalType, but with all input and output Features reversed. That is, any Features with a direction in relative to the originalType are considered to have an effective direction of out relative to the conjugatedType and, similarly, Features with direction out in the originalType are considered to have an effective direction of in in the conjugatedType. Features with direction inout, or with no direction, in the originalType, are inherited without change.

- -

A Type may participate as a conjugatedType in at most one Conjugation relationship, and such a Type may not also be the specific Type in any Specialization relationship.

-""" ; - rdfs:label "Conjugation" . - - - a rdf:Property ; - rdfs:comment """

The ActionUsage to be performed repeatedly by the LoopActionUsage. It is the second parameter of the LoopActionUsage.

-""" ; - rdfs:label "loopActionUsageBodyAction" . - - - a rdfs:Class ; - rdfs:comment """

A SatisfyRequirementUsage is an AssertConstraintUsage that asserts, by default, that a satisfied RequirementUsage is true for a specific satisfyingFeature, or, if isNegated = true, that the RequirementUsage is false. The satisfied RequirementUsage is related to the SatisfyRequirementUsage by a ReferenceSubsetting Relationship.

-satisfyingFeature = - let bindings: BindingConnector = ownedMember-> - selectByKind(BindingConnector)-> - select(b | b.relatedElement->includes(subjectParameter)) in - if bindings->isEmpty() or - bindings->first().relatedElement->exits(r | r <> subjectParameter) - then null - else bindings->first().relatedElement->any(r | r <> subjectParameter) - endif -ownedMember->selectByKind(BindingConnector)-> - select(b | - b.relatedElement->includes(subjectParameter) and - b.relatedElement->exists(r | r <> subjectParameter))-> - size() = 1 -ownedReferenceSubsetting <> null implies - ownedReferenceSubsetting.referencedFeature.oclIsKindOf(RequirementUsage)""" ; - rdfs:label "SatisfyRequirementUsage" . - - - a rdf:Property ; - rdfs:comment """

The name of the ownedMemberElement.

-""" ; - rdfs:label "owningMembershipOwnedMemberName" . - - - a rdf:Property ; - rdfs:comment """

The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced.

-""" ; - rdfs:label "typeOwnedDifferencing" . - - - a rdfs:Class ; - rdfs:comment """

An AssertConstraintUsage is a ConstraintUsage that is also an Invariant and, so, is asserted to be true (by default). Unless it is the AssertConstraintUsage itself, the asserted ConstraintUsage is related to the AssertConstraintUsage by a ReferenceSubsetting Relationship.

-assertedConstraint = - if ownedReferenceSubsetting = null then self - else ownedReferenceSubsetting.referencedFeature.oclAsType(ConstraintUsage) - endif -if isNegated then - specializesFromLibrary('Constraints::negatedConstraints') -else - specializesFromLibrary('Constraints::assertedConstraints') -endif -ownedReferenceSubsetting <> null implies - ownedReferenceSubsetting.referencedFeature.oclIsKindOf(ConstraintUsage)""" ; - rdfs:label "AssertConstraintUsage" . - - - a rdfs:Class ; - rdfs:comment """

FeatureTyping is Specialization in which the specific Type is a Feature. This means the set of instances of the (specific) typedFeature is a subset of the set of instances of the (general) type. In the simplest case, the type is a Classifier, whereupon the typedFeature has values that are instances of the Classifier.

-""" ; - rdfs:label "FeatureTyping" . - - - a rdf:Property ; - rdfs:comment """

Whether the ownedStates of this StateDefinition are to all be performed in parallel. If true, none of the ownedActions (which includes ownedStates) may have any incoming or outgoing Transitions. If false, only one ownedState may be performed at a time.

-""" ; - rdfs:label "stateDefinitionIsParallel" . - - - a rdf:Property ; - rdfs:comment "

The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature.

" ; - rdfs:label "featureChainingFeature" . - - - a rdf:Property ; - rdfs:comment """

The ActionUsages that are steps in this ActionDefinition, which define the actions that specify the behavior of the ActionDefinition.

-""" ; - rdfs:label "actionDefinitionAction" . - - - a rdf:Property ; - rdfs:comment "

Whether this OccurrenceDefinition is constrained to represent single individual.

" ; - rdfs:label "occurrenceDefinitionIsIndividual" . - - - a rdfs:Class ; - rdfs:comment """

A VerificationCaseDefinition is a CaseDefinition for the purpose of verification of the subject of the case against its requirements.

-verifiedRequirement = - if objectiveRequirement = null then OrderedSet{} - else - objectiveRequirement.featureMembership-> - selectByKind(RequirementVerificationMembership). - verifiedRequirement->asOrderedSet() - endif -specializesFromLibrary('VerificationCases::VerificationCase')""" ; - rdfs:label "VerificationCaseDefinition" . - - - a rdf:Property ; - rdfs:comment "

The ConcernUsages framed by this RequirementDefinition, which are the ownedConcerns of all FramedConcernMemberships of the RequirementDefinition.

" ; - rdfs:label "requirementDefinitionFramedConcern" . - - - a rdf:Property ; - rdfs:comment """

The RequirementUsage representing the objective of this CaseDefinition.

-""" ; - rdfs:label "caseDefinitionObjectiveRequirement" . - - - a rdf:Property ; - rdfs:comment "

The composite ownedRequirements of this ViewDefinition that are ViewpointUsages for viewpoints satisfied by the ViewDefinition.

" ; - rdfs:label "viewDefinitionSatisfiedViewpoint" . - - - a rdf:Property ; - rdfs:comment "

The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries.

" ; - rdfs:label "usageDefinition" . - - - a rdf:Property ; - rdfs:comment "

The OccurrenceUsage referenced as an event by this EventOccurrenceUsage. It is the referenceFeature of the ownedReferenceSubsetting for the EventOccurrenceUsage, if there is one, and, otherwise, the EventOccurrenceUsage itself.

" ; - rdfs:label "eventOccurrenceUsageEventOccurrence" . - - - a rdfs:Class ; - rdfs:comment """

A Structure is a Class of objects in the modeled universe that are primarily structural in nature. While such an object is not itself behavioral, it may be involved in and acted on by Behaviors, and it may be the performer of some of them.

- -specializesFromLibrary('Objects::Object') -ownedSpecialization.general->forAll(not oclIsKindOf(Behavior))""" ; - rdfs:label "Structure" . - - - a rdf:Property ; - rdfs:comment """

A Conjugation owned by this Type for which the Type is the originalType.

-""" ; - rdfs:label "typeOwnedConjugator" . - - - a rdf:Property ; - rdfs:comment "

The RenderingUsage to be used to render views defined by this ViewUsage, which is the referencedRendering of the ViewRenderingMembership of the ViewUsage.

" ; - rdfs:label "viewUsageViewRendering" . - - - a rdf:Property ; - rdfs:comment "

The Usages that are ownedFeatures of this Definition.

" ; - rdfs:label "definitionOwnedUsage" . - - - a rdfs:Class ; - rdfs:comment """

A ControlNode is an ActionUsage that does not have any inherent behavior but provides constraints on incoming and outgoing Successions that are used to control other Actions. A ControlNode must be a composite owned usage of an ActionDefinition or ActionUsage.

- -sourceConnector->selectByKind(Succession)-> - collect(connectorEnd->at(1).multiplicity)-> - forAll(sourceMult | - multiplicityHasBounds(sourceMult, 1, 1)) -owningType <> null and -(owningType.oclIsKindOf(ActionDefinition) or - owningType.oclIsKindOf(ActionUsage)) -targetConnector->selectByKind(Succession)-> - collect(connectorEnd->at(2).multiplicity)-> - forAll(targetMult | - multiplicityHasBounds(targetMult, 1, 1)) -specializesFromLibrary('Action::Action::controls')""" ; - rdfs:label "ControlNode" . - - - a rdf:Property ; - rdfs:comment "

The Feature that is referenced by this FeatureReferenceExpression, which is its first non-parameter member.

" ; - rdfs:label "featureReferenceExpressionReferent" . - - - a rdf:Property ; - rdfs:comment """

The textual representation of the representedElement in the given language.

-""" ; - rdfs:label "textualRepresentationBody" . - - - a rdf:Property ; - rdfs:comment """

The ActionUsage to be performed by this PerformedActionUsage. It is the eventOccurrence of the PerformActionUsage considered as an EventOccurrenceUsage, which must be an ActionUsage.

-""" ; - rdfs:label "performActionUsagePerformedAction" . - - - a rdf:Property ; - rdfs:comment """

The Elements that are annotated by this AnnotatingElement. If annotation is not empty, these are the annotatedElements of the annotations. If annotation is empty, then it is the owningNamespace of the AnnotatingElement.

-""" ; - rdfs:label "annotatingElementAnnotatedElement" . - - - a rdf:Property ; - rdfs:comment """

The code>AttributeUsages that are nestedUsages of this Usage.

-""" ; - rdfs:label "usageNestedAttribute" . - - - a rdf:Property ; - rdfs:comment "

Whether this FeatureValue is a concrete specification of the bound or initial value of the featureWithValue, or just a default value that may be overridden.

" ; - rdfs:label "featureValueIsDefault" . - - - a rdf:Property ; - rdfs:comment """

The Element that becomes an ownedMember of the membershipOwningNamespace due to this OwningMembership.

-""" ; - rdfs:label "owningMembershipOwnedMemberElement" . - - - a rdf:Property ; - rdfs:comment "

The ActionUsage of this StateUsage to be performed while in the state defined by the StateDefinition. It is the owned ActionUsage related to the StateUsage by a StateSubactionMembership with kind = do.

" ; - rdfs:label "stateUsageDoAction" . - - - a rdf:Property ; - rdfs:comment """

The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace.

-""" ; - rdfs:label "namespaceOwnedMembership" . - - - a rdf:Property ; - rdfs:comment "

The parameter of this RequirementDefinition that represents its subject.

" ; - rdfs:label "requirementDefinitionSubjectParameter" . - - - a rdf:Property ; - rdfs:comment """

Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature.

-""" ; - rdfs:label "featureType" . - - - a rdfs:Class ; - rdfs:comment """

A Membership is a Relationship between a Namespace and an Element that indicates the Element is a member of (i.e., is contained in) the Namespace. Any memberNames specify how the memberElement is identified in the Namespace and the visibility specifies whether or not the memberElement is publicly visible from outside the Namespace.

- -

If a Membership is an OwningMembership, then it owns its memberElement, which becomes an ownedMember of the membershipOwningNamespace. Otherwise, the memberNames of a Membership are effectively aliases within the membershipOwningNamespace for an Element with a separate OwningMembership in the same or a different Namespace.

- -

 

- -memberElementId = memberElement.elementId""" ; - rdfs:label "Membership" . - - - a rdf:Property ; - rdfs:comment "

The Step that is the ownedMemberFeature of this TransitionFeatureMembership.

" ; - rdfs:label "transitionFeatureMembershipTransitionFeature" . - - - a rdf:Property ; - rdfs:comment """

The Feature that is subsetted by the subsettingFeature of this Subsetting.

-""" ; - rdfs:label "subsettingSubsettedFeature" . - - - a rdf:Property ; - rdfs:comment """

An Expression whose result is bound to the payload input parameter of this SendActionUsage.

-""" ; - rdfs:label "sendActionUsagePayloadArgument" . - - - a rdf:Property ; - rdfs:comment "

The parameters of this RequirementDefinition that represent stakeholders for th requirement.

" ; - rdfs:label "requirementDefinitionStakeholderParameter" . - - - a rdfs:Class ; - rdfs:comment """

A RenderingUsage is the usage of a RenderingDefinition to specify the rendering of a specific model view to produce a physical view artifact.

- - -specializesFromLibrary('Views::renderings') -owningType <> null and -(owningType.oclIsKindOf(RenderingDefinition) or - owningType.oclIsKindOf(RenderingUsage)) implies - specializesFromLibrary('Views::Rendering::subrenderings') -owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(ViewRenderingMembership) implies - redefinesFromLibrary('Views::View::viewRendering')""" ; - rdfs:label "RenderingUsage" . - - - a rdf:Property ; - rdfs:comment """

The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries.

-""" ; - rdfs:label "actionUsageActionDefinition" . - - - a rdf:Property ; - rdfs:comment """

The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex).

-""" ; - rdfs:label "typeDifferencingType" . - - - a rdf:Property ; - rdfs:comment "

The Elements that are exposed by this ViewUsage, which are those memberElements of the imported Memberships from all the Expose Relationships that meet all the owned and inherited viewConditions.

" ; - rdfs:label "viewUsageExposedElement" . - - - a rdf:Property ; - rdfs:comment "

The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature.

" ; - rdfs:label "featureOwnedTyping" . - - - a rdf:Property ; - rdfs:comment """

The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected.

-""" ; - rdfs:label "typeOwnedIntersecting" . - - - a rdf:Property ; - rdfs:comment "

Whether to recursively import Memberships from visible, owned sub-Namespaces.

" ; - rdfs:label "importIsRecursive" . - - - a rdf:Property ; - rdfs:comment "

An operator symbol that names a corresponding Function from one of the standard packages from the Kernel Function Library .

" ; - rdfs:label "operatorExpressionOperator" . - - - a rdfs:Class ; - rdfs:comment """

An AllocationUsage is a usage of an AllocationDefinition asserting the allocation of the source feature to the target feature.

-specializesFromLibrary('Allocations::allocations')""" ; - rdfs:label "AllocationUsage" . - - - a rdf:Property ; - rdfs:comment "

The ConstraintUsage that is referenced through this RequirementConstraintMembership. It is the referencedFeature of the ownedReferenceSubsetting of the ownedConstraint, if there is one, and, otherwise, the ownedConstraint itself.

" ; - rdfs:label "requirementConstraintMembershipReferencedConstraint" . - - - a rdf:Property ; - rdfs:comment "

The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted.

" ; - rdfs:label "featureOwnedFeatureInverting" . - - - a rdf:Property ; - rdfs:comment """

The RequirementUsage representing the objective of this CaseUsage.

-""" ; - rdfs:label "caseUsageObjectiveRequirement" . - - - a rdf:Property ; - rdfs:comment "

The MetadataUsages that are nestedUsages of this of this Usage.

" ; - rdfs:label "usageNestedMetadata" . - - - a rdfs:Class ; - rdfs:comment """

Featuring is a Relationship between a Type and a Feature that is featured by that Type. It asserts that every instance in the domain of the feature must be classified by the type.

- -

Featuring is abstract and does not commit to which of feature or type are the source or target of the Relationship. This commitment is made in the subclasses of Featuring, TypeFeaturing and FeatureMembership, which have opposite directions.

""" ; - rdfs:label "Featuring" . - - - a rdf:Property ; - rdfs:comment """

Expressions that must evaluate to true before the transitionStep can occur.

-""" ; - rdfs:label "successionGuardExpression" . - - - a rdf:Property ; - rdfs:comment "

Indicates which of the Functions from the Triggers model in the Kernel Semantic Library is to be invoked by this TriggerInvocationExpression.

" ; - rdfs:label "triggerInvocationExpressionKind" . - - - a rdf:Property ; - rdfs:comment """

The Expression that provides the value of the featureWithValue as its result.

- -

The Expression that provides the value as a result.

""" ; - rdfs:label "featureValueValue" . - - - a rdfs:Class ; - rdfs:comment """

A Definition is a Classifier of Usages. The actual kinds of Definition that may appear in a model are given by the subclasses of Definition (possibly as extended with user-defined SemanticMetadata).

- -

Normally, a Definition has owned Usages that model features of the thing being defined. A Definition may also have other Definitions nested in it, but this has no semantic significance, other than the nested scoping resulting from the Definition being considered as a Namespace for any nested Definitions.

- -

However, if a Definition has isVariation = true, then it represents a variation point Definition. In this case, all of its members must be variant Usages, related to the Definition by VariantMembership Relationships. Rather than being features of the Definition, variant Usages model different concrete alternatives that can be chosen to fill in for an abstract Usage of the variation point Definition.

- -isVariation implies ownedFeatureMembership->isEmpty() -variant = variantMembership.ownedVariantUsage -variantMembership = ownedMembership->selectByKind(VariantMembership) -isVariation implies - not ownedSpecialization.specific->exists( - oclIsKindOf(Definition) and - oclAsType(Definition).isVariation) -usage = feature->selectByKind(Usage) -directedUsage = directedFeature->selectByKind(Usage) -ownedUsage = ownedFeature->selectByKind(Usage) -ownedAttribute = ownedUsage->selectByKind(AttributeUsage) -ownedReference = ownedUsage->selectByKind(ReferenceUsage) -ownedEnumeration = ownedUsage->selectByKind(EnumerationUsage) -ownedOccurrence = ownedUsage->selectByKind(OccurrenceUsage) -ownedItem = ownedUsage->selectByKind(ItemUsage) -ownedPart = ownedUsage->selectByKind(PartUsage) -ownedPort = ownedUsage->selectByKind(PortUsage) -ownedConnection = ownedUsage->selectByKind(ConnectorAsUsage) -ownedFlow = ownedUsage->selectByKind(FlowConnectionUsage) -ownedInterface = ownedUsage->selectByKind(ReferenceUsage) -ownedAllocation = ownedUsage->selectByKind(AllocationUsage) -ownedAction = ownedUsage->selectByKind(ActionUsage) -ownedState = ownedUsage->selectByKind(StateUsage) -ownedTransition = ownedUsage->selectByKind(TransitionUsage) -ownedCalculation = ownedUsage->selectByKind(CalculationUsage) -ownedConstraint = ownedUsage->selectByKind(ConstraintUsage) -ownedRequirement = ownedUsage->selectByKind(RequirementUsage) -ownedConcern = ownedUsage->selectByKind(ConcernUsage) -ownedCase = ownedUsage->selectByKind(CaseUsage) -ownedAnalysisCase = ownedUsage->selectByKind(AnalysisCaseUsage) -ownedVerificationCase = ownedUsage->selectByKind(VerificationCaseUsage) -ownedUseCase = ownedUsage->selectByKind(UseCaseUsage) -ownedView = ownedUsage->selectByKind(ViewUsage) -ownedViewpoint = ownedUsage->selectByKind(ViewpointUsage) -ownedRendering = ownedUsage->selectByKind(RenderingUsage) -ownedMetadata = ownedUsage->selectByKind(MetadataUsage) -isVariation implies isAbstract""" ; - rdfs:label "Definition" . - - - a rdf:Property ; - rdfs:comment """

The Feature that is referenced by the referencingFeature of this ReferenceSubsetting.

-""" ; - rdfs:label "referenceSubsettingReferencedFeature" . - - - a rdfs:Class ; - rdfs:comment """

A Usage is a usage of a Definition. A Usage may only be an ownedFeature of a Definition or another Usage.

- -

A Usage may have nestedUsages that model features that apply in the context of the owningUsage. A Usage may also have Definitions nested in it, but this has no semantic significance, other than the nested scoping resulting from the Usage being considered as a Namespace for any nested Definitions.

- -

However, if a Usage has isVariation = true, then it represents a variation point Usage. In this case, all of its members must be variant Usages, related to the Usage by VariantMembership Relationships. Rather than being features of the Usage, variant Usages model different concrete alternatives that can be chosen to fill in for the variation point Usage.

-variant = variantMembership.ownedVariantUsage -variantMembership = ownedMembership->selectByKind(VariantMembership) -isVariation implies ownedFeatureMembership->isEmpty() -isReference = not isComposite -owningVariationUsage <> null implies - specializes(owningVariationUsage) -isVariation implies - not ownedSpecialization.specific->exists( - oclIsKindOf(Definition) and - oclAsType(Definition).isVariation or - oclIsKindOf(Usage) and - oclAsType(Usage).isVariation) -owningVariationDefinition <> null implies - specializes(owningVariationDefinition) -directedUsage = directedFeature->selectByKind(Usage) -nestedAction = nestedUsage->selectByKind(ActionUsage) -nestedAllocation = nestedUsage->selectByKind(AllocationUsage) -nestedAnalysisCase = nestedUsage->selectByKind(AnalysisCaseUsage) -nestedAttribute = nestedUsage->selectByKind(AttributeUsage) -nestedCalculation = nestedUsage->selectByKind(CalculationUsage) -nestedCase = nestedUsage->selectByKind(CaseUsage) -nestedConcern = nestedUsage->selectByKind(ConcernUsage) -nestedConnection = nestedUsage->selectByKind(ConnectorAsUsage) -nestedConstraint = nestedUsage->selectByKind(ConstraintUsage) -ownedNested = nestedUsage->selectByKind(EnumerationUsage) -nestedFlow = nestedUsage->selectByKind(FlowConnectionUsage) -nestedInterface = nestedUsage->selectByKind(ReferenceUsage) -nestedItem = nestedUsage->selectByKind(ItemUsage) -nestedMetadata = nestedUsage->selectByKind(MetadataUsage) -nestedOccurrence = nestedUsage->selectByKind(OccurrenceUsage) -nestedPart = nestedUsage->selectByKind(PartUsage) -nestedPort = nestedUsage->selectByKind(PortUsage) -nestedReference = nestedUsage->selectByKind(ReferenceUsage) -nestedRendering = nestedUsage->selectByKind(RenderingUsage) -nestedRequirement = nestedUsage->selectByKind(RequirementUsage) -nestedState = nestedUsage->selectByKind(StateUsage) -nestedTransition = nestedUsage->selectByKind(TransitionUsage) -nestedUsage = ownedFeature->selectByKind(Usage) -nestedUseCase = nestedUsage->selectByKind(UseCaseUsage) -nestedVerificationCase = nestedUsage->selectByKind(VerificationCaseUsage) -nestedView = nestedUsage->selectByKind(ViewUsage) -nestedViewpoint = nestedUsage->selectByKind(ViewpointUsage) -usage = feature->selectByKind(Usage) -direction <> null or isEnd or featuringType->isEmpty() implies - isReference -isVariation implies isAbstract""" ; - rdfs:label "Usage" . - - - a rdfs:Class ; - rdfs:comment """

A FlowConnectionUsage is a ConnectionUsage that is also an ItemFlow.

-if ownedEndFeatures->isEmpty() then - specializesFromLibrary('Connections::messageConnections') -else - specializesFromLibrary('Connections::flowConnections') -endif""" ; - rdfs:label "FlowConnectionUsage" . - - - a rdf:Property ; - rdfs:comment "

The nestedReference of this AcceptActionUsage that redefines the payload output parameter of the base AcceptActionUsage AcceptAction from the Systems Model Library.

" ; - rdfs:label "acceptActionUsagePayloadParameter" . - - - a rdf:Property ; - rdfs:comment "

The Function that is the type of this CalculationUsage. Nominally, this would be a CalculationDefinition, but a kernel Function is also allowed, to permit use of Functions from the Kernel Model Libraries.

" ; - rdfs:label "calculationUsageCalculationDefinition" . - - - a rdf:Property ; - rdfs:comment """

The Element that becomes a member of the membershipOwningNamespace due to this Membership.

-""" ; - rdfs:label "membershipMemberElement" . - - - a rdfs:Class ; - rdfs:comment """

A CollectExpression is an OperatorExpression whose operator is \"collect\", which resolves to the Function ControlFunctions::collect from the Kernel Functions Library.

-operator = \"collect\"""" ; - rdfs:label "CollectExpression" . - - - a rdf:Property ; - rdfs:comment "

The AnalysisCaseDefinition that is the definition of this AnalysisCaseUsage.

" ; - rdfs:label "analysisCaseUsageAnalysisCaseDefinition" . - - - a rdf:Property ; - rdfs:comment "

The Element or Elements on which the client Elements depend in some respect.

" ; - rdfs:label "dependencySupplier" . - - - a rdf:Property ; - rdfs:comment """

The RequirementUsage that is the ownedMemberFeature of this RequirementUsage.

-""" ; - rdfs:label "objectiveMembershipOwnedObjectiveRequirement" . - - - a rdf:Property ; - rdfs:comment """

An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes.

- -

 

-""" ; - rdfs:label "typeMultiplicity" . - - - a rdf:Property ; - rdfs:comment """

The ActionUsages that are nestedUsages of this Usage.

-""" ; - rdfs:label "usageNestedAction" . - - - a rdf:Property ; - rdfs:comment "

The ownedMemberships of this Definition that are VariantMemberships. If isVariation = true, then this must be all ownedMemberships of the Definition. If isVariation = false, then variantMembershipmust be empty.

" ; - rdfs:label "definitionVariantMembership" . - - - a rdf:Property ; - rdfs:comment "

The Type that features the featureOfType. It is the target of the TypeFeaturing.

" ; - rdfs:label "typeFeaturingFeaturingType" . - - - a rdfs:Class ; - rdfs:comment """

A RequirementVerificationMembership is a RequirementConstraintMembership used in the objective of a VerificationCase to identify a RequirementUsage that is verified by the VerificationCase.

-kind = RequirementConstraintKind::requirement -owningType.oclIsKindOf(RequirementUsage) and -owningType.owningFeatureMembership <> null and -owningType.owningFeatureMembership.oclIsKindOf(ObjectiveMembership)""" ; - rdfs:label "RequirementVerificationMembership" . - - - a rdf:Property ; - rdfs:comment """

The AnalysisCaseUsages that are nestedUsages of this Usage.

-""" ; - rdfs:label "usageNestedAnalysisCase" . - - - a rdf:Property ; - rdfs:comment "

The Interactions that type this ItemFlow. Interactions are both Associations and Behaviors, which can type Connectors and Steps, respectively.

" ; - rdfs:label "itemFlowInteraction" . - - - a rdfs:Class ; - rdfs:comment """

A StateUsage is an ActionUsage that is nominally the Usage of a StateDefinition. However, other kinds of kernel Behaviors are also allowed as types, to permit use of Behaviors - -

A StateUsage may be related to up to three of its ownedFeatures by StateSubactionMembership Relationships, all of different kinds, corresponding to the entry, do and exit actions of the StateUsage.

- -doAction = - let doMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::do) in - if doMemberships->isEmpty() then null - else doMemberships->at(1) - endif -entryAction = - let entryMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::entry) in - if entryMemberships->isEmpty() then null - else entryMemberships->at(1) - endif -isParallel implies - nestedAction.incomingTransition->isEmpty() and - nestedAction.outgoingTransition->isEmpty() -isSubstateUsage(true) implies - specializesFromLibrary('States::State::substates') -exitAction = - let exitMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::exit) in - if exitMemberships->isEmpty() then null - else exitMemberships->at(1) - endif -specializesFromLibrary('States::stateActions') -ownedMembership-> - selectByKind(StateSubactionMembership)-> - isUnique(kind) -isSubstateUsage(false) implies - specializesFromLibrary('States::State::substates')""" ; - rdfs:label "StateUsage" . - - - a rdfs:Class ; - rdfs:comment "

A BindingConnectorAsUsage is both a BindingConnector and a ConnectorAsUsage.

" ; - rdfs:label "BindingConnectorAsUsage" . - - - a rdf:Property ; - rdfs:comment """

The natural or artifical language in which the body text is written.

-""" ; - rdfs:label "textualRepresentationLanguage" . - - - a rdf:Property ; - rdfs:comment """

The usages of this Usage that are directedFeatures.

-""" ; - rdfs:label "usageDirectedUsage" . - - - a rdf:Property ; - rdfs:comment """

Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does.

-""" ; - rdfs:label "featureIsComposite" . - - - a rdf:Property ; - rdfs:comment "

The owned RequirementUsage that acts as the ownedConstraint for this RequirementVerificationMembership. This will either be the verifiedRequirement, or it will subset the verifiedRequirement.

" ; - rdfs:label "requirementVerificationMembershipOwnedRequirement" . - - - a rdf:Property ; - rdfs:comment """

The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace.

-""" ; - rdfs:label "namespaceMember" . - - - a rdfs:Class ; - rdfs:comment """

An InterfaceDefinition is a ConnectionDefinition all of whose ends are PortUsages, defining an interface between elements that interact through such ports.

-specializesFromLibrary('Interfaces::Interface') -ownedEndFeature->size() = 2 implies - specializesFromLibrary('Interfaces::BinaryInterface')""" ; - rdfs:label "InterfaceDefinition" . - - - a rdfs:Class ; - rdfs:comment """

A MetadataUsage is a Usage and a MetadataFeature, used to annotate other Elements in a system model with metadata. As a MetadataFeature, its type must be a Metaclass, which will nominally be a MetadataDefinition. However, any kernel Metaclass is also allowed, to permit use of Metaclasses from the Kernel Model Libraries.

-specializesFromLibrary('Metadata::metadataItems')""" ; - rdfs:label "MetadataUsage" . - - - a rdf:Property ; - rdfs:comment "

The parameters of this RequirementUsage that represent actors involved in the requirement.

" ; - rdfs:label "requirementUsageActorParameter" . - - - a rdf:Property ; - rdfs:comment "

Whether this Definition is for a variation point or not. If true, then all the memberships of the Definition must be VariantMemberships.

" ; - rdfs:label "definitionIsVariation" . - - - a rdf:Property ; - rdfs:comment "

The ConcernUsages framed by this RequirementUsage, which are the ownedConcerns of all FramedConcernMemberships of the RequirementUsage.

" ; - rdfs:label "requirementUsageFramedConcern" . - - - a rdfs:Class ; - rdfs:comment """

An ItemFlow is a Step that represents the transfer of objects or data values from one Feature to another. ItemFlows can take non-zero time to complete.

- -if itemFlowEnds->isEmpty() then - specializesFromLibrary('Transfers::transfers') -else - specializesFromLibrary('Transfers::flowTransfers') -endif -itemType = - if itemFeature = null then Sequence{} - else itemFeature.type - endif -sourceOutputFeature = - if connectorEnd->isEmpty() or - connectorEnd.ownedFeature->isEmpty() - then null - else connectorEnd.ownedFeature->first() - endif -targetInputFeature = - if connectorEnd->size() < 2 or - connectorEnd->at(2).ownedFeature->isEmpty() - then null - else connectorEnd->at(2).ownedFeature->first() - endif -itemFlowEnd = connectorEnd->selectByKind(ItemFlowEnd) -itemFeature = - let itemFeatures : Sequence(ItemFeature) = - ownedFeature->selectByKind(ItemFeature) in - if itemFeatures->isEmpty() then null - else itemFeatures->first() - endif -ownedFeature->selectByKind(ItemFeature)->size() <= 1""" ; - rdfs:label "ItemFlow" . - - - a rdf:Property ; - rdfs:comment "

The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty.

" ; - rdfs:label "usageVariantMembership" . - - - a rdf:Property ; - rdfs:comment "

The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType.

" ; - rdfs:label "featureOwnedTypeFeaturing" . - - - a rdf:Property ; - rdfs:comment """

The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step.

-""" ; - rdfs:label "stepParameter" . - - - a rdfs:Class ; - rdfs:comment "

FeatureChaining is a Relationship that makes its target Feature one of the chainingFeatures of its owning Feature.

" ; - rdfs:label "FeatureChaining" . - - - a rdf:Property ; - rdfs:comment "

The ItemUsages that are nestedUsages of this Usage.

" ; - rdfs:label "usageNestedItem" . - - - a rdf:Property ; - rdfs:comment "

The UseCaseUsages that are included by this UseCaseDefinition, which are the useCaseIncludeds of the IncludeUseCaseUsages owned by this UseCaseDefinition.

" ; - rdfs:label "useCaseDefinitionIncludedUseCase" . - - - a rdf:Property ; - rdfs:comment "

The Structures that are the definitions of this ItemUsage. Nominally, these are ItemDefinitions, but other kinds of Kernel Structures are also allowed, to permit use of Structures from the Kernel Library.

" ; - rdfs:label "itemUsageItemDefinition" . - - - a rdf:Property ; - rdfs:comment """

An Expression whose result is bound to the receiver input parameter of this AcceptActionUsage.

-""" ; - rdfs:label "acceptActionUsageReceiverArgument" . - - - a rdf:Property ; - rdfs:comment "

The parameter of this RequirementUsage that represents its subject.

" ; - rdfs:label "requirementUsageSubjectParameter" . - - - a rdf:Property ; - rdfs:comment "

The parameter of this CaseDefinition that represents its subject.

" ; - rdfs:label "caseDefinitionSubjectParameter" . - - - a rdf:Property ; - rdfs:comment "

All features of this Type with isEnd = true.

" ; - rdfs:label "typeEndFeature" . - - - a rdf:Property ; - rdfs:comment "

The Feature that is featured by the featuringType.

" ; - rdfs:label "featuringFeature" . - - - a rdf:Property ; - rdfs:comment "

The parameters of this RequirementUsage that represent stakeholders for the requirement.

" ; - rdfs:label "requirementUsageStakeholderParameter" . - - - a rdf:Property ; - rdfs:comment "

A typeDisjoined that is also an owningRelatedElement.

" ; - rdfs:label "disjoiningOwningType" . - - - a rdf:Property ; - rdfs:comment "

The Feature that is an inverse of the invertedFeature.

" ; - rdfs:label "featureInvertingInvertingFeature" . - - - a rdf:Property ; - rdfs:comment """

The PortUsages that are the connectionEnds of this InterfaceDefinition. - -""" ; - rdfs:label "interfaceDefinitionInterfaceEnd" . - - - a rdf:Property ; - rdfs:comment """

The ownedMemberFeatures of the ownedFeatureMemberships of this Type.

-""" ; - rdfs:label "typeOwnedFeature" . - - - a rdfs:Class ; - rdfs:comment """

Differencing is a Relationship that makes its differencingType one of the differencingTypes of its typeDifferenced.

-""" ; - rdfs:label "Differencing" . - - - a rdfs:Class ; - rdfs:comment """

A SuccessionItemFlow is an ItemFlow that also provides temporal ordering. It classifies Transfers that cannot start until the source Occurrence has completed and that must complete before the target Occurrence can start.

-specializesFromLibrary('Transfers::flowTransfersBefore')""" ; - rdfs:label "SuccessionItemFlow" . - - - a rdf:Property ; - rdfs:comment """

The features of the Association that identify the things that can be related by it. A concrete Association must have at least two associationEnds. When it has exactly two, the Association is called a binary Association.

- -

The ends of the Association determine which elements are eligible to be related by instances of the Association.

-""" ; - rdfs:label "associationAssociationEnd" . - - - a rdf:Property ; - rdfs:label "featureIsNonunique" . - - - a rdf:Property ; - rdfs:comment "

The at most one occurrenceDefinition that has isIndividual = true.

" ; - rdfs:label "occurrenceUsageIndividualDefinition" . - - - a rdf:Property ; - rdfs:comment "

The DataTypes that are the types of this AttributeUsage. Nominally, these are AttributeDefinitions, but other kinds of kernel DataTypes are also allowed, to permit use of DataTypes from the Kernel Model Libraries.

" ; - rdfs:label "attributeUsageAttributeDefinition" . - - - a rdf:Property ; - rdfs:comment """

Whether the nestedStates of this StateUsage are to all be performed in parallel. If true, none of the nestedActions (which include nestedStates) may have any incoming or outgoing Transitions. If false, only one nestedState may be performed at a time.

-""" ; - rdfs:label "stateUsageIsParallel" . - - - a rdf:Property ; - rdfs:comment """

The Predicate that types this BooleanExpression.

-

The Predicate that types the Expression.

-""" ; - rdfs:label "booleanExpressionPredicate" . - - - a rdf:Property ; - rdfs:comment """

The ViewpointUsages that are nestedUsages of this Usage.

-""" ; - rdfs:label "usageNestedViewpoint" . - - - a rdfs:Class ; - rdfs:comment """

A MultiplicityRange is a Multiplicity whose value is defined to be the (inclusive) range of natural numbers given by the result of a lowerBound Expression and the result of an upperBound Expression. The result of these Expressions shall be of type Natural. If the result of the upperBound Expression is the unbounded value *, then the specified range includes all natural numbers greater than or equal to the lowerBound value. If no lowerBound Expression, then the default is that the lower bound has the same value as the upper bound, except if the upperBound evaluates to *, in which case the default for the lower bound is 0.

- -bound->forAll(b | b.featuringType = self.featuringType) -bound->forAll(b | - b.result.specializesFromLibrary('ScalarValues::Integer') and - let value : UnlimitedNatural = valueOf(b) in - value <> null implies value >= 0 -) -lowerBound = - let ownedMembers : Sequence(Element) = - ownedMembership->selectByKind(OwningMembership).ownedMember in - if ownedMembers->size() < 2 or - not ownedMembers->first().oclIsKindOf(Expression) then null - else ownedMembers->first().oclAsType(Expression) - endif -upperBound = - let ownedMembers : Sequence(Element) = - ownedMembership->selectByKind(OwningMembership).ownedMember in - if ownedMembers->isEmpty() or - not ownedMembers->last().oclIsKindOf(Expression) - then null - else ownedMembers->last().oclAsType(Expression) - endif """ ; - rdfs:label "MultiplicityRange" . - - - a rdf:Property ; - rdfs:comment "

The type of this MetadataFeature, which must be a Metaclass.

" ; - rdfs:label "metadataFeatureMetaclass" . - - - a rdf:Property ; - rdfs:comment """

The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type.

-""" ; - rdfs:label "typeOwnedFeatureMembership" . - - - a rdf:Property ; - rdfs:comment """

The Feature that owns this ReferenceSubsetting relationship, which is also its subsettingFeature.

-""" ; - rdfs:label "referenceSubsettingReferencingFeature" . - - - a rdfs:Class ; - rdfs:comment """

A LiteralInfinity is a LiteralExpression that provides the positive infinity value (*). It's result must have the type Positive.

- -specializesFromLibrary('Performances::literalIntegerEvaluations')""" ; - rdfs:label "LiteralInfinity" . - - - a rdfs:Class ; - rdfs:comment """

An InterfaceUsage is a Usage of an InterfaceDefinition to represent an interface connecting parts of a system through specific ports.

-ownedEndFeature->size() = 2 implies - specializesFromLibrary('Interfaces::binaryInterfaces') -specializesFromLibrary('Interfaces::interfaces')""" ; - rdfs:label "InterfaceUsage" . - - - a rdf:Property ; - rdfs:comment """

The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature.

- -""" ; - rdfs:label "featureOwnedRedefinition" . - - - a rdf:Property ; - rdfs:comment """

The Namespace into which Memberships are imported by this Import, which must be the owningRelatedElement of the Import.

-""" ; - rdfs:label "importImportOwningNamespace" . - - - a rdf:Property ; - rdfs:comment "

The InterfaceDefinitions that type this InterfaceUsage.

" ; - rdfs:label "interfaceUsageInterfaceDefinition" . - - - a rdfs:Class ; - rdfs:comment """

A PerformActionUsage is an ActionUsage that represents the performance of an ActionUsage. Unless it is the PerformActionUsage itself, the ActionUsage to be performed is related to the PerformActionUsage by a ReferenceSubsetting relationship. A PerformActionUsage is also an EventOccurrenceUsage, with its performedAction as the eventOccurrence.

-ownedReferenceSubsetting <> null implies - ownedReferenceSubsetting.referencedFeature.oclIsKindOf(ActionUsage) -owningType <> null and -(owningType.oclIsKindOf(PartDefinition) or - owningType.oclIsKindOf(PartUsage)) implies - specializesFromLibrary('Parts::Part::performedActions')""" ; - rdfs:label "PerformActionUsage" . - - - a rdfs:Class ; - rdfs:comment """

A TransitionUsage is an ActionUsage representing a triggered transition between ActionUsages or StateUsages. When triggered by a triggerAction, when its guardExpression is true, the TransitionUsage asserts that its source is exited, then its effectAction (if any) is performed, and then its target is entered.

- -

A TransitionUsage can be related to some of its ownedFeatures using TransitionFeatureMembership Relationships, corresponding to the triggerAction, guardExpression and effectAction of the TransitionUsage.

-isComposite and owningType <> null and -(owningType.oclIsKindOf(ActionDefinition) or - owningType.oclIsKindOf(ActionUsage)) and -not (owningType.oclIsKindOf(StateDefinition) or - owningType.oclIsKindOf(StateUsage)) implies - specializesFromLibrary('Actions::Action::decisionTransitions') -isComposite and owningType <> null and -(owningType.oclIsKindOf(StateDefinition) or - owningType.oclIsKindOf(StateUsage)) implies - specializesFromLibrary(\"States::State::stateTransitions\") -specializesFromLibrary('Actions::transitionActions') -source = - if ownedMembership->isEmpty() then null - else - let member : Element = - ownedMembership->at(1).memberElement in - if not member.oclIsKindOf(ActionUsage) then null - else member.oclAsKindOf(ActionUsage) - endif - endif -target = - if succession.targetFeature->isEmpty() then null - else - let targetFeature : Feature = - succession.targetFeature->at(1) in - if not targetFeature.oclIsKindOf(ActionUsage) then null - else targetFeature.oclAsType(ActionUsage) - endif - endif -triggerAction = ownedFeatureMembership-> - selectByKind(TransitionFeatureMembership)-> - select(kind = TransitionFeatureKind::trigger).transitionFeature-> - selectByKind(AcceptActionUsage) -let successions : Sequence(Successions) = - ownedMember->selectByKind(Succession) in -successions->notEmpty() and -successions->at(1).targetFeature-> - forAll(oclIsKindOf(ActionUsage)) -guardExpression = ownedFeatureMembership-> - selectByKind(TransitionFeatureMembership)-> - select(kind = TransitionFeatureKind::trigger).transitionFeature-> - selectByKind(Expression) -triggerAction->forAll(specializesFromLibrary('Actions::TransitionAction::accepter') and -guardExpression->forAll(specializesFromLibrary('Actions::TransitionAction::guard') and -effectAction->forAll(specializesFromLibrary('Actions::TransitionAction::effect')) -triggerAction = ownedFeatureMembership-> - selectByKind(TransitionFeatureMembership)-> - select(kind = TransitionFeatureKind::trigger).transitionFeatures-> - selectByKind(AcceptActionUsage) -succession.sourceFeature = source -ownedMember->selectByKind(BindingConnector)->exists(b | - b.relatedFeatures->includes(source) and - b.relatedFeatures->includes(inputParameter(1))) -triggerAction->notEmpty() implies - let payloadParameter : Feature = inputParameter(2) in - payloadParameter <> null and - payloadParameter.subsetsChain(triggerAction->at(1), triggerPayloadParameter()) -ownedMember->selectByKind(BindingConnector)->exists(b | - b.relatedFeatures->includes(succession) and - b.relatedFeatures->includes(resolveGlobal( - 'TransitionPerformances::TransitionPerformance::transitionLink'))) -if triggerAction->isEmpty() then - inputParameters()->size() >= 1 -else - inputParameters()->size() >= 2 -endif - -succession = ownedMember->selectByKind(Succession)->at(1)""" ; - rdfs:label "TransitionUsage" . - - - a rdf:Property ; - rdfs:comment "

The Usages that are features of this Definition (not necessarily owned).

" ; - rdfs:label "definitionUsage" . - - - a rdfs:Class ; - rdfs:comment """

A VerificationCaseUsage is a Usage of a VerificationCaseDefinition.

-verifiedRequirement = - if objectiveRequirement = null then OrderedSet{} - else - objectiveRequirement.featureMembership-> - selectByKind(RequirementVerificationMembership). - verifiedRequirement->asOrderedSet() - endif -specializesFromLibrary('VerificationCases::verificationCases') -isComposite and owningType <> null and - (owningType.oclIsKindOf(VerificationCaseDefinition) or - owningType.oclIsKindOf(VerificationCaseUsage)) implies - specializesFromLibrary('VerificationCases::VerificationCase::subVerificationCases')""" ; - rdfs:label "VerificationCaseUsage" . - - - a rdfs:Class ; - rdfs:comment """

A PortDefinition defines a point at which external entities can connect to and interact with a system or part of a system. Any ownedUsages of a PortDefinition, other than PortUsages, must not be composite.

- - - -conjugatedPortDefinition = -let conjugatedPortDefinitions : OrderedSet(ConjugatedPortDefinition) = - ownedMember->selectByKind(ConjugatedPortDefinition) in -if conjugatedPortDefinitions->isEmpty() then null -else conjugatedPortDefinitions->first() -endif -ownedUsage-> - reject(oclIsKindOf(PortUsage))-> - forAll(not isComposite) -not oclIsKindOf(ConjugatedPortDefinition) implies - ownedMember-> - selectByKind(ConjugatedPortDefinition)-> - size() = 1 -specializesFromLibrary('Ports::Port')""" ; - rdfs:label "PortDefinition" . - - - a rdf:Property ; - rdfs:comment "

The (single) Predicate that is the type of this ConstraintUsage. Nominally, this will be a ConstraintDefinition, but other kinds of Predicates are also allowed, to permit use of Predicates from the Kernel Model Libraries.

" ; - rdfs:label "constraintUsageConstraintDefinition" . - - - a rdf:Property ; - rdfs:comment "

The Documentation owned by this Element.

" ; - rdfs:label "elementDocumentation" . - - - a rdf:Property ; - rdfs:comment "

The ActionUsage of this StateDefinition to be performed on exit to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateDefinition by a StateSubactionMembership with kind = exit.

" ; - rdfs:label "stateDefinitionExitAction" . - - - a rdf:Property ; - rdfs:comment """

The Feature that is identified as a parameter by this ParameterMembership.

-""" ; - rdfs:label "parameterMembershipOwnedMemberParameter" . - - - a rdf:Property ; - rdfs:comment """

The RequirementUsages that are nestedUsages of this Usage.

-""" ; - rdfs:label "usageNestedRequirement" . - - - a rdf:Property ; - rdfs:comment "

The TransitionUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedTransition" . - - - a rdf:Property ; - rdfs:comment """

The types of the associationEnds of the Association, which are the relatedElements of the Association considered as a Relationship.

-""" ; - rdfs:label "associationRelatedType" . - - - a rdfs:Class ; - rdfs:comment """

A LiteralInteger is a LiteralExpression that provides an Integer value as a result. Its result parameter must have the type Integer.

- -specializesFromLibrary('Performances::literalIntegerEvaluations')""" ; - rdfs:label "LiteralInteger" . - - - a rdf:Property ; - rdfs:comment """

The Type that is the specific Type of this Specialization and owns it as its owningRelatedElement.

-""" ; - rdfs:label "specializationOwningType" . - - - a rdfs:Class ; - rdfs:comment """

A ViewpointDefinition is a RequirementDefinition that specifies one or more stakeholder concerns that are to be satisfied by creating a view of a model.

-viewpointStakeholder = framedConcern.featureMemberhsip-> - selectByKind(StakeholderMembership). - ownedStakeholderParameter -specializesFromLibrary('Views::Viewpoint')""" ; - rdfs:label "ViewpointDefinition" . - - - a rdfs:Class ; - rdfs:comment """

A LoopActionUsage is an ActionUsage that specifies that its bodyAction should be performed repeatedly. Its subclasses WhileLoopActionUsage and ForLoopActionUsage provide different ways to determine how many times the bodyAction should be performed.

-bodyAction = - let parameter : Feature = inputParameter(2) in - if parameter <> null and parameter.oclIsKindOf(Action) then - parameter.oclAsType(Action) - else - null - endif -""" ; - rdfs:label "LoopActionUsage" . - - - a rdf:Property ; - rdfs:comment """

The Type to be conjugated.

-""" ; - rdfs:label "conjugationOriginalType" . - - - a rdf:Property ; - rdfs:comment """

Indicates whether this Type has an ownedConjugator.

-""" ; - rdfs:label "typeIsConjugated" . - - - a rdfs:Class ; - rdfs:comment "

A MembershipExpose is an Expose that exposes a specific importedMembership and, if isRecursive = true, additional Memberships recursively.

" ; - rdfs:label "MembershipExpose" . - - - a rdf:Property ; - rdfs:label "invocationExpressionOperand" . - - - a rdf:Property ; - rdfs:comment """

The result parameter of the Function, which is owned by the Function via a ReturnParameterMembership.

- -

The object or value that is the result of evaluating the Function.

""" ; - rdfs:label "functionResult" . - - - a rdf:Property ; - rdfs:comment "

The actions of this CalculationDefinition that are CalculationUsages.

" ; - rdfs:label "calculationDefinitionCalculation" . - - - a rdf:Property ; - rdfs:comment "

Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature.

" ; - rdfs:label "featureFeaturingType" . - - - a rdf:Property ; - rdfs:comment "

The ConstraintUsage that is the ownedMemberFeature of this RequirementConstraintMembership.

" ; - rdfs:label "requirementConstraintMembershipOwnedConstraint" . - - - a rdfs:Class ; - rdfs:comment """

An ActorMembership is a ParameterMembership that identifies a PartUsage as an actor parameter, which specifies a role played by an external entity in interaction with the owningType of the ActorMembership.

-owningType.oclIsKindOf(RequirementUsage) or -owningType.oclIsKindOf(RequirementDefinition) or -owningType.oclIsKindOf(CaseDefinition) or -owningType.oclIsKindOf(CaseUsage) -""" ; - rdfs:label "ActorMembership" . - - - a rdf:Property ; - rdfs:comment """

The Expressions that are steps in the calculation of the result of this Function.

- -

The set of expressions that represent computational steps or parts of a system of equations within the Function.

-""" ; - rdfs:label "functionExpression" . - - - a rdf:Property ; - rdfs:comment "

The Type that is the owningType of the owningFeatureMembership of this Feature.

" ; - rdfs:label "featureOwningType" . - - - a rdfs:Class ; - rdfs:comment """

A ViewRenderingMembership is a FeatureMembership that identifies the viewRendering of a ViewDefinition or ViewUsage.

-referencedRendering = - let reference: ReferenceSubsetting = - ownedRendering.ownedReferenceSubsetting in - if reference = null then ownedRendering - else if not reference.referencedFeature.oclIsKindOf(RenderingUsage) then null - else reference.referencedFeature.oclAsType(RenderingUsage) - endif -owningType.oclIsKindOf(ViewDefinition) or -owningType.oclIsKindOf(ViewUsage)""" ; - rdfs:label "ViewRenderingMembership" . - - - a rdfs:Class ; - rdfs:comment """

An Import is an Relationship between its importOwningNamespace and either a Membership (for a MembershipImport) or another Namespace (for a NamespaceImport), which determines a set of Memberships that become importedMemberships of the importOwningNamespace. If isImportAll = false (the default), then only public Memberships are considered "visible". If isImportAll = true, then all Memberships are considered "visible", regardless of their declared visibility. If isRecursive = true, then visible Memberships are also recursively imported from owned sub-Namespaces.

- -""" ; - rdfs:label "Import" . - - - a rdfs:Class ; - rdfs:comment """

A Behavior coordinates occurrences of other Behaviors, as well as changes in objects. Behaviors can be decomposed into Steps and be characterized by parameters.

- -specializesFromLibrary('Performances::Performance') -step = feature->selectByKind(Step) -ownedSpecialization.general->forAll(not oclIsKindOf(Structure))""" ; - rdfs:label "Behavior" . - - - a rdf:Property ; - rdfs:comment "

The RenderingDefinition that is the definition of this RenderingUsage.

" ; - rdfs:label "renderingUsageRenderingDefinition" . - - - a rdf:Property ; - rdfs:comment "

The RequirementDefinition that is the single definition of this RequirementUsage.

" ; - rdfs:label "requirementUsageRequirementDefinition" . - - - a rdf:Property ; - rdfs:comment "

The owned ConstraintUsages that represent requirements of this RequirementUsage, which are the ownedConstraints of the RequirementConstraintMemberships of the RequirementUsage with kind = requirement.

" ; - rdfs:label "requirementUsageRequiredConstraint" . - - - a rdf:Property ; - rdfs:comment """

Type asserted to be disjoint with the disjoiningType.

-""" ; - rdfs:label "disjoiningTypeDisjoined" . - - - a rdfs:Class ; - rdfs:comment """

An Expose is an Import of Memberships into a ViewUsage that provide the Elements to be included in a view. Visibility is always ignored for an Expose (i.e., isImportAll = true).

-isImportAll -importOwningNamespace.oclIsType(ViewUsage)""" ; - rdfs:label "Expose" . - - - a rdf:Property ; - rdfs:comment """

The VerificationCaseUsages that are nestedUsages of this Usage.

-""" ; - rdfs:label "usageNestedVerificationCase" . - - - a rdf:Property ; - rdfs:comment """

The ownedFeature of the ItemFlow that is an ItemFeature (if any).

-""" ; - rdfs:label "itemFlowItemFeature" . - - - a rdf:Property ; - rdfs:comment """

Type that partly determines interpretations of typeDifferenced, as described in Type::differencingType.

-""" ; - rdfs:label "differencingDifferencingType" . - - - a rdfs:Class ; - rdfs:comment """

A RequirementUsage is a Usage of a RequirementDefinition.

-actorParameter = featureMembership-> - selectByKind(ActorMembership). - ownedActorParameter -assumedConstraint = ownedFeatureMembership-> - selectByKind(RequirementConstraintMembership)-> - select(kind = RequirementConstraintKind::assumption). - ownedConstraint -framedConcern = featureMembership-> - selectByKind(FramedConcernMembership). - ownedConcern -requiredConstraint = ownedFeatureMembership-> - selectByKind(RequirementConstraintMembership)-> - select(kind = RequirementConstraintKind::requirement). - ownedConstraint -stakeholderParameter = featureMembership-> - selectByKind(AStakholderMembership). - ownedStakeholderParameter -subjectParameter = - let subjects : OrderedSet(SubjectMembership) = - featureMembership->selectByKind(SubjectMembership) in - if subjects->isEmpty() then null - else subjects->first().ownedSubjectParameter - endif -text = documentation.body -featureMembership-> - selectByKind(SubjectMembership)-> - size() <= 1 -input->notEmpty() and input->first() = subjectParameter -specializesFromLibrary('Requirements::requirementChecks') -isComposite and owningType <> null and - (owningType.oclIsKindOf(RequirementDefinition) or - owningType.oclIsKindOf(RequirementUsage)) implies - specializesFromLibrary('Requirements::RequirementCheck::subrequirements') -owningfeatureMembership <> null and -owningfeatureMembership.oclIsKindOf(ObjectiveMembership) implies - owningType.ownedSpecialization.general->forAll(gen | - (gen.oclIsKindOf(CaseDefinition) implies - redefines(gen.oclAsType(CaseDefinition).objectiveRequirement)) and - (gen.oclIsKindOf(CaseUsage) implies - redefines(gen.oclAsType(CaseUsage).objectiveRequirement)) -owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(RequirementVerificationMembership) implies - specializesFromLibrary('VerificationCases::VerificationCase::obj::requirementVerifications')""" ; - rdfs:label "RequirementUsage" . - - - a rdf:Property ; - rdfs:comment """

The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace.

-""" ; - rdfs:label "namespaceOwnedImport" . - - - a rdfs:Class ; - rdfs:comment """

A CaseUsage is a Usage of a CaseDefinition.

-objectiveRequirement = - let objectives: OrderedSet(RequirementUsage) = - featureMembership-> - selectByKind(ObjectiveMembership). - ownedRequirement in - if objectives->isEmpty() then null - else objectives->first().ownedObjectiveRequirement - endif -featureMembership-> - selectByKind(ObjectiveMembership)-> - size() <= 1 -featureMembership-> - selectByKind(SubjectMembership)-> - size() <= 1 -actorParameter = featureMembership-> - selectByKind(ActorMembership). - ownedActorParameter -subjectParameter = - let subjects : OrderedSet(SubjectMembership) = - featureMembership->selectByKind(SubjectMembership) in - if subjects->isEmpty() then null - else subjects->first().ownedSubjectParameter - endif -input->notEmpty() and input->first() = subjectParameter -specializesFromLibrary('Cases::cases') -isComposite and owningType <> null and - (owningType.oclIsKindOf(CaseDefinition) or - owningType.oclIsKindOf(CaseUsage)) implies - specializesFromLibrary('Cases::Case::subcases')""" ; - rdfs:label "CaseUsage" . - - - a rdf:Property ; - rdfs:comment "

The Feature that is accessed by this FeatureChainExpression, which is its first non-parameter member.

" ; - rdfs:label "featureChainExpressionTargetFeature" . - - - a rdf:Property ; - rdfs:comment """

The ConstraintUsages that are nestedUsages of this Usage.

-""" ; - rdfs:label "usageNestedConstraint" . - - - a rdf:Property ; - rdfs:comment "

The owned ConstraintUsages that represent assumptions of this RequirementDefinition, which are the ownedConstraints of the RequirementConstraintMemberships of the RequirementDefinition with kind = assumption.

" ; - rdfs:label "requirementDefinitionAssumedConstraint" . - - - a rdfs:Class ; - rdfs:comment """

An OwningMembership is a Membership that owns its memberElement as a ownedRelatedElement. The ownedMemberElement becomes an ownedMember of the membershipOwningNamespace.

- -ownedMemberName = ownedMemberElement.name -ownedMemberShortName = ownedMemberElement.shortName""" ; - rdfs:label "OwningMembership" . - - - a rdfs:Class ; - rdfs:comment """

A Function is a Behavior that has an out parameter that is identified as its result. A Function represents the performance of a calculation that produces the values of its result parameter. This calculation may be decomposed into Expressions that are steps of the Function.

- -ownedMembership.selectByKind(ResultExpressionMembership)-> - forAll(mem | ownedFeature.selectByKind(BindingConnector)-> - exists(binding | - binding.relatedFeature->includes(result) and - binding.relatedFeature->includes(mem.ownedResultExpression.result))) -specializesFromLibrary('Performances::Evaluation') -result = - let resultParams : Sequence(Feature) = - ownedFeatureMemberships-> - selectByKind(ReturnParameterMembership). - ownedParameterMember in - if resultParams->notEmpty() then resultParams->first() - else null - endif -ownedFeatureMembership-> - selectByKind(ReturnParameterMembership)-> - size() <= 1 -membership->selectByKind(ResultExpressionMembership)->size() <= 1""" ; - rdfs:label "Function" . - - - a rdfs:Class ; - rdfs:comment """

Redefinition is a kind of Subsetting that requires the redefinedFeature and the redefiningFeature to have the same values (on each instance of the domain of the redefiningFeature). This means any restrictions on the redefiningFeature, such as type or multiplicity, also apply to the redefinedFeature (on each instance of the domain of the redefiningFeature), and vice versa. The redefinedFeature might have values for instances of the domain of the redefiningFeature, but only as instances of the domain of the redefinedFeature that happen to also be instances of the domain of the redefiningFeature. This is supported by the constraints inherited from Subsetting on the domains of the redefiningFeature and redefinedFeature. However, these constraints are narrowed for Redefinition to require the owningTypes of the redefiningFeature and redefinedFeature to be different and the redefinedFeature to not be inherited into the owningNamespace of the redefiningFeature.This enables the redefiningFeature to have the same name as the redefinedFeature, if desired.

- -let anythingType: Type = - redefiningFeature.resolveGlobal('Base::Anything').modelElement.oclAsType(Type) in --- Including \"Anything\" accounts for implicit featuringType of Features --- with no explicit featuringType. -let redefiningFeaturingTypes: Set(Type) = - redefiningFeature.featuringTypes->asSet()->including(anythingType) in -let redefinedFeaturingTypes: Set(Type) = - redefinedFeature.featuringTypes->asSet()->including(anythingType) in -redefiningFeaturingTypes <> redefinedFeaturingType -featuringType->forAll(t | - let direction : FeatureDirectionKind = t.directionOf(redefinedFeature) in - ((direction = FeatureDirectionKind::_'in' or - direction = FeatureDirectionKind::out) implies - redefiningFeature.direction = direction) - and - (direction = FeatureDirectionKind::inout implies - redefiningFeature.direction <> null))""" ; - rdfs:label "Redefinition" . - - - a rdf:Property ; - rdfs:comment """

The source relatedType for this Association. It is the first relatedType of the Association.

-""" ; - rdfs:label "associationSourceType" . - - - a rdf:Property ; - rdfs:comment "

The original PortDefinition for this ConjugatedPortDefinition, which is the owningNamespace of the ConjugatedPortDefinition.

" ; - rdfs:label "conjugatedPortDefinitionOriginalPortDefinition" . - - - a rdf:Property ; - rdfs:comment """

A Type with a subset of all instances of the general Type, which might be the same set.

-""" ; - rdfs:label "specializationSpecific" . - - - a rdf:Property ; - rdfs:comment "

An optional textual statement of the requirement represented by this RequirementUsage, derived from the bodies of the documentation of the RequirementUsage.

" ; - rdfs:label "requirementUsageText" . - - - a rdf:Property ; - rdfs:comment "

The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element.

" ; - rdfs:label "elementQualifiedName" . - - - a rdf:Property ; - rdfs:comment "

The AttributeUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedAttribute" . - - - a rdfs:Class ; - rdfs:comment """

An AnalysisCaseDefinition is a CaseDefinition for the case of carrying out an analysis.

-analysisAction = action->select( - isComposite and - specializes('AnalysisCases::AnalysisAction')) -resultExpression = - let results : OrderedSet(ResultExpressionMembership) = - featureMembersip-> - selectByKind(ResultExpressionMembership) in - if results->isEmpty() then null - else results->first().ownedResultExpression - endif -specializesFromLibrary('AnalysisCases::AnalysisCase')""" ; - rdfs:label "AnalysisCaseDefinition" . - - - a rdf:Property ; - rdfs:comment "

The PortUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedPort" . - - - a rdf:Property ; - rdfs:comment """

The Feature whose values are partly determined by values of the chainingFeature, as described in Feature::chainingFeature.

-""" ; - rdfs:label "featureChainingFeatureChained" . - - - a rdf:Property ; - rdfs:comment "

The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature.

" ; - rdfs:label "featureOwnedReferenceSubsetting" . - - - a rdfs:Class ; - rdfs:comment """

Unioning is a Relationship that makes its unioningType one of the unioningTypes of its typeUnioned.

-""" ; - rdfs:label "Unioning" . - - - a rdf:Property ; - rdfs:comment "

Whether this FeatureValue specifies a bound value or an initial value for the featureWithValue.

" ; - rdfs:label "featureValueIsInitial" . - - - a rdfs:Class ; - rdfs:comment """

A SuccessionFlowConnectionUsage is a FlowConnectionUsage that is also a SuccessionItemFlow.

-specializesFromLibrary('Connections::successionFlowConnections')""" ; - rdfs:label "SuccessionFlowConnectionUsage" . - - - a rdfs:Class ; - rdfs:comment """

A Namespace is an Element that contains other Elements, known as its members, via Membership Relationships with those Elements. The members of a Namespace may be owned by the Namespace, aliased in the Namespace, or imported into the Namespace via Import Relationships.

- -

A Namespace can provide names for its members via the memberNames and memberShortNames specified by the Memberships in the Namespace. If a Membership specifies a memberName and/or memberShortName, then those are names of the corresponding memberElement relative to the Namespace. For an OwningMembership, the owningMemberName and owningMemberShortName are given by the Element name and shortName. Note that the same Element may be the memberElement of multiple Memberships in a Namespace (though it may be owned at most once), each of which may define a separate alias for the Element relative to the Namespace.

- -membership->forAll(m1 | - membership->forAll(m2 | - m1 <> m2 implies m1.isDistinguishableFrom(m2))) -member = membership.memberElement -ownedMember = ownedMembership->selectByKind(OwningMembership).ownedMemberElement -importedMembership = importedMemberships(Set{}) -ownedImport = ownedRelationship->selectByKind(Import) -ownedMembership = ownedRelationship->selectByKind(Membership)""" ; - rdfs:label "Namespace" . - - - a rdf:Property ; - rdfs:comment "

The ConjugatedPortDefinition that is conjugate to the originalPortDefinition.

" ; - rdfs:label "portConjugationConjugatedPortDefinition" . - - - a rdf:Property ; - rdfs:comment "

The OccurrenceUsages that are nestedUsages of this Usage.

" ; - rdfs:label "usageNestedOccurrence" . - - - a rdfs:Class ; - rdfs:comment """

A Dependency is a Relationship that indicates that one or more client Elements require one more supplier Elements for their complete specification. In general, this means that a change to one of the supplier Elements may necessitate a change to, or re-specification of, the client Elements.

- -

Note that a Dependency is entirely a model-level Relationship, without instance-level semantics.

""" ; - rdfs:label "Dependency" . - - - a rdf:Property ; - rdfs:comment "

The Interactions that are the types of this FlowConnectionUsage. Nominally, these are FlowConnectionDefinitions, but other kinds of Kernel Interactions are also allowed, to permit use of Interactions from the Kernel Model Libraries.

" ; - rdfs:label "flowConnectionUsageFlowConnectionDefinition" . - - - a rdf:Property ; - rdfs:comment """

The Behaviors that type this Step.

-""" ; - rdfs:label "stepBehavior" . - - - a rdfs:Class ; - rdfs:comment """

An OccurrenceDefinition is a Definition of a Class of individuals that have an independent life over time and potentially an extent over space. This includes both structural things and behaviors that act on such structures.

- -

If isIndividual is true, then the OccurrenceDefinition is constrained to represent an individual thing. The instances of such an OccurrenceDefinition include all spatial and temporal portions of the individual being represented, but only one of these can be the complete Life of the individual. All other instances must be portions of the "maximal portion" that is single Life instance, capturing the conception that all of the instances represent one individual with a single "identity".

- -

An OccurrenceDefinition must specialize, directly or indirectly, the base Class Occurrence from the Kernel Semantic Library.

- -let n : Integer = ownedMember->selectByKind(LifeClass) in -if isIndividual then n = 1 else n = 0 endif -lifeClass = - let lifeClasses: OrderedSet(LifeClass) = - ownedMember->selectByKind(LifeClass) in - if lifeClasses->isEmpty() then null - else lifeClasses->first() - endif""" ; - rdfs:label "OccurrenceDefinition" . - - - a rdf:Property ; - rdfs:comment """

The CaseUsages that are nestedUsages of this Usage.

-""" ; - rdfs:label "usageNestedCase" . - - - a rdf:Property ; - rdfs:comment "

EnumerationUsages of this EnumerationDefinitionthat have distinct, fixed values. Each enumeratedValue specifies one of the allowed instances of the EnumerationDefinition.

" ; - rdfs:label "enumerationDefinitionEnumeratedValue" . - - - a rdf:Property ; - rdfs:comment "

The effectively imported Element for this Import. For a MembershipImport, this is the memberElement of the importedMembership. For a NamespaceImport, it is the importedNamespace.

" ; - rdfs:label "importImportedElement" . - - - a rdfs:Class ; - rdfs:comment """

A ForLoopActionUsage is a LoopActionUsage that specifies that its bodyAction ActionUsage should be performed once for each value, in order, from the sequence of values obtained as the result of the seqArgument Expression, with the loopVariable set to the value for each iteration.

-seqArgument = argument(1) - -isSubactionUsage() implies - specializesFromLibrary('Actions::Action::forLoops') -loopVariable <> null and -loopVariable.redefinesFromLibrary('Actions::ForLoopAction::var') -specializesFromLibrary('Actions::forLoopActions') -loopVariable = - if ownedFeature->isEmpty() or - not ownedFeature->first().oclIsKindOf(ReferenceUsage) then - null - else - ownedFeature->first().oclAsType(ReferenceUsage) - endif -ownedFeature->notEmpty() and -ownedFeature->at(1).oclIsKindOf(ReferenceUsage) - -inputParameters()->size() = 2""" ; - rdfs:label "ForLoopActionUsage" . - - - a rdf:Property ; - rdfs:comment """

The UseCaseUsage to be included by this IncludeUseCaseUsage. It is the performedAction of the IncludeUseCaseUsage considered as a PerformActionUsage, which must be a UseCaseUsage.

-""" ; - rdfs:label "includeUseCaseUsageUseCaseIncluded" . - - - a rdf:Property ; - rdfs:comment """

The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier.

-""" ; - rdfs:label "classifierOwnedSubclassification" . - - - a rdfs:Class ; - rdfs:comment """

A MetadataFeature is a Feature that is an AnnotatingElement used to annotate another Element with metadata. It is typed by a Metaclass. All its ownedFeatures must redefine features of its metaclass and any feature bindings must be model-level evaluable.

- - -specializesFromLibrary('Metaobjects::metaobjects') -isSemantic() implies - let annotatedTypes : Sequence(Type) = - annotatedElement->selectAsKind(Type) in - let baseTypes : Sequence(MetadataFeature) = - evaluateFeature(resolveGlobal( - 'Metaobjects::SemanticMetadata::baseType'). - memberElement. - oclAsType(Feature))-> - selectAsKind(MetadataFeature) in - annotatedTypes->notEmpty() and - baseTypes()->notEmpty() and - baseTypes()->first().isSyntactic() implies - let annotatedType : Type = annotatedTypes->first() in - let baseType : Element = baseTypes->first().syntaxElement() in - if annotatedType.oclIsKindOf(Classifier) and - baseType.oclIsKindOf(Feature) then - baseType.oclAsType(Feature).type-> - forAll(t | annotatedType.specializes(t)) - else if baseType.oclIsKindOf(Type) then - annotatedType.specializes(baseType.oclAsType(Type)) - else - true - endif -not metaclass.isAbstract -let baseAnnotatedElementFeature : Feature = - resolveGlobal('Metaobjects::Metaobject::annotatedElement').memberElement. - oclAsType(Feature) in -let annotatedElementFeatures : OrderedSet(Feature) = feature-> - select(specializes(baseAnnotatedElementFeature))-> - excluding(baseAnnotatedElementFeature) in -annotatedElementFeatures->notEmpty() implies - let annotatedElementTypes : Set(Feature) = - annotatedElementFeatures.typing.type->asSet() in - let metaclasses : Set(Metaclass) = - annotatedElement.oclType().qualifiedName->collect(qn | - resolveGlobal(qn).memberElement.oclAsType(Metaclass)) in - metaclasses->forAll(m | annotatedElementTypes->exists(t | m.specializes(t))) -ownedFeature->closure(ownedFeature)->forAll(f | - f.declaredName = null and f.declaredShortName = null and - f.valuation <> null implies f.valuation.value.isModelLevelEvaluable and - f.redefinition.redefinedFeature->size() = 1) -metaclass = - let metaclassTypes : Sequence(Type) = type->selectByKind(Metaclass) in - if metaclassTypes->isEmpty() then null - else metaClassTypes->first() - endif -type->selectByKind(Metaclass).size() = 1""" ; - rdfs:label "MetadataFeature" . - - - a rdf:Property ; - rdfs:comment "

The target ActionUsage of this TransitionUsage, which is the targetFeature of the succession for the TransitionUsage.

" ; - rdfs:label "transitionUsageTarget" . - - - a rdf:Property ; - rdfs:comment """

The ActionUsage that is to be performed if the result of the ifArgument is false. It is the (optional) third parameter of the IfActionUsage.

-""" ; - rdfs:label "ifActionUsageElseAction" . - - - a rdf:Property ; - rdfs:comment "

The parameters of this CaseUsage that represent actors involved in the case.

" ; - rdfs:label "caseUsageActorParameter" . - - - a rdf:Property ; - rdfs:comment """

The annotatedElement of this Annotation, when it is also its owningRelatedElement.

-""" ; - rdfs:label "annotationOwningAnnotatedElement" . - - - a rdf:Property ; - rdfs:comment """

The String value that is the result of evaluating this LiteralString.

- -

The String value that is the result of evaluating this Expression.

""" ; - rdfs:label "literalStringValue" . - - - a rdfs:Class ; - rdfs:comment """

An ObjectiveMembership is a FeatureMembership that indicates that its ownedObjectiveRequirement is the objective RequirementUsage for its owningType, which must be a CaseDefinition or CaseUsage.

-owningType.oclIsType(CaseDefinition) or -owningType.oclIsType(CaseUsage) - -ownedObjectiveRequirement.isComposite""" ; - rdfs:label "ObjectiveMembership" . - - - a rdfs:Class ; - rdfs:comment """

A Feature is a Type that classifies relations between multiple things (in the universe). The domain of the relation is the intersection of the featuringTypes of the Feature. (The domain of a Feature with no featuringTyps is implicitly the most general Type Base::Anything from the Kernel Semantic Library.) The co-domain of the relation is the intersection of the types of the Feature. - -

In the simplest cases, the featuringTypes and types are Classifiers and the Feature relates two things, one from the domain and one from the range. Examples include cars paired with wheels, people paired with other people, and cars paired with numbers representing the car length.

- -

Since Features are Types, their featuringTypes and types can be Features. In this case, the Feature effectively classifies relations between relations, which can be interpreted as the sequence of things related by the domain Feature concatenated with the sequence of things related by the co-domain Feature.

- -

The values of a Feature for a given instance of its domain are all the instances of its co-domain that are related to that domain instance by the Feature. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with values of the first Feature, then using those values as domain instances to obtain valus of the second Feature, and so on, to values of the last Feature.

- -ownedRedefinition = ownedSubsetting->selectByKind(Redefinition) -ownedTypeFeaturing = ownedRelationship->selectByKind(TypeFeaturing)-> - select(tf | tf.featureOfType = self) -ownedSubsetting = ownedSpecialization->selectByKind(Subsetting) -ownedTyping = ownedGeneralization->selectByKind(FeatureTyping) -type = - let types : OrderedSet(Types) = OrderedSet{self}-> - -- Note: The closure operation automatically handles circular relationships. - closure(typingFeatures()).typing.type->asOrderedSet() in - types->reject(t1 | types->exist(t2 | t2 <> t1 and t2.specializes(t1))) -multiplicity <> null implies multiplicity.featuringType = featuringType -specializesFromLibrary('Base::things') -chainingFeature->excludes(self) -ownedFeatureChaining = ownedRelationship->selectByKind(FeatureChaining) -chainingFeature = ownedFeatureChaining.chainingFeature -chainingFeature->size() <> 1 -isEnd and owningType <> null implies - let i : Integer = - owningType.ownedEndFeature->indexOf(self) in - owningType.ownedSpecialization.general-> - forAll(supertype | - supertype.endFeature->size() >= i implies - redefines(supertype.endFeature->at(i)) -direction = null and -ownedSpecializations->forAll(isImplied) implies - ownedMembership-> - selectByKind(FeatureValue)-> - forAll(fv | specializes(fv.value.result)) -isEnd and owningType <> null and -(owningType.oclIsKindOf(Association) or - owningType.oclIsKindOf(Connector)) implies - specializesFromLibrary('Links::Link::participant') -isComposite and -ownedTyping.type->includes(oclIsKindOf(Structure)) and -owningType <> null and -(owningType.oclIsKindOf(Structure) or - owningType.type->includes(oclIsKindOf(Structure))) implies - specializesFromLibrary('Occurrence::Occurrence::suboccurrences') -owningType <> null and -owningType.oclIsKindOf(FeatureReferenceExpression) and -self = owningType.oclAsType(FeatureReferenceExpression).result implies - specializes(owningType.oclAsType(FeatureReferenceExpression).referent) - -ownedTyping.type->exists(selectByKind(Class)) implies - specializesFromLibrary('Occurrences::occurrences') -isComposite and -ownedTyping.type->includes(oclIsKindOf(Class)) and -owningType <> null and -(owningType.oclIsKindOf(Class) or - owningType.oclIsKindOf(Feature) and - owningType.oclAsType(Feature).type-> - exists(oclIsKindOf(Class))) implies - specializesFromLibrary('Occurrence::Occurrence::suboccurrences') -ownedTyping.type->exists(selectByKind(DataType)) implies - specializesFromLibrary('Base::dataValues') -owningType <> null and -owningType.oclIsKindOf(ItemFlowEnd) and -owningType.ownedFeature->at(1) = self implies - let flowType : Type = owningType.owningType in - flowType <> null implies - let i : Integer = - flowType.ownedFeature.indexOf(owningType) in - (i = 1 implies - redefinesFromLibrary('Transfers::Transfer::source::sourceOutput')) and - (i = 2 implies - redefinesFromLibrary('Transfers::Transfer::source::targetInput')) - -owningType <> null and -(owningType.oclIsKindOf(Behavior) or - owningType.oclIsKindOf(Step)) implies - let i : Integer = - owningType.ownedFeature->select(direction <> null) in - owningType.ownedSpecialization.general-> - forAll(supertype | - let ownedParameters : Sequence(Feature) = - supertype.ownedFeature->select(direction <> null) in - ownedParameters->size() >= i implies - redefines(ownedParameters->at(i)) -ownedTyping.type->exists(selectByKind(Structure)) implies - specializesFromLibary('Objects::objects') -owningType <> null and -(owningType.oclIsKindOf(Function) and - self = owningType.oclAsType(Function).result or - owningType.oclIsKindOf(Expression) and - self = owningType.oclAsType(Expression).result) implies - owningType.ownedSpecialization.general-> - select(oclIsKindOf(Function) or oclIsKindOf(Expression))-> - forAll(supertype | - redefines( - if superType.oclIsKindOf(Function) then - superType.oclAsType(Function).result - else - superType.oclAsType(Expression).result - endif) -ownedFeatureInverting = ownedRelationship->selectByKind(FeatureInverting)-> - select(fi | fi.featureInverted = self) -featuringType = - let featuringTypes : OrderedSet(Type) = - featuring.type->asOrderedSet() in - if chainingFeature->isEmpty() then featuringTypes - else - featuringTypes-> - union(chainingFeature->first().featuringType)-> - asOrderedSet() - endif -ownedReferenceSubsetting = - let referenceSubsettings : OrderedSet(ReferenceSubsetting) = - ownedSubsetting->selectByKind(ReferenceSubsetting) in - if referenceSubsettings->isEmpty() then null - else referenceSubsettings->first() endif -ownedSubsetting->selectByKind(ReferenceSubsetting)->size() <= 1 -Sequence{1..chainingFeature->size() - 1}->forAll(i | - chainingFeature->at(i + 1).featuringType->forAll(t | - chainingFeature->at(i).specializes(t))) - -isPortion and -ownedTyping.type->includes(oclIsKindOf(Class)) and -owningType <> null and -(owningType.oclIsKindOf(Class) or - owningType.oclIsKindOf(Feature) and - owningType.oclAsType(Feature).type-> - exists(oclIsKindOf(Class))) implies - specializesFromLibrary('Occurrence::Occurrence::portions')""" ; - rdfs:label "Feature" . - - - a rdf:Property ; - rdfs:comment "

The OccurrenceUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedOccurrence" . - - - a rdf:Property ; - rdfs:comment """

All features related to this Type by FeatureMemberships that have direction in or inout.

-""" ; - rdfs:label "typeInput" . - - - a rdf:Property ; - rdfs:comment """

The Element that is annotated by the annotatingElement of this Annotation.

-""" ; - rdfs:label "annotationAnnotatedElement" . - - - a rdf:Property ; - rdfs:comment "

The ReferenceUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedReference" . - - - a rdf:Property ; - rdfs:comment """

The Expression that provides the result for the owner of the ResultExpressionMembership.

-""" ; - rdfs:label "resultExpressionMembershipOwnedResultExpression" . - - - a rdf:Property ; - rdfs:comment """

The Steps that make up this Behavior.

-""" ; - rdfs:label "behaviorStep" . - - - a rdfs:Class ; - rdfs:comment """

An EnumerationDefinition is an AttributeDefinition all of whose instances are given by an explicit list of enumeratedValues. This is realized by requiring that the EnumerationDefinition have isVariation = true, with the enumeratedValues being its variants.

-isVariation""" ; - rdfs:label "EnumerationDefinition" . - - - a rdf:Property ; - rdfs:comment "

The itemDefinitions of this PartUsage that are PartDefinitions.

" ; - rdfs:label "partUsagePartDefinition" . - - - a rdf:Property ; - rdfs:comment "

The ActionUsages that define the effects of this TransitionUsage, which are the ownedFeatures of the TransitionUsage related to it by TransitionFeatureMemberships with kind = effect, which must all be ActionUsages.

" ; - rdfs:label "transitionUsageEffectAction" . - - - a rdf:Property ; - rdfs:comment """

The RenderingUsages that are nestedUsages of this Usage.

-""" ; - rdfs:label "usageNestedRendering" . - - - a rdf:Property ; - rdfs:comment """

The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned.

-""" ; - rdfs:label "typeOwnedUnioning" . - - - a rdf:Property ; - rdfs:comment "

The relatedElement of this Relationship that owns the Relationship, if any.

" ; - rdfs:label "relationshipOwningRelatedElement" . - - - a rdf:Property ; - rdfs:comment """

The parameter of this CaseUsage that represents its subject.

-""" ; - rdfs:label "caseUsageSubjectParameter" . - - - a rdfs:Class ; - rdfs:comment """

An ActionUsage is a Usage that is also a Step, and, so, is typed by a Behavior. Nominally, if the type is an ActionDefinition, an ActionUsage is a Usage of that ActionDefinition within a system. However, other kinds of kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries.

- -isSubactionUsage() implies - specializesFromLibrary('Actions::Action::subactions') -specializesFromLibrary('Actions::actions') -isComposite and owningType <> null and -(owningType.oclIsKindOf(PartDefinition) or - owningType.oclIsKindOf(PartUsage)) implies - specializesFromLibrary('Parts::Part::ownedActions') -owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(StateSubactionMembership) implies - let kind : StateSubactionKind = - owningFeatureMembership.oclAsType(StateSubactionMembership).kind in - if kind = StateSubactionKind::entry then - redefinesFromLibrary('States::StateAction::entryAction') - else if kind = StateSubactionKind::do then - redefinesFromLibrary('States::StateAction::doAction') - else - redefinesFromLibrary('States::StateAction::exitAction') - endif endif -owningType <> null and - (owningType.oclIsKindOf(AnalysisCaseDefinition) and - owningType.oclAsType(AnalysisCaseDefinition).analysisAction-> - includes(self) or - owningType.oclIsKindOf(AnalysisCaseUsage) and - owningType.oclAsType(AnalysisCaseUsage).analysisAction-> - includes(self)) implies - specializesFromLibrary('AnalysisCases::AnalysisCase::analysisSteps')""" ; - rdfs:label "ActionUsage" . - - - a rdfs:Class ; - rdfs:comment """

A Disjoining is a Relationship between Types asserted to have interpretations that are not shared (disjoint) between them, identified as typeDisjoined and disjoiningType. For example, a Classifier for mammals is disjoint from a Classifier for minerals, and a Feature for people's parents is disjoint from a Feature for their children.

-""" ; - rdfs:label "Disjoining" . - - - a rdf:Property ; - rdfs:comment "

The CaseDefinition that is the type of this CaseUsage.

" ; - rdfs:label "caseUsageCaseDefinition" . - - - a rdfs:Class ; - rdfs:comment """

An Association is a Relationship and a Classifier to enable classification of links between things (in the universe). The co-domains (types) of the associationEnd Features are the relatedTypes, as co-domain and participants (linked things) of an Association identify each other.

- -relatedType = associationEnd.type -specializesFromLibrary('Links::Link') -oclIsKindOf(Structure) = oclIsKindOf(AssociationStructure) -associationEnd->size() = 2 implies - specializesFromLibrary('Links::BinaryLink') -not isAbstract implies relatedType->size() >= 2 -associationEnds->size() > 2 implies - not specializesFromLibrary('Links::BinaryLink') -sourceType = - if relatedType->isEmpty() then null - else relatedType->first() endif -targetType = - if relatedType->size() < 2 then OrderedSet{} - else - relatedType-> - subSequence(2, relatedType->size())-> - asOrderedSet() - endif""" ; - rdfs:label "Association" . - - - a rdfs:Class ; - rdfs:comment """

A PartUsage is a usage of a PartDefinition to represent a system or a part of a system. At least one of the itemDefinitions of the PartUsage must be a PartDefinition.

- -

A PartUsage must subset, directly or indirectly, the base PartUsage parts from the Systems Model Library.

-itemDefinition->selectByKind(PartDefinition) -partDefinition->notEmpty() -specializesFromLibrary('Parts::parts') -isComposite and owningType <> null and -(owningType.oclIsKindOf(ItemDefinition) or - owningType.oclIsKindOf(ItemUsage)) implies - specializesFromLibrary('Items::Item::subparts') -owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(ActorMembership) implies - if owningType.oclIsKindOf(RequirementDefinition) or - owningType.oclIsKindOf(RequirementUsage) - then specializesFromLibrary('Requirements::RequirementCheck::actors') - else specializesFromLibrary('Cases::Case::actors') -owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(StakeholderMembership) implies - specializesFromLibrary('Requirements::RequirementCheck::stakeholders')""" ; - rdfs:label "PartUsage" . - - - a rdf:Property ; - rdfs:comment """

The conjugatedType of this Conjugation that is also its owningRelatedElement.

-""" ; - rdfs:label "conjugationOwningType" . - - - a rdf:Property ; - rdfs:comment "

The ViewpointDefinition that is the definition of this ViewpointUsage.

" ; - rdfs:label "viewpointUsageViewpointDefinition" . - - - a rdf:Property ; - rdfs:comment """

Whether all things that meet the classification conditions of this Type must be classified by the Type.

- -

(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.)

-""" ; - rdfs:label "typeIsSufficient" . - - - a rdf:Property ; - rdfs:comment "

Whether this Usage is a referential Usage, that is, it has isComposite = false.

" ; - rdfs:label "usageIsReference" . - - - a rdfs:Class ; - rdfs:comment """

A Multiplicity is a Feature whose co-domain is a set of natural numbers giving the allowed cardinalities of each typeWithMultiplicity. The cardinality of a Type is defined as follows, depending on whether the Type is a Classifier or Feature. -

    -
  • Classifier – The number of basic instances of the Classifier, that is, those instances representing things, which are not instances of any subtypes of the Classifier that are Features. -
  • Features – The number of instances with the same featuring instances. In the case of a Feature with a Classifier as its featuringType, this is the number of values of Feature for each basic instance of the Classifier. Note that, for non-unique Features, all duplicate values are included in this count.
  • -
- -

Multiplicity co-domains (in models) can be specified by Expression that might vary in their results. If the typeWithMultiplicity is a Classifier, the domain of the Multiplicity shall be Base::Anything. If the typeWithMultiplicity is a Feature, the Multiplicity shall have the same domain as the typeWithMultiplicity.

- -if owningType <> null and owningType.oclIsKindOf(Feature) then - featuringType = - owningType.oclAsType(Feature).featuringType -else - featuringType->isEmpty() -endif -specializesFromLibrary('Base::naturals')""" ; - rdfs:label "Multiplicity" . - - - a rdf:Property ; - rdfs:comment "

The value Expressions of the FeatureValues of the owned input parameters of the InvocationExpression." ; - rdfs:label "invocationExpressionArgument" . - - - a rdf:Property ; - rdfs:comment "

Whether this Expression meets the constraints necessary to be evaluated at model level, that is, using metadata within the model.

" ; - rdfs:label "expressionIsModelLevelEvaluable" . - - - a rdf:Property ; - rdfs:comment "

The ActionUsage of this StateDefinition to be performed while in the state defined by the StateDefinition. It is the owned ActionUsage related to the StateDefinition by a StateSubactionMembership with kind = do.

" ; - rdfs:label "stateDefinitionDoAction" . - - - a rdf:Property ; - rdfs:comment """

Whether to import memberships without regard to declared visibility.

-""" ; - rdfs:label "importIsImportAll" . - - - a rdf:Property ; - rdfs:comment "

The ConcernDefinition that is the single type of this ConcernUsage.

" ; - rdfs:label "concernUsageConcernDefinition" . - - - a rdf:Property ; - rdfs:comment "

Whether an order exists for the values of this Feature or not.

" ; - rdfs:label "featureIsOrdered" . - - - a rdfs:Class ; - rdfs:comment """

A ConcernDefinition is a RequirementDefinition that one or more stakeholders may be interested in having addressed. These stakeholders are identified by the ownedStakeholdersof the ConcernDefinition.

- -specializesFromLibrary('Requirements::ConcernCheck')""" ; - rdfs:label "ConcernDefinition" . - - - a rdfs:Class ; - rdfs:comment """

A ConcernUsage is a Usage of a ConcernDefinition.

- - The ownedStakeholder features of the ConcernUsage shall all subset the ConcernCheck::concernedStakeholders feature. If the ConcernUsage is an ownedFeature of a StakeholderDefinition or StakeholderUsage, then the ConcernUsage shall have an ownedStakeholder feature that is bound to the self feature of its owner.

- -specializesFromLibrary('Requirements::concernChecks') -owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(FramedConcernMembership) implies - specializesFromLibrary('Requirements::RequirementCheck::concerns')""" ; - rdfs:label "ConcernUsage" . - - - a rdf:Property ; - rdfs:comment """

Whether or not the this Feature is an end Feature, requiring a different interpretation of the multiplicity of the Feature.

- -

An end Feature is always considered to map each domain instance to a single co-domain instance, whether or not a Multiplicity is given for it. If a Multiplicity is given for an end Feature, rather than giving the co-domain cardinality for the Feature as usual, it specifies a cardinality constraint for navigating across the endFeatures of the featuringType of the end Feature. That is, if a Type has n endFeatures, then the Multiplicity of any one of those end Features constrains the cardinality of the set of values of that Feature when the values of the other n-1 end Features are held fixed.

-""" ; - rdfs:label "featureIsEnd" . - - - a rdf:Property ; - rdfs:comment "

The FlowConnectionUsages that are ownedUsages of this Definition.

" ; - rdfs:label "definitionOwnedFlow" . - - - a rdf:Property ; - rdfs:comment """

An optional textual statement of the requirement represented by this RequirementDefinition, derived from the bodies of the documentation of the RequirementDefinition.

-""" ; - rdfs:label "requirementDefinitionText" . - - - a rdfs:Class ; - rdfs:comment """

A Classifier is a Type that classifies:

- -
    -
  • Things (in the universe) regardless of how Features relate them. (These are interpreted semantically as sequences of exactly one thing.)
  • -
  • How the above things are related by Features. (These are interpreted semantically as sequences of multiple things, such that the last thing in the sequence is also classified by the Classifier. Note that this means that a Classifier modeled as specializing a Feature cannot classify anything.)
  • -
- - -ownedSubclassification = - ownedSpecialization->selectByKind(Subclassification) -multiplicity <> null implies multiplicity.featuringType->isEmpty()""" ; - rdfs:label "Classifier" . - - - a rdf:Property ; - rdfs:comment "

The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature.

" ; - rdfs:label "featureEndOwningType" . - - - a rdfs:Class ; - rdfs:comment """

An ItemDefinition is an OccurrenceDefinition of the Structure of things that may themselves be systems or parts of systems, but may also be things that are acted on by a system or parts of a system, but which do not necessarily perform actions themselves. This includes items that can be exchanged between parts of a system, such as water or electrical signals.

- -specializesFromLibrary('Items::Item')""" ; - rdfs:label "ItemDefinition" . - - - a rdfs:Class ; - rdfs:comment """

A StateSubactionMembership is a FeatureMembership for an entry, do or exit ActionUsage of a StateDefinition or StateUsage.

-owningType.oclIsKindOf(StateDefinition) or -owningType.oclIsKindOf(StateUsage)""" ; - rdfs:label "StateSubactionMembership" . - - - a rdf:Property ; - rdfs:comment "

The owned ConstraintUsages that represent assumptions of this RequirementUsage, derived as the ownedConstraints of the RequirementConstraintMemberships of the RequirementUsage with kind = assumption.

" ; - rdfs:label "requirementUsageAssumedConstraint" . - - - a rdf:Property ; - rdfs:comment "

The Usage in which this Usage is nested (if any).

" ; - rdfs:label "usageOwningUsage" . - - - a rdf:Property ; - rdfs:comment "

Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships.

" ; - rdfs:label "usageIsVariation" . - - - a rdf:Property ; - rdfs:comment "

The InterfaceUsages that are nestedUsages of this Usage.

" ; - rdfs:label "usageNestedInterface" . - - - a rdfs:Class ; - rdfs:comment """

Subsetting is Specialization in which the specific and general Types are Features. This means all values of the subsettingFeature (on instances of its domain, i.e., the intersection of its featuringTypes) are values of the subsettedFeature on instances of its domain. To support this the domain of the subsettingFeature must be the same or specialize (at least indirectly) the domain of the subsettedFeature (via Specialization), and the co-domain (intersection of the types) of the subsettingFeature must specialize the co-domain of the subsettedFeature.

- -let subsettingFeaturingTypes: OrderedSet(Type) = - subsettingFeature.featuringTypes in -let subsettedFeaturingTypes: OrderedSet(Type) = - subsettedFeature.featuringTypes in -let anythingType: Element = - subsettingFeature.resolveGlobal('Base::Anything').memberElement in -subsettedFeaturingTypes->forAll(t | - subsettingFeaturingTypes->isEmpty() and t = anythingType or - subsettingFeaturingTypes->exists(specializes(t)) -subsettedFeature.isUnique implies subsettingFeature.isUnique""" ; - rdfs:label "Subsetting" . - - - a rdfs:Class ; - rdfs:comment "

A ConnectorAsUsage is both a Connector and a Usage. ConnectorAsUsage cannot itself be instantiated in a SysML model, but it is the base class for the concrete classes BindingConnectorAsUsage, SuccessionAsUsage and ConnectionUsage.

" ; - rdfs:label "ConnectorAsUsage" . - - - a rdf:Property ; - rdfs:comment """

The Type that is being applied by this FeatureTyping.

-""" ; - rdfs:label "featureTypingType" . - - - a rdf:Property ; - rdfs:comment "

The TextualRepresentations that annotate this Element.

" ; - rdfs:label "elementTextualRepresentation" . - - - a rdf:Property ; - rdfs:comment "

The originalPortDefinition of the conjugatedPortDefinition of this ConjugatedPortTyping.

" ; - rdfs:label "conjugatedPortTypingPortDefinition" . - - - a rdf:Property ; - rdfs:comment """

Whether or not values for this Feature must have no duplicates or not.

-""" ; - rdfs:label "featureIsUnique" . - - - a rdf:Property ; - rdfs:comment "

The RequirementUsages verified by this VerificationCaseDefinition, which are the verifiedRequirements of all RequirementVerificationMemberships of the objectiveRequirement.

" ; - rdfs:label "verificationCaseDefinitionVerifiedRequirement" . +@prefix dcterms: . +@prefix oslc_am: . +@prefix oslc_sysmlv2: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix vann: . +@prefix xsd: . + +oslc_sysmlv2: a owl:Ontology ; + rdfs:label "OSLC SysML v2 Vocabulary" ; + dcterms:dateCopyrighted "2012-2024" ; + dcterms:description "All vocabulary URIs defined in the OSLC SysML v2 namespace."^^rdf:XMLLiteral ; + dcterms:hasVersion "WD" ; + dcterms:isPartOf ; + dcterms:issued "2022-07-11"^^xsd:date ; + dcterms:license ; + dcterms:publisher ; + dcterms:source ; + dcterms:title "OSLC SysML v2 Vocabulary" ; + vann:preferredNamespacePrefix "oslc_sysmlv2" . + + +oslc_sysmlv2:AcceptActionUsage a rdfs:Class ; + rdfs:label "AcceptActionUsage" ; + rdfs:comment "An AcceptActionUsage is an ActionUsage that specifies the acceptance of an incomingTransfer from the Occurrence given by the result of its receiverArgument Expression. (If no receiverArgument is provided, the default is the this context of the AcceptActionUsage.) The payload of the accepted Transfer is output on its payloadParameter. Which Transfers may be accepted is determined by conformance to the typing and (potentially) binding of the payloadParameter." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ActionDefinition a rdfs:Class ; + rdfs:label "ActionDefinition" ; + rdfs:comment "An ActionDefinition is a Definition that is also a Behavior that defines an Action performed by a system or part of a system." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ActionUsage a rdfs:Class ; + rdfs:label "ActionUsage" ; + rdfs:comment "An ActionUsage is a Usage that is also a Step, and, so, is typed by a Behavior. Nominally, if the type is an ActionDefinition, an ActionUsage is a Usage of that ActionDefinition within a system. However, other kinds of kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ActorMembership a rdfs:Class ; + rdfs:label "ActorMembership" ; + rdfs:comment "An ActorMembership is a ParameterMembership that identifies a PartUsage as an actor parameter, which specifies a role played by an external entity in interaction with the owningType of the ActorMembership." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:AllocationDefinition a rdfs:Class ; + rdfs:label "AllocationDefinition" ; + rdfs:comment "An AllocationDefinition is a ConnectionDefinition that specifies that some or all of the responsibility to realize the intent of the source is allocated to the target instances. Such allocations define mappings across the various structures and hierarchies of a system model, perhaps as a precursor to more rigorous specifications and implementations. An AllocationDefinition can itself be refined using nested allocations that give a finer-grained decomposition of the containing allocation mapping." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:AllocationUsage a rdfs:Class ; + rdfs:label "AllocationUsage" ; + rdfs:comment "An AllocationUsage is a usage of an AllocationDefinition asserting the allocation of the source feature to the target feature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:AnalysisCaseDefinition a rdfs:Class ; + rdfs:label "AnalysisCaseDefinition" ; + rdfs:comment "An AnalysisCaseDefinition is a CaseDefinition for the case of carrying out an analysis." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:AnalysisCaseUsage a rdfs:Class ; + rdfs:label "AnalysisCaseUsage" ; + rdfs:comment "An AnalysisCaseUsage is a Usage of an AnalysisCaseDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:AnnotatingElement a rdfs:Class ; + rdfs:label "AnnotatingElement" ; + rdfs:comment "An AnnotatingElement is an Element that provides additional description of or metadata on some other Element. An AnnotatingElement is either attached to its annotatedElements by Annotation Relationships, or it implicitly annotates its owningNamespace." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Annotation a rdfs:Class ; + rdfs:label "Annotation" ; + rdfs:comment "An Annotation is a Relationship between an AnnotatingElement and the Element that is annotated by that AnnotatingElement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:AssertConstraintUsage a rdfs:Class ; + rdfs:label "AssertConstraintUsage" ; + rdfs:comment "An AssertConstraintUsage is a ConstraintUsage that is also an Invariant and, so, is asserted to be true (by default). Unless it is the AssertConstraintUsage itself, the asserted ConstraintUsage is related to the AssertConstraintUsage by a ReferenceSubsetting Relationship." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:AssignmentActionUsage a rdfs:Class ; + rdfs:label "AssignmentActionUsage" ; + rdfs:comment "An AssignmentActionUsage is an ActionUsage that is defined, directly or indirectly, by the ActionDefinition AssignmentAction from the Systems Model Library. It specifies that the value of the referent Feature, relative to the target given by the result of the targetArgument Expression, should be set to the result of the valueExpression." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Association a rdfs:Class ; + rdfs:label "Association" ; + rdfs:comment "An Association is a Relationship and a Classifier to enable classification of links between things (in the universe). The co-domains (types) of the associationEnd Features are the relatedTypes, as co-domain and participants (linked things) of an Association identify each other." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:AssociationStructure a rdfs:Class ; + rdfs:label "AssociationStructure" ; + rdfs:comment "An AssociationStructure is an Association that is also a Structure, classifying link objects that are both links and objects. As objects, link objects can be created and destroyed, and their non-end Features can change over time. However, the values of the end Features of a link object are fixed and cannot change over its lifetime." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:AttributeDefinition a rdfs:Class ; + rdfs:label "AttributeDefinition" ; + rdfs:comment "An AttributeDefinition is a Definition and a DataType of information about a quality or characteristic of a system or part of a system that has no independent identity other than its value. All features of an AttributeDefinition must be referential (non-composite)." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:AttributeUsage a rdfs:Class ; + rdfs:label "AttributeUsage" ; + rdfs:comment "An AttributeUsage is a Usage whose type is a DataType. Nominally, if the type is an AttributeDefinition, an AttributeUsage is a usage of a AttributeDefinition to represent the value of some system quality or characteristic. However, other kinds of kernel DataTypes are also allowed, to permit use of DataTypes from the Kernel Model Libraries. An AttributeUsage itself as well as all its nested features must be referential (non-composite)." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Behavior a rdfs:Class ; + rdfs:label "Behavior" ; + rdfs:comment "A Behavior coordinates occurrences of other Behaviors, as well as changes in objects. Behaviors can be decomposed into Steps and be characterized by parameters." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:BindingConnector a rdfs:Class ; + rdfs:label "BindingConnector" ; + rdfs:comment "A BindingConnector is a binary Connector that requires its relatedFeatures to identify the same things (have the same values)." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:BindingConnectorAsUsage a rdfs:Class ; + rdfs:label "BindingConnectorAsUsage" ; + rdfs:comment "A BindingConnectorAsUsage is both a BindingConnector and a ConnectorAsUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:BooleanExpression a rdfs:Class ; + rdfs:label "BooleanExpression" ; + rdfs:comment "A BooleanExpression is a Boolean-valued Expression whose type is a Predicate. It represents a logical condition resulting from the evaluation of the Predicate." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:CalculationDefinition a rdfs:Class ; + rdfs:label "CalculationDefinition" ; + rdfs:comment "A CalculationDefinition is an ActionDefinition that also defines a Function producing a result." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:CalculationUsage a rdfs:Class ; + rdfs:label "CalculationUsage" ; + rdfs:comment "A CalculationUsage is an ActionUsage that is also an Expression, and, so, is typed by a Function. Nominally, if the type is a CalculationDefinition, a CalculationUsage is a Usage of that CalculationDefinition within a system. However, other kinds of kernel Functions are also allowed, to permit use of Functions from the Kernel Model Libraries." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:CaseDefinition a rdfs:Class ; + rdfs:label "CaseDefinition" ; + rdfs:comment "A CaseDefinition is a CalculationDefinition for a process, often involving collecting evidence or data, relative to a subject, possibly involving the collaboration of one or more other actors, producing a result that meets an objective." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:CaseUsage a rdfs:Class ; + rdfs:label "CaseUsage" ; + rdfs:comment "A CaseUsage is a Usage of a CaseDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Class a rdfs:Class ; + rdfs:label "Class" ; + rdfs:comment "A Class is a Classifier of things (in the universe) that can be distinguished without regard to how they are related to other things (via Features). This means multiple things classified by the same Class can be distinguished, even when they are related other things in exactly the same way." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Classifier a rdfs:Class ; + rdfs:label "Classifier" ; + rdfs:comment "A Classifier is a Type that classifies:" ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:CollectExpression a rdfs:Class ; + rdfs:label "CollectExpression" ; + rdfs:comment "A CollectExpression is an OperatorExpression whose operator is \"collect\", which resolves to the Function ControlFunctions::collect from the Kernel Functions Library." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Comment a rdfs:Class ; + rdfs:label "Comment" ; + rdfs:comment "A Comment is an AnnotatingElement whose body in some way describes its annotatedElements." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ConcernDefinition a rdfs:Class ; + rdfs:label "ConcernDefinition" ; + rdfs:comment "A ConcernDefinition is a RequirementDefinition that one or more stakeholders may be interested in having addressed. These stakeholders are identified by the ownedStakeholdersof the ConcernDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ConcernUsage a rdfs:Class ; + rdfs:label "ConcernUsage" ; + rdfs:comment "A ConcernUsage is a Usage of a ConcernDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ConjugatedPortDefinition a rdfs:Class ; + rdfs:label "ConjugatedPortDefinition" ; + rdfs:comment "A ConjugatedPortDefinition is a PortDefinition that is a PortDefinition of its original PortDefinition. That is, a ConjugatedPortDefinition inherits all the features of the original PortDefinition, but input flows of the original PortDefinition become outputs on the ConjugatedPortDefinition and output flows of the original PortDefinition become inputs on the ConjugatedPortDefinition. Every PortDefinition (that is not itself a ConjugatedPortDefinition) has exactly one corresponding ConjugatedPortDefinition, whose effective name is the name of the originalPortDefinition, with the character ~ prepended." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ConjugatedPortTyping a rdfs:Class ; + rdfs:label "ConjugatedPortTyping" ; + rdfs:comment "A ConjugatedPortTyping is a FeatureTyping whose type is a ConjugatedPortDefinition. (This relationship is intended to be an abstract-syntax marker for a special surface notation for conjugated typing of ports.)" ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Conjugation a rdfs:Class ; + rdfs:label "Conjugation" ; + rdfs:comment "Conjugation is a Relationship between two types in which the conjugatedType inherits all the Features of the originalType, but with all input and output Features reversed. That is, any Features with a direction in relative to the originalType are considered to have an effective direction of out relative to the conjugatedType and, similarly, Features with direction out in the originalType are considered to have an effective direction of in in the conjugatedType. Features with direction inout, or with no direction, in the originalType, are inherited without change." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ConnectionDefinition a rdfs:Class ; + rdfs:label "ConnectionDefinition" ; + rdfs:comment "A ConnectionDefinition is a PartDefinition that is also an AssociationStructure. The end Features of a ConnectionDefinition must be Usages." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ConnectionUsage a rdfs:Class ; + rdfs:label "ConnectionUsage" ; + rdfs:comment "A ConnectionUsage is a ConnectorAsUsage that is also a PartUsage. Nominally, if its type is a ConnectionDefinition, then a ConnectionUsage is a Usage of that ConnectionDefinition, representing a connection between parts of a system. However, other kinds of kernel AssociationStructures are also allowed, to permit use of AssociationStructures from the Kernel Model Libraries." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Connector a rdfs:Class ; + rdfs:label "Connector" ; + rdfs:comment "A Connector is a usage of Associations, with links restricted according to instances of the Type in which they are used (domain of the Connector). The associations of the Connector restrict what kinds of things might be linked. The Connector further restricts these links to be between values of Features on instances of its domain." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ConnectorAsUsage a rdfs:Class ; + rdfs:label "ConnectorAsUsage" ; + rdfs:comment "A ConnectorAsUsage is both a Connector and a Usage. ConnectorAsUsage cannot itself be instantiated in a SysML model, but it is the base class for the concrete classes BindingConnectorAsUsage, SuccessionAsUsage and ConnectionUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ConstraintDefinition a rdfs:Class ; + rdfs:label "ConstraintDefinition" ; + rdfs:comment "A ConstraintDefinition is an OccurrenceDefinition that is also a Predicate that defines a constraint that may be asserted to hold on a system or part of a system." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ConstraintUsage a rdfs:Class ; + rdfs:label "ConstraintUsage" ; + rdfs:comment "A ConstraintUsage is an OccurrenceUsage that is also a BooleanExpression, and, so, is typed by a Predicate. Nominally, if the type is a ConstraintDefinition, a ConstraintUsage is a Usage of that ConstraintDefinition. However, other kinds of kernel Predicates are also allowed, to permit use of Predicates from the Kernel Model Libraries." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ControlNode a rdfs:Class ; + rdfs:label "ControlNode" ; + rdfs:comment "A ControlNode is an ActionUsage that does not have any inherent behavior but provides constraints on incoming and outgoing Successions that are used to control other Actions. A ControlNode must be a composite owned usage of an ActionDefinition or ActionUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:DataType a rdfs:Class ; + rdfs:label "DataType" ; + rdfs:comment "A DataType is a Classifier of things (in the universe) that can only be distinguished by how they are related to other things (via Features). This means multiple things classified by the same DataType" ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:DecisionNode a rdfs:Class ; + rdfs:label "DecisionNode" ; + rdfs:comment "A DecisionNode is a ControlNode that makes a selection from its outgoing Successions." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Definition a rdfs:Class ; + rdfs:label "Definition" ; + rdfs:comment "A Definition is a Classifier of Usages. The actual kinds of Definition that may appear in a model are given by the subclasses of Definition (possibly as extended with user-defined SemanticMetadata)." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Dependency a rdfs:Class ; + rdfs:label "Dependency" ; + rdfs:comment "A Dependency is a Relationship that indicates that one or more client Elements require one more supplier Elements for their complete specification. In general, this means that a change to one of the supplier Elements may necessitate a change to, or re-specification of, the client Elements." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Differencing a rdfs:Class ; + rdfs:label "Differencing" ; + rdfs:comment "Differencing is a Relationship that makes its differencingType one of the differencingTypes of its typeDifferenced." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Disjoining a rdfs:Class ; + rdfs:label "Disjoining" ; + rdfs:comment "A Disjoining is a Relationship between Types asserted to have interpretations that are not shared (disjoint) between them, identified as typeDisjoined and disjoiningType. For example, a Classifier for mammals is disjoint from a Classifier for minerals, and a Feature for people's parents is disjoint from a Feature for their children." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Documentation a rdfs:Class ; + rdfs:label "Documentation" ; + rdfs:comment "Documentation is a Comment that specifically documents a documentedElement, which must be its owner." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Element a rdfs:Class ; + rdfs:label "Element" ; + rdfs:comment "An Element is a constituent of a model that is uniquely identified relative to all other Elements. It can have Relationships with other Elements. Some of these Relationships might imply ownership of other Elements, which means that if an Element is deleted from a model, then so are all the Elements that it owns." ; + rdfs:isDefinedBy oslc_sysmlv2: ; + rdfs:subClassOf oslc_am:Resource . + +oslc_sysmlv2:ElementFilterMembership a rdfs:Class ; + rdfs:label "ElementFilterMembership" ; + rdfs:comment "ElementFilterMembership is a Membership between a Namespace and a model-level evaluable Boolean-valued Expression, asserting that imported members of the Namespace should be filtered using the condition Expression. A general Namespace does not define any specific filtering behavior, but such behavior may be defined for various specialized kinds of Namespaces." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:EndFeatureMembership a rdfs:Class ; + rdfs:label "EndFeatureMembership" ; + rdfs:comment "EndFeatureMembership is a FeatureMembership that requires its memberFeature be owned and have isEnd = true." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:EnumerationDefinition a rdfs:Class ; + rdfs:label "EnumerationDefinition" ; + rdfs:comment "An EnumerationDefinition is an AttributeDefinition all of whose instances are given by an explicit list of enumeratedValues. This is realized by requiring that the EnumerationDefinition have isVariation = true, with the enumeratedValues being its variants." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:EnumerationUsage a rdfs:Class ; + rdfs:label "EnumerationUsage" ; + rdfs:comment "An EnumerationUsage is an AttributeUsage whose attributeDefinition is an EnumerationDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:EventOccurrenceUsage a rdfs:Class ; + rdfs:label "EventOccurrenceUsage" ; + rdfs:comment "An EventOccurrenceUsage is an OccurrenceUsage that represents another OccurrenceUsage occurring as a suboccurrence of the containing occurrence of the EventOccurrenceUsage. Unless it is the EventOccurrenceUsage itself, the referenced OccurrenceUsage is related to the EventOccurrenceUsage by a ReferenceSubsetting Relationship." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ExhibitStateUsage a rdfs:Class ; + rdfs:label "ExhibitStateUsage" ; + rdfs:comment "An ExhibitStateUsage is a StateUsage that represents the exhibiting of a StateUsage. Unless it is the StateUsage itself, the StateUsage to be exhibited is related to the ExhibitStateUsage by a ReferenceSubsetting Relationship. An ExhibitStateUsage is also a PerformActionUsage, with its exhibitedState as the performedAction." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Expose a rdfs:Class ; + rdfs:label "Expose" ; + rdfs:comment "An Expose is an Import of Memberships into a ViewUsage that provide the Elements to be included in a view. Visibility is always ignored for an Expose (i.e., isImportAll = true)." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Expression a rdfs:Class ; + rdfs:label "Expression" ; + rdfs:comment "An Expression is a Step that is typed by a Function. An Expression that also has a Function as its featuringType is a computational step within that Function. An Expression always has a single result parameter, which redefines the result parameter of its defining function. This allows Expressions to be interconnected in tree structures, in which inputs to each Expression in the tree are determined as the results of other Expression in the tree." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Feature a rdfs:Class ; + rdfs:label "Feature" ; + rdfs:comment """A Feature is a Type that classifies relations between multiple things (in the universe). The domain of the relation is the intersection of the featuringTypes of the Feature. (The domain of a Feature with no featuringTyps is implicitly the most general Type Base::Anything from the Kernel Semantic Library.) The co-domain of the relation is the intersection of the types of the Feature.\r +\r +""" ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:FeatureChainExpression a rdfs:Class ; + rdfs:label "FeatureChainExpression" ; + rdfs:comment "A FeatureChainExpression is an OperatorExpression whose operator is \".\", which resolves to the Function ControlFunctions::'.' from the Kernel Functions Library. It evaluates to the result of chaining the result Feature of its single argument Expression with its targetFeature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:FeatureChaining a rdfs:Class ; + rdfs:label "FeatureChaining" ; + rdfs:comment "FeatureChaining is a Relationship that makes its target Feature one of the chainingFeatures of its owning Feature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:FeatureInverting a rdfs:Class ; + rdfs:label "FeatureInverting" ; + rdfs:comment "A FeatureInverting is a Relationship between Features asserting that their interpretations (sequences) are the reverse of each other, identified as featureInverted and invertingFeature. For example, a Feature identifying each person's parents is the inverse of a Feature identifying each person's children. A person identified as a parent of another will identify that other as one of their children." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:FeatureMembership a rdfs:Class ; + rdfs:label "FeatureMembership" ; + rdfs:comment "A FeatureMembership is an OwningMembership between a Feature in an owningType that is also a Featuring Relationship between the Feature and the Type, in which the featuringType is the source and the featureOfType is the target. A FeatureMembership is always owned by its owningType, which is the featuringType for the FeatureMembership considered as a Featuring." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:FeatureReferenceExpression a rdfs:Class ; + rdfs:label "FeatureReferenceExpression" ; + rdfs:comment "A FeatureReferenceExpression is an Expression whose result is bound to a referent Feature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:FeatureTyping a rdfs:Class ; + rdfs:label "FeatureTyping" ; + rdfs:comment "FeatureTyping is Specialization in which the specific Type is a Feature. This means the set of instances of the (specific) typedFeature is a subset of the set of instances of the (general) type. In the simplest case, the type is a Classifier, whereupon the typedFeature has values that are instances of the Classifier." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:FeatureValue a rdfs:Class ; + rdfs:label "FeatureValue" ; + rdfs:comment "A FeatureValue is a Membership that identifies a particular member Expression that provides the value of the Feature that owns the FeatureValue. The value is specified as either a bound value or an initial value, and as either a concrete or default value. A Feature can have at most one FeatureValue." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Featuring a rdfs:Class ; + rdfs:label "Featuring" ; + rdfs:comment "Featuring is a Relationship between a Type and a Feature that is featured by that Type. It asserts that every instance in the domain of the feature must be classified by the type." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:FlowConnectionDefinition a rdfs:Class ; + rdfs:label "FlowConnectionDefinition" ; + rdfs:comment "A FlowConnectionDefinition is a ConnectionDefinition and ActionDefinition that is also an Interaction representing flows between Usages." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:FlowConnectionUsage a rdfs:Class ; + rdfs:label "FlowConnectionUsage" ; + rdfs:comment "A FlowConnectionUsage is a ConnectionUsage that is also an ItemFlow." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ForLoopActionUsage a rdfs:Class ; + rdfs:label "ForLoopActionUsage" ; + rdfs:comment "A ForLoopActionUsage is a LoopActionUsage that specifies that its bodyAction ActionUsage should be performed once for each value, in order, from the sequence of values obtained as the result of the seqArgument Expression, with the loopVariable set to the value for each iteration." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ForkNode a rdfs:Class ; + rdfs:label "ForkNode" ; + rdfs:comment "A ForkNode is a ControlNode that must be followed by successor Actions as given by all its outgoing Successions." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:FramedConcernMembership a rdfs:Class ; + rdfs:label "FramedConcernMembership" ; + rdfs:comment "A FramedConcernMembership is a RequirementConstraintMembership for a framed ConcernUsage of a RequirementDefinition or RequirementUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Function a rdfs:Class ; + rdfs:label "Function" ; + rdfs:comment "A Function is a Behavior that has an out parameter that is identified as its result. A Function represents the performance of a calculation that produces the values of its result parameter. This calculation may be decomposed into Expressions that are steps of the Function." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:IfActionUsage a rdfs:Class ; + rdfs:label "IfActionUsage" ; + rdfs:comment "An IfActionUsage is an ActionUsage that specifies that the thenAction ActionUsage should be performed if the result of the ifArgument Expression is true. It may also optionally specify an elseAction ActionUsage that is performed if the result of the ifArgument is false." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Import a rdfs:Class ; + rdfs:label "Import" ; + rdfs:comment "An Import is an Relationship between its importOwningNamespace and either a Membership (for a MembershipImport) or another Namespace (for a NamespaceImport), which determines a set of Memberships that become importedMemberships of the importOwningNamespace. If isImportAll = false (the default), then only public Memberships are considered \"visible\". If isImportAll = true, then all Memberships are considered \"visible\", regardless of their declared visibility. If isRecursive = true, then visible Memberships are also recursively imported from owned sub-Namespaces." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:IncludeUseCaseUsage a rdfs:Class ; + rdfs:label "IncludeUseCaseUsage" ; + rdfs:comment "An IncludeUseCaseUsage is a UseCaseUsage that represents the inclusion of a UseCaseUsage by a UseCaseDefinition or UseCaseUsage. Unless it is the IncludeUseCaseUsage itself, the UseCaseUsage to be included is related to the includedUseCase by a ReferenceSubsetting Relationship. An IncludeUseCaseUsage is also a PerformActionUsage, with its useCaseIncluded as the performedAction." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Interaction a rdfs:Class ; + rdfs:label "Interaction" ; + rdfs:comment "An Interaction is a Behavior that is also an Association, providing a context for multiple objects that have behaviors that impact one another." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:InterfaceDefinition a rdfs:Class ; + rdfs:label "InterfaceDefinition" ; + rdfs:comment "An InterfaceDefinition is a ConnectionDefinition all of whose ends are PortUsages, defining an interface between elements that interact through such ports." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:InterfaceUsage a rdfs:Class ; + rdfs:label "InterfaceUsage" ; + rdfs:comment "An InterfaceUsage is a Usage of an InterfaceDefinition to represent an interface connecting parts of a system through specific ports." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Intersecting a rdfs:Class ; + rdfs:label "Intersecting" ; + rdfs:comment "Intersecting is a Relationship that makes its intersectingType one of the intersectingTypes of its typeIntersected." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Invariant a rdfs:Class ; + rdfs:label "Invariant" ; + rdfs:comment "An Invariant is a BooleanExpression that is asserted to have a specific Boolean result value. If isNegated = false, then the result is asserted to be true. If isNegated = true, then the result is asserted to be false." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:InvocationExpression a rdfs:Class ; + rdfs:label "InvocationExpression" ; + rdfs:comment "An InvocationExpression is an Expression each of whose input parameters are bound to the result of an argument Expression." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ItemDefinition a rdfs:Class ; + rdfs:label "ItemDefinition" ; + rdfs:comment "An ItemDefinition is an OccurrenceDefinition of the Structure of things that may themselves be systems or parts of systems, but may also be things that are acted on by a system or parts of a system, but which do not necessarily perform actions themselves. This includes items that can be exchanged between parts of a system, such as water or electrical signals." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ItemFeature a rdfs:Class ; + rdfs:label "ItemFeature" ; + rdfs:comment "An ItemFeature is the ownedFeature of an ItemFlow that identifies the things carried by the kinds of transfers that are instances of the ItemFlow." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ItemFlow a rdfs:Class ; + rdfs:label "ItemFlow" ; + rdfs:comment "An ItemFlow is a Step that represents the transfer of objects or data values from one Feature to another. ItemFlows can take non-zero time to complete." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ItemFlowEnd a rdfs:Class ; + rdfs:label "ItemFlowEnd" ; + rdfs:comment "An ItemFlowEnd is a Feature that is one of the connectorEnds giving the source or target of an ItemFlow. For ItemFlows typed by FlowTransfer or its specializations, ItemFlowEnds must have exactly one ownedFeature, which redefines Transfer::source::sourceOutput or Transfer::target::targetInput and redefines the corresponding feature of the relatedElement for its end." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ItemUsage a rdfs:Class ; + rdfs:label "ItemUsage" ; + rdfs:comment "An ItemUsage is a ItemUsage whose definition is a Structure. Nominally, if the definition is an ItemDefinition, an ItemUsage is a ItemUsage of that ItemDefinition within a system. However, other kinds of Kernel Structures are also allowed, to permit use of Structures from the Kernel Model Libraries." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:JoinNode a rdfs:Class ; + rdfs:label "JoinNode" ; + rdfs:comment "A JoinNode is a ControlNode that waits for the completion of all the predecessor Actions given by incoming Successions." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:LibraryPackage a rdfs:Class ; + rdfs:label "LibraryPackage" ; + rdfs:comment "A LibraryPackage is a Package that is the container for a model library. A LibraryPackage is itself a library Element as are all Elements that are directly or indirectly contained in it." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:LifeClass a rdfs:Class ; + rdfs:label "LifeClass" ; + rdfs:comment "A LifeClass is a Class that specializes both the Class Occurrences::Life from the Kernel Semantic Library and a single OccurrenceDefinition, and has a multiplicity of 0..1. This constrains the OccurrenceDefinition being specialized to have at most one instance that is a complete Life." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:LiteralBoolean a rdfs:Class ; + rdfs:label "LiteralBoolean" ; + rdfs:comment "LiteralBoolean is a LiteralExpression that provides a Boolean value as a result. Its result parameter must have type Boolean." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:LiteralExpression a rdfs:Class ; + rdfs:label "LiteralExpression" ; + rdfs:comment "A LiteralExpression is an Expression that provides a basic DataValue as a result." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:LiteralInfinity a rdfs:Class ; + rdfs:label "LiteralInfinity" ; + rdfs:comment "A LiteralInfinity is a LiteralExpression that provides the positive infinity value (*). It's result must have the type Positive." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:LiteralInteger a rdfs:Class ; + rdfs:label "LiteralInteger" ; + rdfs:comment "A LiteralInteger is a LiteralExpression that provides an Integer value as a result. Its result parameter must have the type Integer." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:LiteralRational a rdfs:Class ; + rdfs:label "LiteralRational" ; + rdfs:comment "A LiteralRational is a LiteralExpression that provides a Rational value as a result. Its result parameter must have the type Rational." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:LiteralString a rdfs:Class ; + rdfs:label "LiteralString" ; + rdfs:comment "A LiteralString is a LiteralExpression that provides a String value as a result. Its result parameter must have the type String." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:LoopActionUsage a rdfs:Class ; + rdfs:label "LoopActionUsage" ; + rdfs:comment "A LoopActionUsage is an ActionUsage that specifies that its bodyAction should be performed repeatedly. Its subclasses WhileLoopActionUsage and ForLoopActionUsage provide different ways to determine how many times the bodyAction should be performed." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Membership a rdfs:Class ; + rdfs:label "Membership" ; + rdfs:comment "A Membership is a Relationship between a Namespace and an Element that indicates the Element is a member of (i.e., is contained in) the Namespace. Any memberNames specify how the memberElement is identified in the Namespace and the visibility specifies whether or not the memberElement is publicly visible from outside the Namespace." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:MembershipExpose a rdfs:Class ; + rdfs:label "MembershipExpose" ; + rdfs:comment "A MembershipExpose is an Expose that exposes a specific importedMembership and, if isRecursive = true, additional Memberships recursively." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:MembershipImport a rdfs:Class ; + rdfs:label "MembershipImport" ; + rdfs:comment "A MembershipImport is an Import that imports its importedMembership into the importOwningNamespace. If isRecursive = true and the memberElement of the importedMembership is a Namespace, then the equivalent of a recursive NamespaceImport is also performed on that Namespace." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:MergeNode a rdfs:Class ; + rdfs:label "MergeNode" ; + rdfs:comment "A MergeNode is a ControlNode that asserts the merging of its incoming Successions. A MergeNode may have at most one outgoing Successions." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Metaclass a rdfs:Class ; + rdfs:label "Metaclass" ; + rdfs:comment "A Metaclass is a Structure used to type MetadataFeatures." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:MetadataAccessExpression a rdfs:Class ; + rdfs:label "MetadataAccessExpression" ; + rdfs:comment "A MetadataAccessExpression is an Expression whose result is a sequence of instances of Metaclasses representing all the MetadataFeature annotations of the referencedElement. In addition, the sequence includes an instance of the reflective Metaclass corresponding to the MOF class of the referencedElement, with values for all the abstract syntax properties of the referencedElement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:MetadataDefinition a rdfs:Class ; + rdfs:label "MetadataDefinition" ; + rdfs:comment "A MetadataDefinition is an ItemDefinition that is also a Metaclass." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:MetadataFeature a rdfs:Class ; + rdfs:label "MetadataFeature" ; + rdfs:comment "A MetadataFeature is a Feature that is an AnnotatingElement used to annotate another Element with metadata. It is typed by a Metaclass. All its ownedFeatures must redefine features of its metaclass and any feature bindings must be model-level evaluable." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:MetadataUsage a rdfs:Class ; + rdfs:label "MetadataUsage" ; + rdfs:comment "A MetadataUsage is a Usage and a MetadataFeature, used to annotate other Elements in a system model with metadata. As a MetadataFeature, its type must be a Metaclass, which will nominally be a MetadataDefinition. However, any kernel Metaclass is also allowed, to permit use of Metaclasses from the Kernel Model Libraries." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Multiplicity a rdfs:Class ; + rdfs:label "Multiplicity" ; + rdfs:comment """A Multiplicity is a Feature whose co-domain is a set of natural numbers giving the allowed cardinalities of each typeWithMultiplicity. The cardinality of a Type is defined as follows, depending on whether the Type is a Classifier or Feature.\r +""" ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:MultiplicityRange a rdfs:Class ; + rdfs:label "MultiplicityRange" ; + rdfs:comment "A MultiplicityRange is a Multiplicity whose value is defined to be the (inclusive) range of natural numbers given by the result of a lowerBound Expression and the result of an upperBound Expression. The result of these Expressions shall be of type Natural. If the result of the upperBound Expression is the unbounded value *, then the specified range includes all natural numbers greater than or equal to the lowerBound value. If no lowerBound Expression, then the default is that the lower bound has the same value as the upper bound, except if the upperBound evaluates to *, in which case the default for the lower bound is 0." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Namespace a rdfs:Class ; + rdfs:label "Namespace" ; + rdfs:comment "A Namespace is an Element that contains other Elements, known as its members, via Membership Relationships with those Elements. The members of a Namespace may be owned by the Namespace, aliased in the Namespace, or imported into the Namespace via Import Relationships." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:NamespaceExpose a rdfs:Class ; + rdfs:label "NamespaceExpose" ; + rdfs:comment "A NamespaceExpose is an Expose Relationship that exposes the Memberships of a specific importedNamespace and, if isRecursive = true, additional Memberships recursively." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:NamespaceImport a rdfs:Class ; + rdfs:label "NamespaceImport" ; + rdfs:comment "A NamespaceImport is an Import that imports Memberships from its importedNamespace into the importOwningNamespace. If isRecursive = false, then only the visible Memberships of the importedNamespace are imported. If isRecursive = true, then, in addition, Memberships are recursively imported from any ownedMembers of the importedNamespace that are Namespaces." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:NullExpression a rdfs:Class ; + rdfs:label "NullExpression" ; + rdfs:comment "A NullExpression is an Expression that results in a null value." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ObjectiveMembership a rdfs:Class ; + rdfs:label "ObjectiveMembership" ; + rdfs:comment "An ObjectiveMembership is a FeatureMembership that indicates that its ownedObjectiveRequirement is the objective RequirementUsage for its owningType, which must be a CaseDefinition or CaseUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:OccurrenceDefinition a rdfs:Class ; + rdfs:label "OccurrenceDefinition" ; + rdfs:comment "An OccurrenceDefinition is a Definition of a Class of individuals that have an independent life over time and potentially an extent over space. This includes both structural things and behaviors that act on such structures." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:OccurrenceUsage a rdfs:Class ; + rdfs:label "OccurrenceUsage" ; + rdfs:comment "An OccurrenceUsage is a Usage whose types are all Classes. Nominally, if a type is an OccurrenceDefinition, an OccurrenceUsage is a Usage of that OccurrenceDefinition within a system. However, other types of Kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:OperatorExpression a rdfs:Class ; + rdfs:label "OperatorExpression" ; + rdfs:comment "An OperatorExpression is an InvocationExpression whose function is determined by resolving its operator in the context of one of the standard packages from the Kernel Function Library." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:OwningMembership a rdfs:Class ; + rdfs:label "OwningMembership" ; + rdfs:comment "An OwningMembership is a Membership that owns its memberElement as a ownedRelatedElement. The ownedMemberElement becomes an ownedMember of the membershipOwningNamespace." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Package a rdfs:Class ; + rdfs:label "Package" ; + rdfs:comment "A Package is a Namespace used to group Elements, without any instance-level semantics. It may have one or more model-level evaluable filterCondition Expressions used to filter its importedMemberships. Any imported member must meet all of the filterConditions." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ParameterMembership a rdfs:Class ; + rdfs:label "ParameterMembership" ; + rdfs:comment "A ParameterMembership is a FeatureMembership that identifies its memberFeature as a parameter, which is always owned, and must have a direction. A ParameterMembership must be owned by a Behavior or a Step." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:PartDefinition a rdfs:Class ; + rdfs:label "PartDefinition" ; + rdfs:comment "A PartDefinition is an ItemDefinition of a Class of systems or parts of systems. Note that all parts may be considered items for certain purposes, but not all items are parts that can perform actions within a system." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:PartUsage a rdfs:Class ; + rdfs:label "PartUsage" ; + rdfs:comment "A PartUsage is a usage of a PartDefinition to represent a system or a part of a system. At least one of the itemDefinitions of the PartUsage must be a PartDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:PerformActionUsage a rdfs:Class ; + rdfs:label "PerformActionUsage" ; + rdfs:comment "A PerformActionUsage is an ActionUsage that represents the performance of an ActionUsage. Unless it is the PerformActionUsage itself, the ActionUsage to be performed is related to the PerformActionUsage by a ReferenceSubsetting relationship. A PerformActionUsage is also an EventOccurrenceUsage, with its performedAction as the eventOccurrence." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:PortConjugation a rdfs:Class ; + rdfs:label "PortConjugation" ; + rdfs:comment "A PortConjugation is a Conjugation Relationship between a PortDefinition and its corresponding ConjugatedPortDefinition. As a result of this Relationship, the ConjugatedPortDefinition inherits all the features of the original PortDefinition, but input flows of the original PortDefinition become outputs on the ConjugatedPortDefinition and output flows of the original PortDefinition become inputs on the ConjugatedPortDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:PortDefinition a rdfs:Class ; + rdfs:label "PortDefinition" ; + rdfs:comment "A PortDefinition defines a point at which external entities can connect to and interact with a system or part of a system. Any ownedUsages of a PortDefinition, other than PortUsages, must not be composite." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:PortUsage a rdfs:Class ; + rdfs:label "PortUsage" ; + rdfs:comment "A PortUsage is a usage of a PortDefinition. A PortUsage itself as well as all its nestedUsages must be referential (non-composite)." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Predicate a rdfs:Class ; + rdfs:label "Predicate" ; + rdfs:comment "A Predicate is a Function whose result parameter has type Boolean and multiplicity 1..1." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Redefinition a rdfs:Class ; + rdfs:label "Redefinition" ; + rdfs:comment "Redefinition is a kind of Subsetting that requires the redefinedFeature and the redefiningFeature to have the same values (on each instance of the domain of the redefiningFeature). This means any restrictions on the redefiningFeature, such as type or multiplicity, also apply to the redefinedFeature (on each instance of the domain of the redefiningFeature), and vice versa. The redefinedFeature might have values for instances of the domain of the redefiningFeature, but only as instances of the domain of the redefinedFeature that happen to also be instances of the domain of the redefiningFeature. This is supported by the constraints inherited from Subsetting on the domains of the redefiningFeature and redefinedFeature. However, these constraints are narrowed for Redefinition to require the owningTypes of the redefiningFeature and redefinedFeature to be different and the redefinedFeature to not be inherited into the owningNamespace of the redefiningFeature.This enables the redefiningFeature to have the same name as the redefinedFeature, if desired." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ReferenceSubsetting a rdfs:Class ; + rdfs:label "ReferenceSubsetting" ; + rdfs:comment "ReferenceSubsetting is a kind of Subsetting in which the referencedFeature is syntactically distinguished from other Features subsetted by the referencingFeature. ReferenceSubsetting has the same semantics as Subsetting, but the referenceFeature may have a special purpose relative to the referencingFeature. For instance, ReferenceSubsetting is used to identify the relatedFeatures of a Connector." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ReferenceUsage a rdfs:Class ; + rdfs:label "ReferenceUsage" ; + rdfs:comment "A ReferenceUsage is a Usage that specifies a non-compositional (isComposite = false) reference to something. The definition of a ReferenceUsage can be any kind of Classifier, with the default being the top-level Classifier Base::Anything from the Kernel Semantic Library. This allows the specification of a generic reference without distinguishing if the thing referenced is an attribute value, item, action, etc." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Relationship a rdfs:Class ; + rdfs:label "Relationship" ; + rdfs:comment "A Relationship is an Element that relates other Element. Some of its relatedElements may be owned, in which case those ownedRelatedElements will be deleted from a model if their owningRelationship is. A Relationship may also be owned by another Element, in which case the ownedRelatedElements of the Relationship are also considered to be transitively owned by the owningRelatedElement of the Relationship." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:RenderingDefinition a rdfs:Class ; + rdfs:label "RenderingDefinition" ; + rdfs:comment "A RenderingDefinition is a PartDefinition that defines a specific rendering of the content of a model view (e.g., symbols, style, layout, etc.)." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:RenderingUsage a rdfs:Class ; + rdfs:label "RenderingUsage" ; + rdfs:comment "A RenderingUsage is the usage of a RenderingDefinition to specify the rendering of a specific model view to produce a physical view artifact." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:RequirementConstraintMembership a rdfs:Class ; + rdfs:label "RequirementConstraintMembership" ; + rdfs:comment "A RequirementConstraintMembership is a FeatureMembership for an assumed or required ConstraintUsage of a RequirementDefinition or RequirementUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:RequirementDefinition a rdfs:Class ; + rdfs:label "RequirementDefinition" ; + rdfs:comment "A RequirementDefinition is a ConstraintDefinition that defines a requirement used in the context of a specification as a constraint that a valid solution must satisfy. The specification is relative to a specified subject, possibly in collaboration with one or more external actors." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:RequirementUsage a rdfs:Class ; + rdfs:label "RequirementUsage" ; + rdfs:comment "A RequirementUsage is a Usage of a RequirementDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:RequirementVerificationMembership a rdfs:Class ; + rdfs:label "RequirementVerificationMembership" ; + rdfs:comment "A RequirementVerificationMembership is a RequirementConstraintMembership used in the objective of a VerificationCase to identify a RequirementUsage that is verified by the VerificationCase." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ResultExpressionMembership a rdfs:Class ; + rdfs:label "ResultExpressionMembership" ; + rdfs:comment "A ResultExpressionMembership is a FeatureMembership that indicates that the ownedResultExpression provides the result values for the Function or Expression that owns it. The owning Function or Expression must contain a BindingConnector between the result parameter of the ownedResultExpression and the result parameter of the owning Function or Expression." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ReturnParameterMembership a rdfs:Class ; + rdfs:label "ReturnParameterMembership" ; + rdfs:comment "A ReturnParameterMembership is a ParameterMembership that indicates that the ownedMemberParameter is the result parameter of a Function or Expression. The direction of the ownedMemberParameter must be out." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:SatisfyRequirementUsage a rdfs:Class ; + rdfs:label "SatisfyRequirementUsage" ; + rdfs:comment "A SatisfyRequirementUsage is an AssertConstraintUsage that asserts, by default, that a satisfied RequirementUsage is true for a specific satisfyingFeature, or, if isNegated = true, that the RequirementUsage is false. The satisfied RequirementUsage is related to the SatisfyRequirementUsage by a ReferenceSubsetting Relationship." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:SelectExpression a rdfs:Class ; + rdfs:label "SelectExpression" ; + rdfs:comment "A SelectExpression is an OperatorExpression whose operator is \"select\", which resolves to the Function ControlFunctions::select from the Kernel Functions Library." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:SendActionUsage a rdfs:Class ; + rdfs:label "SendActionUsage" ; + rdfs:comment "A SendActionUsage is an ActionUsage that specifies the sending of a payload given by the result of its payloadArgument Expression via a MessageTransfer whose source is given by the result of the senderArgument Expression and whose target is given by the result of the receiverArgument Expression. If no senderArgument is provided, the default is the this context for the action. If no receiverArgument is given, then the receiver is to be determined by, e.g., outgoing Connections from the sender." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Specialization a rdfs:Class ; + rdfs:label "Specialization" ; + rdfs:comment "Specialization is a Relationship between two Types that requires all instances of the specific type to also be instances of the general Type (i.e., the set of instances of the specific Type is a subset of those of the general Type, which might be the same set)." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:StakeholderMembership a rdfs:Class ; + rdfs:label "StakeholderMembership" ; + rdfs:comment "A StakeholderMembership is a ParameterMembership that identifies a PartUsage as a stakeholderParameter of a RequirementDefinition or RequirementUsage, which specifies a role played by an entity with concerns framed by the owningType." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:StateDefinition a rdfs:Class ; + rdfs:label "StateDefinition" ; + rdfs:comment "A StateDefinition is the Definition of the Behavior of a system or part of a system in a certain state condition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:StateSubactionMembership a rdfs:Class ; + rdfs:label "StateSubactionMembership" ; + rdfs:comment "A StateSubactionMembership is a FeatureMembership for an entry, do or exit ActionUsage of a StateDefinition or StateUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:StateUsage a rdfs:Class ; + rdfs:label "StateUsage" ; + rdfs:comment """A StateUsage is an ActionUsage that is nominally the Usage of a StateDefinition. However, other kinds of kernel Behaviors are also allowed as types, to permit use of Behaviors +""" ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Step a rdfs:Class ; + rdfs:label "Step" ; + rdfs:comment "A Step is a Feature that is typed by one or more Behaviors. Steps may be used by one Behavior to coordinate the performance of other Behaviors, supporting a steady refinement of behavioral descriptions. Steps can be ordered in time and can be connected using ItemFlows to specify things flowing between their parameters." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Structure a rdfs:Class ; + rdfs:label "Structure" ; + rdfs:comment "A Structure is a Class of objects in the modeled universe that are primarily structural in nature. While such an object is not itself behavioral, it may be involved in and acted on by Behaviors, and it may be the performer of some of them." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Subclassification a rdfs:Class ; + rdfs:label "Subclassification" ; + rdfs:comment "Subclassification is Specialization in which both the specific and general Types are Classifier. This means all instances of the specific Classifier are also instances of the general Classifier." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:SubjectMembership a rdfs:Class ; + rdfs:label "SubjectMembership" ; + rdfs:comment "A SubjectMembership is a ParameterMembership that indicates that its ownedSubjectParameter is the subject of its owningType. The owningType of a SubjectMembership must be a RequirementDefinition, RequirementUsage, CaseDefinition, or CaseUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Subsetting a rdfs:Class ; + rdfs:label "Subsetting" ; + rdfs:comment "Subsetting is Specialization in which the specific and general Types are Features. This means all values of the subsettingFeature (on instances of its domain, i.e., the intersection of its featuringTypes) are values of the subsettedFeature on instances of its domain. To support this the domain of the subsettingFeature must be the same or specialize (at least indirectly) the domain of the subsettedFeature (via Specialization), and the co-domain (intersection of the types) of the subsettingFeature must specialize the co-domain of the subsettedFeature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Succession a rdfs:Class ; + rdfs:label "Succession" ; + rdfs:comment "A Succession is a binary Connector that requires its relatedFeatures to happen separately in time." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:SuccessionAsUsage a rdfs:Class ; + rdfs:label "SuccessionAsUsage" ; + rdfs:comment "A SuccessionAsUsage is both a ConnectorAsUsage and a Succession." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:SuccessionFlowConnectionUsage a rdfs:Class ; + rdfs:label "SuccessionFlowConnectionUsage" ; + rdfs:comment "A SuccessionFlowConnectionUsage is a FlowConnectionUsage that is also a SuccessionItemFlow." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:SuccessionItemFlow a rdfs:Class ; + rdfs:label "SuccessionItemFlow" ; + rdfs:comment "A SuccessionItemFlow is an ItemFlow that also provides temporal ordering. It classifies Transfers that cannot start until the source Occurrence has completed and that must complete before the target Occurrence can start." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:TextualRepresentation a rdfs:Class ; + rdfs:label "TextualRepresentation" ; + rdfs:comment "A TextualRepresentation is an AnnotatingElement whose body represents the representedElement in a given language. The representedElement must be the owner of the TextualRepresentation. The named language can be a natural language, in which case the body is an informal representation, or an artificial language, in which case the body is expected to be a formal, machine-parsable representation." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:TransitionFeatureMembership a rdfs:Class ; + rdfs:label "TransitionFeatureMembership" ; + rdfs:comment "A TransitionFeatureMembership is a FeatureMembership for a trigger, guard or effect of a TransitionUsage, whose transitionFeature is a AcceptActionUsage, Boolean-valued Expression or ActionUsage, depending on its kind. " ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:TransitionUsage a rdfs:Class ; + rdfs:label "TransitionUsage" ; + rdfs:comment "A TransitionUsage is an ActionUsage representing a triggered transition between ActionUsages or StateUsages. When triggered by a triggerAction, when its guardExpression is true, the TransitionUsage asserts that its source is exited, then its effectAction (if any) is performed, and then its target is entered." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:TriggerInvocationExpression a rdfs:Class ; + rdfs:label "TriggerInvocationExpression" ; + rdfs:comment "A TriggerInvocationExpression is an InvocationExpression that invokes one of the trigger Functions from the Kernel Semantic Library Triggers package, as indicated by its kind." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Type a rdfs:Class ; + rdfs:label "Type" ; + rdfs:comment "A Type is a Namespace that is the most general kind of Element supporting the semantics of classification. A Type may be a Classifier or a Feature, defining conditions on what is classified by the Type (see also the description of isSufficient)." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:TypeFeaturing a rdfs:Class ; + rdfs:label "TypeFeaturing" ; + rdfs:comment "A TypeFeaturing is a Featuring Relationship in which the featureOfType is the source and the featuringType is the target." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Unioning a rdfs:Class ; + rdfs:label "Unioning" ; + rdfs:comment "Unioning is a Relationship that makes its unioningType one of the unioningTypes of its typeUnioned." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:Usage a rdfs:Class ; + rdfs:label "Usage" ; + rdfs:comment "A Usage is a usage of a Definition. A Usage may only be an ownedFeature of a Definition or another Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:UseCaseDefinition a rdfs:Class ; + rdfs:label "UseCaseDefinition" ; + rdfs:comment "A UseCaseDefinition is a CaseDefinition that specifies a set of actions performed by its subject, in interaction with one or more actors external to the subject. The objective is to yield an observable result that is of value to one or more of the actors." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:UseCaseUsage a rdfs:Class ; + rdfs:label "UseCaseUsage" ; + rdfs:comment "A UseCaseUsage is a Usage of a UseCaseDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:VariantMembership a rdfs:Class ; + rdfs:label "VariantMembership" ; + rdfs:comment "A VariantMembership is a Membership between a variation point Definition or Usage and a Usage that represents a variant in the context of that variation. The membershipOwningNamespace for the VariantMembership must be either a Definition or a Usage with isVariation = true." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:VerificationCaseDefinition a rdfs:Class ; + rdfs:label "VerificationCaseDefinition" ; + rdfs:comment "A VerificationCaseDefinition is a CaseDefinition for the purpose of verification of the subject of the case against its requirements." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:VerificationCaseUsage a rdfs:Class ; + rdfs:label "VerificationCaseUsage" ; + rdfs:comment "A VerificationCaseUsage is a Usage of a VerificationCaseDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ViewDefinition a rdfs:Class ; + rdfs:label "ViewDefinition" ; + rdfs:comment "A ViewDefinition is a PartDefinition that specifies how a view artifact is constructed to satisfy a viewpoint. It specifies a viewConditions to define the model content to be presented and a viewRendering to define how the model content is presented." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ViewRenderingMembership a rdfs:Class ; + rdfs:label "ViewRenderingMembership" ; + rdfs:comment "A ViewRenderingMembership is a FeatureMembership that identifies the viewRendering of a ViewDefinition or ViewUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ViewUsage a rdfs:Class ; + rdfs:label "ViewUsage" ; + rdfs:comment "A ViewUsage is a usage of a ViewDefinition to specify the generation of a view of the members of a collection of exposedNamespaces. The ViewUsage can satisfy more viewpoints than its definition, and it can specialize the viewRendering specified by its definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ViewpointDefinition a rdfs:Class ; + rdfs:label "ViewpointDefinition" ; + rdfs:comment "A ViewpointDefinition is a RequirementDefinition that specifies one or more stakeholder concerns that are to be satisfied by creating a view of a model." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ViewpointUsage a rdfs:Class ; + rdfs:label "ViewpointUsage" ; + rdfs:comment "A ViewpointUsage is a Usage of a ViewpointDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:WhileLoopActionUsage a rdfs:Class ; + rdfs:label "WhileLoopActionUsage" ; + rdfs:comment "A WhileLoopActionUsage is a LoopActionUsage that specifies that the bodyAction ActionUsage should be performed repeatedly while the result of the whileArgument Expression is true or until the result of the untilArgument Expression (if provided) is true. The whileArgument Expression is evaluated before each (possible) performance of the bodyAction, and the untilArgument Expression is evaluated after each performance of the bodyAction." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:acceptActionUsagePayloadArgument a rdf:Property ; + rdfs:label "acceptActionUsagePayloadArgument" ; + rdfs:comment "An Expression whose result is bound to the payload parameter of this AcceptActionUsage. If provided, the AcceptActionUsage will only accept a Transfer with exactly this payload." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:acceptActionUsagePayloadParameter a rdf:Property ; + rdfs:label "acceptActionUsagePayloadParameter" ; + rdfs:comment "The nestedReference of this AcceptActionUsage that redefines the payload output parameter of the base AcceptActionUsage AcceptAction from the Systems Model Library." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:acceptActionUsageReceiverArgument a rdf:Property ; + rdfs:label "acceptActionUsageReceiverArgument" ; + rdfs:comment "An Expression whose result is bound to the receiver input parameter of this AcceptActionUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:actionDefinitionAction a rdf:Property ; + rdfs:label "actionDefinitionAction" ; + rdfs:comment "The ActionUsages that are steps in this ActionDefinition, which define the actions that specify the behavior of the ActionDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:actionUsageActionDefinition a rdf:Property ; + rdfs:label "actionUsageActionDefinition" ; + rdfs:comment "The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:actorMembershipOwnedActorParameter a rdf:Property ; + rdfs:label "actorMembershipOwnedActorParameter" ; + rdfs:comment "The PartUsage specifying the actor." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:allocationDefinitionAllocation a rdf:Property ; + rdfs:label "allocationDefinitionAllocation" ; + rdfs:comment "The AllocationUsages that refine the allocation mapping defined by this AllocationDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:allocationUsageAllocationDefinition a rdf:Property ; + rdfs:label "allocationUsageAllocationDefinition" ; + rdfs:comment "The AllocationDefinitions that are the types of this AllocationUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:analysisCaseDefinitionAnalysisAction a rdf:Property ; + rdfs:label "analysisCaseDefinitionAnalysisAction" ; + rdfs:comment "The composite actions of the AnalysisCaseDefinition that are defined as AnalysisActions." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:analysisCaseDefinitionResultExpression a rdf:Property ; + rdfs:label "analysisCaseDefinitionResultExpression" ; + rdfs:comment "An Expression used to compute the result of the AnalysisCaseDefinition, owned via a ResultExpressionMembership." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:analysisCaseUsageAnalysisAction a rdf:Property ; + rdfs:label "analysisCaseUsageAnalysisAction" ; + rdfs:comment "The composite usages of the AnalysisCaseUsage that are defined as AnalysisActions." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:analysisCaseUsageAnalysisCaseDefinition a rdf:Property ; + rdfs:label "analysisCaseUsageAnalysisCaseDefinition" ; + rdfs:comment "The AnalysisCaseDefinition that is the definition of this AnalysisCaseUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:analysisCaseUsageResultExpression a rdf:Property ; + rdfs:label "analysisCaseUsageResultExpression" ; + rdfs:comment "An Expression used to compute the result of the AnalysisCaseUsage, owned via a ResultExpressionMembership." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:annotatingElementAnnotatedElement a rdf:Property ; + rdfs:label "annotatingElementAnnotatedElement" ; + rdfs:comment "The Elements that are annotated by this AnnotatingElement. If annotation is not empty, these are the annotatedElements of the annotations. If annotation is empty, then it is the owningNamespace of the AnnotatingElement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:annotatingElementAnnotation a rdf:Property ; + rdfs:label "annotatingElementAnnotation" ; + rdfs:comment "The Annotations that relate this AnnotatingElement to its annotatedElements." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:annotatingElementOwnedAnnotatingRelationship a rdf:Property ; + rdfs:label "annotatingElementOwnedAnnotatingRelationship" ; + rdfs:comment "The ownedRelationships of this AnnotatingElement that are Annotations, for which this AnnotatingElement is the annotatingElement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:annotationAnnotatedElement a rdf:Property ; + rdfs:label "annotationAnnotatedElement" ; + rdfs:comment "The Element that is annotated by the annotatingElement of this Annotation." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:annotationAnnotatingElement a rdf:Property ; + rdfs:label "annotationAnnotatingElement" ; + rdfs:comment "The AnnotatingElement that annotates the annotatedElement of this Annotation." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:annotationOwningAnnotatedElement a rdf:Property ; + rdfs:label "annotationOwningAnnotatedElement" ; + rdfs:comment "The annotatedElement of this Annotation, when it is also its owningRelatedElement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:annotationOwningAnnotatingElement a rdf:Property ; + rdfs:label "annotationOwningAnnotatingElement" ; + rdfs:comment "The annotatingElement of this Annotation, when it is also its owningRelatedElement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:assertConstraintUsageAssertedConstraint a rdf:Property ; + rdfs:label "assertConstraintUsageAssertedConstraint" ; + rdfs:comment "The ConstraintUsage to be performed by the AssertConstraintUsage. It is the referenceFeature of the ownedReferenceSubsetting for the AssertConstraintUsage, if there is one, and, otherwise, the AssertConstraintUsage itself." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:assignmentActionUsageReferent a rdf:Property ; + rdfs:label "assignmentActionUsageReferent" ; + rdfs:comment "The Feature whose value is to be set." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:assignmentActionUsageTargetArgument a rdf:Property ; + rdfs:label "assignmentActionUsageTargetArgument" ; + rdfs:comment "The Expression whose value is an occurrence in the domain of the referent Feature, for which the value of the referent will be set to the result of the valueExpression by this AssignmentActionUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:assignmentActionUsageValueExpression a rdf:Property ; + rdfs:label "assignmentActionUsageValueExpression" ; + rdfs:comment "The Expression whose result is to be assigned to the referent Feature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:associationAssociationEnd a rdf:Property ; + rdfs:label "associationAssociationEnd" ; + rdfs:comment "The features of the Association that identify the things that can be related by it. A concrete Association must have at least two associationEnds. When it has exactly two, the Association is called a binary Association." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:associationRelatedType a rdf:Property ; + rdfs:label "associationRelatedType" ; + rdfs:comment "The types of the associationEnds of the Association, which are the relatedElements of the Association considered as a Relationship." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:associationSourceType a rdf:Property ; + rdfs:label "associationSourceType" ; + rdfs:comment "The source relatedType for this Association. It is the first relatedType of the Association." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:associationTargetType a rdf:Property ; + rdfs:label "associationTargetType" ; + rdfs:comment "The target relatedTypes for this Association. This includes all the relatedTypes other than the sourceType." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:attributeUsageAttributeDefinition a rdf:Property ; + rdfs:label "attributeUsageAttributeDefinition" ; + rdfs:comment "The DataTypes that are the types of this AttributeUsage. Nominally, these are AttributeDefinitions, but other kinds of kernel DataTypes are also allowed, to permit use of DataTypes from the Kernel Model Libraries." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:behaviorParameter a rdf:Property ; + rdfs:label "behaviorParameter" ; + rdfs:comment "The parameters of this Behavior, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Behavior." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:behaviorStep a rdf:Property ; + rdfs:label "behaviorStep" ; + rdfs:comment "The Steps that make up this Behavior." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:booleanExpressionPredicate a rdf:Property ; + rdfs:label "booleanExpressionPredicate" ; + rdfs:comment "The Predicate that types this BooleanExpression." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:calculationDefinitionCalculation a rdf:Property ; + rdfs:label "calculationDefinitionCalculation" ; + rdfs:comment "The actions of this CalculationDefinition that are CalculationUsages." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:calculationUsageCalculationDefinition a rdf:Property ; + rdfs:label "calculationUsageCalculationDefinition" ; + rdfs:comment "The Function that is the type of this CalculationUsage. Nominally, this would be a CalculationDefinition, but a kernel Function is also allowed, to permit use of Functions from the Kernel Model Libraries." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:caseDefinitionActorParameter a rdf:Property ; + rdfs:label "caseDefinitionActorParameter" ; + rdfs:comment "The parameters of this CaseDefinition that represent actors involved in the case." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:caseDefinitionObjectiveRequirement a rdf:Property ; + rdfs:label "caseDefinitionObjectiveRequirement" ; + rdfs:comment "The RequirementUsage representing the objective of this CaseDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:caseDefinitionSubjectParameter a rdf:Property ; + rdfs:label "caseDefinitionSubjectParameter" ; + rdfs:comment "The parameter of this CaseDefinition that represents its subject." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:caseUsageActorParameter a rdf:Property ; + rdfs:label "caseUsageActorParameter" ; + rdfs:comment "The parameters of this CaseUsage that represent actors involved in the case." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:caseUsageCaseDefinition a rdf:Property ; + rdfs:label "caseUsageCaseDefinition" ; + rdfs:comment "The CaseDefinition that is the type of this CaseUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:caseUsageObjectiveRequirement a rdf:Property ; + rdfs:label "caseUsageObjectiveRequirement" ; + rdfs:comment "The RequirementUsage representing the objective of this CaseUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:caseUsageSubjectParameter a rdf:Property ; + rdfs:label "caseUsageSubjectParameter" ; + rdfs:comment "The parameter of this CaseUsage that represents its subject." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:classifierOwnedSubclassification a rdf:Property ; + rdfs:label "classifierOwnedSubclassification" ; + rdfs:comment "The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:commentBody a rdf:Property ; + rdfs:label "commentBody" ; + rdfs:comment "The annotation text for the Comment." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:commentLocale a rdf:Property ; + rdfs:label "commentLocale" ; + rdfs:comment "Identification of the language of the body text and, optionally, the region and/or encoding. The format shall be a POSIX locale conformant to ISO/IEC 15897, with the format [language[_territory][.codeset][@modifier]]." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:concernUsageConcernDefinition a rdf:Property ; + rdfs:label "concernUsageConcernDefinition" ; + rdfs:comment "The ConcernDefinition that is the single type of this ConcernUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:conjugatedPortDefinitionOriginalPortDefinition a rdf:Property ; + rdfs:label "conjugatedPortDefinitionOriginalPortDefinition" ; + rdfs:comment "The original PortDefinition for this ConjugatedPortDefinition, which is the owningNamespace of the ConjugatedPortDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:conjugatedPortDefinitionOwnedPortConjugator a rdf:Property ; + rdfs:label "conjugatedPortDefinitionOwnedPortConjugator" ; + rdfs:comment "The PortConjugation that is the ownedConjugator of this ConjugatedPortDefinition, linking it to its originalPortDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:conjugatedPortTypingConjugatedPortDefinition a rdf:Property ; + rdfs:label "conjugatedPortTypingConjugatedPortDefinition" ; + rdfs:comment "The type of this ConjugatedPortTyping considered as a FeatureTyping, which must be a ConjugatedPortDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:conjugatedPortTypingPortDefinition a rdf:Property ; + rdfs:label "conjugatedPortTypingPortDefinition" ; + rdfs:comment "The originalPortDefinition of the conjugatedPortDefinition of this ConjugatedPortTyping." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:conjugationConjugatedType a rdf:Property ; + rdfs:label "conjugationConjugatedType" ; + rdfs:comment "The Type that is the result of applying Conjugation to the originalType." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:conjugationOriginalType a rdf:Property ; + rdfs:label "conjugationOriginalType" ; + rdfs:comment "The Type to be conjugated." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:conjugationOwningType a rdf:Property ; + rdfs:label "conjugationOwningType" ; + rdfs:comment "The conjugatedType of this Conjugation that is also its owningRelatedElement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:connectionDefinitionConnectionEnd a rdf:Property ; + rdfs:label "connectionDefinitionConnectionEnd" ; + rdfs:comment "The Usages that define the things related by the ConnectionDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:connectionUsageConnectionDefinition a rdf:Property ; + rdfs:label "connectionUsageConnectionDefinition" ; + rdfs:comment "The AssociationStructures that are the types of this ConnectionUsage. Nominally, these are , but other kinds of Kernel AssociationStructures are also allowed, to permit use of AssociationStructures from the Kernel Model Libraries" ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:connectorAssociation a rdf:Property ; + rdfs:label "connectorAssociation" ; + rdfs:comment "The Associations that type the Connector." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:connectorConnectorEnd a rdf:Property ; + rdfs:label "connectorConnectorEnd" ; + rdfs:comment "The endFeatures of a Connector, which redefine the endFeatures of the associations of the Connector. The connectorEnds determine via ReferenceSubsetting Relationships which Features are related by the Connector." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:connectorRelatedFeature a rdf:Property ; + rdfs:label "connectorRelatedFeature" ; + rdfs:comment "The Features that are related by this Connector considered as a Relationship and that restrict the links it identifies, given by the referenced Features of the connectorEnds of the Connector." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:connectorSourceFeature a rdf:Property ; + rdfs:label "connectorSourceFeature" ; + rdfs:comment "The source relatedFeature for this Connector. It is the first relatedFeature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:connectorTargetFeature a rdf:Property ; + rdfs:label "connectorTargetFeature" ; + rdfs:comment "The target relatedFeatures for this Connector. This includes all the relatedFeatures other than the sourceFeature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:constraintUsageConstraintDefinition a rdf:Property ; + rdfs:label "constraintUsageConstraintDefinition" ; + rdfs:comment "The (single) Predicate that is the type of this ConstraintUsage. Nominally, this will be a ConstraintDefinition, but other kinds of Predicates are also allowed, to permit use of Predicates from the Kernel Model Libraries." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionDirectedUsage a rdf:Property ; + rdfs:label "definitionDirectedUsage" ; + rdfs:comment "The usages of this Definition that are directedFeatures." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionIsVariation a rdf:Property ; + rdfs:label "definitionIsVariation" ; + rdfs:comment "Whether this Definition is for a variation point or not. If true, then all the memberships of the Definition must be VariantMemberships." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedAction a rdf:Property ; + rdfs:label "definitionOwnedAction" ; + rdfs:comment "The ActionUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedAllocation a rdf:Property ; + rdfs:label "definitionOwnedAllocation" ; + rdfs:comment "The AllocationUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedAnalysisCase a rdf:Property ; + rdfs:label "definitionOwnedAnalysisCase" ; + rdfs:comment "The AnalysisCaseUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedAttribute a rdf:Property ; + rdfs:label "definitionOwnedAttribute" ; + rdfs:comment "The AttributeUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedCalculation a rdf:Property ; + rdfs:label "definitionOwnedCalculation" ; + rdfs:comment "The CalculationUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedCase a rdf:Property ; + rdfs:label "definitionOwnedCase" ; + rdfs:comment "The code>CaseUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedConcern a rdf:Property ; + rdfs:label "definitionOwnedConcern" ; + rdfs:comment "The ConcernUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedConnection a rdf:Property ; + rdfs:label "definitionOwnedConnection" ; + rdfs:comment "The ConnectorAsUsages that are ownedUsages of this Definition. Note that this list includes BindingConnectorAsUsages and SuccessionAsUsages, even though these are ConnectorAsUsages but not ConnectionUsages." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedConstraint a rdf:Property ; + rdfs:label "definitionOwnedConstraint" ; + rdfs:comment "The ConstraintUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedEnumeration a rdf:Property ; + rdfs:label "definitionOwnedEnumeration" ; + rdfs:comment "The EnumerationUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedFlow a rdf:Property ; + rdfs:label "definitionOwnedFlow" ; + rdfs:comment "The FlowConnectionUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedInterface a rdf:Property ; + rdfs:label "definitionOwnedInterface" ; + rdfs:comment "The InterfaceUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedItem a rdf:Property ; + rdfs:label "definitionOwnedItem" ; + rdfs:comment "The ItemUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedMetadata a rdf:Property ; + rdfs:label "definitionOwnedMetadata" ; + rdfs:comment "The MetadataUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedOccurrence a rdf:Property ; + rdfs:label "definitionOwnedOccurrence" ; + rdfs:comment "The OccurrenceUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedPart a rdf:Property ; + rdfs:label "definitionOwnedPart" ; + rdfs:comment "The PartUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedPort a rdf:Property ; + rdfs:label "definitionOwnedPort" ; + rdfs:comment "The PortUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedReference a rdf:Property ; + rdfs:label "definitionOwnedReference" ; + rdfs:comment "The ReferenceUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedRendering a rdf:Property ; + rdfs:label "definitionOwnedRendering" ; + rdfs:comment "The RenderingUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedRequirement a rdf:Property ; + rdfs:label "definitionOwnedRequirement" ; + rdfs:comment "The RequirementUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedState a rdf:Property ; + rdfs:label "definitionOwnedState" ; + rdfs:comment "The StateUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedTransition a rdf:Property ; + rdfs:label "definitionOwnedTransition" ; + rdfs:comment "The TransitionUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedUsage a rdf:Property ; + rdfs:label "definitionOwnedUsage" ; + rdfs:comment "The Usages that are ownedFeatures of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedUseCase a rdf:Property ; + rdfs:label "definitionOwnedUseCase" ; + rdfs:comment "The UseCaseUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedVerificationCase a rdf:Property ; + rdfs:label "definitionOwnedVerificationCase" ; + rdfs:comment "The VerificationCaseUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedView a rdf:Property ; + rdfs:label "definitionOwnedView" ; + rdfs:comment "The ViewUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionOwnedViewpoint a rdf:Property ; + rdfs:label "definitionOwnedViewpoint" ; + rdfs:comment "The ViewpointUsages that are ownedUsages of this Definition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionUsage a rdf:Property ; + rdfs:label "definitionUsage" ; + rdfs:comment "The Usages that are features of this Definition (not necessarily owned)." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionVariant a rdf:Property ; + rdfs:label "definitionVariant" ; + rdfs:comment "The Usages which represent the variants of this Definition as a variation point Definition, if isVariation = true. If isVariation = false, the there must be no variants." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:definitionVariantMembership a rdf:Property ; + rdfs:label "definitionVariantMembership" ; + rdfs:comment "The ownedMemberships of this Definition that are VariantMemberships. If isVariation = true, then this must be all ownedMemberships of the Definition. If isVariation = false, then variantMembershipmust be empty." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:dependencyClient a rdf:Property ; + rdfs:label "dependencyClient" ; + rdfs:comment "The Element or Elements dependent on the supplier Elements." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:dependencySupplier a rdf:Property ; + rdfs:label "dependencySupplier" ; + rdfs:comment "The Element or Elements on which the client Elements depend in some respect." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:differencingDifferencingType a rdf:Property ; + rdfs:label "differencingDifferencingType" ; + rdfs:comment "Type that partly determines interpretations of typeDifferenced, as described in Type::differencingType." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:differencingTypeDifferenced a rdf:Property ; + rdfs:label "differencingTypeDifferenced" ; + rdfs:comment "Type with interpretations partly determined by differencingType, as described in Type::differencingType." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:disjoiningDisjoiningType a rdf:Property ; + rdfs:label "disjoiningDisjoiningType" ; + rdfs:comment "Type asserted to be disjoint with the typeDisjoined." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:disjoiningOwningType a rdf:Property ; + rdfs:label "disjoiningOwningType" ; + rdfs:comment "A typeDisjoined that is also an owningRelatedElement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:disjoiningTypeDisjoined a rdf:Property ; + rdfs:label "disjoiningTypeDisjoined" ; + rdfs:comment "Type asserted to be disjoint with the disjoiningType." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:documentationDocumentedElement a rdf:Property ; + rdfs:label "documentationDocumentedElement" ; + rdfs:comment "The Element that is documented by this Documentation." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:elementAliasIds a rdf:Property ; + rdfs:label "elementAliasIds" ; + rdfs:comment "Various alternative identifiers for this Element. Generally, these will be set by tools." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:elementDeclaredName a rdf:Property ; + rdfs:label "elementDeclaredName" ; + rdfs:comment "The declared name of this Element." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:elementDeclaredShortName a rdf:Property ; + rdfs:label "elementDeclaredShortName" ; + rdfs:comment "An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:elementDocumentation a rdf:Property ; + rdfs:label "elementDocumentation" ; + rdfs:comment "The Documentation owned by this Element." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:elementFilterMembershipCondition a rdf:Property ; + rdfs:label "elementFilterMembershipCondition" ; + rdfs:comment "The model-level evaluable Boolean-valued Expression used to filter the imported members of the membershipOwningNamespace of this ElementFilterMembership." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:elementIsImpliedIncluded a rdf:Property ; + rdfs:label "elementIsImpliedIncluded" ; + rdfs:comment "Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:elementIsLibraryElement a rdf:Property ; + rdfs:label "elementIsLibraryElement" ; + rdfs:comment "Whether this Element is contained in the ownership tree of a library model." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:elementOwnedAnnotation a rdf:Property ; + rdfs:label "elementOwnedAnnotation" ; + rdfs:comment "The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:elementOwnedElement a rdf:Property ; + rdfs:label "elementOwnedElement" ; + rdfs:comment "The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:elementOwnedRelationship a rdf:Property ; + rdfs:label "elementOwnedRelationship" ; + rdfs:comment "The Relationships for which this Element is the owningRelatedElement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:elementOwner a rdf:Property ; + rdfs:label "elementOwner" ; + rdfs:comment "The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:elementOwningMembership a rdf:Property ; + rdfs:label "elementOwningMembership" ; + rdfs:comment "The owningRelationship of this Element, if that Relationship is a Membership." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:elementOwningNamespace a rdf:Property ; + rdfs:label "elementOwningNamespace" ; + rdfs:comment "The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:elementOwningRelationship a rdf:Property ; + rdfs:label "elementOwningRelationship" ; + rdfs:comment "The Relationship for which this Element is an ownedRelatedElement, if any." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:elementQualifiedName a rdf:Property ; + rdfs:label "elementQualifiedName" ; + rdfs:comment "The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:elementShortName a rdf:Property ; + rdfs:label "elementShortName" ; + rdfs:comment "The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:elementTextualRepresentation a rdf:Property ; + rdfs:label "elementTextualRepresentation" ; + rdfs:comment "The TextualRepresentations that annotate this Element." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:enumerationDefinitionEnumeratedValue a rdf:Property ; + rdfs:label "enumerationDefinitionEnumeratedValue" ; + rdfs:comment "EnumerationUsages of this EnumerationDefinitionthat have distinct, fixed values. Each enumeratedValue specifies one of the allowed instances of the EnumerationDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:enumerationUsageEnumerationDefinition a rdf:Property ; + rdfs:label "enumerationUsageEnumerationDefinition" ; + rdfs:comment "The single EnumerationDefinition that is the type of this EnumerationUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:eventOccurrenceUsageEventOccurrence a rdf:Property ; + rdfs:label "eventOccurrenceUsageEventOccurrence" ; + rdfs:comment "The OccurrenceUsage referenced as an event by this EventOccurrenceUsage. It is the referenceFeature of the ownedReferenceSubsetting for the EventOccurrenceUsage, if there is one, and, otherwise, the EventOccurrenceUsage itself." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:exhibitStateUsageExhibitedState a rdf:Property ; + rdfs:label "exhibitStateUsageExhibitedState" ; + rdfs:comment "The StateUsage to be exhibited by the ExhibitStateUsage. It is the performedAction of the ExhibitStateUsage considered as a PerformActionUsage, which must be a StateUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:expressionFunction a rdf:Property ; + rdfs:label "expressionFunction" ; + rdfs:comment "The Function that types this Expression." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:expressionIsModelLevelEvaluable a rdf:Property ; + rdfs:label "expressionIsModelLevelEvaluable" ; + rdfs:comment "Whether this Expression meets the constraints necessary to be evaluated at model level, that is, using metadata within the model." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:expressionResult a rdf:Property ; + rdfs:label "expressionResult" ; + rdfs:comment "" ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureChainExpressionTargetFeature a rdf:Property ; + rdfs:label "featureChainExpressionTargetFeature" ; + rdfs:comment "The Feature that is accessed by this FeatureChainExpression, which is its first non-parameter member." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureChainingChainingFeature a rdf:Property ; + rdfs:label "featureChainingChainingFeature" ; + rdfs:comment "The Feature whose values partly determine values of featureChained, as described in Feature::chainingFeature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureChainingFeature a rdf:Property ; + rdfs:label "featureChainingFeature" ; + rdfs:comment "The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureChainingFeatureChained a rdf:Property ; + rdfs:label "featureChainingFeatureChained" ; + rdfs:comment "The Feature whose values are partly determined by values of the chainingFeature, as described in Feature::chainingFeature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureDirection a rdf:Property ; + rdfs:label "featureDirection" ; + rdfs:comment "Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind)." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureEndOwningType a rdf:Property ; + rdfs:label "featureEndOwningType" ; + rdfs:comment "The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureFeaturingType a rdf:Property ; + rdfs:label "featureFeaturingType" ; + rdfs:comment "Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureInvertingFeatureInverted a rdf:Property ; + rdfs:label "featureInvertingFeatureInverted" ; + rdfs:comment "The Feature that is an inverse of the invertingFeature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureInvertingInvertingFeature a rdf:Property ; + rdfs:label "featureInvertingInvertingFeature" ; + rdfs:comment "The Feature that is an inverse of the invertedFeature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureInvertingOwningFeature a rdf:Property ; + rdfs:label "featureInvertingOwningFeature" ; + rdfs:comment "A featureInverted that is also the owningRelatedElement of this FeatureInverting." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureIsComposite a rdf:Property ; + rdfs:label "featureIsComposite" ; + rdfs:comment "Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureIsDerived a rdf:Property ; + rdfs:label "featureIsDerived" ; + rdfs:comment "Whether the values of this Feature can always be computed from the values of other Features." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureIsEnd a rdf:Property ; + rdfs:label "featureIsEnd" ; + rdfs:comment "Whether or not the this Feature is an end Feature, requiring a different interpretation of the multiplicity of the Feature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureIsNonunique a rdf:Property ; + rdfs:label "featureIsNonunique" ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureIsOrdered a rdf:Property ; + rdfs:label "featureIsOrdered" ; + rdfs:comment "Whether an order exists for the values of this Feature or not." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureIsPortion a rdf:Property ; + rdfs:label "featureIsPortion" ; + rdfs:comment "Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureIsReadOnly a rdf:Property ; + rdfs:label "featureIsReadOnly" ; + rdfs:comment "Whether the values of this Feature can change over the lifetime of an instance of the domain." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureIsUnique a rdf:Property ; + rdfs:label "featureIsUnique" ; + rdfs:comment "Whether or not values for this Feature must have no duplicates or not." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureMembershipOwnedMemberFeature a rdf:Property ; + rdfs:label "featureMembershipOwnedMemberFeature" ; + rdfs:comment "The Feature that this FeatureMembership relates to its owningType, making it an ownedFeature of the owningType." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureMembershipOwningType a rdf:Property ; + rdfs:label "featureMembershipOwningType" ; + rdfs:comment "The Type that owns this FeatureMembership." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureOwnedFeatureChaining a rdf:Property ; + rdfs:label "featureOwnedFeatureChaining" ; + rdfs:comment "The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureOwnedFeatureInverting a rdf:Property ; + rdfs:label "featureOwnedFeatureInverting" ; + rdfs:comment "The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureOwnedRedefinition a rdf:Property ; + rdfs:label "featureOwnedRedefinition" ; + rdfs:comment "The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureOwnedReferenceSubsetting a rdf:Property ; + rdfs:label "featureOwnedReferenceSubsetting" ; + rdfs:comment "The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureOwnedSubsetting a rdf:Property ; + rdfs:label "featureOwnedSubsetting" ; + rdfs:comment "The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureOwnedTypeFeaturing a rdf:Property ; + rdfs:label "featureOwnedTypeFeaturing" ; + rdfs:comment "The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureOwnedTyping a rdf:Property ; + rdfs:label "featureOwnedTyping" ; + rdfs:comment "The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureOwningFeatureMembership a rdf:Property ; + rdfs:label "featureOwningFeatureMembership" ; + rdfs:comment "The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureOwningType a rdf:Property ; + rdfs:label "featureOwningType" ; + rdfs:comment "The Type that is the owningType of the owningFeatureMembership of this Feature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureReferenceExpressionReferent a rdf:Property ; + rdfs:label "featureReferenceExpressionReferent" ; + rdfs:comment "The Feature that is referenced by this FeatureReferenceExpression, which is its first non-parameter member." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureType a rdf:Property ; + rdfs:label "featureType" ; + rdfs:comment "Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureTypingOwningFeature a rdf:Property ; + rdfs:label "featureTypingOwningFeature" ; + rdfs:comment "A typedFeature that is also the owningRelatedElement of this FeatureTyping." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureTypingType a rdf:Property ; + rdfs:label "featureTypingType" ; + rdfs:comment "The Type that is being applied by this FeatureTyping." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureTypingTypedFeature a rdf:Property ; + rdfs:label "featureTypingTypedFeature" ; + rdfs:comment "The Feature that has a type determined by this FeatureTyping." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureValueFeatureWithValue a rdf:Property ; + rdfs:label "featureValueFeatureWithValue" ; + rdfs:comment "The Feature to be provided a value." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureValueIsDefault a rdf:Property ; + rdfs:label "featureValueIsDefault" ; + rdfs:comment "Whether this FeatureValue is a concrete specification of the bound or initial value of the featureWithValue, or just a default value that may be overridden." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureValueIsInitial a rdf:Property ; + rdfs:label "featureValueIsInitial" ; + rdfs:comment "Whether this FeatureValue specifies a bound value or an initial value for the featureWithValue." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featureValueValue a rdf:Property ; + rdfs:label "featureValueValue" ; + rdfs:comment "The Expression that provides the value of the featureWithValue as its result." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featuringFeature a rdf:Property ; + rdfs:label "featuringFeature" ; + rdfs:comment "The Feature that is featured by the featuringType." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:featuringType a rdf:Property ; + rdfs:label "featuringType" ; + rdfs:comment "The Type that features the featureOfType." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:flowConnectionUsageFlowConnectionDefinition a rdf:Property ; + rdfs:label "flowConnectionUsageFlowConnectionDefinition" ; + rdfs:comment "The Interactions that are the types of this FlowConnectionUsage. Nominally, these are FlowConnectionDefinitions, but other kinds of Kernel Interactions are also allowed, to permit use of Interactions from the Kernel Model Libraries." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:forLoopActionUsageLoopVariable a rdf:Property ; + rdfs:label "forLoopActionUsageLoopVariable" ; + rdfs:comment "The ownedFeature of this ForLoopActionUsage that acts as the loop variable, which is assigned the successive values of the input sequence on each iteration. It is the ownedFeature that redefines ForLoopAction::var." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:forLoopActionUsageSeqArgument a rdf:Property ; + rdfs:label "forLoopActionUsageSeqArgument" ; + rdfs:comment "The Expression whose result provides the sequence of values to which the loopVariable is set for each iterative performance of the bodyAction. It is the Expression whose result is bound to the seq input parameter of this ForLoopActionUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:framedConcernMembershipOwnedConcern a rdf:Property ; + rdfs:label "framedConcernMembershipOwnedConcern" ; + rdfs:comment "The ConcernUsage that is the ownedConstraint of this FramedConcernMembership." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:framedConcernMembershipReferencedConcern a rdf:Property ; + rdfs:label "framedConcernMembershipReferencedConcern" ; + rdfs:comment " The ConcernUsage that is referenced through this FramedConcernMembership. It is the referencedConstraint of the FramedConcernMembership considered as a RequirementConstraintMembership, which must be a ConcernUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:functionExpression a rdf:Property ; + rdfs:label "functionExpression" ; + rdfs:comment "The Expressions that are steps in the calculation of the result of this Function." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:functionIsModelLevelEvaluable a rdf:Property ; + rdfs:label "functionIsModelLevelEvaluable" ; + rdfs:comment "Whether this Function can be used as the function of a model-level evaluable InvocationExpression. Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = true. For all other Functions it is false." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:functionResult a rdf:Property ; + rdfs:label "functionResult" ; + rdfs:comment "The result parameter of the Function, which is owned by the Function via a ReturnParameterMembership." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ifActionUsageElseAction a rdf:Property ; + rdfs:label "ifActionUsageElseAction" ; + rdfs:comment "The ActionUsage that is to be performed if the result of the ifArgument is false. It is the (optional) third parameter of the IfActionUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ifActionUsageIfArgument a rdf:Property ; + rdfs:label "ifActionUsageIfArgument" ; + rdfs:comment "The Expression whose result determines whether the thenAction or (optionally) the elseAction is performed. It is the first parameter of the IfActionUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:ifActionUsageThenAction a rdf:Property ; + rdfs:label "ifActionUsageThenAction" ; + rdfs:comment "The ActionUsage that is to be performed if the result of the ifArgument is true. It is the second parameter of the IfActionUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:importImportOwningNamespace a rdf:Property ; + rdfs:label "importImportOwningNamespace" ; + rdfs:comment "The Namespace into which Memberships are imported by this Import, which must be the owningRelatedElement of the Import." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:importImportedElement a rdf:Property ; + rdfs:label "importImportedElement" ; + rdfs:comment "The effectively imported Element for this Import. For a MembershipImport, this is the memberElement of the importedMembership. For a NamespaceImport, it is the importedNamespace." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:importIsImportAll a rdf:Property ; + rdfs:label "importIsImportAll" ; + rdfs:comment "Whether to import memberships without regard to declared visibility." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:importIsRecursive a rdf:Property ; + rdfs:label "importIsRecursive" ; + rdfs:comment "Whether to recursively import Memberships from visible, owned sub-Namespaces." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:importVisibility a rdf:Property ; + rdfs:label "importVisibility" ; + rdfs:comment "The visibility level of the imported members from this Import relative to the importOwningNamespace." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:includeUseCaseUsageUseCaseIncluded a rdf:Property ; + rdfs:label "includeUseCaseUsageUseCaseIncluded" ; + rdfs:comment "The UseCaseUsage to be included by this IncludeUseCaseUsage. It is the performedAction of the IncludeUseCaseUsage considered as a PerformActionUsage, which must be a UseCaseUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:interfaceDefinitionInterfaceEnd a rdf:Property ; + rdfs:label "interfaceDefinitionInterfaceEnd" ; + rdfs:comment """The PortUsages that are the connectionEnds of this InterfaceDefinition.\r +\r +""" ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:interfaceUsageInterfaceDefinition a rdf:Property ; + rdfs:label "interfaceUsageInterfaceDefinition" ; + rdfs:comment "The InterfaceDefinitions that type this InterfaceUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:intersectingIntersectingType a rdf:Property ; + rdfs:label "intersectingIntersectingType" ; + rdfs:comment "Type that partly determines interpretations of typeIntersected, as described in Type::intersectingType." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:intersectingTypeIntersected a rdf:Property ; + rdfs:label "intersectingTypeIntersected" ; + rdfs:comment "Type with interpretations partly determined by intersectingType, as described in Type::intersectingType." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:invariantIsNegated a rdf:Property ; + rdfs:label "invariantIsNegated" ; + rdfs:comment "Whether this Invariant is asserted to be false rather than true." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:invocationExpressionArgument a rdf:Property ; + rdfs:label "invocationExpressionArgument" ; + rdfs:comment "The value Expressions of the FeatureValues of the owned input parameters of the InvocationExpression." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:invocationExpressionOperand a rdf:Property ; + rdfs:label "invocationExpressionOperand" ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:itemFlowInteraction a rdf:Property ; + rdfs:label "itemFlowInteraction" ; + rdfs:comment "The Interactions that type this ItemFlow. Interactions are both Associations and Behaviors, which can type Connectors and Steps, respectively." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:itemFlowItemFeature a rdf:Property ; + rdfs:label "itemFlowItemFeature" ; + rdfs:comment "The ownedFeature of the ItemFlow that is an ItemFeature (if any)." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:itemFlowItemFlowEnd a rdf:Property ; + rdfs:label "itemFlowItemFlowEnd" ; + rdfs:comment "The connectorEnds of this ItemFlow that are ItemFlowEnds." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:itemFlowItemType a rdf:Property ; + rdfs:label "itemFlowItemType" ; + rdfs:comment "The type of values transferred, which is the type of the itemFeature of the ItemFlow." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:itemFlowSourceOutputFeature a rdf:Property ; + rdfs:label "itemFlowSourceOutputFeature" ; + rdfs:comment "The Feature that provides the items carried by the ItemFlow. It must be an owned output of the source of the ItemFlow." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:itemFlowTargetInputFeature a rdf:Property ; + rdfs:label "itemFlowTargetInputFeature" ; + rdfs:comment "The Feature that receives the values carried by the ItemFlow. It must be an owned output of the target participant of the ItemFlow." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:itemUsageItemDefinition a rdf:Property ; + rdfs:label "itemUsageItemDefinition" ; + rdfs:comment "The Structures that are the definitions of this ItemUsage. Nominally, these are ItemDefinitions, but other kinds of Kernel Structures are also allowed, to permit use of Structures from the Kernel Library." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:libraryPackageIsStandard a rdf:Property ; + rdfs:label "libraryPackageIsStandard" ; + rdfs:comment "Whether this LibraryPackage contains a standard library model. This should only be set to true for LibraryPackages in the standard Kernel Model Libraries or in normative model libraries for a language built on KerML." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:literalBooleanValue a rdf:Property ; + rdfs:label "literalBooleanValue" ; + rdfs:comment "The Boolean value that is the result of evaluating this LiteralBoolean." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:literalIntegerValue a rdf:Property ; + rdfs:label "literalIntegerValue" ; + rdfs:comment "The Integer value that is the result of evaluating this LiteralInteger." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:literalRationalValue a rdf:Property ; + rdfs:label "literalRationalValue" ; + rdfs:comment "The value whose rational approximation is the result of evaluating this LiteralRational." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:literalStringValue a rdf:Property ; + rdfs:label "literalStringValue" ; + rdfs:comment "The String value that is the result of evaluating this LiteralString." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:loopActionUsageBodyAction a rdf:Property ; + rdfs:label "loopActionUsageBodyAction" ; + rdfs:comment "The ActionUsage to be performed repeatedly by the LoopActionUsage. It is the second parameter of the LoopActionUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:membershipImportImportedMembership a rdf:Property ; + rdfs:label "membershipImportImportedMembership" ; + rdfs:comment "The Membership to be imported." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:membershipMemberElement a rdf:Property ; + rdfs:label "membershipMemberElement" ; + rdfs:comment "The Element that becomes a member of the membershipOwningNamespace due to this Membership." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:membershipMemberElementId a rdf:Property ; + rdfs:label "membershipMemberElementId" ; + rdfs:comment "The elementId of the memberElement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:membershipMemberName a rdf:Property ; + rdfs:label "membershipMemberName" ; + rdfs:comment "The name of the memberElement relative to the membershipOwningNamespace." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:membershipMemberShortName a rdf:Property ; + rdfs:label "membershipMemberShortName" ; + rdfs:comment "The short name of the memberElement relative to the membershipOwningNamespace." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:membershipMembershipOwningNamespace a rdf:Property ; + rdfs:label "membershipMembershipOwningNamespace" ; + rdfs:comment "The Namespace of which the memberElement becomes a member due to this Membership." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:membershipVisibility a rdf:Property ; + rdfs:label "membershipVisibility" ; + rdfs:comment "Whether or not the Membership of the memberElement in the membershipOwningNamespace is publicly visible outside that Namespace." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:metadataAccessExpressionReferencedElement a rdf:Property ; + rdfs:label "metadataAccessExpressionReferencedElement" ; + rdfs:comment " The Element whose metadata is being accessed." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:metadataFeatureMetaclass a rdf:Property ; + rdfs:label "metadataFeatureMetaclass" ; + rdfs:comment "The type of this MetadataFeature, which must be a Metaclass." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:metadataUsageMetadataDefinition a rdf:Property ; + rdfs:label "metadataUsageMetadataDefinition" ; + rdfs:comment "The MetadataDefinition that is the definition of this MetadataUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:multiplicityRangeBound a rdf:Property ; + rdfs:label "multiplicityRangeBound" ; + rdfs:comment "The owned Expressions of the MultiplicityRange whose results provide its bounds. These must be the only ownedMembers of the MultiplicityRange." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:multiplicityRangeLowerBound a rdf:Property ; + rdfs:label "multiplicityRangeLowerBound" ; + rdfs:comment "The Expression whose result provides the lower bound of the MultiplicityRange. If no lowerBound Expression is given, then the lower bound shall have the same value as the upper bound, unless the upper bound is unbounded (*), in which case the lower bound shall be 0." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:multiplicityRangeUpperBound a rdf:Property ; + rdfs:label "multiplicityRangeUpperBound" ; + rdfs:comment "The Expression whose result is the upper bound of the MultiplicityRange." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:namespaceImportImportedNamespace a rdf:Property ; + rdfs:label "namespaceImportImportedNamespace" ; + rdfs:comment "The Namespace whose visible Memberships are imported by this NamespaceImport." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:namespaceImportedMembership a rdf:Property ; + rdfs:label "namespaceImportedMembership" ; + rdfs:comment "The Memberships in this Namespace that result from the ownedImports of this Namespace." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:namespaceMember a rdf:Property ; + rdfs:label "namespaceMember" ; + rdfs:comment "The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:namespaceMembership a rdf:Property ; + rdfs:label "namespaceMembership" ; + rdfs:comment "All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:namespaceOwnedImport a rdf:Property ; + rdfs:label "namespaceOwnedImport" ; + rdfs:comment "The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:namespaceOwnedMember a rdf:Property ; + rdfs:label "namespaceOwnedMember" ; + rdfs:comment "The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the ." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:namespaceOwnedMembership a rdf:Property ; + rdfs:label "namespaceOwnedMembership" ; + rdfs:comment "The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:objectiveMembershipOwnedObjectiveRequirement a rdf:Property ; + rdfs:label "objectiveMembershipOwnedObjectiveRequirement" ; + rdfs:comment "The RequirementUsage that is the ownedMemberFeature of this RequirementUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:occurrenceDefinitionIsIndividual a rdf:Property ; + rdfs:label "occurrenceDefinitionIsIndividual" ; + rdfs:comment "Whether this OccurrenceDefinition is constrained to represent single individual." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:occurrenceDefinitionLifeClass a rdf:Property ; + rdfs:label "occurrenceDefinitionLifeClass" ; + rdfs:comment "If isIndividual is true, a LifeClass that specializes this OccurrenceDefinition, restricting it to represent an individual." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:occurrenceUsageIndividualDefinition a rdf:Property ; + rdfs:label "occurrenceUsageIndividualDefinition" ; + rdfs:comment "The at most one occurrenceDefinition that has isIndividual = true." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:occurrenceUsageIsIndividual a rdf:Property ; + rdfs:label "occurrenceUsageIsIndividual" ; + rdfs:comment "Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:occurrenceUsageOccurrenceDefinition a rdf:Property ; + rdfs:label "occurrenceUsageOccurrenceDefinition" ; + rdfs:comment "The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:occurrenceUsagePortionKind a rdf:Property ; + rdfs:label "occurrenceUsagePortionKind" ; + rdfs:comment "The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:operatorExpressionOperator a rdf:Property ; + rdfs:label "operatorExpressionOperator" ; + rdfs:comment "An operator symbol that names a corresponding Function from one of the standard packages from the Kernel Function Library ." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:owningMembershipOwnedMemberElement a rdf:Property ; + rdfs:label "owningMembershipOwnedMemberElement" ; + rdfs:comment "The Element that becomes an ownedMember of the membershipOwningNamespace due to this OwningMembership." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:owningMembershipOwnedMemberElementId a rdf:Property ; + rdfs:label "owningMembershipOwnedMemberElementId" ; + rdfs:comment "The elementId of the ownedMemberElement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:owningMembershipOwnedMemberName a rdf:Property ; + rdfs:label "owningMembershipOwnedMemberName" ; + rdfs:comment "The name of the ownedMemberElement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:owningMembershipOwnedMemberShortName a rdf:Property ; + rdfs:label "owningMembershipOwnedMemberShortName" ; + rdfs:comment "The shortName of the ownedMemberElement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:packageFilterCondition a rdf:Property ; + rdfs:label "packageFilterCondition" ; + rdfs:comment "The model-level evaluable Boolean-valued Expression used to filter the members of this Package, which are owned by the Package are via ElementFilterMemberships." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:parameterMembershipOwnedMemberParameter a rdf:Property ; + rdfs:label "parameterMembershipOwnedMemberParameter" ; + rdfs:comment "The Feature that is identified as a parameter by this ParameterMembership." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:partUsagePartDefinition a rdf:Property ; + rdfs:label "partUsagePartDefinition" ; + rdfs:comment "The itemDefinitions of this PartUsage that are PartDefinitions." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:performActionUsagePerformedAction a rdf:Property ; + rdfs:label "performActionUsagePerformedAction" ; + rdfs:comment "The ActionUsage to be performed by this PerformedActionUsage. It is the eventOccurrence of the PerformActionUsage considered as an EventOccurrenceUsage, which must be an ActionUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:portConjugationConjugatedPortDefinition a rdf:Property ; + rdfs:label "portConjugationConjugatedPortDefinition" ; + rdfs:comment "The ConjugatedPortDefinition that is conjugate to the originalPortDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:portConjugationOriginalPortDefinition a rdf:Property ; + rdfs:label "portConjugationOriginalPortDefinition" ; + rdfs:comment "The PortDefinition being conjugated." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:portDefinitionConjugatedPortDefinition a rdf:Property ; + rdfs:label "portDefinitionConjugatedPortDefinition" ; + rdfs:comment "The that is conjugate to this PortDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:portUsagePortDefinition a rdf:Property ; + rdfs:label "portUsagePortDefinition" ; + rdfs:comment "The occurrenceDefinitions of this PortUsage, which must all be PortDefinitions." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:redefinitionRedefinedFeature a rdf:Property ; + rdfs:label "redefinitionRedefinedFeature" ; + rdfs:comment "The Feature that is redefined by the redefiningFeature of this Redefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:redefinitionRedefiningFeature a rdf:Property ; + rdfs:label "redefinitionRedefiningFeature" ; + rdfs:comment "The Feature that is redefining the redefinedFeature of this Redefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:referenceSubsettingReferencedFeature a rdf:Property ; + rdfs:label "referenceSubsettingReferencedFeature" ; + rdfs:comment "The Feature that is referenced by the referencingFeature of this ReferenceSubsetting." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:referenceSubsettingReferencingFeature a rdf:Property ; + rdfs:label "referenceSubsettingReferencingFeature" ; + rdfs:comment "The Feature that owns this ReferenceSubsetting relationship, which is also its subsettingFeature." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:relationshipIsImplied a rdf:Property ; + rdfs:label "relationshipIsImplied" ; + rdfs:comment "Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:relationshipOwnedRelatedElement a rdf:Property ; + rdfs:label "relationshipOwnedRelatedElement" ; + rdfs:comment "The relatedElements of this Relationship that are owned by the Relationship." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:relationshipOwningRelatedElement a rdf:Property ; + rdfs:label "relationshipOwningRelatedElement" ; + rdfs:comment "The relatedElement of this Relationship that owns the Relationship, if any." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:relationshipRelatedElement a rdf:Property ; + rdfs:label "relationshipRelatedElement" ; + rdfs:comment "The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:relationshipSource a rdf:Property ; + rdfs:label "relationshipSource" ; + rdfs:comment "The relatedElements from which this Relationship is considered to be directed." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:relationshipTarget a rdf:Property ; + rdfs:label "relationshipTarget" ; + rdfs:comment "The relatedElements to which this Relationship is considered to be directed." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:renderingDefinitionRendering a rdf:Property ; + rdfs:label "renderingDefinitionRendering" ; + rdfs:comment "The usages of a RenderingDefinition that are RenderingUsages." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:renderingUsageRenderingDefinition a rdf:Property ; + rdfs:label "renderingUsageRenderingDefinition" ; + rdfs:comment "The RenderingDefinition that is the definition of this RenderingUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:requirementConstraintMembershipKind a rdf:Property ; + rdfs:label "requirementConstraintMembershipKind" ; + rdfs:comment "Whether the RequirementConstraintMembership is for an assumed or required ConstraintUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:requirementConstraintMembershipOwnedConstraint a rdf:Property ; + rdfs:label "requirementConstraintMembershipOwnedConstraint" ; + rdfs:comment "The ConstraintUsage that is the ownedMemberFeature of this RequirementConstraintMembership." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:requirementConstraintMembershipReferencedConstraint a rdf:Property ; + rdfs:label "requirementConstraintMembershipReferencedConstraint" ; + rdfs:comment " The ConstraintUsage that is referenced through this RequirementConstraintMembership. It is the referencedFeature of the ownedReferenceSubsetting of the ownedConstraint, if there is one, and, otherwise, the ownedConstraint itself." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:requirementDefinitionActorParameter a rdf:Property ; + rdfs:label "requirementDefinitionActorParameter" ; + rdfs:comment "The parameters of this RequirementDefinition that represent actors involved in the requirement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:requirementDefinitionAssumedConstraint a rdf:Property ; + rdfs:label "requirementDefinitionAssumedConstraint" ; + rdfs:comment "The owned ConstraintUsages that represent assumptions of this RequirementDefinition, which are the ownedConstraints of the RequirementConstraintMemberships of the RequirementDefinition with kind = assumption." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:requirementDefinitionFramedConcern a rdf:Property ; + rdfs:label "requirementDefinitionFramedConcern" ; + rdfs:comment "The ConcernUsages framed by this RequirementDefinition, which are the ownedConcerns of all FramedConcernMemberships of the RequirementDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:requirementDefinitionReqId a rdf:Property ; + rdfs:label "requirementDefinitionReqId" ; + rdfs:comment "An optional modeler-specified identifier for this RequirementDefinition (used, e.g., to link it to an original requirement text in some source document), which is the declaredShortName for the RequirementDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:requirementDefinitionRequiredConstraint a rdf:Property ; + rdfs:label "requirementDefinitionRequiredConstraint" ; + rdfs:comment "The owned ConstraintUsages that represent requirements of this RequirementDefinition, derived as the ownedConstraints of the RequirementConstraintMemberships of the RequirementDefinition with kind = requirement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:requirementDefinitionStakeholderParameter a rdf:Property ; + rdfs:label "requirementDefinitionStakeholderParameter" ; + rdfs:comment "The parameters of this RequirementDefinition that represent stakeholders for th requirement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:requirementDefinitionSubjectParameter a rdf:Property ; + rdfs:label "requirementDefinitionSubjectParameter" ; + rdfs:comment "The parameter of this RequirementDefinition that represents its subject." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:requirementDefinitionText a rdf:Property ; + rdfs:label "requirementDefinitionText" ; + rdfs:comment "An optional textual statement of the requirement represented by this RequirementDefinition, derived from the bodies of the documentation of the RequirementDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:requirementUsageActorParameter a rdf:Property ; + rdfs:label "requirementUsageActorParameter" ; + rdfs:comment "The parameters of this RequirementUsage that represent actors involved in the requirement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:requirementUsageAssumedConstraint a rdf:Property ; + rdfs:label "requirementUsageAssumedConstraint" ; + rdfs:comment "The owned ConstraintUsages that represent assumptions of this RequirementUsage, derived as the ownedConstraints of the RequirementConstraintMemberships of the RequirementUsage with kind = assumption." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:requirementUsageFramedConcern a rdf:Property ; + rdfs:label "requirementUsageFramedConcern" ; + rdfs:comment "The ConcernUsages framed by this RequirementUsage, which are the ownedConcerns of all FramedConcernMemberships of the RequirementUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:requirementUsageReqId a rdf:Property ; + rdfs:label "requirementUsageReqId" ; + rdfs:comment "An optional modeler-specified identifier for this RequirementUsage (used, e.g., to link it to an original requirement text in some source document), which is the declaredShortName for the RequirementUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:requirementUsageRequiredConstraint a rdf:Property ; + rdfs:label "requirementUsageRequiredConstraint" ; + rdfs:comment "The owned ConstraintUsages that represent requirements of this RequirementUsage, which are the ownedConstraints of the RequirementConstraintMemberships of the RequirementUsage with kind = requirement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:requirementUsageRequirementDefinition a rdf:Property ; + rdfs:label "requirementUsageRequirementDefinition" ; + rdfs:comment "The RequirementDefinition that is the single definition of this RequirementUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:requirementUsageStakeholderParameter a rdf:Property ; + rdfs:label "requirementUsageStakeholderParameter" ; + rdfs:comment "The parameters of this RequirementUsage that represent stakeholders for the requirement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:requirementUsageSubjectParameter a rdf:Property ; + rdfs:label "requirementUsageSubjectParameter" ; + rdfs:comment "The parameter of this RequirementUsage that represents its subject." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:requirementUsageText a rdf:Property ; + rdfs:label "requirementUsageText" ; + rdfs:comment "An optional textual statement of the requirement represented by this RequirementUsage, derived from the bodies of the documentation of the RequirementUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:requirementVerificationMembershipOwnedRequirement a rdf:Property ; + rdfs:label "requirementVerificationMembershipOwnedRequirement" ; + rdfs:comment "The owned RequirementUsage that acts as the ownedConstraint for this RequirementVerificationMembership. This will either be the verifiedRequirement, or it will subset the verifiedRequirement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:requirementVerificationMembershipVerifiedRequirement a rdf:Property ; + rdfs:label "requirementVerificationMembershipVerifiedRequirement" ; + rdfs:comment " The RequirementUsage that is identified as being verified. It is the referencedConstraint of the RequirementVerificationMembership considered as a RequirementConstraintMembership, which must be a RequirementUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:resultExpressionMembershipOwnedResultExpression a rdf:Property ; + rdfs:label "resultExpressionMembershipOwnedResultExpression" ; + rdfs:comment "The Expression that provides the result for the owner of the ResultExpressionMembership." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:satisfyRequirementUsageSatisfiedRequirement a rdf:Property ; + rdfs:label "satisfyRequirementUsageSatisfiedRequirement" ; + rdfs:comment "The RequirementUsage that is satisfied by the satisfyingSubject of this SatisfyRequirementUsage. It is the assertedConstraint of the SatisfyRequirementUsage considered as an AssertConstraintUsage, which must be a RequirementUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:satisfyRequirementUsageSatisfyingFeature a rdf:Property ; + rdfs:label "satisfyRequirementUsageSatisfyingFeature" ; + rdfs:comment "The Feature that represents the actual subject that is asserted to satisfy the satisfiedRequirement. The satisfyingFeature is bound to the subjectParameter of the SatisfyRequirementUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:sendActionUsagePayloadArgument a rdf:Property ; + rdfs:label "sendActionUsagePayloadArgument" ; + rdfs:comment "An Expression whose result is bound to the payload input parameter of this SendActionUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:sendActionUsageReceiverArgument a rdf:Property ; + rdfs:label "sendActionUsageReceiverArgument" ; + rdfs:comment "An Expression whose result is bound to the receiver input parameter of this SendActionUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:sendActionUsageSenderArgument a rdf:Property ; + rdfs:label "sendActionUsageSenderArgument" ; + rdfs:comment "An Expression whose result is bound to the sender input parameter of this SendActionUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:specializationGeneral a rdf:Property ; + rdfs:label "specializationGeneral" ; + rdfs:comment "A Type with a superset of all instances of the specific Type, which might be the same set." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:specializationOwningType a rdf:Property ; + rdfs:label "specializationOwningType" ; + rdfs:comment "The Type that is the specific Type of this Specialization and owns it as its owningRelatedElement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:specializationSpecific a rdf:Property ; + rdfs:label "specializationSpecific" ; + rdfs:comment "A Type with a subset of all instances of the general Type, which might be the same set." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:stakeholderMembershipOwnedStakeholderParameter a rdf:Property ; + rdfs:label "stakeholderMembershipOwnedStakeholderParameter" ; + rdfs:comment "The PartUsage specifying the stakeholder." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:stateDefinitionDoAction a rdf:Property ; + rdfs:label "stateDefinitionDoAction" ; + rdfs:comment "The ActionUsage of this StateDefinition to be performed while in the state defined by the StateDefinition. It is the owned ActionUsage related to the StateDefinition by a StateSubactionMembership with kind = do." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:stateDefinitionEntryAction a rdf:Property ; + rdfs:label "stateDefinitionEntryAction" ; + rdfs:comment "The ActionUsage of this StateDefinition to be performed on entry to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateDefinition by a StateSubactionMembership with kind = entry." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:stateDefinitionExitAction a rdf:Property ; + rdfs:label "stateDefinitionExitAction" ; + rdfs:comment "The ActionUsage of this StateDefinition to be performed on exit to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateDefinition by a StateSubactionMembership with kind = exit." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:stateDefinitionIsParallel a rdf:Property ; + rdfs:label "stateDefinitionIsParallel" ; + rdfs:comment "Whether the ownedStates of this StateDefinition are to all be performed in parallel. If true, none of the ownedActions (which includes ownedStates) may have any incoming or outgoing Transitions. If false, only one ownedState may be performed at a time." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:stateDefinitionState a rdf:Property ; + rdfs:label "stateDefinitionState" ; + rdfs:comment "The StateUsages, which are actions in the StateDefinition, that specify the discrete states in the behavior defined by the StateDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:stateSubactionMembershipAction a rdf:Property ; + rdfs:label "stateSubactionMembershipAction" ; + rdfs:comment "The ActionUsage that is the ownedMemberFeature of this StateSubactionMembership." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:stateSubactionMembershipKind a rdf:Property ; + rdfs:label "stateSubactionMembershipKind" ; + rdfs:comment "Whether this StateSubactionMembership is for an entry, do or exit ActionUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:stateUsageDoAction a rdf:Property ; + rdfs:label "stateUsageDoAction" ; + rdfs:comment "The ActionUsage of this StateUsage to be performed while in the state defined by the StateDefinition. It is the owned ActionUsage related to the StateUsage by a StateSubactionMembership with kind = do." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:stateUsageEntryAction a rdf:Property ; + rdfs:label "stateUsageEntryAction" ; + rdfs:comment "The ActionUsage of this StateUsage to be performed on entry to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateUsage by a StateSubactionMembership with kind = entry." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:stateUsageExitAction a rdf:Property ; + rdfs:label "stateUsageExitAction" ; + rdfs:comment "The ActionUsage of this StateUsage to be performed on exit to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateUsage by a StateSubactionMembership with kind = exit." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:stateUsageIsParallel a rdf:Property ; + rdfs:label "stateUsageIsParallel" ; + rdfs:comment "Whether the nestedStates of this StateUsage are to all be performed in parallel. If true, none of the nestedActions (which include nestedStates) may have any incoming or outgoing Transitions. If false, only one nestedState may be performed at a time." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:stateUsageStateDefinition a rdf:Property ; + rdfs:label "stateUsageStateDefinition" ; + rdfs:comment "The Behaviors that are the types of this StateUsage. Nominally, these would be StateDefinitions, but kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:stepBehavior a rdf:Property ; + rdfs:label "stepBehavior" ; + rdfs:comment "The Behaviors that type this Step." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:stepParameter a rdf:Property ; + rdfs:label "stepParameter" ; + rdfs:comment "The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:subclassificationOwningClassifier a rdf:Property ; + rdfs:label "subclassificationOwningClassifier" ; + rdfs:comment "The Classifier that owns this Subclassification relationship, which must also be its subclassifier." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:subclassificationSubclassifier a rdf:Property ; + rdfs:label "subclassificationSubclassifier" ; + rdfs:comment "The more specific Classifier in this Subclassification." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:subclassificationSuperclassifier a rdf:Property ; + rdfs:label "subclassificationSuperclassifier" ; + rdfs:comment "The more general Classifier in this Subclassification." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:subjectMembershipOwnedSubjectParameter a rdf:Property ; + rdfs:label "subjectMembershipOwnedSubjectParameter" ; + rdfs:comment "The UsageownedMemberParameter of this SubjectMembership." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:subsettingOwningFeature a rdf:Property ; + rdfs:label "subsettingOwningFeature" ; + rdfs:comment "A subsettingFeature that is also the owningRelatedElement of this Subsetting." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:subsettingSubsettedFeature a rdf:Property ; + rdfs:label "subsettingSubsettedFeature" ; + rdfs:comment "The Feature that is subsetted by the subsettingFeature of this Subsetting." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:subsettingSubsettingFeature a rdf:Property ; + rdfs:label "subsettingSubsettingFeature" ; + rdfs:comment "The Feature that is a subset of the subsettedFeature of this Subsetting." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:successionEffectStep a rdf:Property ; + rdfs:label "successionEffectStep" ; + rdfs:comment "Steps that represent occurrences that are side effects of the transitionStep occurring." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:successionGuardExpression a rdf:Property ; + rdfs:label "successionGuardExpression" ; + rdfs:comment "Expressions that must evaluate to true before the transitionStep can occur." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:successionTransitionStep a rdf:Property ; + rdfs:label "successionTransitionStep" ; + rdfs:comment "A Step that is typed by the Behavior TransitionPerformances::TransitionPerformance (from the Kernel Semantic Library) that has this Succession as its transitionLink." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:successionTriggerStep a rdf:Property ; + rdfs:label "successionTriggerStep" ; + rdfs:comment "Steps that map incoming events to the timing of occurrences of the transitionStep. The values of triggerStep subset the list of acceptable events to be received by a Behavior or the object that performs it." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:textualRepresentationBody a rdf:Property ; + rdfs:label "textualRepresentationBody" ; + rdfs:comment "The textual representation of the representedElement in the given language." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:textualRepresentationLanguage a rdf:Property ; + rdfs:label "textualRepresentationLanguage" ; + rdfs:comment "The natural or artifical language in which the body text is written." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:textualRepresentationRepresentedElement a rdf:Property ; + rdfs:label "textualRepresentationRepresentedElement" ; + rdfs:comment "The Element that is represented by this TextualRepresentation." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:transitionFeatureMembershipKind a rdf:Property ; + rdfs:label "transitionFeatureMembershipKind" ; + rdfs:comment "Whether this TransitionFeatureMembership is for a trigger, guard or effect." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:transitionFeatureMembershipTransitionFeature a rdf:Property ; + rdfs:label "transitionFeatureMembershipTransitionFeature" ; + rdfs:comment "The Step that is the ownedMemberFeature of this TransitionFeatureMembership." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:transitionUsageEffectAction a rdf:Property ; + rdfs:label "transitionUsageEffectAction" ; + rdfs:comment "The ActionUsages that define the effects of this TransitionUsage, which are the ownedFeatures of the TransitionUsage related to it by TransitionFeatureMemberships with kind = effect, which must all be ActionUsages." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:transitionUsageGuardExpression a rdf:Property ; + rdfs:label "transitionUsageGuardExpression" ; + rdfs:comment "The Expressions that define the guards of this TransitionUsage, which are the ownedFeatures of the TransitionUsage related to it by TransitionFeatureMemberships with kind = guard, which must all be Expressions." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:transitionUsageSource a rdf:Property ; + rdfs:label "transitionUsageSource" ; + rdfs:comment "The source ActionUsage of this TransitionUsage, which becomes the source of the succession for the TransitionUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:transitionUsageSuccession a rdf:Property ; + rdfs:label "transitionUsageSuccession" ; + rdfs:comment "The Succession that is the ownedFeature of this TransitionUsage, which, if the TransitionUsage is triggered, asserts the temporal ordering of the source and target." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:transitionUsageTarget a rdf:Property ; + rdfs:label "transitionUsageTarget" ; + rdfs:comment "The target ActionUsage of this TransitionUsage, which is the targetFeature of the succession for the TransitionUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:transitionUsageTriggerAction a rdf:Property ; + rdfs:label "transitionUsageTriggerAction" ; + rdfs:comment "The AcceptActionUsages that define the triggers of this TransitionUsage, which are the ownedFeatures of the TransitionUsage related to it by TransitionFeatureMemberships with kind = trigger, which must all be AcceptActionUsages." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:triggerInvocationExpressionKind a rdf:Property ; + rdfs:label "triggerInvocationExpressionKind" ; + rdfs:comment "Indicates which of the Functions from the Triggers model in the Kernel Semantic Library is to be invoked by this TriggerInvocationExpression." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeDifferencingType a rdf:Property ; + rdfs:label "typeDifferencingType" ; + rdfs:comment "The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex)." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeDirectedFeature a rdf:Property ; + rdfs:label "typeDirectedFeature" ; + rdfs:comment "The features of this Type that have a non-null direction." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeEndFeature a rdf:Property ; + rdfs:label "typeEndFeature" ; + rdfs:comment "All features of this Type with isEnd = true." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeFeature a rdf:Property ; + rdfs:label "typeFeature" ; + rdfs:comment "The ownedMemberFeatures of the featureMemberships of this Type." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeFeatureMembership a rdf:Property ; + rdfs:label "typeFeatureMembership" ; + rdfs:comment "The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships)." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeFeaturingFeatureOfType a rdf:Property ; + rdfs:label "typeFeaturingFeatureOfType" ; + rdfs:comment "The Feature that is featured by the featuringType. It is the source of the TypeFeaturing." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeFeaturingFeaturingType a rdf:Property ; + rdfs:label "typeFeaturingFeaturingType" ; + rdfs:comment "The Type that features the featureOfType. It is the target of the TypeFeaturing." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeFeaturingOwningFeatureOfType a rdf:Property ; + rdfs:label "typeFeaturingOwningFeatureOfType" ; + rdfs:comment "A featureOfType that is also the owningRelatedElement of this TypeFeaturing." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeInheritedFeature a rdf:Property ; + rdfs:label "typeInheritedFeature" ; + rdfs:comment "All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeInheritedMembership a rdf:Property ; + rdfs:label "typeInheritedMembership" ; + rdfs:comment "All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeInput a rdf:Property ; + rdfs:label "typeInput" ; + rdfs:comment "All features related to this Type by FeatureMemberships that have direction in or inout." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeIntersectingType a rdf:Property ; + rdfs:label "typeIntersectingType" ; + rdfs:comment "The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex)." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeIsAbstract a rdf:Property ; + rdfs:label "typeIsAbstract" ; + rdfs:comment "Indicates whether instances of this Type must also be instances of at least one of its specialized Types." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeIsConjugated a rdf:Property ; + rdfs:label "typeIsConjugated" ; + rdfs:comment "Indicates whether this Type has an ownedConjugator." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeIsSufficient a rdf:Property ; + rdfs:label "typeIsSufficient" ; + rdfs:comment "Whether all things that meet the classification conditions of this Type must be classified by the Type." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeMultiplicity a rdf:Property ; + rdfs:label "typeMultiplicity" ; + rdfs:comment "An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeOutput a rdf:Property ; + rdfs:label "typeOutput" ; + rdfs:comment "All features related to this Type by FeatureMemberships that have direction out or inout." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeOwnedConjugator a rdf:Property ; + rdfs:label "typeOwnedConjugator" ; + rdfs:comment "A Conjugation owned by this Type for which the Type is the originalType." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeOwnedDifferencing a rdf:Property ; + rdfs:label "typeOwnedDifferencing" ; + rdfs:comment "The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeOwnedDisjoining a rdf:Property ; + rdfs:label "typeOwnedDisjoining" ; + rdfs:comment "The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeOwnedEndFeature a rdf:Property ; + rdfs:label "typeOwnedEndFeature" ; + rdfs:comment "All endFeatures of this Type that are ownedFeatures." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeOwnedFeature a rdf:Property ; + rdfs:label "typeOwnedFeature" ; + rdfs:comment "The ownedMemberFeatures of the ownedFeatureMemberships of this Type." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeOwnedFeatureMembership a rdf:Property ; + rdfs:label "typeOwnedFeatureMembership" ; + rdfs:comment "The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeOwnedIntersecting a rdf:Property ; + rdfs:label "typeOwnedIntersecting" ; + rdfs:comment "The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeOwnedSpecialization a rdf:Property ; + rdfs:label "typeOwnedSpecialization" ; + rdfs:comment "The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeOwnedUnioning a rdf:Property ; + rdfs:label "typeOwnedUnioning" ; + rdfs:comment "The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:typeUnioningType a rdf:Property ; + rdfs:label "typeUnioningType" ; + rdfs:comment "The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:unioningTypeUnioned a rdf:Property ; + rdfs:label "unioningTypeUnioned" ; + rdfs:comment "Type with interpretations partly determined by unioningType, as described in Type::unioningType." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:unioningUnioningType a rdf:Property ; + rdfs:label "unioningUnioningType" ; + rdfs:comment "Type that partly determines interpretations of typeUnioned, as described in Type::unioningType." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageDefinition a rdf:Property ; + rdfs:label "usageDefinition" ; + rdfs:comment "The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageDirectedUsage a rdf:Property ; + rdfs:label "usageDirectedUsage" ; + rdfs:comment "The usages of this Usage that are directedFeatures." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageIsReference a rdf:Property ; + rdfs:label "usageIsReference" ; + rdfs:comment "Whether this Usage is a referential Usage, that is, it has isComposite = false." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageIsVariation a rdf:Property ; + rdfs:label "usageIsVariation" ; + rdfs:comment "Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedAction a rdf:Property ; + rdfs:label "usageNestedAction" ; + rdfs:comment "The ActionUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedAllocation a rdf:Property ; + rdfs:label "usageNestedAllocation" ; + rdfs:comment "The AllocationUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedAnalysisCase a rdf:Property ; + rdfs:label "usageNestedAnalysisCase" ; + rdfs:comment "The AnalysisCaseUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedAttribute a rdf:Property ; + rdfs:label "usageNestedAttribute" ; + rdfs:comment "The code>AttributeUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedCalculation a rdf:Property ; + rdfs:label "usageNestedCalculation" ; + rdfs:comment "The CalculationUsage that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedCase a rdf:Property ; + rdfs:label "usageNestedCase" ; + rdfs:comment "The CaseUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedConcern a rdf:Property ; + rdfs:label "usageNestedConcern" ; + rdfs:comment "The ConcernUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedConnection a rdf:Property ; + rdfs:label "usageNestedConnection" ; + rdfs:comment "The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages and SuccessionAsUsages, even though these are ConnectorAsUsages but not ConnectionUsages." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedConstraint a rdf:Property ; + rdfs:label "usageNestedConstraint" ; + rdfs:comment "The ConstraintUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedEnumeration a rdf:Property ; + rdfs:label "usageNestedEnumeration" ; + rdfs:comment "The code>EnumerationUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedFlow a rdf:Property ; + rdfs:label "usageNestedFlow" ; + rdfs:comment "The code>FlowConnectionUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedInterface a rdf:Property ; + rdfs:label "usageNestedInterface" ; + rdfs:comment "The InterfaceUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedItem a rdf:Property ; + rdfs:label "usageNestedItem" ; + rdfs:comment "The ItemUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedMetadata a rdf:Property ; + rdfs:label "usageNestedMetadata" ; + rdfs:comment "The MetadataUsages that are nestedUsages of this of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedOccurrence a rdf:Property ; + rdfs:label "usageNestedOccurrence" ; + rdfs:comment "The OccurrenceUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedPart a rdf:Property ; + rdfs:label "usageNestedPart" ; + rdfs:comment "The PartUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedPort a rdf:Property ; + rdfs:label "usageNestedPort" ; + rdfs:comment "The PortUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedReference a rdf:Property ; + rdfs:label "usageNestedReference" ; + rdfs:comment "The ReferenceUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedRendering a rdf:Property ; + rdfs:label "usageNestedRendering" ; + rdfs:comment "The RenderingUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedRequirement a rdf:Property ; + rdfs:label "usageNestedRequirement" ; + rdfs:comment "The RequirementUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedState a rdf:Property ; + rdfs:label "usageNestedState" ; + rdfs:comment "The StateUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedTransition a rdf:Property ; + rdfs:label "usageNestedTransition" ; + rdfs:comment "The TransitionUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedUsage a rdf:Property ; + rdfs:label "usageNestedUsage" ; + rdfs:comment "The Usages that are ownedFeatures of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedUseCase a rdf:Property ; + rdfs:label "usageNestedUseCase" ; + rdfs:comment "The UseCaseUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedVerificationCase a rdf:Property ; + rdfs:label "usageNestedVerificationCase" ; + rdfs:comment "The VerificationCaseUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedView a rdf:Property ; + rdfs:label "usageNestedView" ; + rdfs:comment "The ViewUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageNestedViewpoint a rdf:Property ; + rdfs:label "usageNestedViewpoint" ; + rdfs:comment "The ViewpointUsages that are nestedUsages of this Usage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageOwningDefinition a rdf:Property ; + rdfs:label "usageOwningDefinition" ; + rdfs:comment "The Definition that owns this Usage (if any)." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageOwningUsage a rdf:Property ; + rdfs:label "usageOwningUsage" ; + rdfs:comment "The Usage in which this Usage is nested (if any)." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageUsage a rdf:Property ; + rdfs:label "usageUsage" ; + rdfs:comment "The Usages that are features of this Usage (not necessarily owned)." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageVariant a rdf:Property ; + rdfs:label "usageVariant" ; + rdfs:comment "The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:usageVariantMembership a rdf:Property ; + rdfs:label "usageVariantMembership" ; + rdfs:comment "The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:useCaseDefinitionIncludedUseCase a rdf:Property ; + rdfs:label "useCaseDefinitionIncludedUseCase" ; + rdfs:comment "The UseCaseUsages that are included by this UseCaseDefinition, which are the useCaseIncludeds of the IncludeUseCaseUsages owned by this UseCaseDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:useCaseUsageIncludedUseCase a rdf:Property ; + rdfs:label "useCaseUsageIncludedUseCase" ; + rdfs:comment "The UseCaseUsages that are included by this UseCaseUse, which are the useCaseIncludeds of the IncludeUseCaseUsages owned by this UseCaseUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:useCaseUsageUseCaseDefinition a rdf:Property ; + rdfs:label "useCaseUsageUseCaseDefinition" ; + rdfs:comment "The UseCaseDefinition that is the definition of this UseCaseUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:variantMembershipOwnedVariantUsage a rdf:Property ; + rdfs:label "variantMembershipOwnedVariantUsage" ; + rdfs:comment "The Usage that represents a variant in the context of the owningVariationDefinition or owningVariationUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:verificationCaseDefinitionVerifiedRequirement a rdf:Property ; + rdfs:label "verificationCaseDefinitionVerifiedRequirement" ; + rdfs:comment "The RequirementUsages verified by this VerificationCaseDefinition, which are the verifiedRequirements of all RequirementVerificationMemberships of the objectiveRequirement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:verificationCaseUsageVerificationCaseDefinition a rdf:Property ; + rdfs:label "verificationCaseUsageVerificationCaseDefinition" ; + rdfs:comment "The VerificationCase that is the definition of this VerificationCaseUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:verificationCaseUsageVerifiedRequirement a rdf:Property ; + rdfs:label "verificationCaseUsageVerifiedRequirement" ; + rdfs:comment "The RequirementUsages verified by this VerificationCaseUsage, which are the verifiedRequirements of all RequirementVerificationMemberships of the objectiveRequirement." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:viewDefinitionSatisfiedViewpoint a rdf:Property ; + rdfs:label "viewDefinitionSatisfiedViewpoint" ; + rdfs:comment "The composite ownedRequirements of this ViewDefinition that are ViewpointUsages for viewpoints satisfied by the ViewDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:viewDefinitionView a rdf:Property ; + rdfs:label "viewDefinitionView" ; + rdfs:comment "The usages of this ViewDefinition that are ViewUsages." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:viewDefinitionViewCondition a rdf:Property ; + rdfs:label "viewDefinitionViewCondition" ; + rdfs:comment "The Expressions related to this ViewDefinition by ElementFilterMemberships, which specify conditions on Elements to be rendered in a view." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:viewDefinitionViewRendering a rdf:Property ; + rdfs:label "viewDefinitionViewRendering" ; + rdfs:comment "The RenderingUsage to be used to render views defined by this ViewDefinition, which is the referencedRendering of the ViewRenderingMembership of the ViewDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:viewRenderingMembershipOwnedRendering a rdf:Property ; + rdfs:label "viewRenderingMembershipOwnedRendering" ; + rdfs:comment "The owned RenderingUsage that is either itself the referencedRendering or subsets the referencedRendering." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:viewRenderingMembershipReferencedRendering a rdf:Property ; + rdfs:label "viewRenderingMembershipReferencedRendering" ; + rdfs:comment " The RenderingUsage that is referenced through this ViewRenderingMembership. It is the referencedFeature of the ownedReferenceSubsetting for the ownedRendering, if there is one, and, otherwise, the ownedRendering itself." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:viewUsageExposedElement a rdf:Property ; + rdfs:label "viewUsageExposedElement" ; + rdfs:comment "The Elements that are exposed by this ViewUsage, which are those memberElements of the imported Memberships from all the Expose Relationships that meet all the owned and inherited viewConditions." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:viewUsageSatisfiedViewpoint a rdf:Property ; + rdfs:label "viewUsageSatisfiedViewpoint" ; + rdfs:comment "The nestedRequirements of this ViewUsage that are ViewpointUsages for (additional) viewpoints satisfied by the ViewUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:viewUsageViewCondition a rdf:Property ; + rdfs:label "viewUsageViewCondition" ; + rdfs:comment "The Expressions related to this ViewUsage by ElementFilterMemberships, which specify conditions on Elements to be rendered in a view." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:viewUsageViewDefinition a rdf:Property ; + rdfs:label "viewUsageViewDefinition" ; + rdfs:comment "The ViewDefinition that is the definition of this ViewUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:viewUsageViewRendering a rdf:Property ; + rdfs:label "viewUsageViewRendering" ; + rdfs:comment "The RenderingUsage to be used to render views defined by this ViewUsage, which is the referencedRendering of the ViewRenderingMembership of the ViewUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:viewpointDefinitionViewpointStakeholder a rdf:Property ; + rdfs:label "viewpointDefinitionViewpointStakeholder" ; + rdfs:comment "The PartUsages that identify the stakeholders with concerns framed by this ViewpointDefinition, which are the owned and inherited stakeholderParameters of the framedConcerns of this ViewpointDefinition." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:viewpointUsageViewpointDefinition a rdf:Property ; + rdfs:label "viewpointUsageViewpointDefinition" ; + rdfs:comment "The ViewpointDefinition that is the definition of this ViewpointUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:viewpointUsageViewpointStakeholder a rdf:Property ; + rdfs:label "viewpointUsageViewpointStakeholder" ; + rdfs:comment "The PartUsages that identify the stakeholders with concerns framed by this ViewpointUsage, which are the owned and inherited stakeholderParameters of the framedConcerns of this ViewpointUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:whileLoopActionUsageUntilArgument a rdf:Property ; + rdfs:label "whileLoopActionUsageUntilArgument" ; + rdfs:comment "The Expression whose result, if false, determines that the bodyAction should continue to be performed. It is the (optional) third owned parameter of the WhileLoopActionUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . + +oslc_sysmlv2:whileLoopActionUsageWhileArgument a rdf:Property ; + rdfs:label "whileLoopActionUsageWhileArgument" ; + rdfs:comment "The Expression whose result, if true, determines that the bodyAction should continue to be performed. It is the first owned parameter of the WhileLoopActionUsage." ; + rdfs:isDefinedBy oslc_sysmlv2: . +