工程知识库建模方法研究

2022-09-10

计算机和网络技术的发展及其在制造业中的应用, 产生许多新的制造模式, 如并行工程, 敏捷制造和全球制造。这些新的模式对产品进行生命周期的设计和管理提出了进一步的要求。这体现在信息集成和功能集成贯穿产品生命周期的每一阶段:分析、设计、制造、维护[1]。基于STEP-NC标准的C A D/C A P P/C A F A/C A M集成制造系统实现了信息的集成, 然而还没有很好的方法解决他们之间的功能集成, 例如从CAPP到CAD工艺性能评估, CAFD (计算机辅助夹具设计) /CAM到CAPP的定位性能反馈等[2]。

功能的集成需要借助知识的集成, 通过引进知识库技术, 实现制造系统的智能性来实现功能的集成[3]。正确的知识库建模过程是决定知识库构建成败的关键。然而, 对于知识库建模过程的研究还很少, 本文将在分析软件系统开发过程的基础上, 结合高速切削知识库的建立, 给出工程知识库的一种建模方法。

1 软件系统的开发过程

软件这个词的范围比较广, 它并不仅仅指应用软件。所谓软件开发学科是指研究各类软件创建、维护等一系列开发活动的学科, 其主要内容包括理论、方法和技术三方面的开发知识。软件可划分为智能软件、系统软件和应用软件三个领域。由于不同的软件采用的开发知识不同, 从而构成各自相应的方法[4]。尽管, 智能软件和应用软件分属不同的领域, 但智能软件和应用软件都是计算机软件。

建造软件系统的解决方案由三个关键的相互关联的基本要素组成。

(1) 软件工程过程 (SEP) 。

(2) 软件工程过程支持环境 (SEPSE, 如开发工具和建模语言等) 。

(3) 培训、指导和咨询服务。

Watts Humphrey曾经说过, “软件工程过程就是将客户需求转化为软件产品的所有必须活动的集合”。在整个解决方案中首当其冲而且也是最重要的要素是过程。使用工具和一个随意的开发过程去建造软件系统是可能的, 但却不容易, 而且从长远看相当昂贵[5]。

结构化方法和面向对象方法是现今主要的软件开发过程方法。面向对象方法强调把问题域的要领直接影射到对象及对象之间的接口上, 用符合人们通常的思维方式来处理客观世界中的问题, 它是一种面向问题域的开发方法;结构化方法则是强调过程抽象化和模块化, 是以过程为中心构造或处理客观世界中的问题, 它是一种面向过程的开发方法。

1.1 结构化方法

结构化方法 (Structured methodologies) , 其基本原理是跟踪数据流, 即研究应用领域中数据如何流动及在各个组成部分如何进行处理。结构化方法的特点是始终贯彻自顶向下逐步细化的“功能分解”思想[6]。由于系统的功能是系统与外部环境相互作用的表现, 人作为特定外部环境的一部分, 认识系统一般从其功能开始。这是基于功能分解的结构化方法容易为人们理解和掌握的主要原因。

结构方法基于功能分解的特点, 使之逐渐显现以下不足[7]。

(1) 系统的开发是通过在需求分析的基础上对系统功能逐步分解, 精化实现的, 当顶层的功能需求变化时, 整个系统从上到下都需变动。

(2) 结构化方法在分析和设计阶段使用不同的描述工具, 它们之间虽然可以转换, 但不是同态的, 分析和设计之间过渡不平滑。

(3) 功能分解方法本身不支持复用, 很难进行系统的二次开发。

1.2 面向对象方法

面向对象 (Object-oriented methodologies) 是一种认识世界的观念。世界是由许多对象构成, 每个对象都有自己的属性和行为, 对象间相互联系并相互作用。

