并行开发(共7篇)
并行开发 篇1
上海通用汽车有限公司在一款新产品的设计过程中使用了全新的设计方案, 由于新产品、新工艺、新设备和新材料同时启动, 给项目实施带来了极大的难度。通过引入并行工程的方法, 使得产品、工艺、设备和材料的开发同步进行, 确保了产品启动所需的各个环节得到有效的控制和管理, 同时在整个并行开发的过程中通过用失效模式及因果分析的方法, 对项目实施、产品生产过程中可能的失效模式进行分析, 并采取相应的措施确保了项目质量。
1 并行工程概述
新产品的研发过程是一个高投入、高风险的过程, 如何能够源源不断地将高质量、低成本的新车快速地推向市场是各大汽车厂商所追求的目标。
早期的汽车设计需要较长的周期, 各项工作必须按部就班地依次进行。在设计完成后进行实车设计, 同时尽量避免新工艺与新产品同时进行而导致高风险。
并行工程 (Simultaneous Engineering) 是对整个产品开发过程实施同步、一体化设计, 促使开发者始终考虑从概念形成直到用后处置的整个产品生命周期内的所有因素 (包括质量、成本、进度和用户要求) 的一种系统方法。目标是提高质量、降低成本、缩短产品开发周期。将按阶段进行的跨部门的工作尽可能进行同步作业, 比如产品概念设计与工艺概念设计同步, 产品详细设计与工艺详细设计同步, 产品制造性验证与工艺制造性验证同步等。
2 产品开发与工艺开发的并行工程
通常情况下, 在一个公司当前的制造体系下, 为最大程度地减少对现有制造工艺的冲击, 我们提倡制造驱动产品设计, 即最大程度地减少生产设备改造, 降低实施成本和制造失效风险。但是随着技术的不断进步以及客户对产品期望的不断提高, 新的设计方案还是会不断地进入产品设计中来。这些产品设计驱动的方案对后期的制造工艺和生产会带来很大的冲击, 不仅涉及到车间布局的变化、设备的改造, 还涉及到工艺变化对操作的影响, 更重要的是如何在最短的时间内有效地实施并成功地控制质量风险。
在汽车产品设计运行中, 已经大量地使用并行工程。在车身设计过程中, 针对车身工艺设计应用并行工程, 如汽车白车身的工艺制作流程在产品设计的初期就已经敲定下来, 而在接下来的过程中主要是产品、工艺详细设计的同步。在产品的数模图纸释放后, 产品开始用软模制造工程车, 而工艺设计时则开始使用硬模, 从而并行推进。在产品开始小批量试制时, 硬模已经制作完成, 并开始在线使用。
并行设计是并行工程的主要组成部分, 也是并行工程的核心。并行设计要求产品设计及其相关过程 (如工艺设计等) 并行进行, 是产品设计及相关过程并行、一体化、系统化的工作模式。这种工作模式力图使产品开发设计从一开始就考虑到产品的生命周期, 在设计时将下游环节的可靠性、技术性、生产性等作为设计环节的约束条件, 以避免或减少产品开发进行到晚期时发现错误再返回到设计初期进行修改。
为了设计出便于加工、装配、使用、维修、回收的新产品, 并行工程要求在产品设计阶段将涉及到产品整个生命周期各个过程的专家, 甚至包括潜在的用户集中起来, 形成专门的设计工作小组协同工作, 对设计出的产品和零件从各个方面进行审查, 并随时做出修改, 从而得到最佳设计。在设计过程中, 设计、制造和管理等不再是被看成彼此相互独立的过程, 而被视为一个整体的系统来考虑。很多工作是并行的, 如一方面在设计过程中通过工作组和专家把关, 可以同时考虑产品生命周期的各个方面的因素;另一方面在设计阶段就可同时进行工艺 (加工工艺、装配工艺、检验工艺等) 过程设计, 并对工艺设计的结果进行计算机仿真, 用快速成型等方法制出样车。在传统的串行设计模式下, 产品设计变更都是在产品整个生命周期的后半部分出现问题时才进行的, 这时变更设计造成开发周期长, 开发成本费用高, 流程与设计都难以改变。而并行工程强调在设计开始阶段就对设计结果随时进行审查, 并及时反馈给设计人员。这样可以大大缩短设计时间, 降低产品开发成本, 减少甚至消除后期的设计更改。
一般来讲, 汽车产品开发期共有4个阶段, 即策划阶段、设计阶段、样品试制阶段、小批试制阶段。汽车产品开发并行工程, 就是在这4个阶段充分运用的。
(1) 产品策划阶段。确定产品的外形和内饰, 初始化产品项目内容。在这个阶段将会提出产品造型设计、特征设计、概念方案, 由各相关功能块进行论证。产品设计的概念方案提出后, 为验证制造性, 工艺部门需同步开发满足此产品概念方案的工艺概念方案, 在经过各种方案的设想和对比后, 提出工艺概念方案。包括车间布局可行性、工艺可靠性、材料开发时间表等。
(2) 产品设计阶段。其主要工作是细化设计, 将造型设计的方案进行详细设计, 以便完成数模和图纸, 再进入下一阶段的工程释放和工程车制造。工艺开发方面, 要充分利用这段时间准备标书、确定技术方案、采购设备、离线安装, 以便为工程车的制造做准备。
(3) 样品试制 (产品设计工程车制造) 阶段。在进行实车制造时, 将利用一些软模进行零部件的制造, 进行实车装配。实车制造完成后将进行各个方面的功能验证、耐久性试验和国家强制认可试验。对制造而言, 这个阶段非常重要, 因为它是一个进行工艺验证的最佳阶段, 可以利用已采购的设备、材料离线对工程车辆进行工艺施工, 以验证工艺设计的效果。
(4) 小批量试制 (产品设计工艺验证) 阶段, 是产品开发验证的最后一个阶段。此阶段工装设备已经全部在生产线安装到位, 所有零部件都是用最终模具加工的, 产品制造将在生产主线上进行。在这个阶段, 设备将在线运行, 充分验证生产节拍和产品质量, 确保进行正常的大批量生产。
3 并行工程在工艺开发上的应用
在新产品上实施新工艺, 对项目进度和质量有着严格的节点要求, 为使得工艺开发能够与产品成功地同步启动, 在这里将并行工程在产品开发上的实施延伸至工艺开发, 使工艺开发与产品开发同步。
在产品设计的驱动下, 一个新的工艺将随着这个新产品同步在制造部门实施。项目周期、材料开发周期是否满足, 工艺开发与产品开发、工艺验证与产品验证是否同步, 在每个阶段产品设计、工艺设计达到什么程度都必须认真考虑, 因此需要一个完善的实施计划。
首先, 根据整个新产品的启动时间表和车型设计实施计划, 运用并行工程原理, 合理安排工艺方案的实施计划。在这个项目中, 面对第一次工艺设计和产品设计的同步实施, 如何合理安排确定实施计划是项目成功的关键之一。确定在产品设计过程中的每个重要节点, 其工艺设计要达到什么程度, 完成哪些方面的工艺设计, 设备准备状态如何, 怎样使工艺验证与产品验证同步实施, 都是项目实施的关键内容。
其次, 在方案实施的初期完成新工艺布局要求的规划, 提出在现有布局中加入新工艺的结局方案。由于是将一个全新的产品放入一个现有的成熟的车间进行生产, 而这个全新的产品又带来新的工艺要求。所以, 必须对现有的工艺布置进行重新编排和优化, 将新工艺放入现有的布局中去。现有的车间工艺布局在工厂规划时并未考虑, 空间和工位布置是一个难题, 而且工厂已经处于满负荷运行状态, 稍有不妥, 不仅影响新工艺的实施而且会对现场的生产带来不小的冲击。如何将冲击减到最小而又能保证新工艺的稳定性, 这就需要充分了解现场并与现场工作人员进行技术交流, 不断地调整并确定一个最终的实施方案。
再次, 根据工艺和时间进度的要求, 进行新设备规划、设计, 新材料开发及前期试验, 并满足质量要求的时间节点。新方案中使用到的新设备、新材料都是影响项目实施成功与否的关键因素。在设备的规划上, 必须要考虑将来大量生产的要求, 既达到稳定的质量, 又满足产量和质量的要求。在材料的开发上, 必须充分考虑材料的稳定性及与现有材料的匹配性, 减少缺陷和不匹配的问题发生。必须考虑到工艺的失效模式, 生产过程可能出现哪些问题, 发生的频次如何, 是否能够探测到这些失效及预防失效的发生, 这些都必须全盘考虑。
4 失效模式及后果分析 (FMEA) 在工艺开发中的应用
通过工艺开发的并行工程, 大大缩短了工艺启动的周期, 确保了项目节点及新工艺与新产品的同步启动。但是在工艺开发过程中仍然面临着大量的风险, 如材料开发失败、工艺方案不可行等。如何使得这些风险大幅降低以至消除, 运用有效的质量工具, 即基于失效模式及后果分析的工具来进行项目质量控制是确保项目质量的有效手段。
FMEA (Failure Modes and Effects Analysis) 是一种综合分析技术, 主要用来分析和识别工艺生产或产品制造过程可能出现的失效模式, 以及这些失效模式发生后对产品质量的影响, 从而有针对性地制定出控制措施以有效地减少工艺生产和产品制造过程中的风险。
在产品生命周期内的不同阶段, FMEA的应用目的和应用方法略有不同, 在产品生命周期的各个阶段虽然有不同形式的FMEA, 但其根本目的只有一个, 即从产品设计 (功能设计、硬件设计、软件设计) 、生产 (生产可行性分析、工艺设计、生产设备设计与使用) 和产品使用角度发现各种缺陷与薄弱环节, 从而提高产品的可靠性。
在项目的实施策划阶段, 对方案、工艺流程等进行“头脑风暴”, 充分发挥团队的力量进行分析, 大大有助于在系统设计初期预测、解决或监控潜在问题, 包括工艺、设备、人员操作、物料等方面存在的潜在失效模式, 减少后期的产品、工艺和设备设计工程更改, 提高项目的质量。
建立有效的FMEA模型对提高项目的实施质量非常重要。考虑到项目的特殊性, 可分为两条主线:一为项目实施过程主线, 仅针对于项目实施阶段, 在进入正式生产阶段前截止;另一为工艺过程主线, 针对生产制造过程中的工艺问题, 在正式生产前产生初稿并在生产阶段不断地进行动态完善和补充。
(1) 项目实施主线的FMEA
在项目确定之后至在线生产之前的项目实施过程中, 项目实施主线的FMEA应从项目宏观上考虑, 对研究项目的失效模式进行分析。项目存在相当多的阶段, 每个阶段都存在着不同的风险和失效模式, 如项目工艺规划阶段、材料开发阶段等, 如果阶段性的工作质量无法满足项目要求, 就有可能拖累整个项目。同时, 对工艺进行分析, 如技术是否可行, 质量是否满足、密封胶的质量和油漆的配套性等是否能达到工艺目的等诸多方面, 以避免发生失效。工艺设计FMEA中最主要的失效模式包括工艺方案、材料匹配、返修方案的研究等。
(2) 工艺过程主线的FMEA
在正常生产过程中, 各种影响因素不断发生着波动和变化, 最终影响产品的制造质量。而工艺过程的FMEA就是要提前预测潜在的失效问题及发生的频次, 并为之准备解决方案。所以工艺过程主线的FMEA应从工艺流程图开始, 分析过程中的各种参数及其失效。
5 结束语
汽车从设计开发到投放市场是一项艰辛而复杂的系统工程。在汽车产品开发中运用并行工程, 就是为了将满足客户需要的高品质汽车产品快速投入市场;而在工艺开发中运用并行工程和FMEA方法, 就是为了能够快速地实现新产品的生产, 并满足产品质量和进度要求。
并行开发 篇2
产品开发过程集成系统是产品开发信息交流和管理的平台。过程集成作为信息集成和企业集成之间的环节,直接影响企业集成的效果。通过过程集成,可方便地协调各种企业应用系统的功能,将人、资源、资金及其应用合理地组织起来,获得最佳的运行效益[1]。过程集成技术必须提供性能可靠的通信机制,保障过程与活动的状态转换顺利实现。Sosa等[2]以DSM为工具,研究了产品结构中的接口与开发过程中的信息交流模式之间的关系。Reijers等[3]对Aalst提出的过 程BOM模型进行了进一步的改进和完善,并在此基础上 开发了基 于产品的 工作流设 计方法。Trappey等[4]开发了基于推理引擎的专家系统的智能化工作流管理系统。张岚[5]提出了面向产品开发过程的项目管理模型,实现了产品开发过程管理与数据管理的集成。李军宁等[6]提出了设计流程的知识服务集成模式,在宏观和微观层次上实现了对设计知识服务平台中知识流动规律的研究。孔建寿等[7]研究了项目管理系统与工作流管理系统的集成框架,实现了它们之间的信息集成和功能集成。曾福胜等[8]通过分析业务流程的活动和人力资源,构建了知识供应流的模型,实现了知识流与工作流的集成。张晓刚等[9]提出一个扩展的工作流过程元模型,以支持业务过程控制与知识管理的集成。在产品开发过程中,资源是产品开发所必需的物质条件,产品数据是产品开发的技术保障,乔立红等[10]对该管理系统进行了深入的研究。
复杂产品开发过程管理系统中的部分功能模块集成理论已有所研究,但该集成技术还处于理论研究和试验阶段,对产品开发过程的管理,仍然侧重于对已有数据的管理,而忽视更高质量、更有价值的产品数据获取,导致开发过程的知识流失严重,各种管理技术的信息交流不畅通。虽然许多学者提出不少模型来描述产品开发过程,但综合考虑多种因素,尤其是资源约束的研究还不完善[11]。因此,资源受限的复杂产品开发过程集成技术研究可以为开发过程提供各种信 息交流畅通、过程执行透明的支撑平台。
1复杂产品并行开发过程管理体系结构
复杂产品的研发周期长,参与的组织和人员较多,因此大多数情况下,其研发过程需要通过项目进行管理。项目管理是一种经典的管理技术,工作流技术是组织实现业务过程建模、重组和执行的重要技术,两者在支持整个业务运行上具有很强的互补性。在产品实际的开发过程中,项目进度不但受项目活动执行次序的约束,而且受活动所需求的产品数据、知识以及资源的约束。解决此类复杂问题的主要方法是对相互联系、动态变化的开发活动进行合理的规划和执行,并有效管理此类活动的数据、知识等信息。因此,复杂产品开发过程需要一种面向过程且对项目管理、工作流、产品数据、知识以及资源等进行综合管理的集成技术,并能基于该技术进行合理的开发过程规划。
为了使复杂产品开发过程有序、高效地进行,并满足产品开发任务快速、低成本、高质量的要求,复杂产品开发过程管理系统必须能够对复杂产品开发过程提供有效的管理支持,保证每个开发任务在正确的时间、以正确的方式完成。根据复杂产品并行开发过程的功能需求,构建图1所示的复杂产品并行开发过程管理体系结构。
该过程管理系统采用4层(用户层、服务层、技术支撑层和数据层)逻辑结构模式。用户层主要提供系统和用户的交互界面,包括可视化过程管理界面和网络浏览器;服务层主要包括项目管理服务、工作流管理服务、产品数据管理服务、资源管理服务、知识管理服务、过程规划服务等功能模块,在复杂产品并行开发过程中为用户提供各种管理服务,实时、动态地监控各个环节的执行情况;技术支撑层为各模块管理系统提供畅通的信息交流平台,便于产品开发过程中信息的更新、互动及融合等,提高服务层各项服务的质量;数据层为复杂产品并行开发过程提供必要的信息存储支持(包括产品数据库、资源库、知识库、项目模型库和工作流模型库)。
2开发过程集成模型
2.1功能模块映射模型
产品开发项目在分解后形成的相 关可控活动,既是项目的基本管理单位,又是建立工作流模型的基本对象,同时也是资源和产品数据服务的对象。根据活动在项目管理系统、工作流管理系统、知识管理系统、资源管理系统和产品数据管理系统等功能模块中的作用范围定义项目空间、业务空间、知识空间、资源空间和数据空间,并通过活动的纽带作用,构建各空间功能模块之间的映射模型,如图2所示。
2.2功能模块集成模型
根据集成模块的映射模型,构建图3所示的产品开发过程功能模块集成模型,各功能模块集成过程如下:首先,根据产品开发需要调用数据库管理系统的产品结构树,并以此为依据在项目管理系统中进行项目分解、活动定义和项目层建模,确定项目活动的执行次序;接着,通过活动调度的纽带作用,针对项目模型中各个活动节点进行业务层的工作流建模,并通过模型转换接口调用工作流系统,同时将产品信息树的各类信息赋予该活动,其中,产品信息树与数据管理系统的产品结构树相关联;然后,工作流管理系统根据每个活动的工作流模型生成工作流模型实例;最后,项目管理系统根据项目分解的定义,激活活动节点,触发工作流管理系统中的活动流引擎,并通过活动调度,根据所赋予的相关信息从各管理系统的请求服务功能中获取该活动的资源需求、知识需求及数据需求,将该活动分配给相应的角色,执行具体的业务处理。在活动执行过程中,角色以活动为纽带,及时与项目管理系统、工作流管理系统、资源管理系统、数据管理系统和知识管理系统交互,保证活动的顺利进行,同时实时更新各系统的信息;项目管理系统可以通过活动执行过程的动态数据,实时监控项目的具体执行情况。当一个活动节点工作流实例完成后,向项目管理系统返回执行成功信息,并激活下一个活动,直至项目所有活动执行完成。
2.3过程信息集成模型
复杂产品开发过程信息集成体现了各管理系统之间的信息交流。根据项目分解的活动,提取相关信息构建各空间数据表。图4是采用SQL表达的部分信息表集成关系图。如图4所示,当项目进度到达某活动时,该活动表的活动状态为激活状态。通过活动表的工作流ID、资源ID、知识ID和数据ID分别与工作流表、资源表、知识表和数据表相应的主键关联,实现各空间信息的集成。通过信息表的路径属性可以进一步了解更多的相关信息,如通过知识表的知识路径可检索到更加具体的知识表示等内容。
2.4事件逻辑推理模型
事件逻辑推理是根据给定的条件启动相应的功能模块,按既定逻辑完成各项任务。事件逻辑推理模块主要包括空间关系模型、对象表示模型以及事件推理引擎。根据集成过程的描述,各空间关联关系如表1所示。其中,Project[p]是根据项目类定义的对象,其他对象类似;布尔变量值的含义如表2所示。
当P1P2 =10,A1A2 =11时,W1W2 =11,即工作流执行后处理。此时,资源、知识及数据均处于分配状态,但不同于P1P2 =01,A1A2 =01时的分配状态。因为在工作流后处理的 分配状态中,资源和知识的分配实际是前文所述的资源拉取和知识拉取的过程,而数据分配是在项目执行过程中直接由某活动使用结束后分配 给另一活动,避免数据先释放再分配的时间浪费。同时,工作流的后处理还要更新知识和产品数据。
依此类推,根据标准与-或表达式及项目和活动的状态,可以得到各空间工作的状态,从而实现了各空间事件推理引擎的设计,以及开发活动在各空间的信息协调一致。
2.5过程资源冲突消解模型
并行产品开发过程是一个协调、共享、合作的过程,冲突的产生是经常性的、不可避免的,且贯穿整个开发过程。资源对产品开发项目进度的约束因素主要有资源可用时间窗口、资源容量和资源补充方式等,但资源在开发活动过程中可能只在某个时间段使用,也可能在整个活动过程中都在使用。资源在不同活动中的驱动方式也存在着差异。因此,根据图2中资源推拉技术的描述,构建资源冲突消解模型,如图5所示,图中双点划线表示活动2延迟执行的状态,虚线表示活动2延迟执行应满足的条件。图5中,活动1和活动2同时占用资源1和资源2,且存在资源竞争。为了描述方便,令活动1均先于活动2占用资源,各资源在活动中作用的时间如图5所示,图中,Tbij表示活动i占用资源j的开始时间;Teij表示活动i占用资源j的结束时间。根据假设可知,若资源的作用时间满足Tb1j < Tb2j < Te1j,则活动关于竞争资源j存在冲突。根据资源推拉技术的思想,消解资源1和资源2分别引起的过程冲突只需要分别将活动2延迟t1和t2即可,其中,t1=Te11 -Tb21,t2=Te12 -Tb22。
3应用
3.1集成环境下产品开发过程规划
产品开发过程中的每个开发任务必须由一定的资源按照一定的既定顺序来执行。资源受限的产品开发过程规划包括资源约束条件下的过程建模、过程分解、过程调度、过程分析与优化、过程改进和过程实施等模块,根据图1所描述的过程管理系统,本文基于产品开发过程集成环境构建资源受限的产品开发过程规划运行方式,如图6所示。
根据复杂产品并行开发过程集成 模型的分析,集成环境下产品开发过程规划的运行应以过程为中心,以活动为对象,以集成环境为平台。图6显示,当用户进行过程规划的某一项操作时,相应地启动该项目的系列活动,即根据表2事件推理引擎激活相应的管理系统,并由图4的信息表路径属性获取相关活动信息;通过图3所示的集成框架,以活动为纽带获取过程规划活动中的所有相关信息,然后根据图2的映射关系即可实现过程规划在各空间的运行。基于复杂产品并行开发过程集成平台,本文设计了过程规划相应模块的关键技术:资源受限的并行产品开发耦合活动割裂规划、基于资源推拉技术的并行产品开发项目调度算法、资源受限的并行产品开发过程时间模型以及基于知识融合的产品开发过程改进等。
3.2实例分析
活塞连杆组改进设计矩阵如表3所示,应用开发过程集成平台识别耦合活动2、3、4、5,将其分别分解成子活动(7,11,15)、(9,13,17)、(8,12,16)和(10,14,18),会审活动编号为19。设计过程中,主要考虑设计人员和分析人员两类重要资源,且资源容量均为1,各活动参数如表4所示。基于集成平台各种信息获取功能,并利用图6所示集成平台过程规划服务获得活塞连杆改进设计过程规划,如表5所示。
h
h
表5中括号内的时间为活动最晚的开始时间,空白单元格表示相应活动不占用该资源。由表3、表4可知,活塞连杆组改进过程规划充分利用了设计活动、设计资源的相关数据或知识。表5表明,基于开发过程集成环境及图6所示的过程规划运行方式可以实现信息交流畅通、活动安排合理的开发过程。无资源约束时,设计活动4可以与设计活动3同时开始;有资源约束时,设计活动4与设计活动3关于“设计人员”资源冲突。若资源冲突采用传统的消解模型,则设计活动3必须等到设计活动4结束后才能开始,即由表5中的活动4结束时间可知设计活动3的最早开始时间为37.76;若资源冲突采用图5的基于资源推拉技术的消解模型,则设计活动3在设计活动4释放资源“设计人员”时就可以开始,即设计活动3的最早开始时间为33.17,再在此基础上进行时间优化得到更理想的开始时间(算例中的时间为35.90)。
4结语
并行开发 篇3
在设备密集型仿真系统中,设备硬件开发主要涉及3类程序:硬件控制程序、仿真应用程序和网络通信程序。 硬件控制程序实现对设备的采样、驱动;仿真应用程序通过硬件控制程序的采样值生成硬件控制程序所需的设备驱动值;网络通信程序完成硬件控制程序和仿真应用程序之间采样值和驱动值的传输。此类工程实施的普遍做法是首先由硬件开发人员对设备进行改造,实现硬件控制程序,定义出特定的设备控制格式,通常为基于比特位的底层描述;然后网络开发人员根据这些特定的格式定义完成网络通信程序开发;最后,仿真开发人员在仿真应用程序中按位解析接收数据包。显然,在硬件开发人员完成所有硬件格式定义之前,网络开发人员无法知道要传输多少数据,仿真应用程序也无法对格式进行解析。文献[1]提出了一个规范的硬件控制体系结构,该模式具有3个主要特征:1定义了一个规范的硬件控制量标识法;2实现了一个可复用软件中间件;3以外部可配置文件隔离系统的变化部分。本文基于该体系结构技术支持,提出一种软硬件高度并行开发、无缝集成的规范化工程方法,以提高工程开发效率,降低开发成本,提高交付产品的价值。
1硬件控制体系结构相关技术特征
1.1软件配置总体结构
硬件控制体系结构的软件配置如图1所示[1]。其中, 设备代理程序(proxy.exe)、ad.dll是可复用 的软件中 间件;嵌入程序1、嵌入程序2为嵌入式单片机程序,设备控制数据的格式为基于具体控制技术的bit位格式(下位协议),1.dll、2.dll为对应单 片机的动 态链接库DLL(Dynamic Link Library),完成下位协议和上位协议的转换,嵌入程序1、嵌入程序2、1.dll、2.dll等为不可复用、需要针对特定系统进行 开发的部 分;ad.cfg为外部硬 件配置文 件,描述特定系统的全部硬件控制量;UNet.cfg、LNet.cfg分别为上位网和下位网的配置文件,描述通信路由,这些配置文件不可复用;需要针对特定系统进行开发。
1.2控制量标识和访问方法
(1)每个硬件控制量以二维方式标识为AO(i,j),AI (i,j),DO(i,j),DI(i,j)。其中,i为面板号,j为相对于i的控制量号。
(2)仿真应用程序、单片机DLL程序以如下方式访问硬件控制量:
1.3外部配置文件
(1)硬件配置文件(ad.cfg),遵循如下语法规则:
(2)下位网配 置文件 (LNet.cfg),遵循如下 语法规则:
(3)上位网配置文 件 (UNet.cfg),遵循如下 语法规则:
1.4单片机DLL
每个单片机对应一个DLL,该DLL输出函数Sample ()和Drive():
2并行开发过程
2.1绘制面板图并准备硬件配置文件(ad.cfg)
图2通过UML活动图描 述了整体 工程开发 流程。 工程开始时,首先绘制面板图。硬件开发人员和仿真应用开发人员根据仿真任务需要,结合未来系统扩展需求,共同确定需要由程序进行控制的硬件控制量,由硬件开发人员负责绘制面板图。对于大型系统,首先划分面板,为每个面板分配一个面板号,如图3所示。
完成硬件面板图绘制后,依据面板图完成硬件配置文件(ad.cfg)输入。硬件配置文件(ad.cfg)也可在绘制面板图时输入。将硬件面板图分发给所有硬件开发人员和仿真应用开发人员,为开发嵌入程序、单片机DLL和仿真应用程序打下基础。
硬件面板图是系统技术文档的重要部分,如果没有硬件面板图,将无法追踪程序中其它技术文档所引用的硬件标识的确切含义。
2.2嵌入程序和单片机DLL开发
不同设备所需的具体控制技术不同,因此硬件开发人员需要开发不同的硬件控制程序(即嵌入程序),并撰写详细的嵌入程序技术文档。在技术文档中,采样和驱动数据的格式非常重要,以字节和bit位表达。与硬件控制量有关的字节、位等信息,通过面板图上标注的硬件标识精确描述。
确定嵌入程序采样和驱动数据格式后,按照面板图开发单片机的DLL。单片机的DLL只完成简单的格式转换,函数Sample()完成采样数据的bit位格式到面板图二维标识的转换,函数Drive()完成面板图二维标识到驱动数据bit位格式的转换,此类转换很容易完成。
对同一个单片机,嵌入程序和单片机DLL可由同一组硬件开发人员开发,也可以安排一组硬件开发人员负责开发嵌入程序,另一组负责开发单片机DLL。前者的优 点是硬件开发人员对自己所开发的硬件控制格式非常熟悉,即使不查阅技术文档也可快速完成单片机DLL开发, 缺点是需要和DLL打交道。后者的优点是嵌入程序开发人员和开发单片机DLL开发人员可以不必掌握对方开发领域的知识,缺点是需要阅读技 术文档获 取bit位格式。 尽管技术文档引用面板图标识对硬件进行了精确描述,但理解文档会影响效率。因此,在硬件开发人员不紧张的情形下,第一种组织形式效率更高,因为单片机DLL只有两个函数 ,即使没有任何DLL知识也可以按照预定的程序模板完成开发。然而,采用这种组织方式,硬件改造开发量很大,如硬件开发人员不足,则需要将开发单片机DLL的任务转交给其他开发人员。
2.3仿真应用程序开发
完成面板 图绘制后,在未完成 嵌入程序 和单片机DLL开发的情况下,无需定义“bit位格式”,无需参考嵌入程序技术文档,依据面板图就可以按照前述方式完成控制量访问代码开发,不仅简单、效率高,而且不容易出错。
2.4网络通信和系统集成
网络集成人员依据单片机系统的容量,为单片机分配IP地址,依据仿真应用程序在主机上的分布情况,为主机分配IP地址。在此基础上,很容易根据前述格式填充下位网配置文件(LNet.cfg)和上位网配置文件(UNet.cfg) 。最后,将ad.cfg,LNet.cfg ,UNet.cfg ,单片机DLL与ad.dll,proxy.exe集成在一起,完成整个系统集成。从此过程可以看出,网络集成人员无需开发任何通讯代码,只需准备LNet.cfg和UNet.cfg两个文本文件,就可以完成系统通信功能。
3结语
并行开发 篇4
关键词:多处理器,并行,计算机系统,开发设计
经济社会的高速发展使得信息技术也得到了进一步的发展,人们也因此迈入了信息化时代。不管是哪种行业对于计算机的需求都不断地加大。尤其是在军工及高技术要求的领域,计算机几乎已经成为了这些行业发展的核心,因此对于计算机的性能要求也是十分高的。在一些比较特殊的导航及雷达等相关领域,对于计算机对于信息的处理速度和处理信息的及时性都有着很高的要求。尽管人们已经采取了很多种方法来提高计算机的性能,但是采用多处理器并行的方法似乎有着更好的作用。
1 多处理器在计算机系统中的应用
CPU是计算机的重要组成部分,构成包括控制器和运算器两部分。由于CPU本身存在的一些特点对计算机运算速度的提升具有一定限制作用。针对这一问题,人们在进行CPU时钟频率提升的基础上,还有一个最有效的方式也就是应用对称多处理器技术,即为计算机系统中应用多个CPU,实现多个CPU在一个系统下的协作运行,从而显著提升计算机的运算速度。一个CPU均可以执行一个线程,一个系统中的多个CPU也就能够同时执行多个线程。多处理器并行的系统中,能够实现系统所有资源的有效应用,操作系统则会依照实际情况进行处理器使用资源顺序及应用时间进行合理安排,能够有效实现多线程并行工作,从而显著提高计算机应用程序运行效率。所以和单处理器相比,多处理器的工作效率要具有显著优势。目前在计算机系统中应用多个CPU已经比较普遍,但是和CPU相比,多CPU系统具有较大复杂性,并且价格也显著偏高,因此在台式机及笔记本电脑中的普及率并不高,但是已经成为计算机系统发展的基本趋势。
2 多处理并行的计算机系统设计
计算机系统的设计包含了计算机硬件和软件的设计,因此在设计多处理器并行的计算机系统时也需要从这两个方面入手。
2.1 硬件
多处理器并行的计算机系统是需要有一个自己局部的存储器的,其实就是一种并行结构的系统模型。局部的存储器可以对自己所需要用到的应用程序进行存储,以此来确保自身相关程序可以高速地运转。另外多处理并行的系统是需要有互联网络,而且这种互联网络必须能够实现高速通信,可以把那些并行的数据块高速地分部到每个处理器的局部存储中,这样计算机的并行效率就可以得到保障。多处理器并行计算机系统的硬件采用共享存储器互连的松耦合不对称处理器配置。具体的硬件设计情况如图1所示。
从图1可以发现,每一个处理器都有自己的局部存储器,因此这些处理器都是可以单独进行高速计算的,在每个处理器之间则是由双端口的存储器互相连接起来,以此组成高速的星型网络通信模式。双端口自身的通信效率就是比较高,而且它的通信协议建立的方式也是比较灵活,所以双端口存储器互连的松耦合多处理器并行计算机系统也具备了不少的优点,主要表现在以下几个方面:
(1)通信带比较宽。处理器访问双端口存储器的时候是可以采用字节、字和双字的长度来进行,它对于数据的读取和读写的速度是比较高的;(2)结构比较简单。处理器双端口是直接进行联系的,不再需要其他的接口,这样会使信息的双向传送变得更加可靠;(3)可裁剪性。多处理器并行的计算机是可以根据自身的实际需求来减少或者是增加处理器的储量的。(4)具有很强的扩展性,这种多处理器并行的模式,适用于各种各样的处理器。
在图1中,主处理器对于整个计算机系统起到了管理的作用,它可以有效地协调各个从处理器进行工作,当然为了提高计算机整体地运行效率,还需要对每个处理器拥有自己的电子盘存储程序。
2.2 软件
多处理器并行计算机系统的设计不仅需要对硬件设施进行相关的设计,而且还需要对其软件进行设计,提高处理器的执行效率。将详细地介绍一下多处理器并行计算机系统的软件设计方法。
2.2.1 多处理器并行的通信设计
因为在计算机的整个软件系统中需要使用到多个处理器,所以这些处理器之间也需要进行通信,在设计多处理器之间的通信方法时,可以采用中断方式或者是查询的方式。对于每个处理器来说,它们都有属于自己的输入队列,主要是用于接收数据包,这些数据包则是从其他的处理器发过来。如果采用的方法是查询方式,则需要设定固定的时间来查询队列是否及时地接到了相关的数据。如果采用的方法是中断方式,发送处理器则会通知接受处理器,让其输入队列中的相关数据。中断方式所采用的是邮箱或者是总线的中断,和查询方式相比,它的效果会更好一些。
多处理器并行的计算机系统就相当于是一个嵌入分布式的系统,每个处理器的通信可以采用分式数据库技术或者是分布式消息队列技术等。这两种方法的有效结合则可以给所有的处理器提供一个更加透明的信息传播平台。
2.2.2 多处理器并行的资源分配
在多处理器并行的计算机软件设计过程中最主要的目的就是要保障并行的执行效率。多处理器的计算机系统每个处理器都需要访问一些外围的设备以此来实现数据通信,这样就会产生资源分配的问题。主要有两种方法对资源进行分配,(1)定制,也就是提前对每个处理器的资源分配好,但是它的灵活性比较差,用户无法根据自己的实际需要对资源进行重新的分配;(2)动态,可以提前留软件的接口,用户可以根据自己的实际需要来进行相关的设定,整个的资源分配都处于一个比较透明化的状态。在设置软件的时候需要对每个处理器使用的设备进行划定,这样就会减少各个处理器之间资源划分不均匀的现象发生。
2.2.3 多处理器并行的共享存储区网络心跳检测
在多处理器系统中,所有处理器均需要在进行共享存储区域初始化后,在此基础上才能够在网络基础上实现通信,因此首先需要了解各个处理器的共享网络状态。在设计过程中则可以用心跳检测方式,以能够对网络状态进行分析。心跳则为计数器,在主动处理器上被动地实施每一秒计数,其他处理器则可以依照进行心跳值的监视以能够对其共享网络的运行情况进行判定。基于实际情况其他处理器监视心跳通常每隔几秒心跳一次,通常情况下共享存储器心跳偏移地址位置是在共享存储器的第5个4个节的字中。
2.2.4 多处理器并行的存储器网络共享机制
在计算机操作中,各个CPU也必须有效实现相互通信,应用的则为共享存储器网络技术。这一项技术是在虚拟网络基础上有效实现共享存储设备的管理。可以采用网络形式实现共享存储网络驱动中各个处理器的相互通信,在应用过程中必须要和BSD4.4兼容格式规范相契合。共享存储器能够在CPU主板上驻留,同时也能够在单独的存储器板上驻留。共享存储器网络则属于是Vx Works中的组成模块之一,在应用过程中则需要在tornado相关选项中进行选择。任何一个处理器在应用中各自有boorom或者Vx Work image,对各自运行下的操作系统进行控制,但是各个之间也需要应用共享存储器实现各个之间的相互通信。
2.2.5 多处理并行的计算机性能分析
在多处理并行计算机系统运行过程中,所采用的是Intel Pentium3处理器,主频为700MHz。在进行计算机性能测试过程中,应用相同功能的数据处理算法,将系统分解成若干个模块,在计算机系统中的各个处理器中进行各自运行。测试结果能够明显发现,和单处理器计算机系统相比,两个处理器并行能够显著将计算机运行性能提高60%-70%;3个处理器并行的计算机系统运行性能至少可以提升2倍。在以上分析过程中测试方法也会对其测试结果产生影响,相同功能进行分析,并分别分配到各个处理器中,分解方式对处理器综合处理效率具有直接影响。但是最后结果能够显著发现,多处理器并行的应用能够对计算机系统的运算效率显著提升。
3 结语
随着网络技术的不断发展,对于计算机的性能也提出了更高的要求。如果采用提升CPU主频的方法来提高计算机性能,必然会受到功耗增大的限制。而采用多处理器并行的方法来提升计算机的性能则有很大的优越性。以上主要介绍的就是关于多处理器并行的计算机系统的开发设计,以为同行工作者提供相应的参考意见。
参考文献
[1]李仁发,刘彦,徐成,等.多处理器片上系统任务调度研究进展评述[J].计算机研究与发展,2008,45(9):1620-1629.
[2]彭浩,韩江洪,陆阳,等.多处理器硬实时系统的抢占阈值调度研究[J].计算机研究与发展,2015,52(5):1177-1186.
[3]张冬松,吴飞,陈芳园,等.开销敏感的多处理器最优节能实时调度算法[J].计算机学报,2012,35(6):1297-1312.
[4]代声馨,洪玫,郭兵,等.多处理器实时系统可调度性分析的UPPAAL模型[J].软件学报,2015,(2):279-296.
[5]兰舟,孙世新.基于动态关键任务的多处理器任务分配算法[J].计算机学报,2007,30(3):454-462.
[6]赵鹏,严明,李思昆,等.异构多处理器So C的应用算法性能优化方法[J].软件学报,2011,22(7):1475-1487.
并行开发 篇5
复杂机械产品从产品设计到产品完成, 大致可以分为产品设计、工艺设计、加工装配、产品验收四个重要的阶段。以传统的机械设计生产方式来说, 产品设计阶段所消耗的成本最大。在传统的机械设计中, 是以手工设计复杂机械产品, 用特殊的方式进行计算和画图, 然后通过反复修改完成机械产品设计的工作。这个过程耗时长、设计人员耗费的精力多、修改起来十分麻烦, 而且传统流程使机械产品的设计所需要消耗的成本极大。将CAD/CAE技术应用到机械产品设计中, 它能用数字的方法自动地完成产品计算分析、性能仿真、优化设计、自动绘图等工作, 通过该种方法进行设计, 能使设计的产品信息化和集成化, 使设计出的产品根据产品需要打破距离限制发送到任何需要设计图的工作岗位。CAD/CAE目前被广泛地应用到机械设计中, 特别是复杂的机械产品设计中, 通过CAD/CAE软件的应用, 更能体现出机械产品信息化的重要作用。
2 CAD/CAE在机械产品设计中的应用流程
CAD/CAE并行开发是指借用CAD/CAE类软件, 使复杂机械产品的设计与开发流程可以同时进行, 通过信息化的方式使复杂的机械设计以成本少、速度快、质量好的方式完成设计和开发的全部工作。本文以设计和开发一款复杂机械设计中常用的齿轮为例, 介绍CAD/CAE软件在复杂机械产品设计的全部流程。
2.1 选用Pro/E设计
根据机械设计的要求, 该次设计选用Pro/E软件, 该软件是根据CAD/CAE/CAM领域的新标准设计出的专门满足机械设计需要的软件。
1) 标准的参数设计。在设计和绘图时, 要求用户直接输入大量的标准参数, 软件能根据用户给出的参数不断设计出模型, 用户通过不断地修正参数来完成产品的开发, 通过该种方式能完成设计和生产一体化的过程, 实现CAD/CAE并行开发的过程。
2) 使用模块化设计。在复杂机械产品设计的过程中, 有数种绘图要求, 比如任务规划、概念设计、结构设计、工程分析等不同流程。在不同的流程中, 绘制图的细节也有区别, 该款软件针对机械设计的需要, 用模块化的方式区分各个设计与生产的绘图方式, 通过模块化的方式绘制图形, 让它能在不改变原图设计的情况下, 使设计出的产品能直观地表现出不同的效果。
3) 智能生产模型。用户在完成参数设计的绘制工作后, 会根据机械设计的一些特点, 要求用户给予一些常用的模型参数, 只要用户能够完成参数设定, 软件就可智能地生成需要的模型。同样, 如果用户对设计出的齿轮不满意, 则可不断修正参数, 直到满足用户的需求为止。
4) 实用的工具包。该软件提供了大量的工具包, 用户在设计时可以根据工具包用不同的角度对设计出的作品进行观察和调整, 它形成的工具包能让用户非常直观地、全方位地看到产品设计的效果, 并随时可对产品进行修改, 直到产品设计真正满足用户的需求。
2.2 使用齿轮渐开线生成原理完成齿轮设计
1) 齿轮渐开线参数设计
渐开线公式为:rk=rb/cosα;θk=tanαk-αk。根据机械设计设计标准与专用的设计公式及渐开线原理, 此次使用齿轮渐开线原理对齿轮设计的参数如表1。
2) 在软件中设计参数
打开软件, 点击工具栏中“新建”文件的菜单, 选择helical_gear零件模块, 调出相关的文件, 根据模块设计好的数据参数进行填写, 其填写结果如图1。
3) 绘制齿轮曲线
打开“草图”绘制工具栏, 根据设计要求填写齿轮的圆曲线参数;点击“圆曲线”, 根据以上设计的渐开线原理及设定的参数填写相关的参数;在基准轴、基准面、基准点中一一输入以上渐开线中设计出的参数;在镜像齿轮廓中填写渐开线设计中设定的参数。
4) 完成3D草绘设计
在以上参数完成后, 点选“拉伸”, 软件完成草绘的圆柱体, 此时软件自动完成齿轮的草绘工作。用户在完成产品设计时, 可以一边填写参数一次移动或旋转设计图, 看是否满足自己的需求。完成草绘后, 在“从边创建图元”的菜单中选择“环”, 齿根圆曲线选“圆角”;齿根圆的设计参数为LONGTH=B。
5) 轮齿设计效果
点击“草绘约束器”设定半径的参数为r=0.38mn, 此参数为轮齿设计要求的参数, 以两圆角半径相等的方式修剪圆角。转动轮齿的角度, 设定齿轮端面轮廓的关系为:theta=2*b*tan (beta) *180/ (pi*d) 。完成齿廓时, 可以根据原先设定的要求在软件中填写参数, 其填写参数为渐开线原理设计的参数, 其2D的效果图为图2, 在完成齿廓设计时, 将轮齿的设计参数定义为“阵列”, 方式选为“轴”。
6) 轴孔的设计效果
轴孔的设计效果全部依照生产要求与设计标准直接进行参数输入, 其参数如图3。
7) 成品图设计效果
在完成所有的参数设置后, 软件自动绘制出需要的3D效果图, 如果用户不满足成品的效果, 可以修改参数重新调整设计, 成品图如图4。
2.3 CAE完成产品封装
Pro/E5.0以上便有集成CAE封装的功能, 是指软件在完成绘图工作以后, 不仅保留有绘制的3D效果图, 还将各种设定的数据集成到相关的数据库里, 以便在设计初评未达成满意的设计效果时随时可对参数进行调整, 让软件对绘图进行修正。
3 机械产品CAD/CAE并行开发流程评估
在机械产品中进行CAD/CAE对产品进行设计时, 可以一边设计一边对产品进行开发。这是指软件具有智能绘图的功能, 它可以一边设计, 一边评估, 设计与开发并行。在机械设计与开发的过程中, 有两个关键的评审, 一个为设计评审, 一个为分析评审。以齿轮设计为例, 在产品完成设计进入设计评审阶段时, 无论产品设计能否满足要求, 它都可对产品设计进行评估, 如果评估结果不合格, 它就要从“齿轮渐开线参数设计”的环节开始, 重新分析齿轮的需求, 对参数重新进行设计, 直到绘制的结果评审合格进入下一个阶段。当产品设计到分析评审阶段时, 它可以对目前设计的结果是否满足机械设计的需要进行评估, 考虑产品是进行设计评审阶段, 还是直接再进入“齿轮渐开线参数设计”重新设计。齿轮的CAD/CAE并行开发的流程方式如图5。
通过使用CAD/CAE, 可以实现复杂机械产品的设计与开发并行的流程, 通过齿轮的设计与开发并行流程实例, 证明应用该种设计方式方法能节省大量精力、成本、时间, 同时能精准地保证设计的质量, 使机械产品生产时, 能提高效益。
参考文献
[1]徐国斌.Pro/ENGINEER Wildfire在企业的实施与应用[M].北京:机械工业出版社, 2004.
[2]孙恒, 陈作模, 葛文杰.机械原理[M].北京:高等教育出版社, 2006.
[3]周新建, 肖乾.基于Pro/E与ANSYS实现斜齿轮的工程分析[M].煤矿机械, 2006 (12) :80-82.
并行开发 篇6
减少产品开发时间,提高产品开发效率正在成为企业占领市场份额的关键因素之一。越来越多的企业开始将来自不同学科领域的开发人员集成在产品开发的设计阶段[1],将产品开发过程尽可能地并行,消除不必要的返工,从而使产品开发一次成功,这种开发方式被称为并行开发模式[2]。在并行环境下,产品开发的设计阶段集中了来自不同学科领域的专业人员(包括设计、工艺、制造、销售、市场、维修等),他们组成了实施并行工程的主要组织模式——多功能产品开发小组[3]。通过多功能产品开发小组成员之间的协作,各传统生产部门的作用被延伸到了产品设计阶段,这就减少了由于反馈延迟带来的设计阶段的不确定因素,从而提高了产品开发效率[4]。
但是,目前多功能产品开发小组成员的选择多基于管理者的主观判断,针对开发的不同产品,决策者在进行人员选择时没有系统地进行区别考虑。此外,由于目前存在的一些多功能小组选员方法对于选员过程中可能出现的一些问题(如人员间的合作性不够等),没有给予足够的重视,进而影响到了项目进度,甚至导致整个项目开发任务的失败[5,6]。
为了更全面地考虑多功能小组选员活动的各种影响因素,更有效地选择并行环境下产品开发阶段所需要的各种人员,本文给出了一种基于知识工程的多功能产品开发小组成员选择模型。该模型集中了多功能小组选员的三个主要标准:技能、级别和成员性格,建立了该领域的知识本体,同时实现了知识推理的功能,有效地帮助决策人员选择符合要求的多功能产品开发小组成员。
另外,本文还借助典型的知识工程方法三步骤,即知识收集、建立知识模型、知识的语义表达,结合基于本体论的语义网络语言OWL建立了多功能小组选员领域知识模型。同时,使用SWRL规范编写了基于此知识模型的操作规则,并进行知识推理,在protégé软件平台上实现了基于计算机语义网络的自动化多功能小组选员活动。
2 多功能小组选员领域知识模型的建立
2.1 多功能产品开发小组成员技能与开发任务间关系
多功能产品开发小组集成的是来自不同部门的开发人员,根据并行工程的原理,这种开发小组本质上集成的是掌握不同技能、具有不同学科背景的企业人员[7]。以某产品多样化的公司为例,该公司要组建一支多功能产品开发小组来完成某型号空调的开发任务。由于不同类型的产品在进行开发时可被分解为不同的开发任务,而不同的开发任务需要具备不同技能的开发人员来完成,所以候选人员的个人技能就成为选择小组成员的首要标准。为了了解每个候选人员的技能,首先需要将与各种技能相对应的开发任务明确下来。表1所示的是根据该公司的空调产品开发经验而总结出的与169个产品开发任务相关联的11个人员技能。
2.2 多功能产品开发小组成员选择的实现
在并行环境下,企业通过灵活地组建多功能产品开发小组来开发不同类型的新产品。仍以上述产品多样化的公司为例,该公司研制的主要产品类型有空调类、小家电类、洗衣机类等。由于产品类型的不同,使得完成不同项目所需的多功能产品开发团队的人员组成也有所不同。
此外,管理者要在并行下塑造富有成效的多功能产品开发小组,应把人数控制在12人以内[8]。如果一个自然单位本身较大,可考虑把工作群体分化成几个小的多功能小组。从规模上,一般按照产品的不同开发阶段组成相应的多功能小组,同时组建一个在产品全生命周期内负责统一指挥和协调的高层级多功能小组[9],不同层级的多功能产品开发小组之间的关系如图1所示。
本文完成的即是产品全生命周期内负责统一指挥和协调的多功能小组成员的选择。这里将这个级别的多功能产品开发小组称为高级别多功能小组。遴选出的小组成员不仅要具有多学科性,而且还承担着产品开发不同阶段各个多功能小组负责人的角色,即负责对低级别多功能产品开发小组进行负责与领导。这就要求所选择的高级别的多功能小组成员,还应该有员工级别以及人员性格方面的要求。
因此,在并行环境下进行新型产品的开发时,首先必须明确新项目属于哪种开发类型,然后再依据产品开发类型来确定产品开发任务,进而确定所需的开发人员技能,而开发人员的技能通常由其专业背景来体现,这种小组成员选择的实现逻辑如图2所示。在此基础上,结合对员工性格和员工级别两方面要求的考虑,最终选择新产品开发所需的高级别多功能小组成员。此外,在进行人员选择时通常优先选择从事过相关开发任务的企业人员。
2.3 多功能产品开发小组选员领域知识模型的建立
上述多功能小组成员选择实现逻辑可以进一步用本体论的思想进行深化。本体论(Ontology)的概念起源于哲学领域,它在哲学中的定义为“对世界上客观存在物的系统地描述”,关心的是客观现实的抽象本质。本体包括两个基本的要素:概念和概念之间的关系。
由本体论的原理,首先确定本文所研究的问题领域为并行环境下多功能小组的成员选择。通过调研和问题的抽象化,将影响多功能小组选员的因素大致分为两类:与项目本身相关的因素和与成员素质相关的因素。与项目相关的因素主要有:产品开发时间、预算、开发人员技能、开发人员数量等,其中需要的开发人员技能又由所开发的产品类型决定。与成员相关的因素主要有:年龄、性别、薪酬、职称、技能、性格、和某同事不和、级别等。
通过分析,从以上形成目标多功能小组的影响因素中提炼出四个主要的影响因素,分别为:产品类型、成员的技能、成员的级别、成员的性格,作为组建并行环境下高级别多功能小组的成员选择标准。从本体论的角度分析,形成目标多功能小组的这四个影响因素相当于从上述两个类(项目类和成员类)中分别提取一些因素(即产品类型、成员的技能、成员的级别、成员的性格)再组成一个新类(形成目标小组的影响因素类)。项目类和成员类之间又通过某些属性联系在一起,这些属性包括从产品类型中细分出来的开发任务和候选人员拥有的技能,因为特定的开发任务需要某些特定的技能去实现。
图3以本体的方式给出了这三大类之间的关系。图中“is-a”连接的两个概念之间是包含与被包含的关系,比如形成团队因素包含项目类型、成员的技能、成员的性格、成员的级别四个。而“has_Project”和“Skill_Need”则没有这种包含的关系,分别代表新建的项目属于哪种类型和某个产品类型在开发的过程中需要拥有哪些技能的开发人员。
3 应用protégé-OWL建立多功能小组选员领域知识模型
本文建立的基于语义网络表达方法OWL和SWRL的自动化多功能产品开发小组选员系统可看作是一个专家系统(expert system),而专家系统最重要的两个组成部分就是知识库(knowledge base)和推理机(inference engine)[10]。其中知识库中存储的是问题领域的结构化知识,包括事实、注释和基本假设,以及它们之间的关系。推理机中则包含的是用来进行推理的算法和规则。
3.1 基于本体论的语义网络语言OWL
OWL(Ontology Web Language)是W3C开发的一种网络本体语言,用于对本体进行语义描述。OWL和XML,RDF以及RDF-S相比,能够更加清晰地表达资讯的内容,方便对资讯内容进行处理应用。
3.2 本体化建模工具protégé
本文采用的protégé软件是斯坦福大学基于Java语言开发的本体编辑软件。它为使用者提供基于层次结构获取、存储和维护某个领域详细知识的方便接口,从而创建该领域的知识库。protégé工具本身没有嵌入推理工具,因此不能实现推理,但是具有扩展功能,可以通过导入SRWL、CLIPS、JESS等插件来实现推理功能。
3.3 应用protégé-OWL建立多功能小组选员领域知识模型
本文运用protégé-OWL构建多功能小组选员领域知识本体。具体构建本体的过程包括建立项目、建立类及类层次、建立属性及属性的允许值、添加实例四个基本步骤。根据图3中本体类之间的层次关系,建立图4所示的多功能小组选员领域本体类层次结构。
在protégé中,可以创建多种类型的属性,包括data、object、annotation等。本文为多功能产品开发小组选员领域添加的属性有:has_Project、Skill_Need等。根据已建好的类、属性及其允许值,可以为本体添加具体的实例。以候选成员类为例,为不同的多功能产品开发小组候选人员建立不同的实例如图5所示。
3.4 SWRL规则的编写
上述步骤完成了以本体的形式,将不同类型产品开发过程中成员参与的信息存储在知识库中。这些信息包括:各个类型产品开发所需技能、候选人员的技能和专业、小组成员选择影响因素等。由于本体仅仅基于描述逻辑,它不能表示一般形式的规则,即如何从复杂联系的存储信息中推理出其他的信息,于是人们提出了一种新的用语义方式呈现规则的语言——SWRL。语义规则的引入,使得基于知识库各实例之间的关系搜索成为现实。
在相关规则的编写过程中,本文主要基于公司的历史项目开发实例,以过往完成的各类型产品开发经验为依据,来选择新类型产品开发的团队成员。推理流程为:首先,确定新产品的类型;其次,根据知识库中存储的该类型产品开发过程中需要的人员技能,优先选择参与过该类型产品开发的人员;接着,根据不同技能对应的员工专业要求选择该类型产品开发的人员;然后,对人员的级别和性格方面进行约束,最终选择符合要求的产品开发人员。因为知识库中存储着已完成的项目开发过程中人员参与的经验信息,使得项目决策者在进行新项目人员委任过程中能够更加理性进行决策。根据上述推理流程,本文设计的相应SWRL规则主要有五个,如下:
规则一:Project(?x)^has_Type(?x,?y)^Skill_Need(?y,?z)^Same_Skill_Worker(?z,?a)→Qualified_Basic_Worker(?x,?a)。
规则二:Project(?x)^Skill_Need(?x,?y)^Major_Need(?y,?z)^Worker(?a)^has_Major(?a,?z)→Qualified_Basic_Worker(?x,?a)。
规则三:Project(?x)^has_Type(?x,?y)^Skill_Need(?y,?z)^Same_Skill_Worker(?z,?a)^Title(?a,?b)^swrlb:greaterThan(?b,5)→Qualified_Advanced_Worker(?x,?a)。
规则四:Project(?x)^has_Type(?x,?y)^Skill_Need(?y,?z)^Same_Skill_Worker(?z,?a)^Personality_Need(?y,?b)^has_Personality(?a,?b)→Quality_Intensive_Worker(?x,?a)。
规则五:Project(?x)^has_Type(?x,?y)^Skill_Need(?y,?z)^Same_Skill_Worker(?z,?a)^Hostile_to(?a,?b)→Watch_List(?x,?b)。
通过上述五个规则的约束,最终符合要求的成员会从候选成员的名单中被推理出来。而且随着知识库的不断扩充、选择规则的不断改进,多功能小组的选员模型也可以得到不断的优化。
4 结语
多功能产品开发小组选员领域本体是对此领域知识进行系统的表示与组织。基于该领域本体,可以实现多功能小组选员领域知识的共享、重用和知识快速检索等知识管理功能,作为决策者在进行人员委任过程中有力的执行工具。本文基于以往完成各项目的人员构成,构建了一个实验性的多功能产品开发小组选员知识本体,并用protégé工具实现了该本体,对其他领域知识本体的构建有一定的借鉴作用。
摘要:通过优化多功能产品开发小组成员选择方法,利用知识库原理对多功能产品开发小组选员模型建立知识本体。同时,利用protégé软件构建该知识本体,建立了一系列可执行的逻辑规则,推理出在知识库中所建立的实例间的关系。最后,基于基本事实和推理知识,实现了多功能产品开发小组成员的选择。
关键词:多功能小组,成员选择,知识本体,protégé
参考文献
[1]PRICE M,et al.An integrated systems engineering approach toaircraft design[J].Progress in Aerospace Sciences,2006,42:331-376.
[2]EDWARDS K L.Towards more strategic product design formanufacture and assembly:priorities for concurrent engineering[J].Materials and Design,2002,23:651-656.
[3]HAQUE B,et al.The application of business process modelling toorganizational analysis of concurrent engineering environments[J].Technovation,2003,23:147-162.
[4]FENG B,et al.A method for member selection of cross-func-tional teams using the individual and collaborative performances[J].European Journal of Operational Research,2010,203(3):652-661.
[5]许多,严洪森.产品设计时间智能预测方法的研究[J].控制与决策,2004,19(2):142-146.
[6]WI H,et al.A team formation model based on knowledge andcollaboration[J].Expert Systems with Applications,2009,36:9121-9134.
[7]COATES G,et al.A preliminary approach for modeling andplanning the composition of engineering project teams[J].Proceedings of the Institution of Mechanical Engineers,2007,221(7):1255-1265.
[8]HAO Q,et al.Agent-based collaborative product designengineering:An industrial case study[J].Computers inIndustry,2006,57:26-38.
[9]STARBEK M,et al.Concurrent engineering in small companies[J].International Journal of Machine Tools&Manufacture,2002,42:417-426.
并行开发 篇7
微粒群算法 (PSO) 是由Kennedy和Eberhart等[1]于1995年开发的一种演化计算技术, 来源于对一个简化社会模型的研究[2]。微粒群算法是一种基于群体智能的随机优化算法, 通过微粒追随自己找到的最好解和群体找到的最好解来完成。自微粒群算法提出以来, 由于它的计算快速性和算法本身的易实现性, 引起了国际上相关领域众多学者的关注和研究[3]。
在微粒群算法中, 应用问题的规模直接决定了PSO的执行效率。然而并行计算是实现高性能、高可用计算机的主要途径。因此, 并行PSO的研究对于大规模或超大规模的多变量求解具有很重要的意义。近年来, 已有学者对并行微粒群算法从不同角度进行研究。文献[4]提出的并行仿真, 使每个粒子的行为成为一个独立的线程, 进化中的粒子个体充分表现出独立性、种群表现出异步性。文献[5]主要研究的是并行PSO算法中三种不同的通信策略。依据算法中各个参数之间的关联程度不同, 提出了三种不同的通信策略。文献[6]提出基于岛屿群体模型的并行PSO算法不仅提高了求解效率, 而且改善了早收敛现象。文献[7]将设计的并行PSO算法应用于生物力学的一个实例中, 文献[8]研究一种细粒度的并行微粒群算法, 将它应用于系统辨识, 结果表明:并行PSO算法具有很好的效果。
本文首先介绍BSP并行计算模型, 接着提出了基于BSP并行计算模型的并行PSO算法。该算法改变了标准PSO算法的结构, 提高了算法的求解效率。
1 并行BSP计算模型
并行计算模型是并行计算机基本特征的抽象, 是并行算法设计和分析的基础。并行算法的设计不能局限于某种具体的并行计算机, 而必须借助抽象的计算模型。并行计算模型与并行算法设计、并行机之间有密切联系。
一个BSP计算机由n个处理机/存储器组成, 通过通信网络进行互联。在BSP模型中, 计算系由一系列用全局同步分开的周期为L的超级步 (superstep) 所组成。在各超级步中, 每个处理器均执行局部计算, 并通过选路器接收和发送消息;然后作一全局检查, 以确定该超级步是否已由所有的处理器完成;若是, 则前进到下一超级步, 否则下一个L周期被分配给未曾完成的超级步。
一个BSP程序有n个进程, 每个驻留在一个节点上, 程序按严格的超步顺序执行, 超步间采用路障同步, 如图1所示。每个超步分成如下有序的三个部分:
(1) 计算
一个或多个处理器执行若干局部计算操作。操作的所有数据只能是局部存储器中的数据, 这些数据是在程序启动时或由以前超步中的通信操作存放在局部存储器中的。结合BSPPSO算法, 多个子群体被分配在不同的处理器上独立地进化计算, 利用子群体内各个粒子的历史最好位置和群体最好位置, 搜寻子群体内部的最好解。
(2) 通信
处理器之间相互交换数据, 通信总是以点对点的方式进行。在BSPPSO算法中各个子群体相互交换信息, 不断更新全局最好位置。
(3) 同步
确保通信过程中交换的数据被传送到目的处理器上, 并使一个超步中的计算和通信必须全部完成之后, 才能开始下一个超步中的任何动作。在BSPPSO算法中, 等到所有子种群体局部进化结束, 相互比较最好信息, 得出当前的全局最好位置, 再开始继续循环整个进化过程。
BSP的一个特点是, 它将计算任务和通信任务分开。它简化了算法的设计和分析, 当然就牺牲了运行时间, 因为所谓的整体大同步意味着所有的进程均必须等待最慢者。考虑异步方式的耦合性更高, 更容易产生通信瓶颈。本文采用的是同步方式。
2 并行BSPPSO算法
算法流程描述如下:
Step1:初始化整个种群。对每个粒子的随机位置和速度进行初始设定。每个粒子由计算得到初始的适应值和初始的个体最好位置Pi及初始的群体最好位置Pg。
Step2:将整个种群分为几个子种群。各个子种群独立进化。
2.1:
在每个子种群中, 根据粒子自身的最好位置Pi和全局最好位置Pg按照进化方程进化, 然后计算粒子的适应值。
2.2:
在各个子种群独立的进化中, 若某个子种群中粒子的适应值比全局最好位置Pg的适应值好, 则它作为当前的全局最好位置Pg。其它子种群依据该Pg值继续进化, 直到进化最慢的子种群更新完全局最好位置Pg。
Step3:若未达到结束条件 (足够好的适应值) , 则返回步骤2.1, 各子种群继续循环迭代, 直到满足条件。
分析BSPPSO算法:各个子种群内部独立的利用各个粒子的历史最好位置和群体的全局最好位置按照进化方程独立进化。由于各个子种群进化快慢不同, 当进化较快的一些子群体经过比较, 得出当前的最好位置Pg, 则该Pg会影响到正在进化中的其它子种群, 能引导它们的粒子更快地朝最好位置飞去。加快了算法的收敛。这样, 各个子种群既能充分利用自身的值进行搜索, 不会迷失自己的方向, 又能及时得到全局最好位置Pg的引导, 达到最好值。
3 仿真实验
本文采用两个无约束优化基准测试函数, 分别用经典PSO和BSPPSO进行仿真实验, 并对实验结果进行比较, 以验证BSPPSO的寻优性能。测试函数是:
F1:Sphere函数
F2:Rosenbrock函数
为了提高可比性, 本文在两种算法中取同样的调整参数。惯性权重W的取值在整个搜索过程中从1.0减至0.4。粒子总个数为60。在BSPPSO中将整个群体划分为三个子群体, 每个子群体为20个粒子。各个子种群用不同的线程独立进化。实验在Windows环境下用多线程技术对BSPPSO进行模拟, 开发环境为VC++6.0。实验结果如表1所示。
在实验中分别对两种算法重复运行50次取平均。由于文章篇幅所限, 只列出其中性能改善较明显的两个函数。从结果中看, 对标准PSO很难收敛的Rosenbrock函数, BSPPSO算法极大地提高了它的收敛率和收敛速度。对于100维的Sphere函数, 在平均收敛代数近似相同的情况下, 收敛率比标准PSO要提高很多。从图2~图3中, 我们可以看到在两种算法下, 随着迭代次数的增加, 适应值的变化情况不同。总之, BSPPSO与PSO相比, 收敛性得到了加强, 适应值更好。
4 结 论
本文将BSP并行计算模型引入标准PSO, 从结构上改变了标准PSO算法的模式。基于BSP模型设计了一种全新的并行粒子群优化算法, 并将它进行并行实现。该并行算法提高了搜索效率, 同时使算法性能得到了很大改善。
摘要:在对标准微粒群算法分析的基础上, 将它与BSP并行计算模型相结合, 设计并实现了一种基于BSP并行计算模型的并行微粒群算法。这种基于BSP并行计算模型的并行微粒群算法改变了标准微粒群算法的结构, 提高了算法求解效率。实验结果表明, 该并行算法的性能比标准微粒群算法有了很大的提高。
关键词:演化计算,BSP并行计算模型,微粒群算法
参考文献
[1]Kennedy J, Eberhart R.Particle swarm optimization[A].proc IEEE Int Conf on Neural Networks, perth, 1995:19421948.
[2]谢晓峰, 张文俊, 杨之廉.微粒群算法综述.控制与决策, 2003, 18 (2) :129134.
[3]曾建潮, 介静, 崔志华.微粒群算法.北京:科学出版社, 2004.
[4]罗建宏, 张忠能.并行仿真的粒子群优化算法异步模式研究.计算机仿真, 2005, 22 (6) :6870.
[5]Chang Juifang, Chu Shuchuan, John f Roddick Pan Jengshyang.A Par-allel Particle Swarm Optimization Algorithm with communication strate-gies.Journal of information science and engineering, 2005, 21:809818.
[6]黄芳, 樊晓平.基于岛屿群体模型的并行粒子群优化算法.控制与决策, 2006, 21 (2) :175179.
[7]Schutte J F, Reinbol J A, Fregly B J, et al.Parallel Global Optimization With the Particle Swarm Algorithm.Int.J.Numer.Meth.Engng, 2003.