董士海 北京大学计算机学院
2025-02-02
一
概述
以万里副总理为组长的“计算机和大规模集成电路领导小组”,为加快我国软件的发展,决定在国家科委下设立我国软件主管机构——中国软件技术开发中心。中心根据领导小组顾问美籍专家叶祖尧先生提出的关于
发展中国软件的建议,立即启动了中美软件合作项目,我的
第一篇《
中央对我国软件的高度重视
》中,对合作计划做了简要的介绍。本文将简要介绍
“
研发软件工程环境“的情况。
1984
年
2
月,
国家科委基础技术和新技术局召集在美国马里兰大学计算机科学系访问回国的学者(包括周伯生、我等多人)及清华大学郑人杰老师一起开会,要求我们提出一个关于建造软件工程环境方案的建议。
1984
年
3
月,国家科委在北京大学勺园组织评审了三个方案(教育部与科学院;航天
302
所与北京信息科技大学;由北京航空学院牵头的方案)。国家科委最后确定采用北航牵头的方案。
1984
年
5
月
4
日由国家科委基础技术和新技术局胡兆森局长召集我们开会,宣布成立该项目总体组,确定北航为该项目的总体组单位,周伯生教授为总体组组长(中方技术负责人)。要求我们继承五四革命传统,努力完成国家委托的任务。
二.项目的总体原则和布局
软件的研发在于提高它的开发效率和软件的可靠性、可追踪性(
Traceability
)。
本项目按照方案论证时提出的总体原则是:
1.
支持对软件研发中已证明明显有益的开发方法论,如
Yourdon
的结构化设计方法。
2.
提供一组支持软件生命周期各阶段的软件工具集。
3.
拥有一个可扩展的开放架构。
4.
提供一个共享的软件信息库和统一的用户界面。
5.
实现时应考虑到它的实用性和经济性。
6.
易于适应新技术,如人工智能、新的计算机语言。
7.
由于有限的经费和人力,项目拟分两步进行:第一,先各自实现独立的工具,形成工具集,同时进行集成技术的探索。第二,将这些工具集成在一个软件工程环境内。
8.
考虑到当时软件发展的实际情况,项目将在
UNIX
程序设计环境下进行,采用
C
程序设计语言。
9.
采用宿主机
/
目标机的开发方法,所有工具在宿主机上开发,以后通过交叉编译,转换到目标机上。
三.项目的组成和分工
项目提供一组软件开发工具,以支持软件开发生命周期的全过程。包括:
1.
设计工具
DSE
(设计结构编辑器)
由西北大学郝克刚主持该子项目,它实际上是一个多工具的集成软件开发环境,以支持包括软件概要设计和详细设计等多阶段的研发。
2.
编码工具
CSED
及
USE
由中科院软件所卢慧琼主持
CSED
(
C
语法制导程序编辑器)子项目。
由华东化工学院(现华东理工大学)居德华及中科院软件所顾毓清主持
USE
(通用结构编辑器)子项目。它采用一种元语言来定义各种程序语言的语法,然后用
USE
生成各种程序语言的语法制导编辑器。
3.
C
软件测试环境(
STE
)
由北航周伯生主持
C
软件测试环境的研发,清华大学郑人杰等分工参加。该测试环境包括了一批软件测试工具:静态分析、动态测试、测试结果分析等工具。
4.
软件信息库(
SIB
)
由北京大学董士海主持软件信息库的研发。该子项目将对软件工具的集成和
可追踪性等进行探索,是集成环境的主要技术。
5.
用户界面工具
UI
和
UITB
由中国印刷技术研究所沈海祥主持
UI
(用户界面工具)子项目。
由北航孙伟、金茂忠主持
UITB
(用户界面工具箱)子项目。
6.
C
交叉编译器(
C-Cross
编译系统)
由华中工学院(现华中科技大学)袁圃佳主持
C
交叉编译器子项目。它用于将
C
程序转换成任一给定的汇编语言代码。以便将
C
程序从宿主机向目标机转移。
7.
新型工具
Easycode
由华东化工学院居德华及中科院软件所顾毓清主持
Easycode
子项目。它探索一种新的软件开发范式,用问题定义“描述说明”直接生成程序代码。
8.
交互图形技术包的支持(
Graphics
)
由中科院自动化所戴国忠和中科院软件所丁茂顺主持交互图形技术包的研发,以便在
C
软件工程环境中作为底层图形库的支持。
四.
第一阶段的项目完成情况
1.
在
总体组长北航周伯生教授主持下两年内举行了一百多次总体组例会,认证、落实总体和各子项目的方案,监控项目的进展,使整个项目顺利进展。
2.
1984
年
8
月中美合作项目第一次项目论证国际会议在黄山召开,叶祖尧先生邀请了多位美国软件专家前来参加评审,例如著名软件测试专家黄安民教授等。子项目一个个报告,并进行讨论、提出意见和建议,我们认真听取并记录在案。
3.
接着
1985
年
2
月、
5
月、
11
月又进行了三次有国内外专家参加的工作评审会。在
1985
年
11
月的评审会上,有五个子项目(
DSE
,
CSED
,
CSTE
,
Easycode
,
UITB
)成功地
在
Dual MC 68000 83/80
的高档微型计算机
进行了演示。
4.
1985
年
8
月由西北大学(郝克刚教授)主办的软件工程环境研讨会上,中科院软件所唐稚松教授
(1991
年当选为中科院院士
)
和国际著名软件专家、联合国大学软件所所长
Dines Bjorner
教授也应邀参加,中美合作项目的各单位宣读了研究论文,征求意见,进行了充分的交流,。
5.
1986
年
6
月由于国家科委体制的变动,这个大项目暂告一段落。当时国家科委邀请国内外软件工程界的知名学者,在北京召开了有关软件工程环境的国际研讨会,出版了会议论文集。国务委员、国家科委
宋健主任撰写了序言
(见图),他强调“
我很高兴提到叶祖尧教授和其他美国同事在将新概念和新方法引入中国以及培养大量中国软件科学家和工程师方面所做的巨大努力。
.......
中国的软件专家与世界各国的同行一起,在环境开发方面做了大量工作,
......
我深信,召开这次国际会议是正确的。论文集的出版将对计算机软件工程的发展,进而对人工智能的发展做出新的贡献
!
”
。在会议上我也宣读了研究论文,并参加论文集的编辑出版工作。
6.
1986
年
7
月《计算机研究与发展》杂志出了“专刊”,全面刊登了《
C
软件工程环境》的总体和各子项目的研究论文。
整个
C
软件工程环境项目有近
100
人参加,第一阶段总工作量超过
200
人年。
7.
各子项目分别进行了验收和鉴定。由北京大学承担、我主持的软件信息库等两个子项目于
1987
年
6
月进行了正式鉴定。子项目的系统测试由北大石青云(测试组长。
1993
年当选为中科院院士)、中科院计算所张兆庆及清华大学郑人杰负责。鉴定会由国家科委刘凤翘主持,计算机界老前辈中科院计算所吴几康研究员任鉴定会主任,北大作为承担方由陈佳洱副校长出席并讲话。鉴定会成员有涂序彦(鉴定会副主任)、陆汝钤(
1999
年当选为中科院院士)、张世龙、王选(
1991
年当选为中科院院士)、石青云(
1993
年当选为中科院院士)、张兆庆、郑人杰,刘菊芬等。下面是鉴定会的一些照片:
上面照片自左至右为:石青云、王昌义、刘菊芬、陈佳洱、刘凤翘、陆汝钤、张兆庆、吴几康。下面为我正在介绍(研究生杨军在演示)及科学出版社
1988
年出版的专著。
五.
后续
由于决策部门的变更
,该中美软件合作计划、包括
C
软件工程环境项目没有继续进行,但参加项目的各团队及多数成果仍继续发挥作用,特别是
为我国《七五》软件工程攻关项目奠定了基础。参加中美软件合作的各单位软件专家仍活跃在科研、教育的第一线,为国家做出应有的贡献。下面简述若干位,仅供参考。
1.
周伯生教授,
1988
年任北航软件工程研究所所长,后来主攻软件过程控制,成为国内软件企业过程评估第一位
CMM
主任评估师,并获美国设计与过程研究会院士。
2.
郝克刚教授,
西北大学计算机科学系主任、
1989
年起任西北大学副校长、校长。历任陕西省计算机学会副理事长兼软件专委会主任、陕西省高等教育学会理事长等。
3.
居德华教授,华东理工大学计算机科学、工商经济学院教授。获国家科技进步二等奖、上海市科技进步一等奖,
IEEE
和
ACM
高级会员,国际软件工程大会
ICSE2006
(在上海举办)组织委员会主席,第
5
届世界软件质量大会
5WCSQ 2011
主席和
PC
主席。
2013-2019
为华为集团软件工程咨询顾问。
4.
戴国忠研究员,中科院软件所总工程师。
中国自动化学会
图形和
CAD
专委会主任。国家
863
计划
CIMS
主题专家组专家。
CCF
人机交互专委会首任主任、
ACM SIGCHI
中国分会创建人及名誉主席。
5.
沈海祥研究员,中国印刷科学技术研究所所长,中国印刷集团公司总经理。中国印刷技术协会副理事长、中国印刷及设备器材工业协会副理事长,并组织了在北京举办第七届世界印刷大会和国际印刷界
CEO
高层论坛等。
6.
董士海教授,北京大学计算机科学系图形及人机交互研究室主任,博士生导师。先后在科学出版社出版了《计算机软件工程环境和软件工具》(见图)
《计算机用户界面和工具》《人机交互和多通道用户界面》等
专著
,任
《计算机科学技术百科全书》
编委及软件分支副主编
。
7.
顾毓清研究员,中科院软件研究所室主任,曾任软件所学术委员会主任。
8.
卢慧琼研究员,中科院软件研究所室主任。
参考资料:
Proceedings of the International Workshop on Software Engineering Environment,
August 18-20,1986, Beijing, China.
China Academic Pub.
致谢:
本文得到中科院软件所戴国忠和北航周伯生等老师的支持和审阅,在此深表感谢。