基于模型的术语定义

文章仅供个人学习使用,请勿传播!
原文来源: 袁亦方· 大易方圆 OPM对象过程方法 2023-08-13 07:01 https://mp.weixin.qq.com/s/dUtuNLrMwFF_foCrQQyWmA

INCOSE系统工程手册第5版使用说明部分(内容对应第4版1.5节)提出: 系统工程从业者在项目中首要和最重要的职责之一是建立名称和术语,这些名称及术语支持系统及其元素、功能、操作及相关过程方面清晰而明确的沟通和定义。此外,为了在世界范围内促进系统工程领域的发展,有必要建立关于通用方法和术语的通用定义和理解,从而支持通用过程。随着越来越多的系统工程从业者接受并使用通用术语,系统工程将在沟通、理解以及最终的生产率方面得到改进。

术语定义无疑是重要的,同时也是极具挑战性的工作。对特定术语的定义会耗费人们巨大心力,描述术语体系中各个相关术语之间的语义关系同样会让人大费周章。任何领域的术语体系都是一个有机整体,孤立地定义及理解特定术语会有很大局限性,甚至根本无法发挥术语应有的作用。因此,清晰、准确地描述术语之间的关系同样非常重要。

术语体系实际上是一种专门的语言,它介于自然语言和形式化语言之间。在没有合适的形式化语言支持的情况下,用自然语言定义术语是自然的,也是不得已的。由此,自然语言的缺陷也必然影响对术语的定义,用自然语言定义术语所带来的模糊和歧义在所难免。

好在这种情况将有机会被扭转,这得益于对象过程语言(OPL)的助力。对象过程语言以三个高度抽象的语义——对象、过程和关系——为基础,构建严谨的概念建模语言,用它能对任何领域的任何系统作概念建模,同样也能对术语系统作概念建模。对象、过程和关系被对象过程方法(OPM)创立者Dov Dori教授称为“最小通用本体”,是在哲学层面对语义最基础的抽象。由于具备扎实的哲学基础,对象过程语言才有能力承担起术语定义这个重担。

下面以“功能”为例介绍如何使用对象过程语言定义术语。
“功能”是工程领域中一个基础而重要的术语。关于这个术语的语义,在本公众号此前的文章中曾经作过探讨。在此尝试用OPL语言再次定义这个术语,探索并验证基于模型定义术语的方法和效果,希望这种形式能让术语的语义更清晰,更准确,更有利于公众对定义达成一致的理解,进而有效消除因术语定义模糊和歧义造成的沟通障碍和沟通风险。用对象过程语言(OPL)定义“功能”的概念模型如下图。希望了解OPL更多知识的读者可以阅读“大易方圆 OPM对象过程方法”公众号其他文章。
术语“功能”的概念模型图1 术语“功能”的概念模型

所示模型对应的对象过程文本(OPT)为:

  • 一般功能和系统功能(特殊功能)都是一种功能;
  • 系统功能(特殊功能)是一种一般功能;
  • 一般功能包含过程和客体事物;
  • 过程影响客体事物;
  • 客体事物具备客体事物的特征;
  • 客体事物的特征可处于初始状态和预期状态;
  • 过程将客体事物的特征从初始状态变为预期状态;
  • 过程消耗资源;
  • 参与者负责实施过程;
  • 过程需要系统(SOI);
  • 系统(SOI)具备系统功能(特殊功能)。

关于上述定义,有几点尤其值得关注:
1)OPL语言是图文等价双模式的。OPT可以由建模软件依据图形式模型自动生成。图文对照阅读有助于最大多数的人理解并达成共识。这既包括领域专家,也包括用户、项目决策者等重要的非专业利益相关方。
2)用自然语言描述功能时总是用动宾短语,其中的动词表示过程,宾语表示过程所影响的客体事物。用模型定义功能时能绝对避免语法错误。
3)过程对客体事物的影响效果,具体体现为改变客体事物的特定特征。
4)一般功能是系统(SOI,System of interest)的依据,特殊功能是系统的特征。同样使用“功能”这个词,所要表达(也是所能表达)的两个意思是不同的。
5)在用模型定义“功能”这个术语时,涉及的某些模型元素可能也是术语,如图1中的参与者、资源、系统等。这意味着在模型中所有涉及的术语能相互解释,共同构成一个完整的术语体系。在这样的术语体系模型中,术语之间的语义关系被清晰而准确地表达出来。
6)图1所示模型不仅解释了“功能”及相关术语的含义,还可以作为系统建模的模板。只要将图1中的模型元素换成实际关注的事物,这个模型就能完全按照原来的形式被实例化为一个系统模型,例如图2所示。这能让术语概念模型成为系统概念模型的种子,有效地支持系统概念建模。对术语的定义和对术语的使用有机结合起来,所带来的益处是显而易见的——提高建模效率,促进模型内容的一致性,提高复杂系统模型的可读性和可维护性。

