UML与SYSML的关系

news2025/1/10 19:19:28

UML与SysML的联系

UML(统一建模语言)和SysML(系统建模语言)是两种与建模相关的语言,它们之间存在联系和区别。

SysML的图分类如下图所示。
SysML Diagram Taxonomy

联系

  • SysML是基于UML的,它重用了UML 2的子集,并提供了额外的扩展来满足系统工程领域的需求。
  • SysML保留了UML的一些建模构造,并将其称为UML4SysML子集。
  • UML和SysML都提供了一种通用的建模语言,用于描述系统的结构、行为和交互。
  • UML和SysML都使用图形符号和规则来表示系统的各个方面,以帮助开发人员和设计师进行系统建模和分析。

区别

  • UML是一种更通用的建模语言,可应用于各种软件系统的建模和设计,重点是面向对象分析与设计。
  • SysML是一种专门用于系统工程领域的建模语言,强调系统的结构、行为和交互的建模和分析。
  • SysML在重用了UML的基础上,提供了额外的建模构造和扩展,以满足系统工程领域的特定需求。
  • SysML包括了UML的一部分构造,并引入了一些新的构造和替代构造,以更好地支持系统工程的需求。

设计原则

SysML的基本设计原则如下:

  • 需求驱动:SysML旨在满足UML for SE RFP的需求。
  • UML重用:SysML在尽可能的情况下重用UML,以满足RFP的需求。当需要进行修改时,SysML会尽量减少对底层语言的更改。因此,对于支持UML 2的供应商来说,实施SysML相对容易。
  • UML扩展:SysML根据RFP的需求对UML进行扩展。主要的扩展机制是UML 2的配置机制,在第17条“Profiles & Model Libraries”中进一步进行了详细说明。
  • 分区:包是这个国际标准中的基本分区单位。包将模型元素分组成逻辑集合,以最小化它们之间的循环依赖。
  • 层次结构:SysML包被指定为UML元模型的扩展层。
  • 互操作性:SysML继承了UML的XMI交换能力。SysML还旨在通过ISO 10303-233数据交换标准来支持与其他工程工具的互操作性。

SysML提供了三个模型库:

  • PrimitiveValueTypes(原始值类型)
  • UnitAndQuantityKind(单位和量纲类型)
  • ControlValues(控制值类型)

架构

SysML与UML 2之间的关系如下图所示。SysML扩展了UML 2的StandardProfile,其中的Trace和Refine stereotypes为SysML中的需求追踪提供了基础。

虽然SysML由于包导入的传递性间接导入了UML 2的PrimitiveTypes库,但SysML提供了一个PrimitiveValueTypes模型库,系统工程师可以通过SysML的ValueType stereotype来扩展它。在本文档的其余部分,对Boolean、Integer、Real和String的未限定引用应按如下方式解释:

  • 在SysML Stereotype定义的上下文中,名称引用了UML 2 PrimitiveTypes库中UML::PrimitiveType的定义。
  • 在其他上下文中,名称引用了SysML PrimitiveValueTypes库中UML::DataType的SysML::ValueType stereotype的定义。

SysML Extension of UMLFigure

SysML的设计方法是重用UML的子集,并创建扩展来支持满足UML for SE RFP中需求的特定概念。如下图所示的SysML包结构:SysML Extension of UMLFigure包含一组与SysML中扩展的概念领域对应的包。

SysML Package Structure

SysML的包扩展了UML如下:

  • SysML::Model Elements扩展了Classification、Common Structure。
  • SysML::Blocks扩展了Classification、Structured Classifiers、Common Structure、Simple Classifiers。
  • SysML::ConstraintBlocks扩展了Structured Classifiers。
  • SysML::Ports and Flows扩展了Actions、Common Behavior、Classification。
  • SysML::Activities扩展了Activities。
  • SysML::Allocations扩展了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。

下图显示了本国际标准中非规范的包,这些包依赖于SysML和UML。请注意,QUDV和ISO-80000库在本规范的非规范附录中进行了描述。

Non-normative Package Structure

扩展机制

本国际标准使用以下机制来定义SysML的扩展:

  • UML stereotypes
  • UML diagram extensions
  • 模型库(model libraries)