面向对象方法的基本思想是, 从现实世界中客观存在的事物出发来构造系统, 并在系统构造中尽可能运用人类的自然思维方式。面向对象方法强调直接以问题域 (现实世界) 中的事物为中心来思考问题, 认识问题, 并根据这些事物的本质特征, 把它们抽象地表示为系统中的对象, 作为系统的基本构成单位。这可以使系统直接地映射客观世界, 保持所研究领域中事物及其相互关系的本来面貌。

另外, 系统分析和开发方法不应该是一种超脱人类日常的思维方式, 而应当与人类在长期进化过程中形成的各种行之有效的思想方法相符合。如果说, 结构化方法采用了许多符合人类思维习惯的原则与策略 (如自顶向下、逐步求精) 。面向对象方法更加强调运用人类在日常的逻辑思维中经常采用的思想方法与原则, 如抽象、分类、继承、聚合、封装等。这使得开发者能够更有效地思考问题, 并以其他人也能看懂的方式把自己的认识表达出来。具体地讲, 面向对象方法有如下一些特点。

(1) 从问题域中客观存在的事物出发来构造系统, 用对象作为对这些事物的抽象表示, 并以此作为系统的基本构成单位。

(2) 事物的静态特征 (即可以用一些数据来表达的特征) 用对象的属性表示, 事物的动态特征 (即事物的行为) 用对象的方法表示。

(3) 对象的属性和方法结合为一体, 成为一个独立的实体, 对外屏蔽其内部细节 (称作封装) 。

(4) 对象之间通过消息进行通信, 以实现对象之间的动态联系。

面向对象方法和结构化方法的相比有了更大的进步, 表现在以下几点。

(1) 稳定性。在一定的问题域范围内, 基于系统构成部件的分析和设计所得的结果, 对功能需求变化的适应, 更强于基于功能模块的方法, 这符合系统论中的系统之结构较其功能更为稳定的原理。

(2) 分析与设计的衔接。面向对象方法的分析和设计所面对的是同一组对象及其相互关系, 从分析到设计的映射是同态的, 可以实现平滑过渡。

(3) 重用性。由于对象封装了数据和对数据的操作方法, 因而是良好的可重用单元, 而类的继承使得子类方便地使用父类的信息。这些使得面向对象被认为是目前最成功的重用技术。

2 软件系统开发的建模语言

建模语言是设计者用来交流模型的工具, 不仅指专业人员之间, 而且也是设计者与非专业人员之间以及与未来的开发者之间进行交流的工具, 还是设计者用来分析和帮助思考的工具。现在广泛采用的建模表示方法主要有IDEF (Integrated Definition) 和UML (Unified Modeling Language) 。它们分别产生于结构化的分析与设计和面向对象的分析与设计。

2.1 IDEF0和IDEF3图

I D E F包括I D E F 0, I D E F 1, I D E F 2, I D E F 1 X, I D E F 3, I D E F 4, I D E F 4 C++, IDEF5等, 其中IDEF0描述系统的功能活动及其联系, 建立功能模型。IDEF3可以以人们习惯的表达方式, 获取真实世界中的过程和事物, 建立过程模型。

2.1.1 IDEF0图

IDEF0图主要有矩形框, 箭头, 文字等描述符号构成, 矩形框包含一个名称和一个字母数字符, 名称表示该模块的功能, 字母数字符表示该模块的层次。箭头有四种类型:输入, 输出, 控制和机制。输入箭头表达通过功能转换为输出的数据和物体。输出箭头表达功能产生的数据和物体。控制箭头表达控制, 如产生正确的输出所需的条件。机制箭头表达机制, 如实现功能所用的方法。文字说明矩形框、箭头的表示及功能。IDEF0的基本表示如图1所示。

2.1.2 IDEF3图