术语模型实例化
图2 术语模型实例化

所示模型对应的对象过程文本(OPT)为:

  • 运输货物和公路货运都是一种运输;
  • 公路货运是一种运输货物;
  • 运输货物包含移动和货物;
  • 移动影响货物;
  • 货物具备货物的地点等特征;
  • 货物的地点可处于起点和终点;
  • 移动将货物的地点从起点变为终点;
  • 移动消耗汽油;
  • 司机负责实施移动;
  • 移动需要汽车;
  • 汽车具备公路货运特征(功能)。
  • 另一个例子是对“系统”的定义,其概念模型如下图所示。术语“系统”的概念模型
    所示模型对应的对象过程文本(OPT)为:
  • 系统是一种事物。
  • 1个系统包括2个以上系统元素和1个以上关系。
  • 1个关系与2个以上系统元素相关。
  • 系统元素可以包括系统元素。

基于模型定义术语并不排斥用自然语言定义术语。形式化的概念模型虽然严谨,但其定义往往不够细腻,需要用自然语言作必要的注释。例如针对图2所示的概念模型,可以针对“系统”这个模型元素增加注释如“系统是由相互关联的元素组成的整体”。这就像程序员编写代码时要对代码加注释一样,缺乏必要的注释会使代码的可读性变差。图文等价的双模式模型与自然语言注释相结合,能进一步提高可读性。

此前在定义术语体系时,常用的方式是对每个术语作条目化解释,当条目中涉及其他术语时,则用术语编号或超级链接的形式表示相互引用关系。如对象过程方法(OPM)标准ISO/PAS 19450就采用这种形式表示术语之间的引用关系,如图4。这种形式虽然描述了术语语义之间具备相关性,但对关系的语义则缺乏明确描述,即只表明它们相关,却未能说明到底是什么关系。图1和图3所示模型则完全弥补了这个不足,模型中所有模型元素之间的关联关系本身的语义都是清晰而明确的。从使用自然语言定义术语,到基于模型定义术语,这种差异和进步是革命性的。

此前在定义术语体系时,常用的方式是对每个术语作条目化解释,当条目中涉及其他术语时,则用术语编号或超级链接的形式表示相互引用关系。如对象过程方法(OPM)标准ISO/PAS 19450就采用这种形式表示术语之间的引用关系,如图4。这种形式虽然描述了术语语义之间具备相关性,但对关系的语义则缺乏明确描述,即只表明它们相关,却未能说明到底是什么关系。图1和图3所示模型则完全弥补了这个不足,模型中所有模型元素之间的关联关系本身的语义都是清晰而明确的。从使用自然语言定义术语,到基于模型定义术语,这种差异和进步是革命性的。

ISO/PAS 19450标准术语定义形式
图4 ISO/PAS 19450标准术语定义形式

在基于文档开展复杂系统研发时,就同一个项目和系统要编制大量文档,它们共同构成一个完整的文档体系。对术语的统一定义是理解这些文档的必要基础。不过,常常令人遗憾的是,不同文档之间对术语的定义难以统一。文档的很多编写人员常常背对背并行工作,尤其是跨部门甚至跨企业组建项目团队时,这种情况更加普遍,由此造成术语定义混乱几乎是必然的。为了确保术语体系的一致性,应该专门编写术语定义类文件,并公开发布。其它文件只能通过引用将相关术语的定义纳入文件内容,而不能擅自定义公共术语。除非涉及的术语仅限于所编写的一份文件使用,实际上这种情况非常少见。

