MBSE建模语言:基于OPM的概念建模语言研究
关键词: 对象过程方法(object-process methodology); 对象过程语言(object-process language); 事物(thing); 信息( information); 概念模型(conceptual model); 构造型(stereotype)
引 言
对象过程方法(Object-Process Methodology, OPM) 是Dov Dori提出的一种概念建模方法. OPM既是一种方法论, 又是一种建模语言. 作为方法论, OPM与面向对象方法等方法论相对应; 作为建模语言, OPM与统一建模语言(Unified Modeling Language, UML) 及系统建模语言(Systems Modeling Language, SysML) 等建模语言相对应. 不同建模语言依据各自的方法论定义语言的数据结构和元模型语义. OPM已经被认定为国际标准“自动化系统与集成-对象过程方法” (ISO/PAS 19450: 2015) . 据ESML网站(https://esml.technion.ac.il/research-areas/) 发布的消息, 该标准将修订换版为ISO/PAS 19450: 202x, 这次修订将主要增加计算功能. 在ISO/PAS 19450: 2015 基础上阐述语义方面的相关改进问题, 主要针对现有语言无法区分影响链接的方向、无法区分变换过程和观测过程、欠缺计算功能等问题. 关于计算功能, 与ISO/PAS 19450: 202x针对的问题相似, 但对语言的改进方案不同. ISO/PAS 19450: 202x在2015版基础上增加计算功能(模型示例见图1), 但没有更改基础语法, 仍然用手段链接表示输入(自变量), 用生成链接表示输 出(因变量), 这使其局限于只能描述显式函数. 将关联算子过程与一般性关联关系结合, 不仅能描述显式函数, 也能描述隐式函数, 还能描述逻辑关系、复杂映射等一般性的定量关系.
图 1 ISO/PAS 19450: 202x的计算功能示例
为了论述方便, 将OPM涉及的工程语言称为“对象过程语言”(Object-Process Language, OPL). 除特别说明外, 所有模型元素符号及其语义定义符合ISO/PAS 19450: 2015. 涉及的符号及其语义见图2.
图 2 OPL部分语义及其符号
OPM将对象、过程和关系称为最小通用本体(minimal universal ontology), 以此为基础构建形式化语义体系. 最小通用本体的语义锚定物理世界而不是形而上学 , 最小通用本体不同于纯粹概念推论的哲学本 体论(Ontology) , 最小通用本体实际上是事物的基础抽象特征. 相关论述将最小通用本体作为论证对象和论证基础. 通过建模实例识别建模语言方面的问题, 并分析其原理, 提出对OPL的扩展方案.
2 观测过程和描述关系
2.1 描述观测过程的语言障碍
用电水壶烧水是生活中常见的场景. 用OPL语言对电水壶烧水案例作概念建模如图3, 这个模型能代表影响链接相关事物及其关系的典型框架. OPM模型图文双模式且图文等价 , 可视化模型与形式化文本相对应, 且两者内容完全相同. 所采用的保留字和标准句式是自然语言的形式化精炼子集.
图 3 电水壶烧水概念模型
6) 测温需要水温.
OPL是自然语言的形式化精炼子集. 形式化让OPL描述的内容具备数学严谨性; 作为自然语言的子集, 用OPL描述的内容能按照自然语言( 即母语) 理解. 在扩展OPL语言时, OPL的上述双重特征提供了验证语言扩展方案合理性的方法: 当模型内容用OPL展示为自然语言文本时, 如果内容充分、准确、无歧义, 则证 明OPL语言本身是合理的; 反之, 如果某些认识难以用OPL表达, 或表达结果有歧义, 则可以认为OPL本身需要完善. 利用典型模型的OPT描述作为工具, 识别OPL的局限性, 并验证OPL扩展方案的合理性. 分析对应图3中手段链接的三处文本, “加热需要电水壶”和“测温需要温度计”是准确的描述, 但是“测温需要水温”却令人费解. 实际上测温过程并不需要水温. 即使没有水温, 测温过程仍会进行, 只不过测温结果反映的是环境温度而不是水的温度. 假如“测温”过程与“水温”对象之间不用手段链接, 改为用影响链接(见图4) 表示测温过程所指向的客体事物, 则对应的文本将变为“测温影响水温”. 但是, 影响水温的是“加热”过程而不是“测温”过程, “测温”过程 仅仅获取对水温的描述信息即“温度值”, 并不影响水温. 图3所述语义仅仅是不准确, 而图4所述语义则是完全错误的, 它混淆了“加热”和“测温”两种过程的效果.
图 4 观测过程的语义矛盾
为了描述测温过程与水温对象之间的关系, 按照当前版本的OPL语言, 没有更准确的建模方式.
2.2 描述观测过程的语义逻辑
在OPM中, 将过程定义为“过程是变换对象的事物”, 并进一步定义: 变换是指一个对象的创造(建立、产生) 、消耗(消除、销毁) 或是现有对象的影响(状态变化). 对于图3示例, 加热过程确实符合OPM对过程的定义, 因为加热过程改变了水的温度. 但是就测温过程与水温的关系来说并不符合过程的定义. 测温过程并不变换水温, 测温过程只是获取关于水温的信息. 而且测温过程不是只涉及一个对象, 而是同时涉及两个对象, 一个是水温, 另一个是描述水温的温度值. 可见, 有必要扩展对“过程”的定义, 除了“变换过程”以外, 需要增加“过程”的构造型(Stereotype) , 以描 述“测温”这类过程. “测温”过程可泛化为一般性的“观测”过程.
2.3 描述观测过程的语言优化方案
将过程分为“变换过程”和“观测过程”两种构造型(如图5) 可以解决该问题. 变换过程涉及被变换的对象, 观测过程则至少涉及被观测的对象和观测所获取的信息对象.
图 5 观测过程作为过程的构造型
3) 观测过程生成描述特征的信息.
因为观测过程同时涉及“事物的特征”与“描述特征的信息”这两种对象, 为了在模型中显性体现观测过程、事物的特征与描述事物特征的信息这三种模型元素之间的关联关系, 至少需要增加一个符号. 备选方 案一, 增加一个符号从“观测过程”指向被观测的“事物的特征”; 备选方案二, 增加一个符号连接“事物的特 征”和“描述特征的信息”. 因为“事物的特征”和“描述特征的信息”是一一对应的, 如果定义了两者之间的对应关系, 就同步隐性描述了“观测过程”与其指向的被观测的“事物的特征”. 故采用方案二是比较合理的. 增 加一个“描述链接”符号, 连接“事物的特征”和“描述事物特征的信息”(如图6), 对应的OPT为“描述特征的信息描述事物的特征”, 实例如“温度值描述水温”, 语言的保留字为“描述”.
图 6 描述链接与观测过程之间的逻辑关系
2.4 对“描述链接”语义作用的验证
按照该方案将图3更改为图7所示模型, OPT内容由“测温需要水温”改为“温度值描述水温”, 其他内容不变.
图 7 描述链接模型示例
6) 测温需要温度计.
对照图7与相应的OPT文本可见, 增加“观测”过程构造型和“描述”链接关系后, 概念模型能更准确地描述相关事物之间的逻辑关系.
2.5 关于描述链接的理论分析
只要某个对象是“描述特征的信息”, 而且某个过程通过生成链接符号指向该对象(该对象作为相应过 程的生成结果), 则意味着该对象是观测结果, 相应的过程是观测过程. 观测过程是过程的构造型(类型, 或 称为“版型”, stereotype). 过程是变换对象的事物, 变换是指一个对象的创造(建立、产生)、消耗(消除、销 毁)或是现有对象的影响(状态变化). 而观测过程是一种特殊的“产生过程”, 其特殊性在于所产生的事物是 信息, 而不是物质或能量. 增加一个构造型将让语义更细致, 能更准确地表达人的认识. 当然, 细致与简洁是矛盾的. 简洁是OPL的突出优点之一, 在扩展OPL时仍然要继承这个优点, 除非绝对必要则不增加构造型.描述链接关系是物理域与信息域的分水岭, 被描述的对象可以是物理事物或信息, 但描述的结果只能是 信息, 而不能是物理事物. 事物特征与信息之间的描述链接关系让物理事物特征与描述该特征的信息能同时体现在模型中, 而不是必须选择描述一个并忽视另一个.在对系统作概念建模时, 通常总是从描述物理事物及其相互关系开始, 然后识别并描述物理事物的特征, 再通过观测过程获取描述物理事物特征的信息. 这样的模型层次结构使模型始终锚定物理世界, 尽量避免与物理世界不符合的主观认识影响模型的客观性.在用OPL作概念建模时, “认识”是一种特殊的观测过程, “ 认识”过程所观测的对象是描述事物特征的信息, 所获取的结果是对事物特征之间相关性的认识及描述(图8, 图中左半部分是OPL 模型) . 知识(特指经验知识 而非先验知识) 是对事物之间或事物特征之间的关系有依据的认识. 递归地运用认识过程, 获取的知识的抽象层级将逐级递增.
图 8 事物的层级
按照信息主导论, 信息包括信号、知识、定势和符号四种形态 . 信号是被生命体接收及识别的、暴露了物理事物特征的能量形式, 是信息的物理形态, 也是信息的基础形态. 知识是人对事物之间或事物特征之间关系的有依据的认识结果. 定势是对知识的应用方法. 符号是对信息作编码描述并支持信息交换的工 具. 由此可见, 观测过程所获取的信息是信号, 信号暴露事物的特征, 信号是各类信息的源头. 在概念模型中, 信号发挥着衔接物理域和信息域的桥梁作用. 信息的抽象层级按照信号、知识和定势逐级递增.物理事物、物理事物的特征、对事物特征的描述(信号) 、知识和定势依次递进并相互衔接, 共同构成概念模型的整体框架, 符号则作为描述模型内容的编码工具. 需要说明的是语言就是某种符号体系(语义) 及其使用规则(语法).
3 关联算子
3.1 描述定量关系的语言障碍
仍以烧水为例, 烧水时, 水的升温速度主要由加热功率、水的质量和水的比热共同决定. 对于概念建模, 这个规律(知识) 是需要描述的重要内容. 按照OPL当前版本(ISO/PAS 19450: 2015) 对这个规律建模如图9.
图 9 描述定量关系的局限性
与“速度值v”相关的单向关联关系对应的OPT为: “速度值v关联着功率值p、温度值t、质量值m和比热比k”. 可见在建模时只能对速度值v、功率值p、温度值t、质量值m和比热比k之间的关系作定性描述, 不 能作细地定量描述.
3.2 描述定量关系的语义逻辑
OPL当前版本不能对事物特征之间客观关系作定量描述, 是因为语言中缺乏描述这类关系的元模型. 假如用图9所示单向关联关系(或双向关联关系)对多个对象之间的关系建模, 只能描述相关对象之间有某种关系, 却不能严谨地描述是什么关系. 如果对关联关系用自定义文字作辅助描述, 这种描述也不是形式化的, 仍然容易产生歧义.
3.3 描述定量关系的语言优化方案
在语言中增加“关联算子”过程构造型, 利用“关联算子”过程描述事物特征之间的关联关系. 关联算子所涉及的事物特征参数可以是任何类型, 如数值型、字符型、枚举型等. 这将使关联算子不仅能描述事物特 征之间的定性关系, 还能描述事物特征之间的定量关系.
3.4 对“关联算子过程”的验证
利用”关联算子”过程更改图9所示模型, 得到图10所示模型. 在“关联算子”过程中可以细化定量描述各参数之间的关系: v = p/(km), 0℃≤ t ≤100℃
图 10 用关联算子描述数值关系
用关联算子过程不仅能描述数值型对象之间的关系, 还可以描述其他类型(如字符型等) 对象之间的各 种关系, 如映射关系(见图11) .
图 11 用关联算子描述映射关系
3.5 关于关联算子过程的理论分析
知识是人对事物之间或事物特征之间关系的有依据的认识结果, 可见关联算子就是对知识的定量描述形式. 关联算子支持用数学工具定量描述知识, 使概念建模的形式化描述手段更丰富. 其实所谓“形式化”本质就是用严谨的数学语言描述内容.进一步考察图10所示模型, 将发现用关联算子可以描述接口或端口. 例如按照图10所示模型结构定义传感器和计算机, 传感器获取的信号作为计算机的输入, 将构成完整的信息 采集及处理系统模型, 如图12.
图 12 用关联算子描述接口
4 限定影响链接的方向性
4.1 区分两种影响的语言障碍
通常用电水壶烧水不是绝热加热过程, 环境温度会影响加热速度. 当考虑环境事物的影响时, 需要在模型中补充相关定义, 如图13, 希望表达的语义是“加热影响水温, 环境温度影响加热”. 实际上按照OPL语言的语法, 图13所示模型对应的OPT是: “加热影响水温, 加热影响环境温度” . 这显然与所要表达的本意不符合.
图 13 影响链接的语义混淆
4.2 区分两种影响的语义逻辑
在当前版本的OPL语言中, “影响链接”只能描述过程对对象的影响, 而不能描述对象对过程的影响, 所使用的双向空心箭头符号不能限定影响链接的方向.
4.3 区分两种影响的语言优化方案
限定影响链接的方向, 将影响链接划分为两个类型, 一个类型是从过程指向对象, 另一个类型是从对象指向过程. 因为单向空心箭头已经用于描述“消耗/生成”链接, 为了避免符号多义, 本文将影响链接的两个类 型用单向实心箭头表示.
4.4 对两种影响语义的验证
用图14所示模型验证改进方案, 图14对应的OPT与所要表达的建模意图是一致的.
图 14 单向影响
4) 环境温度影响加热.
4.5 对语言改进方案的综合验证
综合运用上述对OPL的扩展方案, 对图10所示模型更改如图15.
图 15 对OPL改进方案的综合验证
11) 功率值p、速度值v、温度值t、质量值m 和比热比k 通过关联算子f(p, v, t, m, k)关联.
对OPL当前版本所作的扩展主要是细分模型元素的构造型, 并未在更细层级上增加基本语义. 通过建模 实验验证了所述更改不会破坏OPL简洁性优点, 同时使所要表达的逻辑关系更加清晰. 在对复杂的航空电子 系统进行概念建模时, 也同样验证了对OPL语言扩展定义的必要性、可行性和有效性.
4.6 对语言改进方案的综合理论分析
对象影响过程, 通常意味着所要表达的是对象直接影响过程的特征, 而不是直接影响与该过程相关的其 他对象. 如图13所示模型中“环境温度影响加热”, 是指直接影响“升温速度”. 如果需要进一步明确描述, 则可以用关联关系算子描述“环境温度”与“升温速度”之间的关系.
5 对语言的整体运用
主体链接、手段链接、影响链接和生成/消耗链接主要用于区分与某个过程相关事物针对该过程的角色(图16), 与人的主观认识和主观愿望相关; 事物、事物的特征、描述事物特征的信息与关联算子过程依次衔接起来, 用于揭示事物之间的客观性关联关系(图17). 这两个方面结合起来, 既包括人的主观认识及愿望, 又包括事物之间客观关系, 在整体上覆盖了人造系统概念模型所需要描述的全部内容. 扩展后的对象过程 语言能为概念模型内容的充分性、准确性和细致性提供更有力地支持.
图 16 多种角色
图 17 事物之间的客观性关系
将多个关联算子通过某些特征值彼此连接, 重点考察这些关联算子之间的关系, 模型将体现面向过程方法(结构化方法) 建模的特点 . 图8和图17集中体现了扩展后的OPL相对ISO/PAS 19450: 2015的改进.
6 总结
建模语言是基于模型的系统工程(MBSE)的基石. 在保持对象过程语言(ISO/PAS 19450: 2015) 特色和优点前提下, 增加观测过程构造型和关联算子过程构造型, 限定影响链接关系的方向, 让对象过程语言所能表达的内容更充分、准确、细致. 为阐述问题并证明改进方案的有效性, 利用典型案例开展验证工作. 案例虽然简单, 但揭示了语言的底层逻辑, 具有代表性, 可作为一般性应用参考.仅仅开展语言方面的研究和改进, 其局限性是显而易见的. 对建模语言的改进需要体现在建模软件工具中, 并与建模方法共同促进MBSE实践 . 面向对象方法是应对系统复杂性的有效建模方法. 但当前OPL尚不支持封装, 这限制了它按照面向对象方法建模. 论文未涉及该问题, 这将是研究和进一步改进OPL值得探索的方向.
当前版本的对象过程语言(ISO/PAS 19450:2015)已经非常强大,足以支持我们做很多工作,比如作为MBSE核心的架构定义及架构建模等工作。继续完善对象过程语言,将更充分地发挥它的巨大潜力,更有力地推动MBSE向前发展。
另外,永远不要忘记领域知识不可替代的重要作用。假如缺乏必要的领域知识,语言、方法和工具都无法发挥任何作用。
文章来源:对象过程方法