自上世纪60年代以来,系统工程一直是国外航天和国防领域所惯常采用的研制管理方法,保障了自“大力神”导弹及阿波罗计划以来众多项目的成功。然而,自1969年形成美国军用标准《系统工程管理》(Mil-Std-499)以来,该方法变化很小。与此同时,系统的规模和复杂性却在显著地增长,传统系统工程(TraditionalSystemsEngineering,TSE)方法已经不能满足需求。
1基于模型的系统工程的概念与内涵
MBSE定义
2007年,国际系统工程学会(INCOSE)在《系统工程2020年愿景》中,给出了“基于模型的系统工程”的定义:基于模型的系统工程是对建模(活动)的形式化应用(formalizedapplicationofmodeling),以便支持系统要求、设计、分析、验证和确认等活动,这些活动从概念设计阶段开始,持续贯穿到设计开发以及后来的所有寿命周期阶段。
1.1系统工程的关键在于构建一个系统架构模型
在整个系统工程工作过程中,人们不仅要在头脑中建立(具备)一个关于该系统的全面的“概念”(想法、构思、构想),而且在现实中要针对这个“概念”建立某种类型的模型,如草图、文字描述、表格、图片、图示、实物模型等,这些模型统称为工件(Artifact),是人们自己思考和与他人沟通交流的工具。现实中工件和头脑中的概念相互启发,不断深化和具体化,最终变成生产人员可以使用的蓝图,再由生产人员把蓝图变成最终交付的系统。这实际上是所有设计工作的一般流程,并非系统工程所独有,只是系统工程需要考虑的因素更多罢了。
这其中,系统架构模型(SystemArchitectureModel)的建立是至关重要的,也是必需的。系统架构模型是对系统整体的、全面的描述,相当于通常所说的总体设计方案,是整个研制工作的首要的工件(PrimaryArtifact)。系统架构模型与各个视图相互关联,各方人员针对一个共同的系统架构模型来分析和优化。因此,系统工程的关键,就在于构建出一个完整的系统架构模型。
1.2传统的系统工程用各种文本文档构建系统架构模型
因此,传统的系统工程就是以文档为中心的系统工程,这个文档又是“基于文本的”,所以也可以说传统的系统工程是“基于文本的系统工程”(Text-BasedSystemsEngineering,TSE)。
1.3基于模型的系统工程用系统建模语言构建系统架构模型
图1系统架构模型的中心位置
很显然,要实现上述目的,MBSE需要相应的理论基础、建模语言及工具,这包括来自软件工程领域的面向对象的分析与设计思想、系统建模理论、系统建模语言、扩展标记语言元数据交换标准(ExtensibleMarkupLanguageMetadataInterchange,XMI)、系统工程数据的交换标准(AP233)等。
2基于模型的系统工程相对于传统系统工程的优势
MBSE和TSE的区别,就在于系统架构模型的构建方法和工具的不同,以及由此带来的工作模式、设计流程等方方面面的区别。也就是说,传统的系统工程变成基于模型的系统工程,实际是从“基于文本”(Text-based)向“基于模型”(Model-based)的转变,这个模型,指的是用系统建模语言建立的系统架构模型,或者说是系统架构模型的建模语言从“自然语言、文本格式”转向了图形化的系统建模语言(SysML)。但MBSE并不是完全抛弃过去的文档,而是从过去“以文档为主、模型为辅”向“以模型主、文档为辅”的转变。
2.1系统工程过程产生系统建模语言框图,并组成系统架构模型
2.1.1传统的系统工程过程三个步骤分别生成三种文本文档
系统工程过程是系统工程方法的“发动机”,主要包括三个步骤、四个回路(Loop),生成三种文档。第一步的要求分析负责把用户的需求及外部环境的约束变换成系统要求。第二步的功能分析与分配负责把系统要求变换成系统的功能,并把功能分解为系统的一个一个的“小动作”,形成的文档是功能架构。第三步的设计综合,则根据现有的产品及技术条件,把功能架构“映射”到物理架构上,完成设计过程。四个回路则负责把三个步骤各自的产出和输入进行对比,看是否匹配,这个过程叫作验证(Verification)。这其中,设计师要在功能架构和物理架构之间进行多次的、双方向的反复迭代,直至所有的功能架构和物理架构都被试验过,并且二者要一致,这里包含了巨大的工作量。
图2系统工程过程
2.1.2基于模型的系统工程的三个步骤各自生成三种图形
在MBSE方法中,系统工程过程的每一步产生的不再是文本文档,而是用系统建模语言所构建的模型:在要求分析步骤产生要求图、用例图及包图,在功能分析与分配步骤产生顺序图、活动图及状态机图,在设计综合阶段产生模块定义图、装配图及参数图等。
图3运用SysML后的系统工程过程
尤其需要重点指出的是,需求者也可运用SysML画出需求图,用例图,以此驱动整个过程,这样就可以使用户的参与程度更深,并进而改进整个的设计工作。
2.2系统架构模型成为沟通各学科的“集线器”
目前,各专业学科的模型已经被大量应用于工程设计的各个方面,但模型缺乏统一的编码,也无法共享,建模工作仍处于“烟囱式”的信息传递模式,而没有与系统工程工作流相结合。TSE下,文本文档是各专业模型接入系统架构模型的枢纽和渠道,比如,电子工程师和力学工程师都在分析研究同一个部件,但它们所使用的术语、模型都不一样,无法进行直接的交流和沟通,因此总体设计和协调的工作量就十分巨大。
MBSE下,用系统建模语言构建出模型后,就能够进行各式各样的分析和测试,提前进行协调、平衡和优化。而且各方围绕着一个存储着系统架构模型数据的“数据银行”(Databank、Repository)来并行开展工作,并且可以支持远程及分布式的工作模式,突破设计人员地理位置的限制。
2.4MBSE为提升研制管理工作的效率奠定了基础
TSE下,不管是系统分析与控制的工作,还是项目管理的工作,都要从各种文本文档中逐行扫描取数,然后进行各种的分析。MBSE下,把文本文档用SysML进行了重新地“编码”,使得描述系统的数据既便于人阅读,又便于计算机处理。而且各种用户需求、系统要求、功能架构、物理架构等信息进行了关联,所以系统分析与控制(需求跟踪、权衡研究、配置管理等)的各项工作就更加容易和便利。
3基于模型的系统工程的理论基础与技术基础
3.1“面向对象”思想在软件工程界的成功应用
软件是人类迄今为止所能创造出的最复杂的产品。这其中,面向对象的思想和分析技术功不可没。“面向对象”思想认为:客观世界是由一个一个的对象组成的,各种过程、各种功能、各种动作是由对象完成的,只要详细定义对象(类),就可以通过对象的不同组合,实现丰富多彩的功能及过程。对象的定义包括属性和操作两大方面:属性就是对象的各方面的特征,当然也是建模者、软件开发者感兴趣的、与开发活动有关的特征;操作用于修改、检索类的属性或执行某些动作,通常也称为功能。
把这种思想进一步延伸,把我们要研制的型号系统看作一个“以软件为主的系统”,运用软件中的面向对象的分析方法,得出物理架构,然后把那些不能用软件实现的“砖块”(对象)用物理实体代替。在整个物理架构中,需要物理实体来填充的对象,和需要用软件对象来填充的对象,都用类这种数据结构来定义。
3.2专业学科在应用建模技术方面领先于系统工程
系统工程是协调平衡各个专业学科的专业,要在系统整体层次上“驾驭”各专业学科。现在,其它各专业学科在利用模型方面已经大大超前,比如机械、电子、软件等。此外,从流程上看,工程研发、设计、制造的各个流程都在应用基于模型的方法,提出了以用户为中心的工程的虚拟环境、基于模型的概念设计、基于模型的制造等方法。因此,在系统工程方法中全面地、全方位地应用模型已是“迫不得已”,也是大势所趋,水到渠成。
3.3系统建模语言SysML的推出
系统建模语言(SystemsModelingLanguage,SysML)由软件工程界事实上的标准语言统一建模语言(UnifiedModelingLanguage,UML)发展而来,具有图形化、易于计算机处理等特点,是用于系统工程的标准建模语言,用来分析、详细说明、设计和验证复杂系统,目的是提高系统的质量、提升在各种工具之间交换系统工程信息的能力,协助弥补系统、软件和其它工程学科之间的语义鸿沟。
SysML是图形化的,便于研制人员的读写和理解;便于计算机处理,各种图形、线条由相应的计算机软件规定好,设计人员根据SysML语言规则,在软件环境下画图,以图形及组合表示自己的设计意图。也可以据此生成自然语言的文档,用这个文档和用户进行交流,也可以由用户直接用这个软件画出自己的需求。相应的发工具是支持该语言的开发环境软件(如DOOR)。
4国外各界对MBSE开展积极的研究与实践
5启示和建议
国际系统工程学会的《系统工程2020愿景》中指出:从很多方面看,系统工程的未来可以说是“基于模型的”。从“基于模型的系统工程”的路线图(见图3)可以看出,目前在项目中应用该方法还是一种“特别的”方式,“基于模型的系统工程”正处于探索期。
在国际系统工程学会的倡议和推动下,国外军工企业、行业协会、政府组织等积极参与进来,成立了很多挑战团队和行动团队,从事“基于模型的系统工程”方法及具体项目的研究,比如空间系统的建模、模型管理及基于模型的试验等。
图4MBSE的发展路线图
从上述的需求、工作原理、理论基础、技术基础、研究实践等来看,从TSE向MBSE的转型,是大势所趋,也是形势所迫。MBSE方法代表着系统工程方法的最新进展和未来发展方向。
我国采用系统工程方法取得了巨大成就。MBSE是系统工程在新世纪的新趋势,我们需要认真研究,积极引进、消化、吸收,形成具有中国特色的MBSE,为我国国防实力和综合国力的提升打下坚实的基础。