自顶而下的设备软件模块化设计的研究

2018-08-17 06:12刘子阳徐品烈
电子工业专用设备 2018年4期
关键词:模块化部件耦合

崔 洁,霍 杰,刘子阳,徐品烈

(北京中电科电子装备有限公司,北京 100176)

一台新型半导体专用设备的成功研发,是横跨电子、机械、自动化、光学和计算机等众多学科,涉及机、光、电、软件等众多核心技术和高科技领域。所以,设备软件是在特定的机械电气硬件环境下运行满足客户的工艺要求。同时,设备软件作为软件的一部分,广泛应用于工业生产中。下面将从软件的角度,结合专用设备的特点,具体介绍自顶向下的设备软件的模块化具体设计方法。

1 自顶向下的设备软件设计

一般,半导体电子设备供应商根据半导体市场需要、客户的工艺要求,设计开发具备什么样功能和性能的半导体专用设备;而要达到设备设计要求,需要机、电、软件协调配合实现设备整机和各功能部件;然后通过装配调试设备,最终满足客户工艺要求和市场的需要。另外,后续还需要对设备进行定期追踪维护和技术升级。总起来说,设备开发的流程如图1所示,是一个自顶向下、不断细化的过程。

图1 设备开发流程图

自顶向下作为一种软件工程化的设计思想,适用于设计各种规模的系统开发,是一种逐步求精设计程序的过程和方法。软件工程的目的是倡导工程的原理、原则和方法进行软件开发,软件开发的流程是覆盖整个软件生存期的系统开发、运行和维护等全过程。

其中,瀑布式开发方法是经典的软件生命周期开发方法,是严格按照软件开发的步骤进行实施的一种软件开发方法。瀑布式开发方法将开发过程自上而下分为系统计划、需求分析、系统设计、系统编码、系统测试和系统运行维护6个阶段。各个阶段顺序执行,当前活动接受上一项活动的工作结果,并作为输出传给下一项活动。同时评审该项活动的实施,若确认则继续下一项活动,否则返回到前面一个活动,甚至更前面的活动。具体软件开发流程如图2所示。

图2 软件开发流程

设备软件是运行于电气设计硬件平台之上,驱动设备各个部件来完成系统的集成控制。从图1、2不难看出,设备和软件的开发流程无论是从过程还是时间控制上都是一致的。设备软件主要根据设备机械结构、电气设计系统,工艺特点,从软件系统的主框架着手,细化系统构成,自顶向下,逐步细化设计子系统的过程进行阶段化、模块化设计,具体包括分析、设计开发和测试阶段完成设备软件的需求分析、设计和实现,以及测试维护。

2 设备软件的模块化设计

在软件工程思想中,模块化是软件设计的基本策略。模块化设计的核心是保持模块的独立性,主要通过两个方面来度量,一个是模块本身的内聚,另一个是模块间的耦合。前者是模块内各个组成部分的相互联系,后者是一个模块与其他模块间的联系。模块的独立性愈高,模块内的联系越强,模块间的联系越弱。因此,为了保证模块化的独立性高,主要通过加强内聚和减少耦合来实现。设备系统由各个子系统(部件)组成,软件系统设计过程也是子系统(部件)的设计过程,对应设备软件的模块化设计。下面以切割清洗设备软件设计为例,主要从模块的内聚和模块间的耦合两方面介绍设备软件的模块化设计。该设备软件主要包含全自动上下料、切割和清洗等3个模块,具体模块化流程图如图3所示。

图3 切割清洗设备软件模块化流程图

2.1 模块内的聚合

内聚是从功能的角度对模块内部的聚合能力进行度量。按聚合能力的从强到弱,模块可以划分为功能性、顺序性、通讯性、过程性、时间性、逻辑性和偶然性模块。

设备软件的设计是以设备系统的功能实现为基础,尤其是各个部件的具体功能。因此,我们选择功能性模块进行设备软件的模块化设计,功能性模块作为模块内联系最强的一类模块,其中所有的部分功能都结合在一起,用于完成一个单一的功能。例如在图3中,切割清洗设备的全自动上下料模块内,包含上片/预上片、传输和下片等子功能,传输内又分从工作台传输料到清洗台和把下一个预作业料放到工作台上两个子功能。综上所述,所有的子功能组合在一起就组成了全自动上下料模块,实现了设备传输全自动化功能。

综上所述,“一个模块,一个功能”已成为模块化设计的一条准则。功能性模块的高内聚的特点以及设备系统的特点,功能性模块成为了设备软件设计的最佳首选。

2.2 模块间的耦合

软件系统之所以划分为若干模块,是为了便于解决大问题,化整为零,但最后总要将各个模块联系起来,所以模块间发生联系是必然的。因此,为完成一个设备系统软件除了考虑功能(实现什么)和逻辑(内部怎样)还需要考虑状态(使用的条件与环境)的设计。

功能模块间的理想关系是怎样的,耦合对这一关系进行了说明,和内聚类似,同样从强到弱可以划化为内容耦合、公共耦合、外部耦合、控制耦合、特征耦合、数据耦合和非直接耦合等。作为相对比较弱的耦合方式,数据耦合是通过参数表进行模块间交换数据,实现模块间数据通信,交换的数据都是比较简单的变量,如果交换的是数据结构,就变成了特征耦合,耦合程度会比数据耦合稍高。

在设备系统中,各个部件间的过渡会通过一些连接件或者中间件实现,设备软件系统模块间的设计主要通过数据耦合实现,如图3所示,自动上下料模块的上片完成,或者下一个作业料传输到工作位后会通知对准切割模块进行对准切割功能,该功能完成后会通知上下料模块进行传输,传输料到清洗位会通知清洗模块进行清洗。总之模块间的耦合关系通过简单的开始、结束等变量就可以实现模块间的联系。另外,相对复杂庞大的设备软件系统也可以选耦合相对数据耦合稍高些的特征耦合方法实现。

3 结 论

综合上述,设备软件设计不仅需要能实现设备的功能,满足客户的要求,而且要有一个良好的设计。这里,结合设备软件具有独特电气硬件平台环境的特点,最终选择符合软件工程化思想的自顶向下、逐步细化、高内聚低耦合的模块化设计进行设备软件的设计,完成设备的工艺需求。

猜你喜欢
模块化部件耦合
模块化自主水下机器人开发与应用
非Lipschitz条件下超前带跳倒向耦合随机微分方程的Wong-Zakai逼近
模块化住宅
基于Siemens NX和Sinumerik的铣头部件再制造
ACP100模块化小型堆研发进展
部件拆分与对外汉字部件教学
模块化VS大型工厂
水轮机过流部件改造与节能增效
基于“壳-固”耦合方法模拟焊接装配
基于CFD/CSD耦合的叶轮机叶片失速颤振计算