热门关键词:

基于RIA的机械产品仿真流程建模方法研究

  • 该文件为pdf格式
  • 文件大小:326.9KB
  • 浏览次数
  • 发布时间:2014-08-16
文件介绍:

本资料包含pdf文件1个,下载需要1积分

在现代机械产品的设计过程中,为了降低成本,缩短研发周期,对产品进行多方面的性能仿真越来越受到重视。为了对机械产品的仿真过程进行有效的管理,工作流技术被引入到机械领域中来。工作流技术从最初的诞生之 日起就是作为-种面向过程的系统集成技术而出现的,它对于解决机械领域中众多的设计仿真软件之间的集成问题有着天然的优势。

目前已有众多学者对工作流技术在机械领域的应用作了深入的研究。文献1提出了-种协同产品开发的业务参考模型,并基于工作流和Web Service技术提出了其对应的Web实现。文献121等人对协同产品开发的系统架构进行了深入研究,并提出了-种基于结果链的流程建模方法。文献p怩 出了-种集成 CAD系统、VRML(虚拟现实建模语言)和 Java用户接 口来开发交互式机械仿真环境的方法。文献 提出了-种面向协同流程规划环境、使用PLM(产品寿命管理)和CAD/CAM工具进行交互的工作流模型。

随着 HTML、CSS和Javascript技术的发展,RIA在交互性与动态性方面已经可以和传统的富客户端应用媲美 ,而且 RIA直用又有其独特的优点,如轻量化、部署方便等。因此,基于 RIA创建-个交互性良好的机械仿真流程建模环境,以取代协同仿真环境[51中现有的流程建模器,是很有意义的。在吸收和借鉴工作流技术在机械领域中的成功应用的基础上,结合当前Web技术的最新发展,提出了-种基于RIA的机械产品仿真流程建模方法。

2流程模型设计工作流管理联盟(wFMC,Workflow Management Coalition)提出的工作流元模型包括如下实体:工作流过程定义、工作流过程任务、工作流参与者、资源库、工作流应用、工作流相关数据、系统及环境数据、数据类型与表达式。它是-种通用的工作流模型,可以作为-个参考模型。

机械产品仿真流程存在以下特点:仿真任务与仿真软件紧密相关、仿真任务持续时间长、存在分布式计算的需求、仿真任务存在协同与优化。

参照WFMC提出的工作流元模型,并结合机械产品仿真流来稿日期:2012-06-14作者简介:万书佳,(1986-),男,河南人,在读硕士研究生,主要研究方向:机械产品信息化集成;杨性,(1970-),男,陕西,博士,副教授,主要研究方向:机械设计及理论246 万书佳等:基于RIA的机械产品仿真流程建模方法研究 第4期程的特点,可以提出-种更为简洁的流程模型。新的流程模型包括四种基本的实体元素:仿真组件、流程参与者、流程变量、数据类型与表达式。它们之间的关系,如图1所示。

流程建模环境 数据类型 ---蕉:兰.1 表达式 l仿真组件 / 流程变量仿真控制组件 / 指定 组成 逻辑控制变量指定仿真活动组件 数据变量l指定流程参与者读取l提交流程模型l协同仿真环境l图 1模型实体关系Fig.1 Model Entity Relationships2.1流程模型实体介绍2.1.1仿真组件结合机械仿真流程的特点,将工作流过程任务实体与工作流应用实体进行整合,即得到仿真组件实体。仿真组件概念的提出是为了对仿真任务进行适当粒度的分解,以便于仿真流程的管理和控制,同时仿真组件是从成熟的仿真知识和专家经验提炼出来抽象而成的 。用户可以通过拖拽仿真组件,很方便的建立-个完整的机械产品仿真流程~仿真组件分为两类:流程控制组件和仿真活动组件。程控制组件是对流程执行逻辑的抽象,并以模块化的方式加以组织。它根据流程的执行逻辑,在内部定义了相应的转移信息。如分支组件(Parale1)是对流程中并行执行逻辑的抽象,它整合了孤立的分支(Fork)节点和合并(Join)节点以及必要的转移条件,通过这种组织方式可以使流程的结构更加清晰明了。仿真活动组件是对机械产品仿真过程中可能用到的软件的抽象,例如Ansys组件是对用户使用Ansys软件进行的各种操作的抽象。

2.1.2流程参与者WFMC规范对工作流参与者的定义是如下类型之-:资源集、资源、组织单元、角色、人或系统。在机械产品仿真过程中,流程参与者主要是仿真分析人员和角色。仿真分析人员由协同仿真环境中的人员组织拈管理,并在流程建模过程中被读取出来,分配给角色,角色被指定到仿真活动组件上,以定义该仿真活动的实际工作者。

2.1.3流程变量流程变量是对WFMC的工作流元模型中工作流相关数据和系统及环境数据的综合。流程变量分为两类:-类是逻辑控制变量 ,-类是 据变量。逻辑控制变量被流程控制组件用来定义流程的执行逻辑与数据的流转关系。它源自于系统及环境数据。

例如在选择结构(I se)中,选择条件就是由逻辑控制变量加上运算符和常量组成的表达式。数据变量是在仿真活动组件中用于定义数据传递的变量,它是工作流相关数据的-种变体。数据变量有方向之分,可以是输入也可以是输出。例如当前仿真活动需要-个输入数据变量-最小位移,流程执行引擎根据此变量自动提取输入数据文件或前-任务的结果数据文件中的最小位移数据,并传递给当前仿真活动。数据变量是体现流程中数据流动的关键,也是流程能够以数据驱动方式执行的前提。

2.1-4数据类型与表达式数据类型采用了许多标准数据类3(String,Reference,Inte-ger,Float,Date/time等),用来定义流程变量。表达式是由流程变量加上-定的运算符组成的条件,它与仿真组件相关。

22流程模型的组织方式为了便于组织显示,机械产品的仿真流程模型采用Sequen-ce-Componensequence(SCS)的方式进行组织。如图 2所示,以顺序结构(Sequence)作为核心,顺序结构和其它类型的仿真组件交叉出现。顺序结构既组成了其它的流程控制结构,又可以包含其它的流程控制结构。因此,对顺序结构的定义必须是广义的,即只要有-个或-个以上的组件,就可以形成-个顺序结构。而通常情况下,两个或两个以上的组件连接起来,才被认为是顺序结构。这样做的优点是,可以比铰容易地实现两个或两个以上组件的自动编组(组织成-个序列)。如剩顷序结构中只有-个组件,就隐藏顺序结构的边界而只显示其内部的子组件,如果顺序结构中的组件数目大于或等于二,就显示顺序结构的边界。采用这种方法,不需要根据组件的数目动态地添加或删除顺序结构,只需要控制顺序结构的边界的显示与隐藏,模型内部不需要任何变化。

图2模型的组织方式Fig.2 The Organization of Model2.3流程模型的继承结构依据前面提出的模型组织方式,并结合MVC的设计思想,设计出模型继承关系图,如图3所示。图中Model类是所有类的基类,它的 Node属性是对文档对象模型的引用,是联系模型与视图的桥梁。它的Parent属性指向它的父模型,是整个模型的层次继承关系的核心。根据模型是否可命名,模型又分为可命名节点(NamedNode)和不可命名节点(UnNamedNode)∩命名节点是对仿真组件的模型体现,它包括两个子类,仿真活动组件类(Component)和逻辑控制组件类(ContainerNode)。逻辑控制组件类下面即派生出四种基本的流程逻辑类:循环结构类(ForEach)、分支结构类 (Parale1)、顺序结构类 (Sequence)和选择结构类(I衄se)。不可命名节点是对流程中-些辅助显示结构的抽象。

No.4Apr.2013 机械设计与制造 247图3模型的继承结构Fig.3 The Inherited Structure of Model3关键技术选择使用Javascript技术来构建 RIA应用,综合使用文献[7-81、三个目前流行的Javascript框架来解决流程建模过程中的自动布局与视图同步问题。

3.1基于YUI技术的自动布局算法在基于胖客户端平台(RCP,Rich Client Platform)的流程建模软件中,自动布局已成为必不可少的-个要素。通过自动布局,程序会 自动调整每个组件的位置,用户不再需要为了美观性而对流程进行繁琐的对齐与连线工作。但是浏览器使用的流布局并不能满足建模过程中的对齐要求。各种Javascript框架对此的补充也不尽如人意,所以定制出-种满足建模需要的布局算法是很有必要的。

实际的机械产品仿真过程是非常复杂的,其对应的流程模型中难免会出现很多复杂组件互相嵌套的情况,所以布局算法要考虑到组件无限级嵌套的情况,使流程在组件无限级嵌套的状态下仍能对称的显示。下面是-种基于坐标计算分配原理的布局算法 ,它采用自顶向下的方式,从整个流程开始 ,先进行排序,然后逐个计算每个组件的坐标,并移动组件的坐标位置,遇到流程控制组件时,就将移动任务分配给该组件去实现。它的基础是前面提出的流程模型,计算依据是组件的结构尺寸,实现技术是YUI提供的编程接口。顺序结构的 moveTo(x,',)方法的逻辑图(图略)。

在上述算法中,正确的计算出流程控制组件中每个子组件的左上角坐标是很关键的。下面以分支结构为例,介绍如何根据其几何尺寸计算出每个子组件的左上角坐标,计算的前提是已经从父模型中接收到分配给该分支的左上角坐标( , )。参照CSS盒子模型建立的-个两分支结构的盒子模型图,如图4所示。图中分支的四个边距全部等于0,左右补白等于Hpadding,上下补白等于 0。

Box ModelHDadding paddinl她 ,y2J1 r (xt,yl,HSpaeeSequence. 图 4分支结构的盒子模型Fig.4 The Box Model of Parallel图中的主要尺寸有 ForkSize、JoinSize、CanvasHeight和HSp-ace。CanvasHeight是指 Sequence与 Fork和 Join之间的距离,HSpace是指相邻两个 Sequence之间的距离。设 Fork和 Join的左上角坐标为(即, 和( ,咒),第i个分支的左上角坐标为( ),那么可以按照如下公式计算出分支中各组件的位置:lxHpaddingxHpadding( -1)HSpace∑getWidth(Sequenej),(i>1)yyForkSizeCanvasHeight .getWjdlh ∞。 ) 1上---- 可--- --Fo rk Size,n为奇数导 -旦 塑,n为偶数圩--ForkSizJoinSize-l getHeight(Parale1)-JoinSize3.2基于 HTML标签拼接的流程显示方法在 RCP中实现流程的绘制是比较简单的,因为诸如 Java、c等编程语言都提供了很丰富的图形接口,使用这些接口可以248 机械设计与制造NO.4Apr.201 3很方便的建立出各种流程元素所对应的视图类。而在Web应用中流程元素的展现形式是HTML标签,要通过简单的HTML标签表达各种复杂形状的流程组件 ,必须通过拼接的方式 ,将-个复杂的形状分解成若干个简单的、易于表达的形状。

拼接法,是指将-个复杂的几何图形,通过分割的方法划分为若干个易于显示或实现的子图形,然后将这些子图形按照-定的布局方式拼凑在-起,组合成-个完整的复杂图形的方法。通过嵌套拼接的方式,可以将原本复杂难以直接实现的图形简化成多级的子图形 ,最底层的子图形总是简单且容易实现的,然后再逐级拼接,最后形成-个复杂的图形。

以分支结构为例,它包含-个分支节点、-个合并节点、若干个顺序结构和连线∩以将分支结构看作-个5行 1列的表格,第-行与最后-行分别用来放置分支节点和合并节点,第二行与第四行用来绘制连线,第三行用来放置所有的顺序结构,根据顺序结构的数量,第三行内部又可以嵌套-个 1行 n列的表格,每列放置-个顺序结构。分支结构不关心顺序结构内部是如何绘制的,它仅负责将分支节点、合并节点、顺序结构和连线组装成-个整体。

3.3基于 Dojo技术的视图同步方法在RCP中,视图因为能够从不同侧面、不同角度来展示数据而被广泛使用。在RIA应用中通常也采用多视图的方式来显示数据。传统Web应用的视图刷新方式是使用 AJAX(AsynchronOUSJavascript and Xm1)技术向服务器发送请求来刷新页面。这种视图同步方式会刷新整个页面,通常比较耗时,对于RIA应用是不合适的,因为富因特网应用中存在较多的用户交互,每次用户交互都有可能引起页面的局部刷新,为了页面的微小变化而去执行耗时的Ajax请求是不合适的。因此使用-种无刷新的视图同步技术是很必要的。Dojo提供的数据接口是实现视图同步的-个很好的解决方案,它采用了事件监听机制来刷新显示。

Dojo内部使用MVC架构来组织,它将视图与模型分离开来,并提供了数据接口。在数据接口中定义了Notification接口,用来通知数据的改变。很多 Dojo的窗口部件都使用实现了该数据接口的数据源来读取数据,例如树控件、表格控件和组合框控件等。以树控件为例,如果树模型使用-个实现了Notification接口的数据源,那么数据源的任何变化都会自动反映到树的显示上。因此,Dojo的数据接口可以被当作联系不同视图的桥梁,不同视图通过操作数据接口来影响其它视图。

4减速箱噪声分析流程建模减速箱噪声分析流程中主要使用到 UG、Ansys、Madab和VirtualLab四种仿真活动组件和流程控制组件中的分支组件~对不同研究对象的仿真分析任务放置在不同的分支上;对同-研究对象的可以同时进行的仿真任务遗置在不同的分支上;将有逻辑先后顺序的仿真任务按照顺序放置。通过拖拽仿真组件到占位符(当拖拽时才会显示出来)上可以向流程中添加组件,单击组件的名字可以对仿真组件进行命名,双击组件可以打开组件的属性面板,在属性面板中完成组件的属性定义。使用该流程建模环境创建的某传动系统中齿轮箱噪声分析流程图,如图5所示。

图5流程建模环境界面Fig.5 The Interface of Process Modeling Environment5结束语提出了-种包括仿真组件、流程参与者、流程变量、数据类型与表达式四个要素的流程模型,流程模型采用SCS的方式进行组织,并设计了流程模型的类型继承关系图。使用Javascript作为RIA应用的开发语言,提出了-种基于YUI技术的自动布局算法,并总结出-种通过拼接 HTML标签来绘制流程的方法,使用 Dojo技术实现了RIA应用中多视图之间的无刷新页面的同步。

正在加载...请等待或刷新页面...
发表评论
验证码 验证码加载失败