SysML构造型通过扩展现有的UML 2构造型,并添加新的属性和约束,来定义新的建模构造。SysML图扩展定义了新的图形符号,补充了从UML 2重用的图形符号。SysML模型库描述了可重用的特定模型元素。附录E“非规范扩展”中还包括其他非规范的扩展。

SysML用户模型是通过实例化其元模型并应用SysML配置文件中指定的构造型来创建的,可以选择性地引用或子类化SysML模型库中的模型元素。第17条“配置文件和模型库”描述了如何应用配置文件和模型库,并说明了如何进一步扩展SysML。

以下metaclasses方便查询

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

参考:sysml-specification-1.6书中第四章

文章仅供学习参考使用,勿用做商业或其他违法活动

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/753987.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL持久化数据——主从分离 Linux下创建2个MySQL的Docker容器 挂载方式启动 配置主从

目录 引出数据库的事务1.原子性2.一致性3.隔离性4.持久性 MySQL持久化数据0.在宿主机centos创建主的文件夹1.拷贝my.cnf配置文件2.挂载方式启动主mysql3.修改my.cnf文件的权限【bug】mysql: [ERROR] unknown variable server-id200. 3.修改主的my.cof文件4.创建主从账号slave5.…

Mysql索引实战

Mysql索引实战 一:概述1.1 索引如何提高查询效率: 二:结构2.1 主要索引结构2.2 详解BTree2.2.1 二叉树2.2.2 红黑树2.2.3 B-Tree2.2.4 BTree2.2.5 为什么InnoDB存储引擎选择使用Btree索引结构? 三:索引分类3.1 按照作用…

使用fast测试的错误

错误:Connection refused: connect 分析&解决 检查服务的端口号和fast生成请求时的端口号是否一致,不一致会报上面的错误 分析:设置服务配置的方法很多,可以写在配置文件里,也可以写在命令行里,当有多…

windows nodejs 版本切换

一、按健winR弹出窗口,键盘输入cmd,然后敲回车。然后进入命令控制行窗口,并输入where node查看之前本地安装的node的路径。 二、找到上面找到的路径,将node.exe所在的父目录里面的所有东西都删除。 三、从官网下载安装包 https://github.com/…

轻量级性能测试工具 wrk 应该如何使用?

项目设计之初或者是项目快要结束的时候,大佬就会问我们,这个服务性能测试的结果是什么,QPS 可以达到多少,RPS 又能达到多少?接口性能可以满足未来生产环境的实际情况吗?有没有自己测试过自己接口的吞吐量&a…

MongoDB安装配置教程(详细版)

前言:MongoDB是前端开发人员普遍使用的数据库,因为MongoDB不需要图形界面,是一个基于分布式文件存储的开源数据库系统。MongoDB 将数据存储为一个文档,数据结构由键值对(key>value)组成;MongoDB 文档类似于 JSON 对…

Flutter:自定义错误显示

为什么要自定义错误处理 以下面数组越界的错误为例&#xff1a; class _YcHomeBodyState extends State<YcHomeBody> {List<String> list [苹果, 香蕉];overrideWidget build(BuildContext context) {return Center(child: Column(children: [Text(list[0]),Tex…

小区物业管理信息系统设计与实现(论文+源码)

小区物业管理信息系统设计与实现(论文源码) 本篇 论文源码私我 以上内容只是精简版 还有很多原创类型论文 摘 要 随着互联网的发展&#xff0c;网络技术的发展变得极其重要&#xff0c;所以依靠计算机处理业务成为了一种社会普遍的现状。管理方式也自然而然的向着现代化技术方…

python_day8_timeline

