Professional Documents
Culture Documents
5
1999 年 5 月 M IN I- M ICRO SYST EM S M ay 1999
基于构件设计的正确性验证
云晓春 方滨兴
( 哈尔滨工业大学计算机系 哈尔滨 150001)
1 引 言
在开发大型商业软件时通常会遇到费用昂贵、耗时、难于测试、维护和更新等问题, 我们把这一系列严重问题统
称为“软件危机”
. 基于构件设计的思想正是针对这些问题而提出的. 它的基本策略是: 利用可重用、预测试且可独立
更新的构件来装配软件. 具体地讲:
在软件开发过程中, 软件工程师不再直接书写代码, 而是将具有某些特定功能的构件组合在一起以构成一个复
杂的系统. 在这里, 构件功能的获取不是通过考察其内部细节, 而是通过观察构件的接口获知〔1〕. 基于构件的设计是
一个基于对象的软件运动. 它提出了这样一个一般性问题: 当应用元素是由不同厂商使用不同语言、工具及计算平
台所构造的, 如何利用它们来设计系统的? 这种软件开发方式的目标是使得最终用户和开发者能够象视听电子元件
的生产、消费者那样享受到同样高层次的即插即用的应用互操作性. 利用这一方法, 一个大型软件可以通过集成来
自于不同厂商的最好的构件快速装配成功. 时至今日, 利用已存构件构造软件已引起愈来愈多的重视. 许多机构正
在进行构件重用工程的研究, 大量的重用工具正在应用和研制中〔2, 3, 4〕.
基于构件设计可被看作一个渐次积累的过程: 当一个软件由一些子构件构造成功之后, 它同时又可作为一个新
的构件放入构件库中被其它软件所重用.
本文中, 我们主要关注如下两个问题:
1. 构件的描述: 一个可重用构件的本质是什么? 如何划分构件的描述层次?
2. 构件的正确性验证: 如何验证由子构件所装配成功的构件是否满足其接口中所给出的要求?
2 构件的描述
一个构件的本质是什么? 直觉上, 我们将构件看作一个计算单元, 它具有其自身的内部状态并提供了一组操作
来对这个状态读出和写入. 构件的状态是不可见的, 它只能通过调用构件中的操作才能访问到. 在这里, 我们规定读
操作返回构件当前的状态且不对状态进行修改; 而写操作对当前状态进行修改但不返回任何值.
由于基于构件的设计需要一种机制来保障子构件之间可以相互合作并能够同时开发. 为此, 通常的做法是将每
个构件的描述分成两个层次:
・ 接口: 抽象地描述每个构件的外部行为, 并以此作为其它构件的使用依据.
・ 实现: 接口中描述的具体实现.
2. 1 接口
3 构件的正确性验证
一个构件的接口描述同其具体实现相互分离引发了一个潜在的问题: 该构件的实现是否正确地满足了其接口
中所给定的抽象描述? 为解决这种正确性问题, 我们应用 Hoa re 逻辑〔6〕作为进行证明的基本手段. Hoa re 逻辑是一
种对程序进行推理的理论. 它讨论了程序正确性证明的问题并提出了一种独立的公理方法来获得程序的稳定性.
根据 Hoa re 逻辑, 我们主要应用下列规则来计算和验证构件的语义正确性. 假设 P , Q , R , P 1, S 代表构件中的
特性, C , C 1, C 1 代表程序:
{P}C1{Q }, {Q }C2{R }
顺序规则:
{P}C1; C 2{R }
{P ∧S}C{Q }, P ∧ S ] Q
选择规则:
{P}if S then C {Q }
{P ∧S}C{P}
循环规则:
{P}w h ile S do C {P ∧ S}}
P ] P1, {P1}C{Q 1}, Q 1] Q
结束规则:
{P}C{Q }
由上节所刻画的构件实现模型可知, 构件中所有操作的实现都是由其子构件中的操作合成的, 故而构件的语
义可由这些子操作的合成语义所代表. 基于此, 我们提出相应的验证策略: 首先根据子构件接口中所给出的语义说
明, 应用上述规则计算出构件的初始特性以及每个写操作的预条件和后条件, 然后对照给定的构件接口说明以及一
组验证条件, 判断构件实现的正确性.
我们可使用下面的算法计算一个构件的实现所代表的语义:
该构件的初始特性等价于其所有全局子构件的初始特性所构成的合取特性; 由于子构件接口中给出了每个写
操作的语义信息, 因此对于任一个原子程序 c. op , 我们可假定其对应于条件和后条件为 (p , q ) , 根据这一假设, 对于
构件中每个写操作, 若其对应的程序为 C , 则该操作的预条件和后条件可递归地计算如下:
calcu late : C → P rop erty1× P rop erty2
calcu late (C ) ≡
case C of
c. op → (p , q) ,
C1; C2→ let (p 1, q1) = calcu late (C1) , (p 2, q2) = calcu late (C2) in (p 1, q2) end,
if S then C1→ let (p 1, q1) = calcu late (C1) in (p 1, q1∨ (p 1∧ S ) ) end,
w h ile S do C1→ let (p 1, q1) = calcu late (C1) in (p 1∨q1, (p 1∨q1) ∧ S) end
end
根据上面的算法, 我们可给出构件正确性的定义:
定义 2:
对于任一个构件, 仅当下列条件成立时, 我们称其实现正确地满足了它的接口描述:
1. 假设 P1 是其接口中所给定的初始特性, 且对于每个写操作 w i 其对应的预条件和后条件分别为 P i1 和 Q i1;
2. 应用上面的算法计算该构件实现的语义, 假设所计算出的初始特性为 P2, 且对于每个写操作 w i 计算其预条
© 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
334 小 型 微 型 计 算 机 系 统 1999 年
4 结论
本文给出了一个基于构件设计的简单模型, 并在这一模型的基础上给出了进行正确性验证的策略. 我们坚信这
些内容对于设计一个可靠的构件具有积极的指导意义.
参 考 文 献
〔1 〕 R ichard M. A d ler. Em erg ing standard s fo r com ponen t softw are. IEEE COM PU T ER. M arch 1995
〔 2 〕 R uben P rieto 2D iaz. Im p lem en ting faceted classification fo r softw are reu se. COMM U N ICA T ION S O F TH E A CM. M ay,
1991
L iao, H sian 2Chou and W ang, Feng 2J ian. Softw are reu se based on a large ob ject 2o rien ted lib rary. A CM S IGSO FT , SO FT 2
〔3 〕
W A R E EN G IN EER IN G NO T ES. J anuary 1993
A arth i P rasad. R eu se System : A n artificial in telligence 2based app roach. Jou rnal of System Softw are. 1994
〔4 〕
〔5 〕
OM G. T he comm on ob ject request b roker: arch itectu re and sp ecification. V. 2. 0, J u ly 1995
〔6 〕
M ichael J. C. Go rdon. P rog ramm ing language theo ry and its im p lem en tation. P ren tice H all, 1988
Abstract In th is p ap er, w e study the p rob lem s of co rrectness fo r the com ponen t ba sed design. W e firstly bu ild a
m odel of describe a com ponen t: ( 1) in terface: Ex tend ing the IDL of CO RBA so tha t it can describe bo th syn tax and
sem an tics of com ponen ts; ( 2) im p lem en ta tion: In troducing a sim p le p rog ram m odel to tell how to con struct a new
com ponen t in term s of sub 2com ponen ts. T hen w e con sider how to rela te the in terface of a com ponen t to its im p le2
m en ta tion: V erify if the im p lem en ta tion of a com ponen t is sa tisfied w ith the requ st of sem an tics in its in terface by
u sing Hoa re log ic.
Key words Com ponen t ba sed design In terface Im p lem en ta tion Fo rm a l sem an tics
© 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.