OPM建模工具介绍
1、概述
对象过程方法(Object-Process Methodology,OPM)是Dori提出的是一种用于开发复杂的社会技术系统和知识管理的整体、形式化而直观的概念建模方法。关于OPM方法论的详细介绍,可以参考文章:MBSE方法论之Object-Process Methodology。
本文主要是介绍OPM建模工具:过去的OPA CASE工具,当前的OPCAT和将来的OPCloud。
2、OPM过去的建模工具:OPA Case Tool
早在1998年,即关于OPM的第一篇论文(Dori,1995年)(即称为对象过程分析的OPA)发表后仅三年,Technion的两名本科生就率先提出并在Visual Basic中开发了OPM建模工具称为OPA CASE Tool。图1显示了带有OPA CASE Tool版本1.7的图形用户界面(GUI)的屏幕截图。该工具非常简单,只有一个细节级别,并且不会生成OPL。该模型显示了OPM建模过程,该过程需要OPM的两个部分-OPM语言和OPM方法论。
3、OPM现在的建模工具:OPCAT
引入OPACASE Tool的几年后,我们开始开发OPCAT,这是Object-Process CASE Tool的缩写。目前,OPM建模人员使用OPCAT(Dori等人,2010),这是一种可免费在网络上使用的基于Java的OPM建模软件桌面工具。
OPCAT于1998年7月在ECOOP'98上首次亮相(Sturm&Dori,1998)。可能有意思的是,当时OPM的哲学已经存在:
“对对象-过程范式的潜在观察是,所关注的宇宙中的所有事物都是过程或对象。这为使用单一模型忠实定义并描述其结构和行为的系统建模提供了可能。表示任何系统的这两个主要方面时都不会互相压制。结构性关系(主要是聚合,概括和特征化)和程序关系(它们随时间推移对系统行为进行建模)被无缝地交织在一起,以提供对系统的全面理解。”
几个月后,我们在OOPSLA'98上展示了OPCAT(Dori&Sturm,1998)。自从一年前采用统一建模语言UML(OMG UML 2008)以来,我们讨论了OPM方法与UML方法之间的主要区别,即UML的模型多样性与OPM的模型奇异性:
“对象过程方法(OPM)是一种系统开发方法,它将系统的结构和行为整合在一个统一的模型中。传统观点认为,在面向对象和面向过程的方法之间存在固有的二分法,并且不可能将任何系统的这两个基本方面组合到一个统一的整体参考框架中。这种误解已伴随着系统分析,甚至连公认的UML标准(Booch和Rumbaugh,1995,1996)也保持了结构和行为之间的分离,并将分析活动分布在使用不同图表类型的不少于八种类型的模型中。”
图2显示了使用与图1相同的系统模型的OPCAT 4.2的GUI。图3是大型公司的燃气轮机设计的OPM模型,其动机是为了降低RFP的提议生产率,从目前的6 -18个月至4-6个月。图3显示了详细级别1(SD1),其中燃气轮机设计过程正在进行中,其中包含四个子过程:研究,概念设计,详细设计和制造设计。
图3的第3行是表示系统优势的自动生成的OPL语句:
详细设计(第一阶段)将燃气轮机架构从技术上的可行性转变为具有商业可行性,建议书的生成时间为6-18个月至4-6个月。
该OPL语句还表达了一个事实,即相同的过程将燃气轮机架构从技术上可行变为商业上可行,正如OPD中所表达的那样。
OPCAT通过并发、同步和离散时间执行来实现可视化建模和模型仿真(Yaroker等,2013)。通过分析正在研究的系统背后的机制,执行可以了解系统的行为并检测建模错误。例如,图4显示了概念设计过程(零阶段),该过程作为图3中的子过程出现,在OPCAT的动画模拟过程中放大了,显示了当前正在执行的整体发动机设计(WED),以深紫色标记。此过程当前正在生成对象“结构和机械要求集”。在图4的底部,我们可以看到寿命图–该图显示了仿真每个步骤中每个对象和过程的状态。当前,动画仿真处于步骤2,整个引擎设计(WED)被标记为处于活动状态。
4、OPM未来的建模工具:OPCloud
尽管OPCAT不断发展并为OPM社区提供服务已超过十年,但现在是时候转向基于云的下一代MBASE建模工具了。实际上,去年我们开始开发OPCloud(https://www.opcloud.tech/),这是一种协作式OPM建模工具,该工具由URL调用,因此不需要安装任何程序。图5展示了具有与图2中的OPCAT和图1中的OPA CASE工具中所示的OPM建模模型相同的当前OPCloud GUI。
除了基于云并支持实时协作之外,OPCloud还具有许多使其与OPCAT区别开来的新颖功能。图5中举例说明了一个这样的功能:将鼠标悬停在OPL语句上时,将突出显示OPD构造(通过链接连接的一组事物,即对象和过程)。在图5中,突出显示的句子使过程OPM建模和对象OPM方法论以及连接它们的仪器链接也都在OPD中突出显示。反之亦然。悬停在链接上应突出显示OPL句子, 并在OPD的注释中显示(或说出)。
OPM唯一地区分物理事物和信息事物(对象或过程),从而能够根据信息事物和关系生成可执行代码,并模拟软件在模型中以信息形式表示的硬件组件的仿真控制。在概念建模之后,相同的OPCloud框架应能够通过逐步完善系统并将其引入计算元素来在概念建模和详细设计之间无缝地来回移动。模拟执行应将自动生成的软件与建模的硬件组件相结合,以提供完整的系统级仿真。开发人员将能够逐步用真实的原型零件替换建模的硬件组件。
5、总结
小就是美,如果我们希望有机会解决越来越复杂的系统的设计和生命周期支持,则必须使用简单而强大的概念建模语言。同样重要的是,一个出色的建模工具的可用性可以充当采用MBSE的系统工程学徒。在开发OPCloud时,该原则正在指导我们,我们希望它在2018年底之前可以正常工作并可用。ISO 19450 OPM为工具供应商提供了完整的指南,我们希望在不久的将来能开发出更多的OPM建模工具。