面向对象方法学的分形论诠释 - 范文中心

面向对象方法学的分形论诠释

04/12

作者:王雪肖人彬罗云峰

大自然探索 1995年01期

   自然辩证法

   [内容提要] 本文将面向对象方法学的基本内容概括为四大机制。在对分形论的简要介绍的基础上,运用该理论的观点剖析了面向对象方法学的基本思想和实现机制,指出了两者之间存在的深刻联系,从而为面向对象的程序设计方法奠定了理论基础,并为其今后的发展开辟了新的思路。

   关键词:面向对象方法学,分形论,分形元,封装性,继承性,自相似性,无标度性

  

   1 问题的提出

   人工智能(Artificial Intelligence,AI)的根本萌的是要模拟人的思维,这种模拟是通过软件开发过程实现的。传统的软件开发过程采用的是结构化学程序设计方法,它包括三大步骤:结构化的需求分析→结构化的系统设计→结构化的程序设计。该方法在本质上具有冯·诺依曼机系统的结构特点:面向过程,即以“过程”和“操作”为中心来构造系统、设计程序,这样思维成果的可重用性必然较差,究其原因,在于人必须先知道一个事物是什么,然后才能觉察这个事物中所发生的变化,即过程。经验也告诉我们,在客观世界以及作为它的映射的软件系统中,“过程”和“操作”是不稳定的,多变的,而“对象”和“数据结构”则相对稳定得多[1]。换言之,若以“对象”和“数据结构”为中心来构造系统、设计程序,则思维成果的可得用性就有可能较好。正是按照这样的思路,面向对象的程序设计方法应运而生。

   与结构化程序设计方法相对应,面向对象的程序设计方法也包括三个阶段,即面向对象的分析(Object-Oriented Analysis,OOA)→面向对象的设计( Object-Oriented Design,OOD)→面向对象的实现(Object-Oriented Implementation.OOI)。在该方法中,对象(Object)和消息传递(message passing)分别是表示事物及事物间相互联系的概念,类(Class)和继承(inheritance)是适于人的一般思维方式的描述范式(Paradigm),方法(method)是允许作用于该类对象上的各种操作。这种基于对象、类、消息的方法等概念的程序设计范式的特征在于对象的封装性(encapsulation)和继承性(通过封装能将对象的定义和对象的实现分开,通过继承能体现类与类之间的关系),以及由此带来的动态聚束(dynamic binding)和实体的多态性(polymorphism)等。

   面向对象的设计思想认为一个好的系统设计应该把系统设计成是由一些不可变部分的最小集合所组成,这些不可变部分能用一种统一的、通用的框架去描述[2]。据此形成的面向对象方法学(Object-Oriented Methodology,OOM)具有以下基本点[3]:

  

   ·抽象机制

   OOM将世界上的万事万物都抽象地认为是“对象”,每种对象都有各自的内容状态和运动规律,既有客体性,又有主体性[4]。不同对象间的相互作用和联系就构成了各种不同的系统,甚至整个世界也可以从一些最原始的对象开始经过层层组合而成。在这个意义上讲,整个客观世界可认为是一个最复杂的对象。

  

   ·操作机制

   所有对象被分成各种对象类,每个对象类都定义了一组所谓“方法”,它们实际上可视为允许作用于这类对象上的各种操作。“方法”只能由被传送到该对象的“消息”所触发,消息用来请求对象执行某一处理或回答某些信息的要求,从而统一了数据流和控制流,传统的系统控制结构的功能都可以通过对象及其相互间传递消息来实现。

  

   ·封装机制

   对象之间除了互递消息的联系之外,不再有其它联系。一切局部于对象的信息和实现方法等都被封装在相应对象类的定义之中,在外面是不可见的。封装是一种信息隐蔽(information hiding)技术,用户只能见到对象封装界面上的信息,对象内部对用户是隐蔽的,这样就将定义模块和实现模块分开了,使得系统的维护性、修改性大为改善。

  

   ·继承机制

   对象类按“类”、“子类”与“超类”的概念构成一种层次结构。在这各层次结构中,上一层对象所具有的一些属性或特征可被下一层对象继承,从而避免了描述中的信息冗余,这称为对象之间属性继承关系。当类Y继承类X时,就表明类Y是X的子类,而类X是Y的超类。当然这时Y也可能包含X中没有的特征,它具有比X更多的性质。

  

  作为一种新的程序设计范式,OOM主要是从软件工程领域萌发产生的,并在实际应用中大显身手[5]。然而需要指出的是,应用只有与理论齐头并进,协调发展,才有可能保持强大的生命力。基于这样的考虑,本文引入分形论剖析了OOM的上述基本思想和实现机制,指出了两者之间存在的深刻联系,力图探求OOM的理论依据。从而为其今后的发展打下坚实的基础,并开辟出新的思路。

  

   2 分形论概要

   分形论(fractal theory)[6]是一门年轻的正处于迅速发展中的新学科,被誉为当今非线性科学中的一颗明珠,与混沌学、孤波学同享盛誉,其影响范围和应用领域也在日益扩大。

   分形论最初是以分形几何学(fractal geometry)[7]的面目出现的。经典几何学研究的对象是规则而光滑的几何构型,然而自然界的一些构型(如连绵起伏的群山,蜿蜒曲折的江河)虽处处连续,但并非处处可微甚至是几乎处处不可微。不光滑和不规则的集合比经典的几何图形更能反映许多自然现象的本来面目,而它们就是分形论的研究对象,称为分形。通俗地讲,分形是指其组成部分以某种方式与整体相似的形体(A fractal is a shape made of parts similar to the whole in some way)[8]。对于分形,无论怎样变换观测的尺度,局部仍然保持着整体的性质,特征尺度的作用失效了,即具有无标度性。分形几何学研究的分形特性是指形态或结构上的自相似性,随着一批新学科的出现,自相似概念得到扩弃,把信息、功能和时间上的自相似性也包含在其中,称为广义分形,相应的研究理论称为(广义)分形论。

   在分形几何学中,按一定规则已构造出多种分形,如Cantor集,koch雪花等,这些规则分形都是在初始元的基础上,用各自的分形元进行无穷操作得到的,下面介绍的谢尔宾斯基垫片就是如此。

   取初始元为一正三角形(图1(a)),分形元则是将初始元四等分后舍去中间的一个三角形得到的形体(图1(b))。对分形元中保留下的三个小三角形分别按同样的方式反复操作下去,直至无穷,就构成了谢尔宾斯基垫片,如图2所示,显然这个几何构型的面积趋于零,而线段的总长度和线段数目趋于无穷大。

  

  

   图1 初始元与分形元

  

  

   图2 谢尔宾斯基垫片的构造

  

  

  

  图3 自相似性

   经分析考察不难发现谢尔宾斯基垫片有如下特点:

  

   ·精细结构

   由于分割舍弃操作可无穷进行下去,因而包含有任意小比例的细节,其图形越放大,间隙就越清楚地呈现出来。

  

   ·自相似性

   经过无穷次分割舍弃后所形成的图形,其局部与整体是完全相似的,如图3所示。

  

   ·无标度性

   在无穷分割舍弃过程中所形成的具有无限嵌套的自相似结构不存在特征长度,这就是无标度性。显然,系统的无标度性是建立在自相似性基础之上的。

  

   ·分维性

   随着分割舍弃操作的无限延续,图形的面积趋于零,线段总长度趋于无穷大。换言之,当用1维的尺子去度量时,测量得到的值是无穷大;用2维的尺子去度量时,测量得到的值是零。可见其维数应是一个介于1与2之间的分数。

   分形的维数可用分数维来描述,常见的分数维定义有多种,它们的统一形式为

  

   (q=-∞,···,-1,0,1···,+∞)

   其中,q=0,1,2时,D[,q]分别称为柯尔莫哥洛夫容量维D[,0],信息维D[,1]和关联维D[,2]。

   柯尔莫哥洛夫容量维与Hausdroff引入的维数概念相差不大,所以文献中也常把当作Hausdroff学上讲,一般将分形定义为这样一种集合,其Hausdroff维严格大于拓扑维,对此目前已得到较广泛认同。

  

   3 从分形论看OOM

   由上所述可知,OOM与分形论是在各自不同的领域中产生并发展起来的,OOM的提出B是基于对思维成果中重用性的考虑,而分形论的问世则有赖于对事物自相似性的认识。但貌似分离的东西有时反而存在内在的关联,仔细考察不难发现可重用性与相似性之间就有着深刻的联系。下面尝试利用分形论的观点来剖析OOM的基本思想和实现机制。

   (1)“对象”一词的含义甚广,客观世界中的任何事物在一定前提下都可以成为被认识的对象。OOM中讨论的“对象”是经过抽象化得到的,它可用如下的四元组表示

   对象::=(ID,MS,DS,MI)式中,ID为对象的标识(对象名),MS为对象受理的消息(操作)集合,DS为对象的数据结构,MI为对象受理的消息名集,即对外接口。由此可见,对象是一个具有局部状态和操作集合的实体,或者说,对象是一个封装数据和操作的实体,这里,数据描述了对象的状态,操作可操纵私有数据,改变对象的状态。

   OOM的着眼点是构成客观世界的那些基本成分--对象,此处所说的“对象”具有以下特征:

   ·模块性

   ·继承性和类比性

   ·动态连接性

   ·易维护性

   这种抽象机制实际上是将“对象”看成是客观世界及其映射系统的分形元,因而万事万物都可由这种分形元嵌套组合而成。可以说,OOM的成功之处在于它挖掘了客观世界的本质而找到了合适的分形元。

   (2)OOM具有很强的“类”的概念,因此它能直接模拟人的认识过程中由一般到特殊的演绎功能或由特殊到一般的归纳功能,类的概念既反映出对象的本质属性,又提供了实现对象继承机制的理论基础。而通过类比,发现对象间的相似性,即对象间的共同属性,这就是构成对象类的根据。

   设A是一复杂的对象类,B是一基本的对象类,按照前述观点,A可由B经过层层组合而成。如果A和B之间存在相似性,则从A的角度看,这就是一种整体与局部之间的相似性,也就是自相似性。由分形论可知,自相似性乃是分形的根本特征,因此对象类之间的继承机制实质上是其分形特征的表现形式。

   (3)分形具有无标度性,这是与自相似性密切相关的一个性质。所谓标度就是尺度,也就是测量的单位。无标高性即指所研究的客体与尺度无关,无论测量的单位如何改变,研究的客体性质不发生变化。对一个没有特征尺度的客体,就必须同时考虑从小到大许许多多尺度(即标度),也就是说,不存在各自专用的处理方法,而要寻求统一的处理范式。

   OOM的操作机制正好是这样一种统一的处理范式。当一个面向对象的程序运行时,一般要做三件事:首先,根据需要创建对象;其次,当程序处理信息或响应来自用户的输入时要从一个对象传递消息到另一对象(或从用户到对象);最后,若不再需要该对象时,应删除它并回收它所占用的存储单元。由此可见,面向对象的程序设计方法放弃了传统语言中控制结构的概念,以往的一切控制结构的功能都可以通过对象及其相互间传递消息来实现,从而统一了数据流和控制流。

   (4)分形有错综复杂的精细结构,包含有任意小比例的细节,但这一切都源于一个基本的简单结构--分形元及其初始元,因此它是复杂性与简单性的和谐统一。

   根据前面论述,可将客观世界中的复杂对象看成是一个广义分形,由于其复杂性,因而有必要采用封装这种信息隐蔽技术,使得需求的改变对整个系统的影响能减至最小,并且有助于最大限度地减少重复劳动。这是因为封装能将对象的作用者和对象的设计者分开,这样使用者不必知道行为实现的细节,只须用设计者提供的消息来访问该对象。同时,复杂对象又是由基本对象这种分形元层层生成发展而来,而不是杂乱无序的一团乱麻,从而保证了封装技术的可行性。总之,复杂性与简单性的统一是封装机制的理论依据。

  

   四、结束语

   综上,我们用分形论的观点剖析了面向对象方法学的基本思想和实现机制,指出了两者之间存在的深刻联系,从而为面向对象的程序设计方法奠定了理论基础。这也反映出当代科学交叉汇合的大趋势,来自不同领域的多个学科协同作战,殊途同归,将为人的思维模拟开辟新的天地。

   (收稿日期:1994-03-03)

   ANNOTATION ON OBJECT-ORIENTED METHODOLOGY

   BY THE FRACTAL THEORY

   Wang Xue Xiao Renbin Luo Yunfeng

   (Huazhong University of Science and Technology)

   Abstract

   This paper summarizes the main contents of object-oriented methodology.Based upon brief introduction of the fractal theory,we use the proposed theory to analyse the fundamental ideas and implementation mechanisms of objectoriented methodology and point out the close relation between them.Thus the treoretical foundation of object-oriented method for prograrn design is laid out and a new direction for its development is opened up.

   key words:object-oriented methodology,fractal theory,fractal element,encapsulation,inheritance,selfsimilarity,non-scale

