Relationship between UML and SYSML

The connection between UML and SysML

UML (Unified Modeling Language) and SysML (Systems Modeling Language) are two modeling-related languages ​​that are related and different.

SysML's graph classification is shown in the figure below.
SysML Diagram Taxonomy

connect

  • SysML is based on UML, which reuses a subset of UML 2 and provides additional extensions to meet the needs of the systems engineering field.
  • SysML retains some modeling constructs of UML and calls it the UML4SysML subset.
  • Both UML and SysML provide a general-purpose modeling language for describing the structure, behavior, and interactions of systems.
  • Both UML and SysML use graphical notation and rules to represent aspects of a system to aid developers and designers in system modeling and analysis.

the difference

  • UML is a more general modeling language that can be applied to the modeling and design of various software systems, with an emphasis on object-oriented analysis and design.
  • SysML is a modeling language specially used in the field of systems engineering, emphasizing the modeling and analysis of the structure, behavior and interaction of the system.
  • On the basis of reusing UML, SysML provides additional modeling constructs and extensions to meet the specific needs of the system engineering field.
  • SysML includes some structures of UML, and introduces some new structures and alternative structures to better support the needs of systems engineering.

Design Principles

The basic design principles of SysML are as follows:

  • Requirements Driven: SysML is designed to meet the requirements of the UML for SE RFP.
  • UML Reuse: SysML reuses UML wherever possible to meet RFP requirements. When modifications are required, SysML minimizes changes to the underlying language. Therefore, implementing SysML is relatively easy for vendors who support UML 2.
  • UML extensions: SysML extends UML according to the requirements of the RFP. The main extension mechanism is the UML 2 configuration mechanism, which is further detailed in Clause 17, "Profiles & Model Libraries".
  • Partition: Packet is the basic partition unit in this International Standard. Packages group model elements into logical collections to minimize circular dependencies between them.
  • Hierarchy: SysML packages are specified as extension layers of the UML metamodel.
  • Interoperability: SysML inherits the XMI exchange capability of UML. SysML is also designed to support interoperability with other engineering tools through the ISO 10303-233 data exchange standard.

SysML provides three model libraries:

  • PrimitiveValueTypes (primitive value types)
  • UnitAndQuantityKind (unit and dimension type)
  • ControlValues ​​(control value type)

architecture

The relationship between SysML and UML 2 is shown in the figure below. SysML extends the StandardProfile of UML 2, and the Trace and Refine stereotypes provide the basis for traceability in SysML.

Although SysML indirectly imports UML 2's PrimitiveTypes library due to the transitive nature of package imports, SysML provides a PrimitiveValueTypes model library that system engineers can extend through SysML's ValueType stereotype. In the remainder of this document, unqualified references to Boolean, Integer, Real, and String shall be interpreted as follows:

  • In the context of a SysML Stereotype definition, the name refers to the definition of UML::PrimitiveType in the UML 2 PrimitiveTypes library.
  • In other contexts, the name refers to the definition of the SysML::ValueType stereotype for UML::DataType in the SysML PrimitiveValueTypes library.

SysML Extension of UMLFigure

The design approach for SysML is to reuse a subset of UML and create extensions to support specific concepts that meet the requirements in the UML for SE RFP. The SysML package structure as shown in the figure below: The SysML Extension of UMLFigure contains a set of packages corresponding to the conceptual domains extended in SysML.

SysML Package Structure

The SysML package extends UML as follows:

  • SysML::Model Elements extends Classification and Common Structure.
  • SysML::Blocks扩展了Classification、Structured Classifiers、Common Structure、Simple Classifiers。
  • SysML::ConstraintBlocks extends Structured Classifiers.
  • SysML::Ports and Flows extends Actions, Common Behavior, Classification.
  • SysML::Activities extends Activities.
  • SysML::Allocations extends Common Structure, Activities.
  • SysML::Requirements扩展了Common Structure、Classification、Common Behavior、Structured Classifiers。
  • SysML::DeprecatedElements扩展了Common Structure、Simple Classifiers、Classification、Structured Classifiers、Actions和SysML Item Flows。

The figure below shows the non-normative packages in this International Standard, which depend on SysML and UML. Note that the QUDV and ISO-80000 libraries are described in the non-normative appendices of this specification.

Non-normative Package Structure

extension mechanism

This International Standard defines extensions to SysML using the following mechanisms:

  • UML stereotypes
  • UML diagram extensions
  • Model libraries