带时间线的柱状图 导包 from pyecharts.charts import Bar, Timeline from pyecharts.options import * from pyecharts.globals import *创建柱状图1 bar1 Bar() bar1.add_xaxis([中国, USA, 不列颠]) bar1.add_yaxis(GDP, [30, 20, 10],label_optsLabelOpts(position&quo…

【Linux详解】——文件系统(磁盘结构、软硬链接、动静态库)

&#x1f4d6; 前言&#xff1a;本期介绍文件系统。 目录 &#x1f552; 1. 磁盘结构&#x1f558; 1.1 物理结构&#x1f558; 1.2 存储结构&#x1f558; 1.3 逻辑结构 &#x1f552; 2. 文件系统&#x1f558; 2.1 对 IO 单位的优化&#x1f558; 2.2 磁盘分区与分组&#x…

一套电子病历系统源码(EMR)

EMR电子病历系统源码 电子病历系统面向门诊医生和病房临床医生&#xff0c;实现了医生日常阅读、书写病历和医院管理病历的需求&#xff0c;它包括知识库管理、病历模版制作、医生书写病历、开各种检查检验申请单、查询各种报告单、电子病历浏览、病历质量控制等功能。 它将病…

JMeter基础 — JMeter聚合报告详解

提示&#xff1a;聚合报告组件的使用和察看结果树组件的使用方式相同。本篇文章主要是详细的介绍一下聚合报告组件内容&#xff0c;不做示例演示。 1、聚合报告介绍 在使用JMeter进行性能测试时&#xff0c;聚合报告(Aggregate Report)可以说是必用的监听器。 &#xff08;1&…

【微信小程序创作之路】- 小程序窗口整体配置(导航栏、标题)

【微信小程序创作之路】- 小程序窗口导航栏配置 第五章 微信小程序窗口导航栏配置 文章目录 【微信小程序创作之路】- 小程序窗口导航栏配置前言一、入口文件的配置二、页面配置三、全局默认窗口配置1.navigationBarTitleText&#xff1a;导航栏标题文字2.navigationBarBackgr…

基于ChatGPT上线《你说我猜》小游戏

摘要 AIGC、GPT、休闲小游戏三者可以怎么结合&#xff1f; AIGC、GPT与小游戏的结合为游戏体验带来了新的可能性。AIGC&#xff08;Artificial Intelligence Game Content&#xff09;作为一种人工智能技术&#xff0c;可以自动生成任务、剧情和角色对话等游戏元素&#xff0c…

安卓:Fragment

一、Fragment介绍 Fragment 是 Android 平台上的一种 UI 组件&#xff0c;用于构建灵活且可复用的界面模块。每个 Fragment 都有自己的生命周期&#xff0c;可以嵌入到 Activity 中&#xff0c;并在一个 Activity 内部管理其自己的布局和行为。通过使用 Fragment&#xff0c;可…

1000多道大厂Java真题汇总。刷完这一套高质量题集,这个金九银十妥妥的

又是一年金九银十&#xff01; 纵观今年的技术招聘市场&#xff0c;Java依旧是当仁不让的霸主&#xff01;即便遭受Go等新兴语言不断冲击&#xff0c;依旧岿然不动。究其原因&#xff1a; Java有着极其成熟的生态&#xff0c;这个不用我多说&#xff1b;Java在运维、可观测性…

el-table实现动态表头,自定义斑马纹等功能

需求&#xff1a;1.根据选择的日期时间&#xff0c;实现表头的动态显示功能 2.修改默认表头灰色样式&#xff0c; 3.斑马纹偶数灰色改为奇数为灰色 4.表格某一行加分割线区分 1.效果 2.动态表格实现 1.height&#xff1a;表格的高度设置&#xff0c;内容超出后会显示滚动条&a…

类和对象(二)

目录 一、类的六个默认成员函数 二、构造函数 2.1 概念 2.2 特性 三、析构函数 3.1 概念 3.2 特性 四、拷贝构造函数 4.1 概念 4.2 特性 五、赋值运算符重载 5.1 运算符重载 5.2 赋值运算符重载特性 六、const修饰成员函数 七、取地址及const取地址操作符重载 一…

Html基础知识学习——css精灵(十五)

这里写自定义目录标题 定义示例一示例二 定义 将网页用到的图片放在一张图片上&#xff0c;进行定位展示 优点:防止网页http请求次数过多&#xff0c;从而提高页面性能 缺点&#xff1a;降低开发效率。维护难度加大 示例一 使用图 网页制作图 <!DOCTYPE html> <…

如何能够极速浏览大体积tif影像文件?

在无人机航拍的高清正射影像中&#xff0c;大体积文件是普遍现象&#xff0c;几十GB的TIFF文件很常见。常规的浏览方式特别容易导致卡顿&#xff0c;用户需要花费半天时间等待影像图的呈现。 建议您尝试将tiff格式快速转换为mbtiles或lrp格式&#xff0c;mbtiles和lrp格式专门…