PAR平台中结构化需求语言研究

上传人:jiups****uk12 文档编号:40641748 上传时间:2018-05-26 格式:PDF 页数:3 大小:240.11KB
返回 下载 相关 举报
PAR平台中结构化需求语言研究_第1页
第1页 / 共3页
PAR平台中结构化需求语言研究_第2页
第2页 / 共3页
PAR平台中结构化需求语言研究_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《PAR平台中结构化需求语言研究》由会员分享,可在线阅读,更多相关《PAR平台中结构化需求语言研究(3页珍藏版)》请在金锄头文库上搜索。

1、计算机科学2 0 0 6 V o i 3 3 N Q 8 ( 增刊)P A R 平台中结构化需求语言研究* )R e s e a r c hi nS t r u e t u r a lR e q u i r e m e n tL a n g u a g eo fP A RP l a t f o r m王昌晶1 2 薛锦云k 2( 江西师范大学计算机信息与工程学院南昌3 3 0 0 2 7 ) 1( 中国科学院软件研究所北京1 0 0 0 8 0 ) 2A b s t r a c tC o n s i d e r i n gt h eR a d l1 a n g u a g ec h a r a

2、 c t e r i s t i c so fP A RP l a t f o r ma n dt h ei m p o r t a n c eo fr e q u i r e m e n te n g i n e e r i n g ,w ed e f i n eas t r u c t u r a lr e q u i r e m e n tl a n g u a g e - - S N La n dd e s i g na na u t o m a t i ct r a n s f o r m a t i o ns y s t e mp r o t o -t y p ef r o mS

3、N Lt oR a d LT h i sp a p e ri n t r o d u c e sf i n i s h e dr e s e a r c hw o r k B a s e do na n a l y z i n ge x i s t e n tp r o b l e m s ,w ei m p r o v ed e s i g no fS N L a n dp o s ea l la n a l y s e - t r a n s f o r mm e t h o dw h i c hc o m b i n e ss e m a n t i cc h u n kr e s o

4、l u t i o na n df u n c t i o nd e c o m p o s e K e y w o r f l sP A Rp l a t f o r l T l ,S t r u c t u r a lr e q u i r e m e n tl a n g u a g e ,A u t o m a t i ct m n s f o r m a t i o n1引言在软件生存周期的需求、设计、编码、测试和维护等各个阶段中,需求过程处于软件工程的开始部分,它提供了构建软件项目其余部分的根基,因而对于软件项目的成败尤为重要。从众多披露的材料来看,由于需求偏差和失误已经造成过惨重

5、的损失。在美国,有S t a n d i s hG r o u p 与1 9 9 7 年提供的调查报告表明,有7 0 左右的软件项目不能完全实现用户所需的功能,由此造成投资数千万美元乃至上亿美元的重要项目因此搁浅或放弃。R o b e r tG l a s s 在其佳作软件失控中评论“项目需求无疑是在软件项目前期造成麻烦的一个最大原因,一个又一个的研究已经发现,当项目失败时,需求问题通常正是其核心问题。”H o o p e r 、H s i a 也将需求工程描述为“最关键性和最易出问题的领域” 3 。需求应该面向用户,以便让不具备专业技术方面知识的用户看懂,因而通常用自然语言来书写。但是这存在

6、下述问题:1 自然语言的理解依赖于读者和作者对同一个词语有一致的解释。因为自然语言存在二义性,所以会造成语义理解的偏差。2 一个自然语言书写的需求描述随意性太大。3 不存在一个简单的方法,使自然语言书写的需求模块化 7 。这种形式描述的需求极难发现相关性。可以在自然语言描述中加进一些结构以减少可变性和有效划分需求,比如结构化自然语言,该方法依赖于定义标准格式或模板来表达需求描述。这个方法的好处是它保持了自然语言中的绝大部分好的性质,包括表现能力和易懂性,同时又在不同程度上对描述作了一致性的约束。它对使用的词汇进行了限制,而且可以使用模板来定义需求。江西师大软件形式化和自动化课题组历时十余年,以

7、克服“软件危机”,显著提高软件的可靠性和开发效率、简单实用为研究目标,提出并解决了一系列关键技术,形成了支持软件形式化和半自动化开发的P A R 方法及其支撑平台( P A R 平台) 4 。它由自定义范型算法设计语言R a d l 及相关规约转换库、范型抽象程序设计语言A P L A 、系列R a d l 和A p l a 、A p l a 到J A V A 、C + + 、C # 、D E L P H I 等可执行语言程序自动转换系统和系统的算法和程序设计方法学组成。其中R a d l 主要功能是描述算法规约、规约变换规则和描述算法,它由算法规约语言和算法描述语言两部分组成,用作A p l

8、 a 的前端语言,主要面向用户。R a d l 中的符号表达方式尽量考虑了通用性和习惯性,使传统的数学符号和数学表达式进入了算法设计和程序设计语言。但R a d l 要求使用它的 人必须掌握较深的相关领域的数学知识,也正是因为这种原因严重影响了P A R 方法和P A R 平台的广泛应用。为了能精确地描述算法需求规约,而又要避免高深的数学理论知识,我们仔细地研究了R a d l 算法规约技术报告,对自然语言加以限制和规范化,以消除它的二义性,并辅助于初等数学公式、基本量词运算和抽象数据类型,在P A R 平台上定义了一种结构化需求语言,简称为S N I ,语言 9 。我们还设计了一个从结构化需

