在分析固体动力装置设计过程特点及其对智能化产品设计需求的基础上,详细分析了固体动力装置智能化产品设计平台所需要具备的功能,图7.28给出了该平台详细的功能模块。
图7.28 固体动力装置智能化产品设计平台功能模块
从整体上,固体动力装置智能化产品设计平台主体可以分为三个部分,即知识资源管理系统、固体动力装置设计过程管理系统以及通用功能支撑系统。知识资源管理系统实现对固体动力装置设计知识资源的获取、表示、存储以及检索等的支持,主要包括本体管理子系统、模板管理子系统、知识库管理子系统以及知识库维护子系统四个主要子系统;固体动力装置设计过程管理系统实现固体动力装置设计过程方案的推理、评价与决策、参数优化以及模型生成等,主要包括推理过程控制管理子系统、方案综合评价管理子系统、设计参数智能优化管理子系统以及知识组件管理子系统;通用功能支撑系统主要提供对平台各系统的基本配置、用户界面、个人空间以及信息交互等功能的支撑,主要包括个人工作门户子系统、平台服务子系统以及平台权限子系统。
图7.28展示了固体动力装置智能化产品设计平台的功能模块,为了实现这些功能,图7.29给出了所有功能的层次组织结构,不同层次完成相应的功能,协调统一地实现固体动力装置的创新设计。
图7.29 固体动力装置智能化产品设计平台层次组织结构
图7.29所示的固体动力装置智能化产品设计平台功能结构总体上分为四个层次,即资源层、基础功能层、核心业务层和系统应用层。资源层指的是存储于不同部门的软件资源、硬件资源、知识资源以及领域专家等,这些资源存储地域不同、表达方式异构并缺乏语义关系。为了能够管理分布式异构知识资源,实现设计工具的封装、集成以及重用,完成设计方案的推理与决策,基础功能层提供的功能解决三个方面的问题,其一是知识资源的可配置模板表达,资源统一访问总线,资源统一知识建模,基于领域本体的语义建模;其二是设计工具虚拟化封装与集成;其三是基于人工智能的推理与方案决策,基于知识的规则化方案修改以及各模块之间的数据交互功能等。进一步结合固体动力装置设计的具体需求,核心业务层提供了与业务相关的功能,主要分为四个部分,即知识资源服务、知识资源集成、知识组件服务以及固体动力装置设计推理与决策过程。在资源层、基础功能层以及核心业务层的基础上,系统应用层直接为固体动力装置的设计人员和知识资源管理人员提供所需的功能,根据固体动力装置设计的需求,平台主要提供了设计人员个人空间管理、知识资源管理、设计工具封装与重用、设计方案智能推理与决策等功能。图7.29所示的功能层次结构为图7.28中的功能实现提供了可行的路径,但是所有这些功能的实现依赖于一定的技术体系,后面的章节将对知识库构建以及知识组件的封装实现技术进行详细介绍与说明。
7.2.3.2 面向固体动力装置智能化设计的知识库构建
知识库资源是产品设计对象的设计案例,所以需要构建基础数据案例库,主要根据固体动力装置结构部件的装配关系进行分类组织。根据其需求,建立相应的设计案例库、参数模型库、设计规则库以及知识组件库等。
1.固体动力装置知识库体系构建总体方案
固体动力装置专业知识库的研究和建立,将结合固体动力装置产品研制过程对各类知识的需求,充分利用现有建设平台及已有研究成果,按照系统工程的方法逐步推进。
首先在需求分析的基础上进行知识库体系架构规划,确定固体动力装置研制不同阶段所需的专业知识类型以及相应的知识库,并对各知识库中知识的内涵进行界定,以便确定知识的来源、组织和获取方式;在知识库体系结构规划的基础上,确定各知识库主要内容及组织方式,并结合现有基础条件建设,在相关系统中进行知识库的构建。
2.固体动力装置专业知识库内容研究
调研企业目前的产品研制过程、设计流程、研发平台等资源对固体动力装置专业知识的需求,在此基础上规划固体动力装置专业知识库体系架构和总体框架。
精确有效的知识分类可以让设计人员快速定位所需要的知识,不同的企业对知识的分类不同,对于固体动力装置而言,如按知识所属阶段划分,包括总体方案知识、详细设计知识、仿真分析知识等;按知识所属的产品结构来分,包括阀芯、阀杆、阀盖等知识;按知识内容的形式划分,包括参考性知识、指导性知识、约束性知识和直接使用的知识,包括公式、曲线、文档、数据、模型、工具、数据库等。因此,固体动力装置专业知识的分类要结合固体动力装置研制业务过程及现有平台对知识的需求来进行。
根据固体动力装置产品研制过程将知识进行分类,主要包括设计需求库、设计案例库、设计经验库、设计规则库、设计标准库、工艺加工库、知识组件库以及仿真分析库等类别。固体动力装置专业知识库的分类内容如表7.2所示。
表7.2 固体动力装置专业知识库的分类内容
续表
7.2.3.3 面向固体动力装置智能化设计的流程封装
1.固体动力装置总体设计流程梳理
工程研制阶段,是对固体动力装置在总体方案阶段的各分系统进行详细设计。固体动力装置总体方案设计流程的梳理如表7.3所示,首先以指标输入作为起点进行方案构想;然后对外形以及动力装置进行设计,外形设计时主要考虑对设计点气动特性的精确计算,精度结果直接影响最终制导精度结果;再进行弹道和结构设计;随后对制导控制系统进行设计,包括对燃气调节装置、固体推力调节装置的设计;最后形成各分系统的研制任务书以及进行联合仿真评估,对具体工程研制进行规划与控制。
表7.3 固体动力装置总体方案设计流程的梳理
2.固体动力装置总体设计流程建模
固体动力装置设计过程是一个组织结构跨度大、资源分散、层次分明、任务繁多、动态反复的过程。针对这种情况,提出一种面向固体动力装置设计过程的业务流程,以流程导航的模式帮助设计人员开展设计任务,同时也集成了设计相关的软件资源与智力资源,为设计人员提供了很好的技术及信息支持。
1)面向固体动力装置设计过程的业务流程参考模型框架
业务流程参考模型是流程管理系统的一个基本框架,它给出了抽象的流程管理系统的功能组成部件和接口,能够满足流程管理系统和固体动力装置应该具有的主要功能特征,为实现流程固体动力装置之间的互操作提供公共的基础。所有业务流程系统都包含一系列基本模块和基本部件,包括流程执行服务器、流程引擎、流程定义工具、客户端应用、服务端应用程序以及管理监控工具。部件间采用一套被定义好的方法进行协作,不同的固体动力装置在这些基本部件中会表现出不同的处理能力。为了实现各基本部件间的协同工作,流程参考模型标识了构成业务流程管理系统的基本模块和这些基本部件交互使用的接口和数据交换格式。
业务流程参考模型主要提出了五大接口,如图7.30所示。
(1)接口1(流程定义工具)。流程定义是对业务过程的抽象表示,是工作流管理系统的重要基础。由于固体动力装置设计流程的复杂性和多样性,要求流程模型能够完整地定义任意情况下的业务流程。为了实现流程定义工具与流程执行服务之间相互交换流程模型,WFMC定义了一套用XML描述流程元模型的标记语言XPDL,构成了接口1。作为一个标准、通用的流程定义语言,XPDL定义了一个最小集合的流程建模实体与属性,提供了一般意义下的公共交换格式。所有的流程过程定义工具都可以有自己的内部表示,并可以和通用交换格式进行转换。
图7.30 流程参考模型
(2)接口2(客户端应用程序)。此接口在流程执行服务器与流程客户端应用程序之间建立一个非常灵活的通信机制,当标准的任务列表处理器功能不足而需要开发集成的应用程序时,此接口就会发挥作用。此接口通过任务列表处理器与终端用户进行交互,与常用软件工具进行集成,使得终端用户可以调用外部应用程序对任务列表中的任务项进行操作,处理相关数据等。
(3)接口3(服务端应用程序)。流程引擎应该能够调用所有平台下和网络环境中的程序,并能使用公共格式和编码进行应用数据或相关数据的传递。也就是说,流程引擎应该满足用户在本地调用服务器端或其他网络平台上的应用程序,同时根据流程定义中的信息来帮助用户确定任务的性质、将要调用的应用程序的类型和所需的数据。被调用的应用程序可能存储在服务器端,或者与流程引擎一同存储在相同的平台下,或者存放在一个独立的网络访问平台中。
(4)接口4(其他流程执行服务)。若干个业务流程管理系统之间的工作交互由接口4来完成,提高了流程管理系统之间的互操作性。需要把多个流程管理系统链接在一起时,此接口意义重大。业务流程管理系统的核心是流程执行服务,推动着任务在组织中执行和流动。本接口用来支持流程中信息与控制流的交互。
(5)接口5(管理和监控工具)。接口5主要用来对流程进行管理和监控,一方面其负责流程定义、流程案例及活动状态的修改以及权限等流程管理功能,另一方面负责流程进度的记录、追踪、监督等流程监控功能。
业务流程参考模型的引入为人们研究流程引擎技术提供了一个规范的术语表,并为在一般意义上研究业务流程管理系统的体系结构提供了基础;同时它还为业务流程管理系统的关键软件模块提供了功能描述,并描述了关键模块的交互,从功能的角度定义5个关键部件的交互接口,推动了数据交换的标准化,使得相互间的互操作成为可能。
2)基于业务流程参考模型的流程引擎技术
流程引擎是为流程案例的执行提供运行服务环境的工具。它是流程执行服务的核心,是执行业务流程的内核。它处理大量的流程信息,解释流程定义,创建流程案例并控制、推动流程运转,进行各项工作的调度,负责进行流程的作业生成和控制,灵活地将各项任务分派到个人,支持多任务的同步、并发,基于业务规则的条件分支聚合,循环流程以及定时事件、预警事件的触发。从提供的功能上看,流程引擎主要完成以下任务:
(1)对流程定义进行解释。
(2)在流程执行过程中,工作流引擎负责过程案例的创建、启动、挂起和终止等,并控制过程案例的状态转换。
(3)控制流程节点间的逻辑及数据转换,包括分支或聚合的操作,以及流程相关数据的解释等。
(4)提供支持用户操作的接口。
(5)维护流程控制数据和流程相关中间数据,提供存储流程中间数据的接口,并在应用或用户间传递流程相关数据。
(6)提供用于调用外部应用程序和访问流程相关数据的接口。
(7)提供控制、管理和监督流程案例执行情况的功能。
根据上述提到的业务流程参考模型以及流程引擎所要实现的功能,提出了流程引擎在业务流程管理系统应用中的模型。该模型中的流程引擎包含完善的配置管理工具,通过流程执行接口与权限系统完美结合。流程建模时,流程引擎文件解析工具会对流程建模工具生成的流程模型XML文档进行解析并存储在流程数据库中。同时,流程引擎还可以推动流程案例的执行,并可以对流程案例以及活动节点的状态进行控制。当流程案例开始执行时,流程引擎会根据数据库中的流程定义数据将任务分配给相应的工作人员,并为用户提供相应的应用程序接口,以便用户调用设计所需应用程序。用户执行任务时产生的相关数据也会通过流程引擎存储到数据库中。同时,流程引擎还提供了控制、管理和监督流程案例执行情况的功能。具体应用模型如图7.31所示。
图7.31 流程引擎应用模型
根据流程引擎应用模型可以看出,流程引擎主要由流程定义解释模块、流程案例管理模块、活动节点管理模块、任务分配管理模块、应用程序调用模块、执行控制模块等模块组成。
(1)流程定义解释模块。流程定义解释模块主要负责两部分工作,一是当流程建模完成时,对生成的XML文件进行解析,并将解析后的数据存入数据库中;二是当用户发出执行命令时,从流程模型库中读取相应的流程模型以及模型中各个活动的相关信息,并进行解析,生成流程案例,这些都是通过流程定义解释模块完成的。
(2)流程案例管理模块。流程案例是流程模型在具体设计任务下的一次执行,流程案例管理模块负责流程案例的创建、管理和控制,包括对流程案例执行创建、执行、暂停、挂起和完成等操作,并负责维持流程案例的状态信息和相关信息。流程案例的状态包括执行中、暂停、挂起和完成等。
(3)活动节点管理模块。该模块负责一个活动节点生命周期的管理和控制,并维护活动节点的相关信息,主要功能包括创建活动节点案例,控制活动节点案例的状态转换,在需要时强行中止活动节点案例的执行等。活动节点案例的状态包括未触发、等待、执行中、挂起、中止和完成等。
(4)任务分配管理模块。该模块对活动节点案例进行任务分配,根据活动节点案例的相关任务定义信息生成任务项,并把任务项插入相应用户的任务表中。活动节点案例的相关任务定义信息包括任务的目标要求、执行任务的角色、要调用的外部程序和使用的数据等。
(5)应用程序调用模块。为了实现对应用程序的调用,软件数据库存储了固体动力装置设计过程中使用的大部分应用程序信息,包括应用程序名称、路径、运行条件和输入参数等。应用代理是实现流程引擎调用外部应用的接口,它根据流程引擎分配的任务,访问软件数据库获得应用程序的路径及调用条件等信息,并根据得到的路径信息启动该应用程序,输入相关的参数进行执行。
(6)执行控制模块。根据流程定义和流程相关数据控制流程案例的执行,主要是根据活动节点逻辑关系和活动执行条件等相关数据,确定执行路径。当一个活动节点满足执行条件时,执行控制模块会触发该活动节点执行函数,并提醒任务负责人查看任务表中分配的任务。
通过上述内容对流程引擎应用模型及各功能模块的介绍可以得出流程引擎的基本工作流程,如图7.32所示。(www.xing528.com)
(1)当流程建模和定义完成后,流程引擎会解析流程定义,并将解析后的数据存入数据库中,同时生成流程模型ID。
(2)当流程引擎收到启动流程指令时,根据指令中的流程模型ID,由流程定义解释模块从流程模型库中读取该流程模型,经过解析得到该流程模型信息,创建流程案例并初始化。
(3)在流程案例初始化时,对案例中的所有活动节点创建相应的活动节点案例。
(4)活动节点案例化时,流程引擎会根据活动节点的任务分配信息获取任务参与人列表,并根据列表将任务分配给参与的设计人员。
(5)启动流程案例后,执行控制模块负责确定活动节点案例之间的导航,当一个活动具备执行条件时,会触发该活动节点执行函数,并提醒任务负责人查看任务表中分配的任务。
(6)任务列表中的任务项是根据任务分配情况获得的,由用户从任务列表中选择任务,并进行执行,执行时可能会需要用到客户端或服务端的应用程序,流程引擎的应用代理会提供相应的调用接口。
(7)当任务执行完成后,用户执行提交操作,由流程引擎通知执行控制模块,控制模块根据该节点的属性,判断该节点是否为结束节点,若为结束节点,则认为该流程案例已经执行完毕;若不是结束节点,则执行控制模块根据节点信息和流程案例的相关数据,触发下一个活动节点,直至遇到结束节点,流程执行完毕。
图7.32 引擎工作流程
3)业务流程管理系统总体框架
根据业务流程的参考模型,我们了解了业务流程管理系统应该具备的组成部件和接口,以及应该具有的主要功能特征。但是由于固体动力装置是指结构复杂、技术密集、制造要求和成本高、过程管理复杂、客户需求多变的一类固体动力装置,其设计过程具有组织结构跨度大、层次分明、资源分布、任务繁多、联系紧密、动态变化等特点,传统的工作流固体动力装置已经不能满足其需求,因此我们在业务流程参考模型的基础上,将各个部件及接口进行深入研究及细化,确定它们之间的逻辑和数据关联,提出了业务流程管理系统的总体框架,如图7.33所示。
图7.33 业务流程管理系统框架
业务流程管理的系统框架主要包括流程设计模块、流程引擎模块、流程执行模块、流程监控模块以及流程数据管理模块等。各功能模块的具体内容如下:
(1)流程设计模块。流程的建模与定义是在流程设计模块中实现的,在流程设计模块中用户可以根据业务需求对流程进行图形化建模,并且在业务流程的各个节点处进行任务定义和任务分配。任务定义主要完成每个节点处将要执行的任务内容及提交结果,任务分配则是将每个节点的任务分配给不同的工作人员来完成。完成以上设计工作之后,流程定义工具会通过接口与流程引擎进行交互,流程引擎会对流程建模信息及流程定义信息进行解释,并将流程的建模数据及属性数据存储于流程模型库与数据库中,数据库中存储的历史数据是可以共享的,设计人员在建模过程中可以引用或者复制过往的流程模板。
(2)流程引擎模块。流程引擎是业务流程管理系统的核心部分,为流程案例的执行提供运行环境,它的主要功能包括:解释过程定义,根据初始条件创建流程案例并执行;根据流程定义和流程相关数据,为流程和活动的执行进行导航,推动流程运转;支持多任务的同步、并发,基于业务规则的条件分支聚合;进行各项工作的调度,负责进行流程的作业生成和控制;灵活地将各项任务分派到个人,向用户任务列表中添加工作任务;通过接口与外部资源进行交互,调用客户端及服务端应用程序;维护流程控制数据和流程相关中间数据,提供存储流程中间数据的接口,并在应用或用户间传递流程相关数据等。
(3)流程执行模块。流程定义工作完成后便可以执行流程,流程的执行有两种方式,一种是从开始节点执行,另一种是从任意节点执行,可以根据具体情况选择执行方式。当流程开始执行时,根据任务的分配情况,设计人员会在个人任务列表中看到自己将要执行的任务。同时还可以设定任务提醒功能,即在特定状态下向特定用户发送任务提醒信息,以便相关用户能够及时处理所负责的任务。如果任务执行者认为自己无法在规定时间内完成该任务,他可以选择将任务分解或者转交。至于任务的具体执行则是在工作面板完成,设计人员进入工作面板后,可以看到所负责任务的详细信息,可以根据具体的任务内容和起始时间安排自己的任务执行计划。为辅助工作执行人员完成工作任务,工作空间内添加了知识推送列表和推荐软件列表,这些列表是根据任务信息、用户信息等数据自动生成的,以方便设计人员调用任务中所需要使用的相关软件以及参考以往的经验或专业知识。流程引擎给相关软件调用提供了专业的接口,使得业务流程中每一个流程节点处均集成了平台中所封装的软件。
(4)流程监控模块。流程执行过程中的进度追踪和状态监控是由流程监控模块实现的。由于每个流程节点处都有体现该节点处任务完成状态的标识,当该节点处任务完成后,内部状态标识改变,所以流程监控模块可以通过这一状态标识对流程的进度进行追踪。同时,由于活动节点处都设置了相应的任务规定时间,当该处任务开始执行时,流程会将各任务的完成百分比及时间进度以甘特图的形式展现出来,实现可视化进度监控。
流程状态监控主要负责对流程案例及活动节点的运行状态进行监控。管理员可以通过业务流程管理工具获得当前各个节点的运行情况报告,并干预流程案例的运行,包括对流程案例和活动节点进行暂停、挂起、重启动、终止等操作。
对流程进行系统的管理与监控,有利于提高系统应变能力或柔性,提高系统处理复杂问题的能力,实现安全性和过程控制等方面的管理。
(5)流程数据管理模块。在流程设计及流程执行过程中会产生很多数据,为了方便设计人员查看与再利用,这些数据都统一由数据管理模块进行管理,主要实现流程定义数据及中间数据存储、数据追踪以及流程多次迭代执行后数据版本的管理。
在流程设计的过程中会产生流程建模数据和定义数据,这些数据对于流程的执行来说是至关重要的,因此必须通过流程引擎对其进行解释,并持久化地存储到数据库中。同时,流程执行过程中各节点处肯定会产生各种各样的结果数据,这些统称为中间数据,为了方便数据的追踪与回溯,这些数据及其继承关系也要记录到数据库中。
由于数据库中记录了中间数据的产生节点、创建人、产生过程以及数据继承关系等信息,因此可以实现对数据的追踪,获取每个数据相关联的重要信息。
另外,由于流程可能多次迭代执行,每次执行都会生成新的流程案例,为了区分各案例生成的数据,这里采用了版本控制的概念,通过引入版本号将每次流程执行过程中产生的数据区分开来,实现多版本数据的存储。
7.2.3.4 固体动力装置智能化产品设计平台实现
根据固体动力装置智能化产品设计系统功能体系架构,搭建固体动力装置智能化产品设计平台,主要包括推力调节装置流程、制导回路流程、控制回路流程和气动外形设计流程等流程化产品设计界面和知识检索、个人空间管理、知识管理和系统配置管理等功能模块界面。
以固定动力装置中的推力装置为例,其总体设计界面、需求指标输入界面、权重及阈值设定界面、相似案例检索界面、规则修改界面、算法优化界面、方案生成界面、报告生成界面等分别如图7.34~图7.41所示,相关界面的功能如表7.4所示。
图7.34 总体设计界面
图7.35 需求指标输入界面
图7.36 权重及阈值设定界面
图7.37 相似案例检索界面
图7.38 规则修改界面
图7.39 算法优化界面
图7.40 方案生成界面
图7.41 报告生成界面
表7.4 推力装置相关界面的功能
该平台的功能模块界面,以知识管理为例,主要包括知识模板界面、知识库管理界面、本体管理界面、知识库维护界面、推力调节装置案例库界面、气动外形映射规律库界面,如图7.42~图7.47所示,相关页面功能如表7.5所示。
图7.42 知识模板界面
图7.43 知识库管理界面
图7.44 本体管理界面
图7.45 知识库维护界面
图7.46 推力调节装置案例库界面
图7.47 气动外形映射规律库界面
表7.5 知识管理相关界面功能
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。