IDEF3图主要有行为单元框, 连接线和连接框等描述符号组成。单元框包含一个标记名, 两个数字符, 其中标记名用来标记过程名, 左边的数字符表示过程顺序, 右边的数字符表示IDEF0图中的功能单元号。连接线主要是箭头, 表示过程的顺序。连接框是一个带有逻辑符的小线框, 连接框描述过程表示中的分叉点, 表示从一个线程分叉为多个线程, 或多个线程汇聚为一个线程。逻辑符有与 (&) 、或 (O) 、异或 (X) 。IDEF3的基本表示如图2所示。

2.2 统一建模语言 (UML)

统一建模语言是用来构造软件的标准建模语言, 为软件系统中的各个构件提供了可视的规范化描述。我们可以从UML所使用的术语来认识U M L, U M L术语可分为三大类:事物、关系和图[8], 如图3所示。

事物共有四类:结构化的、行为性的、分组的和注释性的。结构化的事物又包含六种主要类别:用例、类、接口、协作、构件和节点。行为性的事物则有:交互机和状态机。分组事物有四类:包、模型、子系统和构架。注释性的事物有一类:注释。

关系进一步分为:依赖、关联和泛化。

图中, UML提供了九种形态:用例图、类图、对象图、顺序图、协作图、状态图、动作图、构件图和实施图。

2.2.1 用例图 (Use case Diagram)

用例是一个描述系统、系统环境以及它们之间如何关联的模型。参与者、用例和连接线共同组成了用例模型。用例用一个椭圆形表示, 直立人型图表示参与者, 连接线是实线。图4给出了UML用例图的表示。

2.2.2 类图 (Class Diagram)

类 (Class) 是对一组具有相同属性和行为的对象的一个抽象描述。类的图标是一个矩形, 上面标有类名、属性和行为, 它们之间用实线分隔, 如图5所示。

3 工程知识单元的确定

知识单元是指相对独立的能够根据特定的领域知识来描述和解决问题的实体[9]。机械工程知识单元的划分, 取决于机械制造单元。然而随着先进制造技术的不断发展, 成组技术, 虚拟技术, 网络技术, 智能体等新技术的不断涌现, 机械制造单元也在不断的变化。从加工过程相对封闭的制造单元, 如数控加工单元, 柔性制造单元, 独立制造岛, 发展为支持敏捷制造的可编程重组的模块化加工单元, 以及全能制造中独立、自治的全能制造单元。

为实现制造单元的独立运行、并行决策、分布控制以及对外界扰动灵活响应和自适应调整, 要求正确划分知识单元, 构建相应的工程知识库。

美国空军精良生产计划创始人这样说过“尽管有信息高速公路, 尽管有虚拟企业, 产品最终还是从车间里生产出来的。”任何先进制造理论和制造模式都不可能脱离生产[10]。制造过程决定了生产性能指标, 如生产成本、产品质量、交货期、库存水平、制造柔性等, 由此机械加工的最基本单位-工步, 便成为联系一切的纽带。

4 高速切削数据库系统

高速切削数据库系统以实例库为核心, 提供一个工步的加工知识。在构建过程中同时采用面向对象方法和结构化方法。将UML的用例图和类图相结合来表示系统构成, 用IDEF0图表示系统的功能, 用IDEF3图表示刀具选择过程。

建库的主要步骤如下。

(1) 高速切削系统建模, 描述高速切削加工, 确定加工系统的构成。

(2) 根据加工知识, 将加工过程中的参量划分为非控制参量, 控制参量, 过程参量和输出参量四类, 建立加工系统的参数模型。

(3) 高速切削数据库系统功能建模, 描述高速切削数据库的功能, 确定高速切削知识库的数据结构。

(4) 高速切削加工刀具的选择过程建模, 确定知识的推理过程。

(5) 高速切削数据库系统建模。根据采用的推理方式, 及先进的制造模式, 给出整体的系统模型

4.1 高速切削系统建模

将用例图和类图相结合, 来表示高速切削系统, 其中, 用类来代替用例图中的参与者, 这样实现了系统资源的描述。

4.2 高速切削系统参数建模