SysML stereotypes define new modeling constructs by extending existing UML 2 stereotypes and adding new attributes and constraints. The SysML diagram extension defines new diagram notations that complement those reused from UML 2. The SysML model library describes reusable specific model elements. Appendix E, "Non-Normative Extensions" also includes other non-normative extensions.

A SysML user model is created by instantiating its metamodel and applying the stereotypes specified in the SysML configuration file, optionally referencing or subclassing model elements in the SysML model library. Clause 17, "Profiles and Model Repositories" describes how to apply profiles and model repositories, and shows how SysML can be extended further.

The following metaclasses are convenient for query

UML2 metaclasses excluded from the UML4SysML subset

Artifact, ClassifierTemplateParameter, Collaboration, CollaborationUse,
CommunicationPath, Component, ComponentRealization,
ConnectableElementTemplateParameter, Deployment, DeploymentSpecification,
Device, ExceptionHandler, ExecutionEnvironment, ExpansionNode, ExpansionRegion,
Manifestation, Node, OperationTemplateParameter, ProtocolConformance,
ProtocolStateMachine, ProtocolTransition, QualifierValue,
ReadLinkObjectEndQualifierAction, RedefinableTemplateSignature, StringExpression,
TemplateBinding, TemplateParameter, TemplateParameterSubstitution,
TemplateSignature, UMLActivityDiagram, UMLAssociationEndLabel,
UMLAssociationOrConnectorOrLinkShape,
UMLAssociationOrConnectorOrLinkShapeKind, UMLBehaviorDiagram,
UMLClassDiagram, UMLClassifierShape, UMLCompartment,
UMLCompartmentableShape, UMLComponentDiagram,
UMLCompositeStructureDiagram, UMLDeploymentDiagram, UMLDiagram,
UMLDiagramElement, UMLDiagramWithAssociations, UMLEdge,
UMLInteractionDiagram, UMLInteractionDiagramKind, UMLInteractionTableLabel,
UMLKeywordLabel, UMLLabel, UMLMultiplicityLabel, UMLNameLabel,
UMLNavigabilityNotationKind, UMLObjectDiagram, UMLPackageDiagram,
UMLProfileDiagram, UMLRedefinesLabel, UMLShape, UMLStateMachineDiagram,
UMLStateShape, UMLStereotypePropertyValueLabel, UMLStructureDiagram,
UMLStyle, UMLTypedElementLabel, UMLUseCaseDiagram

UML 2 metaclasses and datatypes included in the UML4SysML subsetTable