在基于模型开展复杂系统研发时,如果按照本文提出的方式使用模型定义术语,则应该建立专门的术语定义模型库。对模型库中的术语借鉴面向对象方法中关于命名空间及可见性方面的规则管理,即将术语的可见性分为三种并分别管理:

  • 公开的(+Public)术语:对整个组织或项目团队可见,对所有模型有效。
  • 保护的(#Protected)术语:对特定模型及引用该模型的模型有效。
  • 私有的(-Private)术语:只对特定模型有效。
    基于模型的术语定义作为基于模型的系统工程(MBSE)中一块重要拼图,术语模型几乎可以在其他所有模型中发挥作用,确保对系统整体形成一致的理解,为MBSE提供有力支撑。
    MBSE拼图(局部)
    图5 MBSE拼图(局部)

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

登录验证码实现

Hutool代码改造 Hutool 有参考文档&#xff1b;很多工具类&#xff1b;把一些功能都封装好&#xff1b;都不用你自己去写&#xff1b;直接调用它的工具类 它这里会详细告诉你引入方式Hutool <dependency><groupId>cn.hutool</groupId><artifactId>hu…

数据结构:栈的实现(C实现)

个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》 文章目录 前言一、栈的实现思路1. 结构的定义2. 初始化栈(StackInit)3. 入栈(StackPush)4. 出栈(StackPop)5. 获取栈顶元素(StackTop)6. 检查栈是否为空(StackEmpty)7. 销毁栈(StackDestroy) 二、…

Von Maur, Inc EDI 需求分析

Von Maur, Inc 是一家历史悠久的卖场&#xff0c;成立于19世纪&#xff0c;总部位于美国。作为一家知名的零售商&#xff0c;Von Maur 主要经营高端时装、家居用品和美妆产品。其使命是为顾客提供优质的产品和无与伦比的购物体验。多年来&#xff0c;Von Maur 凭借其卓越的服务…

ubuntu网络管理

主机-ip&#xff0c;service—port 分别查看/etc/hosts&#xff0c;/etc/host.conf&#xff1b;/etc/services&#xff0c;/etc/resolv.conf&#xff1b; 内核更新——linux-image-generic 6.2.0-24.24 非常抱歉&#xff0c;我误解了你的问题。如果你想更新已安装的内核版本…

Android高通8.1 Selinux问题

1、最近客户提了一个需求&#xff0c;说要在user版本上面切分辨率&#xff0c;默认屏幕分辨率是2.5 k 执行adb shell指令之后变成 4k 然后adb shell wm size可以查看 2、一开始我能想到就是在文件节点添加权限&#xff0c;这里不管是mtk还是qcom&#xff08;高通平台&#xff…

深度剖析堆栈指针

为什么打印root的值与&root->value的值是一样的呢 测试结果&#xff1a; *号一个变量到底取出来的是什么&#xff1f; 以前我写过一句话&#xff0c;就是说&#xff0c;如果看到一个*变量&#xff0c;那就是直逼这个变量所保存的内存地址&#xff0c;然后取出里面保存的…

【C语言】每日一题---1

大家好&#xff0c;我是苏貝&#xff0c;本篇博客是系列博客每日一题的第一篇&#xff0c;本系列的题都不会太难&#xff0c;如果大家对这种系列的博客感兴趣的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 下面代码的结果是&#xff1a; #include <…

[保研/考研机试] KY7 质因数的个数 清华大学复试上机题 C++实现

描述 求正整数N(N>1)的质因数的个数。 相同的质因数需要重复计算。如1202*2*2*3*5&#xff0c;共有5个质因数。 输入描述&#xff1a; 可能有多组测试数据&#xff0c;每组测试数据的输入是一个正整数N&#xff0c;(1<N<10^9)。 输出描述&#xff1a; 对于每组数…

微服务01-SpringCloud

1、简介 SpringCloud集成了各种微服务功能组件&#xff0c;并基于SpringBoot实现了这些组件的自动装配&#xff0c;从而提供了良好的开箱即用体验。 其中常见的组件包括&#xff1a; 2、服务拆分和远程调用 2.1 服务拆分 这里总结了微服务拆分时的几个原则&#xff1a; …

卷积神经网络CNN

卷积神经网络CNN 1 应用领域1 检测任务2 分类和检索3 超分辨率重构4 医学任务5 无人驾驶6 人脸识别 2 卷积的作用3 卷积特征值计算方法4 得到特征图表示5 步长和卷积核大小对结果的影响1 步长2 卷积核 6 边缘填充方法7 特征图尺寸计算与参数共享8 池化层的作用9 整体网络架构10…

uniapp项目如何运行在微信小程序模拟器上

在HbuilderX中的小程序写完后自己一定要保存&#xff0c;否则会出不来效果 那么怎么让uniapp项目运行在微信小程序开发工具中呢 1 在hbuilderx中点击运行到小程序模拟器 2 然后在项目目录中会生成一个文件夹 在微信小程序开发软件中的工具>安全设置>打开端口 或者在微…

k8sday02

第四章 实战入门 本章节将介绍如何在kubernetes集群中部署一个nginx服务&#xff0c;并且能够对其进行访问。 Namespace ​ Namespace是kubernetes系统中的一种非常重要资源&#xff0c;它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。 ​ 默认情况下&…

Openlayers实战:选择feature,列表滑动,定位到相应的列表位置

在Openlayers的实际项目中,点击某个图层的feature,在左侧的列表中显示出来,滚动条滑动,能显示在视觉区内,具体的方法请参考源代码。 效果图 数据 guangdong.json https://geo.datav.aliyun.com/areas_v3/bound/440000_full.json 源代码 /* * @Author: 大剑师兰特(xia…

【设计模式】适配器模式

适配器模式&#xff08;Adapter Pattern&#xff09;是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式&#xff0c;它结合了两个独立接口的功能。 这种模式涉及到一个单一的类&#xff0c;该类负责加入独立的或不兼容的接口功能。举个真实的例子&#xff…

网页版Java(Spring/Spring Boot/Spring MVC)五子棋项目(四)对战模块

网页版Java&#xff08;Spring/Spring Boot/Spring MVC&#xff09;五子棋项目&#xff08;四&#xff09;对战模块 一、约定前后端交互接口1. 建立连接 的接口2. 针对落子的请求和响应 的接口 二、实现前端页面游戏大厅页面游戏大厅里的 java script 三、实现后端一. 建立各种…

品牌宣传与媒体传播是声誉管理的主要方式之一

企业声誉是现如今影响品牌信任度、客户忠诚度的重要因素&#xff0c;也被视为企业的一种无形资&#xff0c;更影响着企业未来的发展。因此&#xff0c;企业声誉管理也日渐成为企业管理的重要课题之一&#xff0c;尤其在品牌营销管理领域。 什么是声誉管理&#xff1f;声誉管理有…

鸿蒙边缘计算网关正式开售

IDO-IPC3528鸿蒙边缘计算网关基于RK3568研发设计&#xff0c;采用22nm先进工艺制程&#xff0c;四核A55 CPU&#xff0c;主频高达2.0GHz&#xff0c;支持高达8GB高速LPDDR4&#xff0c;1T算力NPU&#xff0c;4K H.265/H264硬解码&#xff1b;视频输出接口HDMI2.0&#xff0c;双…

ArcGISPro随机森林自动化调参分类预测模型展示

更改ArcGISPro的python环境变量请参考文章 ArcGISPro中如何使用机器学习脚本_Z_W_H_的博客-CSDN博客 脚本文件如下 点击运行 结果展示 负类预测概率 正类预测概率 二值化概率 文件夹&#xff08;模型验证结果&#xff09; 数据集数据库 ROC曲线 由于个人数据量太少所以…

GrapeCity Documents for Imaging Crack

GrapeCity Documents for Imaging Crack 增加了对双面打印的支持。 GcExcel.NET支持PrintOutOptions类中的Duplex枚举&#xff0c;以启用/禁用页面上的双面打印。 枚举中有四个选项&#xff0c;用户可以相应地使用它们来打印工作簿&#xff1a; 双面打印。Default表示打印机的默…