作者介绍:王雪,1963年生,1991年获工学硕士学位,现为华中理工大学博士生,研究方向为人工智能,信号处理,程序设计方法学等。 肖人彬,1965年生,1993年6月获工学博士学位,现为华中理工大学CAD中心博士后,研究方向为人工智能,决策支持系统,CIMS等。 罗云峰,1966年生,1991年获工学硕士学位,现为华中理工大学博士生,研究方向为多目标群决策及福利经济学等。


相关内容

  • 说明文训练1
    [说明文考点技巧] 说明文的类型有事物说明文和事理说明文.事物说明文一般采用时间顺序和空间顺序,我们阅读此类文章把握表示时间和空间的关键词语,以便区分.事理说明文一般采用逻辑顺序阐述前因后果,为此,我们须从总体上把握说明内容,以便了解文章的 ...
  • 说明文常识
    说明文常识 一.说明文的概念: 说明文是以说明为主要表达方式的一种文体,或介绍事物的状态.性质.功能(事物说明文):或阐明事理,目的是给人以知识(事理说明文)的一种文体. 二.说明文的常识: 1.说明对象:介绍事物.阐明事理 2.说明特征: ...
  • 经典的颠覆和叙述方式的更新:中国目录学史研究新论
    作者:傅荣贤 图书情报工作 2007年11期 修回日期:2007-01-16 [分类号]G257 自1928年容肇祖先生<中国目录学大纲>问世以来,以"中国目录学"或类似的名称为主题词的文献约有30余种,它们 ...
  • 初中说明文阅读技巧
    中考专题训练之------说明文阅读 一. 说明文的基本知识 (一)说明文的概念:说明文是以说明为主要表达方式的一种文体,介绍事物的状态.性质.功能或阐明事理,目的是给人以知识. (二)说明文与其它文体的区别:议论文以理服人,哲理性是它的主 ...
  • 景泰蓝的制作
    景泰蓝的制作 教学目的 1.了解本文按景泰蓝的制作过程安排说明顺序,并根据事物自身的特点以及读者的认识实际,安排详略,区分主次的特点. 2.学习本文综合运用下定义.举例.列数字.比较.分类.比喻等来说明事物的方法. 3.学习本文语言准确.平 ...
  • 面向对象的分析过程
    面向对象的分析过程 摘要 分析了面向对象技术应用于仿真领域的种种优点,亦即我们选择采用面向对 象的方法进行改造的原因.一些面向对象方法存在的不足. 关键词:仿真,面向对象,岸边集装箱起重机,训练器 面向对象的开发方法是以对象作为最基本的元素 ...
  • 户外俱乐部品牌市场广告推广活动方案
    XXXX户外俱乐部广告活动策划 一 广告目标 (一)俱乐部提出的目标: 本次广告活动旨在提高俱乐部在杭州区域文教区的品牌知名度,打开工薪白领细分市场,扩大市场占有率,并提升俱乐部品牌美誉度,培养目标消费者户外运动消费观念;. (二)预测可达 ...
  • 软件工程方法学的学习总结
    软件工程方法学学习总结 • 软件工程方法学是研究软件设计方法论及工程开发技术的一门学科,主要研究的是:模型.方法.过程.工具.理念/原则.文档, 甚至相应的开发语言.随着软件工程的发展,形成了不同的软件工程方法:结构化.面向对象.敏捷方法. ...
  • 软件评测师教程考点梳理(一)
    软件评测师教程考点梳理(一) 软件评测师考试属于全国计算机技术与软件专业技术资格考试中的一个中级考试.希赛小编为大家整理了软件评测师教程中几个重要的知识点精讲,希望对大家2017年备考能有所帮助. 面向对象软件的集成测试 (1)传统的自顶向 ...
  • 20**年初中语文中考阅读答题点拨
    1.看到介词不放过:介词的滥用,极易造成成分残缺.表意不明或不当. ① 经过班主任的再三强调,才使他认识到这个错误.(介词"经过"与"才使"的滥用,致使整个句子缺主语.) ② 他在老师的关怀中得到了力 ...