9、求语言S N L 到算法设计语言R a d l 自动转换系统的原型。* ) 基金项目:国家自然科学基金( N o 6 0 2 7 3 0 9 2 ) ;科技部9 7 3 重大基础研究发展前期号项( 2 0 0 3 C C A 0 2 8 0 0 ) ;江西省2 0 0 4 年教学改革课题基金;江西师范大学2 0 0 5 年青年成长基金。王昌晶博士生,讲师,主要研究领域为形式化与自动化软件工程。需求分析。9 9本文在第2 部分介绍了结构化需求语言S N L ,第3 部分介绍了自动转换系统原型的设计,第4 部分分析了存在的问题和进一步的打算,最后是结束语。2 基于结构化自然语言算法需求语言2 1S

10、 N L 语言的一般形式要描述一个算法规约,就要描述算法的输入数据和输出数据以及它这些数据的性质( 即前后置断言) 。S N L 语言是用来描述算法规约的,因此,我们定义的结构自然语言要能够简单地刻画出算法的输入输出数据及其性质。根据这个原则,我们设计的S N L 语言的总体结构为:算法名称:标识符; 辅助变量说明 ( 算法输入描述) 算法输出描述)算法规约中,引入辅助变量是为了能刻画出输入和输出数据之间的关系。算法规约的辅助变量说明部分的形式为:辅助变量:数据定义语句部分。算法规约是用来定义算法是“做什么”的,因此,算法的输人输出描述部分是它的核心部分。其形式为:输入I 输出:数据定义语句部

11、分;满足:谓词式语句部分。2 2S N L 语言的语法结构根据前面对S N I 。语言的描述,我们可以把S N I 。语言的语法结构用E B N F 范式( 到单词级) 表示( 略) 。2 3 使用S N L 语言来描述算法规约实例为了说明如何用S N L 语言来描述算法规约,下面列举一些常见的算法,用S N L 语言写出它们的算法规约。( 1 ) 查找算法名称:F i n d在数组A n 中查找一个数据k e y ,若k e y 在数组中,则输出k e y 在数组中的位置,否则,输出n ;输入:数组A n ;k e y ;输出:整数i ;满足:如果( 存在:j ;满足o = j n ,则有A

12、 j 一k e y ) ,那么i j 否则i n ) ;( 2 ) 排序算法( 设对实数排序)名称:S O r t对实型数组AE n 3 按升序排列输出辅助变量:B n 输入:实型数组AI n ;输出:实型数组AI n 3 ;满足:p e r m ( A ,B ) ;任意:i ,j 满足O = i j 一N 一1 则有A i 一A j ;1O ( ) ( 3 ) 图的最短路径算法名称:S h o r t e s t p a t h给定一个图G ( V ,E ) ,图中两结点S ,t ,求图中从s 到t 一条最短路径。输入:图G 一( V ,E ) ;结点S ,t ;满足:s 6 V 并且t E

13、 V ;输出:实数l e n ;结点序列p ;满足:p E p a t h ( s ,t ) ;任意:w 若w E p a t h ( s ,t )则有l e n g t h ( p ) = ( 1 e n g t h ( w ) ) ;l e n = l e n g t h ( p ) ;3 转换系统的设计与实现S N L 语言算法规约到R A D L 语言算法规约转换系统是利用J b u i l d e r6 0 在W i n d o w s2 0 0 0 操作系统环境下开发的,整个系统由下面三个部分组成。翻译程序部分:实现S N I 。语言算法规约到R A D I 。语言的转换算法规约,

14、是整个系统的核心。用户界面程序:实现转换系统的G U I ( 图形用户界面) 。系统主程序部分:实现对主界面窗口进行初始化和启动应用程序开始执行。其核心是翻译程序部分,它包括词法分析、语法和语义分析、表格管理程序和出错处理程序,其总体结构如图1 所示。图14 存在的问题及进一步的打算在早期工作中,设计的结构化需求语言S N I ,能够满足书写算法需求的一般要求,但是仍然存在着下列不足:1 结构化需求语言S N I 。设计目标应该界定为半形式化语言,这样可以既具有自然语言表现能力强和易懂性的优点,又具有形式化语言精确性、无二义性等特点。而以前设计的S N I 。语言与R a d l语言形式上过于

15、相似,对用户书写需求限制过多。比如需求中不能出现非规范的语言现象:如次序颠倒、省略、重复成分等。2 先前的S N I 。语言收集的语料不够多,很多语句自动转换系统不能识别。3 先前的S N I ,语言描述简单规约效果较好,但是难以描述复杂规约,这是南于它没有提出一个好的方法来描述复杂需求是如何分解为简单需求的。针对上述问题,对结构化需求语言S N L ,我们下一步打算在以下方面进行改进:1 允许用户在书写需求时可以有不规则的语言现象。2 收集大量词汇,定义了一个词类词典,该词典对词汇进行了分类。3 使用需求分解的三种法则来把复杂的需求分解为简单的需求,这三种法则是分情形功能分解、嵌入式功能分解

16、、平行功能分解。先前设计的自动转换系统采用的是基于规则的方法,该方法通过句法规则和语义规则,对句子进行分析。其优点是简单、易于实现。主要的不足是分析规则都要由人工编写,工作量大,规则的主观性强,规则的一致性难以保障,不利用系统扩充,尤其对非规范的语言现象( 如带有二义性、颠倒、省略、重复等语言现象) ,规则的方法往往缺乏相应的处理能力。更重要的是,它以“词”作为基本处理单元,输出为一个线形符号序列,因此难以对需求进行语义层次的结构解析。基于组块( c h u n k ) c 1 0 的方法是近几年来自然语言处理领域兴起的一条新思路。它根据分治原则,把小粒度的处理单元一词,扩大为具有结构稳定性和功能无歧义的语块,从而达到加大信息处理力 度,降低处理复杂度的目的。目前已有人将该方法应用于旅馆预定,旅游安排等限定领域内的口语机器翻译中,取得了较好的效果,中科院自动化所承担的9 7 3 子课题正在研究如何

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号