Abstraction, AcceptCallAction, AcceptEventAction, Action,
ActionExecutionSpecification, ActionInputPin, Activity, ActivityEdge, ActivityFinalNode,
ActivityGroup, ActivityNode, ActivityParameterNode, ActivityPartition, Actor,
AddStructuralFeatureValueAction, AddVariableValueAction, AggregationKind,
AnyReceiveEvent, Association, AssociationClass, Behavior,
BehaviorExecutionSpecification, BehavioralFeature, BehavioredClassifier,
BroadcastSignalAction, CallAction, CallBehaviorAction, CallConcurrencyKind,
CallEvent, CallOperationAction, CentralBufferNode, ChangeEvent, Class, Classifier,
Clause, ClearAssociationAction, ClearStructuralFeatureAction, ClearVariableAction,
CombinedFragment, Comment, ConditionalNode, ConnectableElement,
ConnectionPointReference, Connector, ConnectorEnd, ConnectorKind,
ConsiderIgnoreFragment, Constraint, Continuation, ControlFlow, ControlNode,
CreateLinkAction, CreateLinkObjectAction, CreateObjectAction, DataStoreNode,
DataType, DecisionNode, Dependency, DeployedArtifact, DeploymentTarget,
DestroyLinkAction, DestroyObjectAction, DestructionOccurrenceSpecification,
DirectedRelationship, Duration, DurationConstraint, DurationInterval,
DurationObservation, Element, ElementImport, EncapsulatedClassifier, Enumeration,
EnumerationLiteral, Event, ExecutableNode, ExecutionOccurrenceSpecification,
ExecutionSpecification, Expression, Extend, Extension, ExtensionEnd, ExtensionPoint,
Feature, FinalNode, FinalState, FlowFinalNode, ForkNode, FunctionBehavior, Gate,
GeneralOrdering, Generalization, GeneralizationSet, Image, Include, InformationFlow,
InformationItem, InitialNode, InputPin, InstanceSpecification, InstanceValue,
Interaction, InteractionConstraint, InteractionFragment, InteractionOperand,
InteractionOperatorKind, InteractionUse, Interface, InterfaceRealization,
InterruptibleActivityRegion, Interval, IntervalConstraint, InvocationAction, JoinNode,
Lifeline, LinkAction, LinkEndCreationData, LinkEndData, LinkEndDestructionData,
LiteralBoolean, LiteralInteger, LiteralNull, LiteralReal, LiteralSpecification, LiteralString,
LiteralUnlimitedNatural, LoopNode, MergeNode, Message, MessageEnd,
MessageEvent, MessageKind, MessageOccurrenceSpecification, MessageSort, Model,
MultiplicityElement, NamedElement, Namespace, ObjectFlow, ObjectNode,
ObjectNodeOrderingKind, Observation, OccurrenceSpecification, OpaqueAction,
OpaqueBehavior, OpaqueExpression, Operation, OutputPin, Package, PackageImport,
PackageMerge, PackageableElement, Parameter, ParameterDirectionKind,
ParameterEffectKind, ParameterSet, ParameterableElement, PartDecomposition, Pin,
Port, PrimitiveType, PrimitiveTypes::Boolean, PrimitiveTypes::Integer,
PrimitiveTypes::Real, PrimitiveTypes::String, PrimitiveTypes::UnlimitedNatural,
PrimitiveValueTypes::Boolean, Profile, ProfileApplication, Property, Pseudostate,
PseudostateKind, RaiseExceptionAction, ReadExtentAction,
ReadIsClassifiedObjectAction, ReadLinkAction, ReadLinkObjectEndAction,
ReadSelfAction, ReadStructuralFeatureAction, ReadVariableAction, Realization,
Reception, ReclassifyObjectAction, RedefinableElement, ReduceAction, Region,
Relationship, RemoveStructuralFeatureValueAction, RemoveVariableValueAction,
ReplyAction, SendObjectAction, SendSignalAction, SequenceNode, Signal,
SignalEvent, Slot, StartClassifierBehaviorAction, StartObjectBehaviorAction, State,
StateInvariant, StateMachine, Stereotype, StructuralFeature, StructuralFeatureAction,
StructuredActivityNode, StructuredClassifier, Substitution, TestIdentityAction,
TimeConstraint, TimeEvent, TimeExpression, TimeInterval, TimeObservation,
Transition, TransitionKind, Type, TypedElement, UnmarshallAction, Usage, UseCase,
ValuePin, ValueSpecification, ValueSpecificationAction, Variable,VariableAction,
Vertex, VisibilityKind, WriteLinkAction, WriteStructuralFeatureAction,
WriteVariableAction

SysML stereotypes, blocks, valuetypes, and datatypes

AcceptChangeStructuralFeatureEventAction, AdjunctProperty, Allocate,
AllocateActivityPartition, BindingConnector, Block, BoundReference,
ChangeStructuralFeatureEvent, ClassifierBehaviorProperty, Conform,
ConnectorProperty, ConstraintBlock, Continuous, ControlOperator, ControlValueKind,
Copy, DeriveReqt, DirectedFeature, DirectedRelationshipPropertyPath, Discrete,
DistributedProperty, ElementGroup, ElementPropertyPath, EndPathMultiplicity, Expose,
FeatureDirectionKind, FlowProperty, FullPort, InterfaceBlock,
InvocationOnNestedPortAction, ItemFlow, NestedConnectorEnd, NoBuffer, Optional,
Overwrite, ParticipantProperty, PrimitiveValueTypes::Boolean,
PrimitiveValueTypes::Complex, PrimitiveValueTypes::Integer,
PrimitiveValueTypes::Number, PrimitiveValueTypes::Real, PrimitiveValueTypes::String,
Probability, Problem, PropertySpecificType, ProxyPort, Rate, Rationale, Refine,
Requirement, Satisfy, Stakeholder, TestCase, Trace, TriggerOnNestedPort, ValueType,
VerdictKind, Verify, View, Viewpoint

Reference: Chapter 4 of the sysml-specification-1.6 book

Articles are for learning reference only, not for commercial or other illegal activities

Guess you like

Origin blog.csdn.net/weixin_42727032/article/details/131724511