根据加工知识将各参量分为四类:非控制参量, 控制参量, 过程参量和输出参量。非控制参量描述待加工工件的信息, 控制参量描述加工条件和加工参数, 过程参量描述加工过程中的状态变化, 输出参量描述加工要求。如图7所示。

4.3 高速切削数据库系统功能建模

构成高速切削加工四类参量中, 过程参量是加工过程中的状态参量, 与具体的加工环境结合过于紧密, 作为集成知识库不宜包含此类参量, 该类参量适宜包含于专用知识库。

在高速切削数据库系统中, 用非控制参量, 输出参量构成知识的问题描述部分, 而解决方案部分只包含控制参量。高速切削数据库系统的主要功能是, 根据高速切削系统中的非控制参量和输出参量的不同要求, 提供部分或全部高速切削系统中的控制参量的值, 如图8所示。

4.4 高速切削数据库系统信息建模

根据实际加工过程中工艺参数的选择流程, 确定高速切削数据库的信息模型如图9所示。

4.5 高速切削数据库的系统模型

在高速切削数据库功能模型和信息模型的基础上, 结合推理方法, 以及网络技术, 确定高速切削数据库的系统模型, 如图10所示。

5 结语

功能的集成需要借助知识的集成, 通过引进知识库技术, 实现制造系统的智能性来实现功能的集成。将面向对象方法和结构化方法相结合, 同时采用U M L图和IDEF图, 构建知识库, 易于知识的表达, 实现了分析和设计的平滑过渡。

摘要:先进的制造模式要求信息集成和功能集成贯穿于产品生命周期的每一阶段, 功能的集成需要知识库系统的支持。工程知识库建模方法的研究, 将有助于知识库的建立, 从而推动先进制造模式的实现。开发过程和建模语言是建造软件解决方案的关键要素。为了正确的选用开发方法和相应的建模语言, 详细讨论了两类主要的过程开发方法, 即面向对象方法和结构化方法, 以及分别产生于这两个方法的建模语言, UML和IDEF。结合高速切削数据库系统的开发, 给出了构建工程知识库所需建立的模型及相应的建模语言的选用。

关键词:工程知识库,知识库建模,高速切削数据库,面向对象方法,结构化方法

参考文献

[1] Liu Chengying, Wang Xiankui, He Yuchen.Research on manufacturing resource modeling based on the Objectoriented method.Journal of Ma-terials Processing Technology, 2003, 139 (1~3) :40~43.

[2] 张玉云, 王先逵, 田文生, 等.面向并行工程的自动工艺过程设计[J].中国机械工程, 1995, 6 (4) :29~31.

[3] 包振强.基于多Agent的智能制造执行系统研究[博士学位论文][D].南京:南京航空航天大学, 2003.

[4] 王健, 程虎.系统软件开发过程中的软件工程技术[J].计算机研究与发展, 1996, 33 (4) :263~271.

[5] Ivar Jacobson. The Road to the Uni-fied Software Development Process.北京:机械工业出版社, 2003.

[6] 程华农.面向智能体的化工过程运行系统分析、模型化和集成策略的研究[博士学位论文][D].广州:华南理工大学, 2002.

[7] Fichman R. G.. Object~Oriented and Convention Analysis and Design Methodologies. IEEE Computer,  1992, 10:22~39.

[8] Ivar Jacobson, Grady Booch, James Rumbaugh.The Unified Software De-velopment Process.北京:清华大学出版社, 2003.

[9] 徐伟, 王儒敬, 杨化峰.基于RuleML的多级知识单元知识表示方法[J].计算机工程与应用, 2005, 1:174~177.

[10] 蔡元龙.面向敏捷制造的制造单元控制结构及控制技术研究[博士学位论文][D].北京:北京航空航天大学, 1999.

上一篇:羟丙基瓜尔胶生产配方优化下一篇:新媒体条件下高职院校学生核心素养的构成要素研究