2. 系统建模语言SysML精要
SysML(Systems Modeling Language)是在UML 2.x基础上为系统工程领域定制的一门通用建模语言。理解SysML,首先要抓住它与UML的“继承与裁剪”关系:SysML复用了UML中成熟的表达机制,如类、关联、活动、状态、交互等,同时删去了与软件实现强绑定的部分(如UML中面向代码部署的构件图、部署图等),并新增了系统工程特有的需求图与参数图。因此,SysML不是另起炉灶,而是把UML从“软件系统”扩展到“跨学科复杂系统”,覆盖机械、电气、控制、软件、人因等多领域。
SysML的图分类通常按“结构、行为、需求、参数”四条主线组织。结构类图描述系统由什么组成、如何连接,包括块定义图(BDD)和内部块图(IBD);行为类图描述系统如何随时间运行,包括用例图、活动图、序列图和状态机图;需求图专门表达需求条目及其与设计元素之间的满足、验证、派生、细化等关系;参数图则把工程约束(如质量、功耗、力矩、成本)以数学关系绑定到结构模型上,使模型具备可计算、可权衡的能力。这四类图并非彼此孤立,而是围绕同一套模型元素协同工作。
块定义图(BDD)是SysML结构建模的起点。它用«block»定义系统或部件的类型,块内可声明值属性(如质量、功率)、端口(标准端口或代理端口)、操作与约束属性。块之间通过关联、组合、泛化建立关系:组合表示强归属(如无人机由机身、电池、电机组成),泛化表示分类继承(如多旋翼无人机是一种无人机)。BDD回答的是“系统由哪些类型的块构成、它们之间是什么静态关系”。
内部块图(IBD)则把BDD中的块“展开”,描述某个块内部由哪些部件实例组成、这些部件通过哪些连接器相连、端口之间如何传递流。IBD中的部件是角色,不是类型;连接器可以承载物料流、能量流、信号流或数据流。例如,在无人机IBD中,电池部件的电源端口通过连接器连到配电部件的输入端口,配电再连到电机,形成能量传递链。BDD与IBD配合,才能既说清类型结构,又说清实例连接。
行为类图从不同角度描述系统动态。用例图从外部视角界定系统边界与参与者目标,适合早期需求捕获;活动图描述控制流与数据流,支持动作、决策、分叉、汇合、对象流,常用于表达任务流程或算法逻辑;序列图强调交互的时间顺序,用生命线、消息、激活条表现对象之间按时间展开的调用或信号交换;状态机图描述一个对象在生命周期内的状态、事件、转移与动作,适合表达模式切换、故障恢复等离散行为。四者互补:用例图说“谁要什么”,活动图说“步骤怎么走”,序列图说“谁先跟谁交互”,状态机图说“对象处于什么状态、什么事件触发变化”。
需求图是SysML区别于UML的关键图之一。它把需求作为一等模型元素,用«requirement»表示,可包含标识、文本、来源、优先级等属性。需求之间可建立包含、派生、细化关系;需求与设计元素之间可建立满足(satisfy)、验证(verify)、追踪(trace)等关系。这样,需求不再是孤立文档,而是与块、活动、测试用例形成可追溯网络。当某个块被修改时,可以沿满足关系反查受影响的需求,支撑变更影响分析。
参数图把工程约束显式化。它用约束块(constraint block)封装方程或不等式,用约束属性表示方程中的变量,再通过绑定连接器把约束属性与块的值属性关联起来。例如,续航时间约束 T = E·η / P,其中 E 为电池能量、η 为能量转换效率、P 为平均功率。把 E、η、P 绑定到无人机块的值属性后,一旦给定具体数值,参数图即可求解 T,并判断是否满足“T ≥ 30 min”的需求。参数图使模型从“画结构”走向“可计算、可权衡”,是MBSE中连接设计与分析的关键桥梁。
从语义上看,SysML各图共享同一套模型仓库:BDD中定义的块,可以在IBD中实例化,可以在活动图中作为对象流节点,可以在序列图中作为生命线,可以在需求图中被满足,可以在参数图中被绑定。这种“同一元素、多视图表达”的能力,正是模型驱动系统工程的核心价值——模型不是图的集合,而是系统的一致抽象。