OSLC Systems Modeling Language Version 2.0. Part 3: Constraints defines the standard OSLC constratint on the RDF vocabulary terms and resources that are the OSLC representation of the corresponding OMG Systems Modeling Language Version 2.0.
This document was last revised or approved by the OASIS Open Services for Lifecycle Collaboration (OSLC) OP on the above date. The level of approval is also listed above. Check the “Latest stage” location noted above for possible later revisions of this document. Any other numbered Versions and other technical work produced by the Open Project are listed at https://open-services.net/about/.
Comments on this work can be provided by opening issues in the project repository or by sending email to the project’s public comment list oslc-op@lists.oasis-open-projects.org.
Note that any machine-readable content (Computer Language Definitions) declared Normative for this Work Product is provided in separate plain text files. In the event of a discrepancy between any such plain text file and display content in the Work Product's prose narrative document(s), the content in the separate plain text file prevails.
[OSLC-SYSML-2.0-Part3]
OSLC Systems Modeling Language Version 2.0 Part 3: Constraints.
Edited by Jim Amsden.
25 April 2024.
OASIS Project Specification Draft 01.
https://docs.oasis-open-projects.org/oslc-op/sysml/v2.0/psd01/sysml-shapes.html.
Latest stage: https://docs.oasis-open-projects.org/oslc-op/sysml/v2.0/sysml-shapes.html.
Copyright © OASIS Open 2024. All Rights Reserved.
All capitalized terms in the following text have the meanings assigned to them in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The full Policy may be found at the OASIS website.
This specification is published under the Attribution 4.0 International (CC BY 4.0). Portions of this specification are also provided under the Apache License 2.0.
All contributions made to this project have been made under the OASIS Contributor License Agreement (CLA).
For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Open Projects IPR Statements page.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works. However, this document itself may not be modified in any way, including by removing the copyright notice or references to OASIS, except as needed for the purpose of developing any document or deliverable produced by an OASIS Open Project or OASIS Technical Committee (in which case the rules applicable to copyrights, as set forth in the OASIS IPR Policy, must be followed) or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
OASIS requests that any OASIS Party or any other party that believes it has patent claims that would necessarily be infringed by implementations of this OASIS Project Specification or OASIS Standard, to notify the OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification.
OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of any patent claims that would necessarily be infringed by implementations of this specification by a patent holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR Mode of the OASIS Open Project that produced this specification. OASIS may include such claims on its website, but disclaims any obligation to do so.
OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS' procedures with respect to rights in any document or deliverable produced by an OASIS Technical Committee can be found on the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this OASIS Open Project Specification or OASIS Standard, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any information or list of intellectual property rights will at any time be complete, or that any claims in such list are, in fact, Essential Claims.
The name "OASIS" is a trademark of OASIS, the owner and developer of this specification, and should be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and implementation and use of, specifications, while reserving the right to enforce its marks against misleading uses. Please see https://www.oasis-open.org/policies-guidelines/trademark/ for above guidance.
This section is non-normative.
RDF vocabularies define the terms and resources for a domain of interest, life-cycle management in the case of OSLC SysML v2. These vocabularies are often specified in an open manner, without providing information such as property domain and range assertions, cardinalities, etc. This helps keep the vocabulary applicable for a wide range of uses and furthering integration with other vocabularies.
However, it is often desirable to closed down a vocabulary with specific constraints to facilitate using the vocabulary for a specific purpose. This document specifies the constraints for using the OSLC SysML v2 vocabulary in OSLC. Different sets of constraints may be applied to a vocabulary in order to tailor its use, without overly constraining the vocabulary for other usages.
These constraints apply to the core vocabulary defined in OSLC SysML Version 2.0. Part 2: Vocabulary.
This section is non-normative.
Terminology is based on OSLC Core Overview [OSLCCore3], W3C Linked Data Platform [LDP], W3C's Architecture of the World Wide Web [WEBARCH], Hyper-text Transfer Protocol [HTTP11]. Terminology for this specification is defined in part 1 of the multi-part specification.
As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this specification are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
In addition to the namespace URIs and namespace prefixes oslc
, rdf
,
dcterms
and foaf
defined in the
OSLC Core specification, OSLC SysML v2 defines the namespace URI of http://open-services.net/ns/sysmlv2#
with a
namespace prefix of oslc_sysmlv2
This specification also uses these namespace prefix definitions:
http://open-services.net/ns/core#
[OSLCCore3]This section specifies the constraints for the SysML v2 resources. The resource properties are not limited to the ones defined in this specification, SysML v2 Servers may provide additional properties. It is recommended that any additional properties exist in their own unique namespace and not use the namespaces defined in these specifications.
http://open-services.net/ns/sysmlv2#AnnotatingElement
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
.http://open-services.net/ns/sysmlv2#EventOccurrenceUsage
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
.http://open-services.net/ns/sysmlv2#ConjugatedPortDefinition
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.http://open-services.net/ns/sysmlv2#ActionDefinition
ActionDefinition
is a Definition
that is also a Behavior
that defines an Action
performed by a system or part of a system.http://open-services.net/ns/sysmlv2#ReturnParameterMembership
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
.http://open-services.net/ns/sysmlv2#SuccessionAsUsage
SuccessionAsUsage
is both a ConnectorAsUsage
and a Succession
.http://open-services.net/ns/sysmlv2#InvocationExpression
InvocationExpression
is an Expression
each of whose input parameters
are bound to the result
of an argument
Expression.http://open-services.net/ns/sysmlv2#RequirementDefinition
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.http://open-services.net/ns/sysmlv2#ItemFlowEnd
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.http://open-services.net/ns/sysmlv2#Connector
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.http://open-services.net/ns/sysmlv2#FlowConnectionDefinition
FlowConnectionDefinition
is a ConnectionDefinition
and ActionDefinition
that is also an Interaction
representing flows between Usages
.http://open-services.net/ns/sysmlv2#VariantMembership
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
.http://open-services.net/ns/sysmlv2#NullExpression
NullExpression
is an Expression
that results in a null value.http://open-services.net/ns/sysmlv2#LiteralString
LiteralString
is a LiteralExpression
that provides a String
value as a result. Its result
parameter
must have the type String
.http://open-services.net/ns/sysmlv2#EnumerationUsage
EnumerationUsage
is an AttributeUsage
whose attributeDefinition
is an EnumerationDefinition
.http://open-services.net/ns/sysmlv2#OperatorExpression
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.http://open-services.net/ns/sysmlv2#BooleanExpression
BooleanExpression
is a Boolean
-valued Expression
whose type is a Predicate
. It represents a logical condition resulting from the evaluation of the Predicate
.http://open-services.net/ns/sysmlv2#StateDefinition
StateDefinition
is the Definition
of the Behavior of a system or part of a system in a certain state condition.http://open-services.net/ns/sysmlv2#NamespaceExpose
NamespaceExpose
is an Expose
Relationship
that exposes the Memberships
of a specific importedNamespace
and, if isRecursive = true
, additional Memberships
recursively.http://open-services.net/ns/sysmlv2#Specialization
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).http://open-services.net/ns/sysmlv2#LibraryPackage
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.http://open-services.net/ns/sysmlv2#ViewpointUsage
ViewpointUsage
is a Usage
of a ViewpointDefinition
.http://open-services.net/ns/sysmlv2#ConnectionDefinition
ConnectionDefinition
is a PartDefinition
that is also an AssociationStructure
. The end Features
of a ConnectionDefinition
must be Usages
.http://open-services.net/ns/sysmlv2#Relationship
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
.http://open-services.net/ns/sysmlv2#Intersecting
Intersecting
is a Relationship
that makes its intersectingType
one of the intersectingTypes
of its typeIntersected
.http://open-services.net/ns/sysmlv2#ParameterMembership
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
.http://open-services.net/ns/sysmlv2#Class
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.http://open-services.net/ns/sysmlv2#Subclassification
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
.http://open-services.net/ns/sysmlv2#Element
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.http://open-services.net/ns/sysmlv2#TransitionFeatureMembership
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
. .http://open-services.net/ns/sysmlv2#FeatureValue
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
.http://open-services.net/ns/sysmlv2#Comment
Comment
is an AnnotatingElement
whose body
in some way describes its annotatedElements
.http://open-services.net/ns/sysmlv2#FeatureChainExpression
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
.http://open-services.net/ns/sysmlv2#UseCaseUsage
UseCaseUsage
is a Usage
of a UseCaseDefinition
.http://open-services.net/ns/sysmlv2#DataType
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
.http://open-services.net/ns/sysmlv2#Expression
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.http://open-services.net/ns/sysmlv2#PartDefinition
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.http://open-services.net/ns/sysmlv2#SendActionUsage
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.http://open-services.net/ns/sysmlv2#LiteralExpression
LiteralExpression
is an Expression
that provides a basic DataValue
as a result.http://open-services.net/ns/sysmlv2#StakeholderMembership
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
.http://open-services.net/ns/sysmlv2#ReferenceUsage
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.http://open-services.net/ns/sysmlv2#AllocationDefinition
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.http://open-services.net/ns/sysmlv2#ReferenceSubsetting
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
.http://open-services.net/ns/sysmlv2#Invariant
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.http://open-services.net/ns/sysmlv2#Type
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
).http://open-services.net/ns/sysmlv2#AnalysisCaseUsage
AnalysisCaseUsage
is a Usage
of an AnalysisCaseDefinition
.http://open-services.net/ns/sysmlv2#FramedConcernMembership
FramedConcernMembership
is a RequirementConstraintMembership
for a framed ConcernUsage
of a RequirementDefinition
or RequirementUsage
.http://open-services.net/ns/sysmlv2#AssignmentActionUsage
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
.http://open-services.net/ns/sysmlv2#Package
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
.http://open-services.net/ns/sysmlv2#ItemFeature
ItemFeature
is the ownedFeature
of an ItemFlow
that identifies the things carried by the kinds of transfers that are instances of the ItemFlow
.http://open-services.net/ns/sysmlv2#ConstraintUsage
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.http://open-services.net/ns/sysmlv2#SubjectMembership
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
.http://open-services.net/ns/sysmlv2#FeatureInverting
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.http://open-services.net/ns/sysmlv2#ElementFilterMembership
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
.http://open-services.net/ns/sysmlv2#IncludeUseCaseUsage
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
.http://open-services.net/ns/sysmlv2#ItemUsage
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.http://open-services.net/ns/sysmlv2#TextualRepresentation
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.http://open-services.net/ns/sysmlv2#JoinNode
JoinNode
is a ControlNode
that waits for the completion of all the predecessor Actions
given by incoming Successions
.http://open-services.net/ns/sysmlv2#CalculationDefinition
CalculationDefinition
is an Function
producing a result
.http://open-services.net/ns/sysmlv2#ConjugatedPortTyping
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.).http://open-services.net/ns/sysmlv2#MergeNode
MergeNode
is a ControlNode
that asserts the merging of its incoming Successions
. A MergeNode
may have at most one outgoing Successions
.http://open-services.net/ns/sysmlv2#ConnectionUsage
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.http://open-services.net/ns/sysmlv2#NamespaceImport
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
.http://open-services.net/ns/sysmlv2#FeatureReferenceExpression
FeatureReferenceExpression
is an Expression
whose result
is bound to a referent
Feature
.http://open-services.net/ns/sysmlv2#AcceptActionUsage
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
.http://open-services.net/ns/sysmlv2#BindingConnector
BindingConnector
is a binary Connector
that requires its relatedFeatures
to identify the same things (have the same values).http://open-services.net/ns/sysmlv2#TriggerInvocationExpression
TriggerInvocationExpression
is an InvocationExpression
that invokes one of the trigger Functions
from the Kernel Semantic Library Triggers
package, as indicated by its kind
.http://open-services.net/ns/sysmlv2#ViewUsage
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.http://open-services.net/ns/sysmlv2#AttributeDefinition
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).http://open-services.net/ns/sysmlv2#Metaclass
Metaclass
is a Structure
used to type MetadataFeatures
.http://open-services.net/ns/sysmlv2#UseCaseDefinition
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.http://open-services.net/ns/sysmlv2#Step
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
.http://open-services.net/ns/sysmlv2#AssociationStructure
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.http://open-services.net/ns/sysmlv2#ResultExpressionMembership
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
.http://open-services.net/ns/sysmlv2#MembershipImport
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
.http://open-services.net/ns/sysmlv2#PortUsage
PortUsage
is a usage of a PortDefinition
. A PortUsage
itself as well as all its nestedUsages
must be referential (non-composite).http://open-services.net/ns/sysmlv2#ConstraintDefinition
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.http://open-services.net/ns/sysmlv2#SelectExpression
SelectExpression
is an OperatorExpression
whose operator is "select"
, which resolves to the Function
ControlFunctions::select
from the Kernel Functions Library.http://open-services.net/ns/sysmlv2#PortConjugation
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
.http://open-services.net/ns/sysmlv2#Succession
Succession
is a binary Connector
that requires its relatedFeatures
to happen separately in time.http://open-services.net/ns/sysmlv2#MetadataDefinition
MetadataDefinition
is an ItemDefinition
that is also a Metaclass
.http://open-services.net/ns/sysmlv2#IfActionUsage
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.http://open-services.net/ns/sysmlv2#TypeFeaturing
TypeFeaturing
is a Featuring
Relationship
in which the featureOfType
is the source
and the featuringType
is the target
.http://open-services.net/ns/sysmlv2#EndFeatureMembership
EndFeatureMembership
is a FeatureMembership
that requires its memberFeature
be owned and have isEnd = true
.http://open-services.net/ns/sysmlv2#AttributeUsage
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).http://open-services.net/ns/sysmlv2#Predicate
Predicate
is a Function
whose result
parameter
has type Boolean
and multiplicity 1..1
.http://open-services.net/ns/sysmlv2#MetadataAccessExpression
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
.http://open-services.net/ns/sysmlv2#Interaction
Interaction
is a Behavior
that is also an Association
, providing a context for multiple objects that have behaviors that impact one another.http://open-services.net/ns/sysmlv2#DecisionNode
DecisionNode
is a ControlNode
that makes a selection from its outgoing Successions
.http://open-services.net/ns/sysmlv2#CaseDefinition
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.http://open-services.net/ns/sysmlv2#WhileLoopActionUsage
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
.http://open-services.net/ns/sysmlv2#ExhibitStateUsage
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
.http://open-services.net/ns/sysmlv2#ViewDefinition
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.http://open-services.net/ns/sysmlv2#LifeClass
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
.http://open-services.net/ns/sysmlv2#RequirementConstraintMembership
RequirementConstraintMembership
is a FeatureMembership
for an assumed or required ConstraintUsage
of a RequirementDefinition
or RequirementUsage.
.http://open-services.net/ns/sysmlv2#OccurrenceUsage
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.http://open-services.net/ns/sysmlv2#RenderingDefinition
RenderingDefinition
is a PartDefinition
that defines a specific rendering of the content of a model view (e.g., symbols, style, layout, etc.).http://open-services.net/ns/sysmlv2#CalculationUsage
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.http://open-services.net/ns/sysmlv2#LiteralBoolean
LiteralBoolean
is a LiteralExpression
that provides a Boolean
value as a result. Its result
parameter
must have type Boolean
.http://open-services.net/ns/sysmlv2#LiteralRational
LiteralRational
is a LiteralExpression
that provides a Rational
value as a result. Its result
parameter
must have the type Rational
.http://open-services.net/ns/sysmlv2#Documentation
Documentation
is a Comment
that specifically documents a documentedElement
, which must be its owner
.http://open-services.net/ns/sysmlv2#ForkNode
ForkNode
is a ControlNode
that must be followed by successor Actions
as given by all its outgoing Successions
.http://open-services.net/ns/sysmlv2#Annotation
Annotation
is a Relationship between an AnnotatingElement
and the Element
that is annotated by that AnnotatingElement
.http://open-services.net/ns/sysmlv2#FeatureMembership
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
.http://open-services.net/ns/sysmlv2#Conjugation
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.http://open-services.net/ns/sysmlv2#SatisfyRequirementUsage
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
.http://open-services.net/ns/sysmlv2#AssertConstraintUsage
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
.http://open-services.net/ns/sysmlv2#FeatureTyping
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
.http://open-services.net/ns/sysmlv2#VerificationCaseDefinition
VerificationCaseDefinition
is a CaseDefinition
for the purpose of verification of the subject of the case against its requirements.http://open-services.net/ns/sysmlv2#Structure
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.http://open-services.net/ns/sysmlv2#ControlNode
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
.http://open-services.net/ns/sysmlv2#Membership
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
.http://open-services.net/ns/sysmlv2#RenderingUsage
RenderingUsage
is the usage of a RenderingDefinition
to specify the rendering of a specific model view to produce a physical view artifact.http://open-services.net/ns/sysmlv2#AllocationUsage
AllocationUsage
is a usage of an AllocationDefinition
asserting the allocation of the source
feature to the target
feature.http://open-services.net/ns/sysmlv2#Featuring
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
.http://open-services.net/ns/sysmlv2#Definition
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
).http://open-services.net/ns/sysmlv2#Usage
Usage
is a usage of a Definition
. A Usage
may only be an ownedFeature
of a Definition
or another Usage
.http://open-services.net/ns/sysmlv2#FlowConnectionUsage
FlowConnectionUsage
is a ConnectionUsage
that is also an ItemFlow
.http://open-services.net/ns/sysmlv2#CollectExpression
CollectExpression
is an OperatorExpression
whose operator
is "collect"
, which resolves to the Function
ControlFunctions::collect
from the Kernel Functions Library.http://open-services.net/ns/sysmlv2#RequirementVerificationMembership
RequirementVerificationMembership
is a RequirementConstraintMembership
used in the objective of a VerificationCase
to identify a RequirementUsage
that is verified by the VerificationCase
.http://open-services.net/ns/sysmlv2#StateUsage
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
.http://open-services.net/ns/sysmlv2#BindingConnectorAsUsage
BindingConnectorAsUsage
is both a BindingConnector
and a ConnectorAsUsage
.http://open-services.net/ns/sysmlv2#InterfaceDefinition
InterfaceDefinition
is a ConnectionDefinition
all of whose ends are PortUsages
, defining an interface between elements that interact through such ports.http://open-services.net/ns/sysmlv2#MetadataUsage
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.http://open-services.net/ns/sysmlv2#ItemFlow
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.http://open-services.net/ns/sysmlv2#FeatureChaining
FeatureChaining
is a Relationship
that makes its target Feature
one of the chainingFeatures
of its owning Feature
.http://open-services.net/ns/sysmlv2#Differencing
Differencing
is a Relationship
that makes its differencingType
one of the differencingTypes
of its typeDifferenced
.http://open-services.net/ns/sysmlv2#SuccessionItemFlow
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.http://open-services.net/ns/sysmlv2#MultiplicityRange
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.http://open-services.net/ns/sysmlv2#LiteralInfinity
LiteralInfinity
is a LiteralExpression
that provides the positive infinity value (*
). It's result
must have the type Positive
.http://open-services.net/ns/sysmlv2#InterfaceUsage
InterfaceUsage
is a Usage of an InterfaceDefinition
to represent an interface connecting parts of a system through specific ports.http://open-services.net/ns/sysmlv2#PerformActionUsage
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
.http://open-services.net/ns/sysmlv2#TransitionUsage
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.http://open-services.net/ns/sysmlv2#VerificationCaseUsage
VerificationCaseUsage
is a Usage of a VerificationCaseDefinition
.http://open-services.net/ns/sysmlv2#PortDefinition
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.http://open-services.net/ns/sysmlv2#LiteralInteger
LiteralInteger
is a LiteralExpression
that provides an Integer
value as a result. Its result
parameter
must have the type Integer
.http://open-services.net/ns/sysmlv2#ViewpointDefinition
ViewpointDefinition
is a RequirementDefinition
that specifies one or more stakeholder concerns that are to be satisfied by creating a view of a model.http://open-services.net/ns/sysmlv2#LoopActionUsage
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.http://open-services.net/ns/sysmlv2#MembershipExpose
MembershipExpose
is an Expose
importedMembership
and, if isRecursive = true
, additional Memberships
recursively.http://open-services.net/ns/sysmlv2#ActorMembership
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
.http://open-services.net/ns/sysmlv2#ViewRenderingMembership
ViewRenderingMembership
is a viewRendering
of a ViewDefinition
or ViewUsage
.http://open-services.net/ns/sysmlv2#Import
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
.http://open-services.net/ns/sysmlv2#Behavior
Behavior
coordinates occurrences of other Behaviors
, as well as changes in objects. Behaviors
can be decomposed into Steps
and be characterized by parameters
.http://open-services.net/ns/sysmlv2#Expose
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
).http://open-services.net/ns/sysmlv2#RequirementUsage
RequirementUsage
is a Usage
of a RequirementDefinition
.http://open-services.net/ns/sysmlv2#CaseUsage
CaseUsage
is a Usage
of a CaseDefinition
.http://open-services.net/ns/sysmlv2#OwningMembership
OwningMembership
is a Membership
that owns its memberElement
as a ownedRelatedElement
. The ownedMemberElement
becomes an ownedMember
of the membershipOwningNamespace
.http://open-services.net/ns/sysmlv2#Function
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
.http://open-services.net/ns/sysmlv2#Redefinition
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.http://open-services.net/ns/sysmlv2#AnalysisCaseDefinition
AnalysisCaseDefinition
is a CaseDefinition
for the case of carrying out an analysis.http://open-services.net/ns/sysmlv2#Unioning
Unioning
is a Relationship
that makes its unioningType
one of the unioningTypes
of its typeUnioned
.http://open-services.net/ns/sysmlv2#SuccessionFlowConnectionUsage
SuccessionFlowConnectionUsage
is a FlowConnectionUsage
that is also a SuccessionItemFlow
.http://open-services.net/ns/sysmlv2#Namespace
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
.http://open-services.net/ns/sysmlv2#Dependency
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
.http://open-services.net/ns/sysmlv2#OccurrenceDefinition
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.http://open-services.net/ns/sysmlv2#ForLoopActionUsage
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.http://open-services.net/ns/sysmlv2#MetadataFeature
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.http://open-services.net/ns/sysmlv2#ObjectiveMembership
ObjectiveMembership
is a FeatureMembership
that indicates that its ownedObjectiveRequirement
is the objective RequirementUsage
for its owningType
, which must be a CaseDefinition
or CaseUsage
.http://open-services.net/ns/sysmlv2#Feature
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
.
.http://open-services.net/ns/sysmlv2#EnumerationDefinition
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
.http://open-services.net/ns/sysmlv2#ActionUsage
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.http://open-services.net/ns/sysmlv2#Disjoining
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.http://open-services.net/ns/sysmlv2#Association
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.http://open-services.net/ns/sysmlv2#PartUsage
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
.http://open-services.net/ns/sysmlv2#Multiplicity
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
.
.http://open-services.net/ns/sysmlv2#ConcernDefinition
ConcernDefinition
is a RequirementDefinition
that one or more stakeholders may be interested in having addressed. These stakeholders are identified by the ownedStakeholders
of the ConcernDefinition
.http://open-services.net/ns/sysmlv2#ConcernUsage
ConcernUsage
is a Usage
of a ConcernDefinition
.http://open-services.net/ns/sysmlv2#Classifier
Classifier
is a Type
that classifies:.http://open-services.net/ns/sysmlv2#ItemDefinition
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.http://open-services.net/ns/sysmlv2#StateSubactionMembership
StateSubactionMembership
is a FeatureMembership
for an entry, do or exit ActionUsage of a StateDefinition
or StateUsage
.
.http://open-services.net/ns/sysmlv2#Subsetting
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
.http://open-services.net/ns/sysmlv2#ConnectorAsUsage
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
.OSLC SysML v2 servers MUST follow the constraints defined here where required, and with the meanings defined here.
OSLC SysML v2 servers MAY provide additional constraints for specific purposes.
Clause Number | Requirement |
---|---|
SML-172 | Short name identifying a resource, often used as an abbreviated identifier for presentation to end-users. SHOULD include only content that is valid inside an XHTML <span> element |