软件工程学科何以独特——形式化方法的双重路径[十几年后再来看该一级学科的独特]

软件工程学科何以独特——形式化方法的双重路径*【十几年后再来看该一级学科的独特】

邹晓辉, 邹顺鹏

摘 要 本文旨在以数字和文字双语信息处理为例论述软件工程的第二路径及其重要意义。具体涉及如下两个问题及其解答:第一,软件工程学科何以独特?在其解答过程中进一步提出了软件工程的双重路径问题;第二,软件工程的第二路径为什么显著优于第一路径?其中预示软件产业将由此重组。从方法论的角度来看,前者涉及协同智能观;后者涉及第二路径的论证。从学科体系的角度来看,涉及软件的两次定位。其中,如果说第一次是计算机软件产品脱胎于数学和语言学,那么,第二次就是软件工程服务脱胎于计算机学科和信息学及其相关的工程技术学科和管理学以及教育学的相关部分。前一轮形成了软件产品概念,后一轮形成了软件服务概念。这是一个系统工程,其特点是整体大于局部之合。在此就是虚拟的自然人(设计者和用户)与虚拟的计算机(操作系统和应用系统以及其它各式各样的软件)各自的功能,均不及两者结合而成的协同智能计算系统的整合功能

关键词 软件产品;软件工程服务;双语信息处理;间接形式化。

中图分类号TP 文献标识码 A

The Uniqueness of Software Engineering:The Dual Formalizations

ZOU Xiaohui, ZOU Shunpeng

Abstract 】

This article aims to discuss the second path to software engineering and its significance by taking the bilingual information processing of both digit and script for example.Specifically, it involves the following two questions and their corresponding answers: First, what is software engineering discipline unique for? The problem of dual path to software engineering is further proposed in the process of answering it.Second, why is the second path to software engineering significantly better than the first path? This indicates that the software industry will encounter re-shuffle. From the view of methodology, the first question would involve collaborative intelligence concept; the second question relates to the reasoning of the second path. From the perspective of the disciplinary system, both of them involve the last two positioning of software. Of which, if the first is computer software products born out of math and linguistics, then the second is software engineering services grew out of computer science, information science and their related engineering and technological disciplines, the relevant part of management as well as education. The first round of positioning formed the concept of software product, and the second formed the concept of software service. This is systematic engineering project, which is characterized by that the whole is greater than the sum of its parts together. Here, it means that the separate functions of a virtual natural brain (designer and user) and a virtual machine (operating system and application system as well as other software) cannot reach the extent of the integrated function of collaborative intelligent computing system made by the combination of the both.

Key words】Software Product; Software Engineering Service; Bilingual Processing; Indirect Formalization

Sino-US Project:Bilingual Information Processing at UC Berkeley Searle Research Center

作者简介

邹晓辉(1958年-),男,研究员,主要研究方向:双语信息处理,协同智能计算系统。

邹顺鹏(1986年-),男,研究生,主要研究方向:高等教育学,高等教育管理学。 

0 引 言

本研究着重于软件工程形式化方法研究领域。它基于这样一个背景,即:虽然出现了一些引人注目的成功,但软件工程领域仍有改进的余地[1]。自从软件[2]和软件工程[3]及其作为一个专业[4]进而发展成一门具有交叉学科性质[5]的独立的有特色的工程学科[6]以来,一直延续这样一条形式化技术路线,即:在程序设计中的人机对话[7]采用的均为基于美国标准信息交换码[8]而构造的编程语言——目前已有两三千种[9],这样的情形好比是“千军万马过独木桥”的情形。

本文旨在以算术数字和汉语文字协同并行构成的广义双语信息处理为实施例来论述软件工程形式化方法的第二路径及其价值。具体涉及两个问题及其解答:第一,软件工程学科何以独特?在解答过程中提出软件工程形式化方法的双重技术路线问题(简称:双重路径问题);第二,软件工程形式化方法的第二路径为何显著优于第一路径?由于这条总的新技术路线,即:双语处理的技术路线,就好比是“相当宽的光纤通道”的情形,因此它预示软件产业将由此重组。从方法论和学科基本概念体系两个角度均可对软件工程形式化方法作进一步的论述或探讨。希望对学界和业界具有引领作用或某种程度的启迪。

1 软件工程学科何以独特?

1.1 三次跃迁形成一级学科

图1 “软件”产品->“工程”服务->“学科”建立[10]

由图1可见,软件工程是如何从计算机科学技术中逐步地独立出来的历程。如今软件工程已经发展成为一门独立的一级学科,其下辖的二级学科主要包括:软件工程理论、软件工程技术、软件工程管理以及软件服务工程。

图2 软件工程下辖四个二级学科之间的关系[11]

由图2可见,软件(产品与服务)及其工程(技术和管理)概念体系的清晰关系,软件工程下辖四个二级学科的关系也可从理论与应用的角度加以阐述。这对软件工程学科而言是一种新的视角。因为,此前,由于学界和业界都因不明确它到底是一门科学还是一门工程(又涉及管理和技术)而争论了很久。

从学科建设的角度看,研究对象是否明确至关重要。否则,该门学科的内在建制是否完善就必然会遭到学界理性地质疑。

计算机学科从数学和电子工程两个学科中分离出来,旨在着重研究计算机硬件的相关工程问题,而软件工程又从计算机学科中分离出来发展为与之并重的一门独立学科,其重点就是要研究如何以系统、可控、高效的方式开发和维护高质量软件(产品与服务)的问题。[12] 学科的建立究竟依据的是什么呢?是社会分工的需要,还是知识规范的形成?或是两者兼有之?

图3 学科形成过程中涉及的内外在建制[13]

由图3可见,一门学科是由内外建制两方面构成的。由此可判定:软件工程学科何以独特?其内在建制须从形式化入手。

为什么这样说呢?因为,从构成软件工程学科的主要理论二级学科(软件工程理论)的情形来看即在软件工程的形式化方法、软件自动生成与演化、软件建模分析与验证、软件行为学等来看,软件工程形式化方法是根本。其一,它是数据结构及其类型如何确立的依据,其二,它是算法得以实现的基础,其三,它是后续其它诸方面得以展开的基础,最为关键的,它还是自然语言理解的基础。因此,在软件工程理论中,我们就选定由此深入研究,以期在该学科内在建制的理论建设特色上做出相应理论贡献。

1.2 第一次跃迁“软件”因“三品合一”脱颖而出

图4 软件(产品)内部层次关系[14]

由图4可见,结合软件(产品)内部两层关系的清晰描述。其中,三个关系式不仅蕴含以下诸括号提及的各个知识要点:

软件=(计算机运行)程序+(人机之间对话的交互)界面

程序=(人机可理解的)数据结构+(人机可操作的)算法

界面=(自然人可感的)对象+(自然人可知的)知识本体

而且,还隐含记录和存储上述知识的所有文件或文档。

由此可见,无论是“软件(英语:Software)是一系列按照特定顺序组织的电脑数据和指令的集合”还是“软件就是程序加文档的集合体”都是有道理,但又都因各执一端而不够全面。

为什么说“软件”具有“三品合一”的突出特点?

所谓“三品”即:样品、产品、商品。这在“硬件”来说,往往都是可以明确地区分开来的。然而,对于“软件”就极为不同了,尤其是蕴含多个功能的软件,它的每一个功能部件都同时可以具有“三品合一”的特点。

另外,需要特别提及的是记录或承载知识与信息的数据库其实是以知识本体和数据结构及其类型的形式而存储于计算机硬件中的,因此,它也属于软件的范畴。

再一个需要注意的是,以往各种各样的编程语言在此起着非常关键的作用,因为,软件通常是由狭义的编程语言写成的。人们也因此忽略了界面对象是另类直观的常用编程语言。还有自然语言甚至母语经过约束也都可成为广义的编程语言。数学语言和其它可数学化的形式语言能用于编程就更不必说了。

1.3 第二次跃迁“软件工程”步入“云计算”服务

自2006谷歌101 项目[15]公开提出云计算(cloud computing)至今,产业界专家说它是一种新的商业模式[16],技术界人士说它是软件服务(SaaS)、平台服务(PaaS)和基础设施服务(IaaS)三个不同层次的互联网技术的融合[17],计算机学界专家则说它是一种有别于既有范式的新的计算模式[18],另外还有各种各样的具体说法[19]。其中最典型且耐人寻味的就是“三个服务”说,我们认为这不仅仅是一个说法的问题,而是软件工程服务这个特点的凸显。其结果就是“软件工程”步入“云计算”服务的一个新时代。为什么可以这么说呢?这是并行、分布、网格、虚拟的“云计算”与“软件工程(技术和管理)”的服务特征交汇的产物。

图5“软件工程(技术和管理)”与“云计算”服务[20]

由图5可见,基础“框架服务”(IaaS)、“平台服务”(PaaS)和“软件服务”(SaaS)实际上是基于基础“框架”(I)、“平台”(P)和“软件”(S)的三类技术产品的三类服务(3S),不仅相应的技术和管理等具体服务方式的变革,而且,还涉及整个软件系统工程及其云计算方式的发展。其中蕴含着相应的科学原理或深刻的理论思想,即图5所示的“云计算”的科学技术内涵和经营管理方式及其相互关系还有待于深入挖掘。这不是一般的系统工程,而是,并行、分布、网格、虚拟的“云计算”与“软件工程(技术和管理)”等服务特征交汇的系统工程,其焦点不仅是数据中心而且更是知识中心。而这些都为“软件工程学科”的建立奠定了基础,同时,也为其提出了新的任务。

当前的云计算,即大规模计算机集群的云计算实质上就是依托数据中心所存储的海量数据而进行的并行、分布、网格、虚拟的超级计算,其特点是通过大规模采集海量数据,进而,通过PageRank[21]、MapReduce[22]和Hadoop[23]等工具软件,提高其搜索效率。Google, Yahoo, Microsoft, IBM, Amazon等巨型公司就是通过大规模采集海量数据而形成“云数据”,即:存储于大规模计算机集群“云硬件”上的海量数据库中须用“云软件”去驾驭或管理的冗杂并存的大规模动态数据。

具体说,由于PageRank采用类似于科技论文引文机制——谁的论文被引用次数多谁就是权威。因为互联网的链接与引文的索引目录相当。例如,B网页链接A就等价于B引用了A,当C、D、E、F网页都链接A,就说明A网页最重要,于是,A网页的PageRank值就最高。如何计算PageRank值?可用PageRank的计算公式找出具体算法。

MapReduce由Map(映射)和Reduce(简化)结合而成,其基本含义就是首先将一个任务分解成为多个任务(相当于把一幅地图分解成若干),然后再将分解后的多任务处理的结果汇总起来得出最后的分析结果(相当于最后化简为一个近似于该地图的多边形)。如何具体地展开并化简?MapReduce可给出相应的算法。

Hadoop是分布式文件系统(Hadoop Distributed File System,缩写为HDFS)。第一个由原创者自创的单词仅指代一个棕色大象的玩具。该系统为分布式计算存储提供底层支持。它现在是一个名叫Apache的开源软件组织的分布式计算框架,Hadoop的核心设计就是:MapReduce和HDFS。MapReduce的思想就是一种“任务的分解与结果的汇总”的处理方法。

通过云计算软件可窥视“云数据”处理的一些特征。

图6 映射简化的编程模式[24]

由图6可见,MapReduce(映射简化)的编程模式,虽然非常简单,但是,在处理海量数据上却相当有效,因而它也是谷歌(Google)的一个王牌编程语言或工具软件。

仅就谷歌, 雅虎, 微软, IBM, 亚马逊等公司采用的“云计算”技术来看,其底层“云硬件”技术所依据的计算机科学原理是图灵可计算性理论[25]和人工智能基本设想[26]。克莱尼字符串的形式理论[27]和冯诺依曼数字计算机体系结构[28]则分别是其数字化软件和硬件底层设计的基础。

这样做虽然可行,但是,仍存在缺陷或不足。如果由上述基于数据中心的外延式云计算可发展到基于知识中心的内涵式云计算,那么,情况将会发生翻天覆地的变化。因为,从数据到知识是其进一步发展之必然。这是一个根本性的问题。笔者另文探讨从数据到知识进一步发展过程中存在的两类云计算。

1.4 第三次跃迁“软件工程学科”寻求其理论根基

如果说软件(产品)从计算机硬件(产品)中独立出来是一次跨越,那么,软件工程(服务)从计算机硬件工程(服务)中独立出来则是又一次跨越,软件工程(学科)从计算机软件和硬件整合的工程技术(学科)中独立出来也将是一次跨越。这三次跨越意味着什么?业界和学界还没有来得及认真思考。然而,国际学术前沿已有几个研究领域有意无意地涉及了它。

图7 智(力、能、慧)与软件及其工程的关系[29]

由图7可见,软件和软件工程被赋予了第三智的含义。这是我们关于软件工程学科何以独特的一种理论构想。它建基于语言、信息、知识三个关键概念框架。在既有的理论体系中,它们分属语言学、信息学和教育学(尤其是高等教育学)三个研究领域。令人惊奇的是这三个领域在内在建制上均不能算是科学意义上的研究对象明确、学科性质明确或学科边界清晰、方法体系独特、概念体系自洽的学科。最突出的一个问题就是语言、信息、教育,三个概念都是无所不包的大概念,因此,这三个研究领域不具备上述科学意义的学科的四个基本要件。

无处不在的软件可涵盖语言、信息、知识三个大概念。这更是让人捉摸不透。具有系统工程特色的软件工程学科的独立,逼着理论界必须回答这个以往人们不敢且难回答的问题,即:第三脑,实质上是:第三智,究竟应归属于什么研究领域?这是一个虚拟的真实世界。它不仅超越了自然人大脑的人类智力思考局限,而且也超越了计算机电脑的人工智能处理局限,它就是地地道道的协同智慧。协同智能计算系统是其特例,具有并行、分布、网格、虚拟几类计算特征的云计算或超级计算,也是其特例(鉴于本文主题所限,此处提及仅是抛砖引玉)。

从硬件到软件,从数据中心到知识中心,协同智慧将发挥前所未有的作用或影响力。在这种背景下的软件工程必然涉及软件、数据和知识等领地。因此还需作新的解释。由于本文仅限于对软件工程形式化方法双重技术路线的研究,因此,不能展开对上述关键词或重要概念的具体探讨,但可以给出个框架。

图8 形成软件工程学科的三次跨越或跃迁各具特色[30]

由图8可见,软件(产品)、(软件服务)工程、(软件工程)学科,从(计算机)硬件、(计算机)工程、(计算机)学科一步一步独立出来的历程,却是一个学科交叉不断拓展的过程。第一步只要是从计算数学和电子技术两个学科独立出来,第二步则主要是从计算机科学技术这个交叉综合学科中再独立出来,第三步是进一步与工程技术和服务管理两门学科相融合而形成另一类交叉综合学科。

至此,几乎涉及了数学、逻辑、自然(科学)、人工(科学)或工程(技术)、心理(科学)或心智(哲学)、人文(教育)、社会(管理)各个学问领域。可以毫不夸张地说,软件工程学科已经远远超出了既有的定义范围而蕴含了非常丰富的形式及其可承载的内容。由于,字、式、图、表、音、像、立体、活体,各类形式均可通过物理和数理两种方式转化为数字形式,其中,数理形式就是最理想的软件形式,这就是软件工程形式化方法的理论和实践双重基础。因此,软件工程形式化方法双重路径并行的策略将是最佳选择。

2 软件工程形式化方法第二路径何以优越?

在上述软件工程学科何以独特这个根本性大问题语境下,以下将给出软件工程形式化方法第二路径及其重要性的论证。

2.1 两类“巴比塔”问题

软件工程形式化方法双重路径可解决两类“巴比塔”问题。

第一类“巴比塔”问题

图9 第一类“巴比塔”问题[31]

由图9可见,人类联合兴建通天塔的计划失败的一个关键因素是:说不同语言的人之间再也不能像以往仅说一种共同的语言那样相互之间容易很好地彼此交流和沟通了。

如果“变乱”人类的日常语言可让人际交流受阻,那么,“变乱”编程语言为什么不能也让人机交流受阻呢?当然能够。下面就是具体的例证。没有人可熟练掌握这么多的编程语言。这还仅仅是两三千种编程语言中很少的一部分,有许多根本就是多数人不知道的。显然,由此造成了另类“巴比塔”问题。

第二类“巴比塔”问题

图10 第二类“巴比塔”问题[32]

由图10可见,软件工程直接形式化方法的第一路径可解决部分的自然语言理解问题。就是说,在第一类“巴比塔”问题还远远没解决之前,与此同时又造成了第二类“巴比塔”问题即“千军万马过独木桥”的问题。由于各种编程语言做的程序或软件还须编译成为机器语言才能被计算机硬件所执行,因此,它们还不是可被计算机直接理解的形式语言。只要编译过程中存在在任何隐含的歧义问题或瑕疵,就可能在被编译后的机器语言描述的重用或复用指令中埋下定时炸弹,在今后的执行中随时可能被一触即发。这种情况的积累也就是真正的危机软件。它是软件工程过程试图克服的软件危机的一种纯技术的类型;还有其它的类型,如纯管理的类型和技术与管理交织的类型。由于第一种类型是根本的,因此,本文着重于谈它如何克服。

细心的读者会发现:最常用的编程语言在前面的列表中几乎都有。

实践证明,结构化程序设计语言、面向对象程序设计语言、案例工具、形式化方法,是软件危机得以抑制的有效技术手段。纵观机器语言、形式语言、编程语言、计算语言、日常语言或自然语言这个链条的全程,我们发现:其中存在两个十分有趣的现象,就是我们前面称之为两类“巴比塔”问题的现象。

这样比喻旨在揭示两类“巴比塔”问题存在的共性,即:对于和机器语言完全等价的纯粹的形式语言而言,两者均须译,尽管一个是翻译而另一个是编译。这是隐含歧义或危机的根源。

如果可用m表示第一类“巴比塔”问题,那么,也就可用n表示第二类“巴比塔”问题。两者是否属于100步和50步的关系呢?站在机器语言1的立场来看,在n与m之间确实存在“五十步笑百步”的情形。因为,机器还是不能理解自然语言。反之,站在人的立场,人机对话是不是一定要通过编程语言呢?其实,也未必。至少可证明:通常不需要绝大多数编程语言。更不必说计算语言了。这就是第一路径存在的基本问题。相比之下,第二路径却没有编译或解释的问题,更无翻译的问题。为什么会是这样呢?这岂不是天方夜谭吗?真是难以置信,但它就是这样。我们不仅确信无疑,而且,可举出强有力的例证。试问一位精通两门语言的双语者还还须这两种语言的翻译呢?

2.2 解决两类“巴比塔”问题的双重路径

精通两门语言的双语者用不着这两种语言的翻译。由此,我们建立了第二路径的基本假设,就是可设计一个双语者,即:广义的双语信息处理系统,它既懂机器语言,又懂自然语言。这就等于提出了一条与以往第一路径完全不同的形式化路径。

乙方-----------------中介方-----------------甲方

图11 软件工程两类形式化途径比较[33]

由图11可见,(一)和(二)两条基本的形式化途径,即软件工程形式化方法的双重技术路线。其中,第一路径是学界和业界都非常熟悉的软件工程所谓的直接形式化途径,其特点是:在甲方和乙方引入中介方(如:各种各样的程序语言,有两三千之众,各自都有其优缺点,常用的多种编程语言彼此也很难完全相互替代)。因此,我们采用n来表示其数量远不止1个(机器语言只有1个,即:二进制数,十进制数是其等价的形式),采用m表示自然语言种类的数量也远不止1个。

第二路径是我们发现并明确地提出的软件工程间接形式化途径,其特点是:基于同义并列对应转换的法则,分别在甲方和乙方各自都建立一个序位关系唯一守恒的对称矩阵,限定在目标域,可作为甲方和乙方彼此“合理分工,优势互补;高度协作,优化互动”过程所依据的统一测序定位平台。双方彼此遵循的分工协作原则简称“16字方针”又叫“协同智能观”[34]。

换句话说,就是要自然人(甲方)与计算机(乙方)遵循“16字方针”或“协同智能观”来构造彼此进行广义双语对话的软件(样品、产品、商品三位一体)乃至协同实施软件工程(蕴含管理和技术双重服务)。严格地讲,这是和以往的软件和软件工程的固有理念完全不同的另类新理念,即:协同智能。

由于这是用“整体大于局部之和”对自然语言和机器语言以及精通这两类语言的三类主体的概括。因此以言和语的关系及形式化系统作为支撑的第二路径发现,就是一件看似简单,其实并不简单的事情。这里的言和语,对汉语来说就是单音节的字和多音节的语;对于二进制数来说就是只有0和1两单一元素的单一集合或子全域和该两个单一元素逐级排列组合枚举而构成的分层集合或超子域。无论是自然人或计算机所使用的言语形式系统,还是所发现的语言规则系统,都一定是言和语的关系及形式化的系统可作为基础或支撑的。

这在《软件》2011年第5期专家论坛第一篇文章即“间接计算模型和间接形式化方法” [35]图1和图2中已有非常清晰的描述,在《软件》2011年第6期专家论坛第一篇文章即“协同智能计算系统——理论模型及其应用”[36]图1和图2中有用例。

软件工程间接形式化方法第二路径为何可有效地避开继续制造另类“巴比塔”进而还可逐步解决两类“巴比塔”问题呢?

这就是接下来要着重介绍的内容:第二路径的优点,即:它解决两类“巴比塔”问题或克服自然语言理解困难的妙招。

2.3 第二路径为何优越?

由图7和图11可见,自然语言体现的人脑智力与机器语言体现的电脑智能之间并非简单相加的关系。如果没有一种协同智慧,那么,人脑与电脑不过是生物和机电两类载体载能而已。

由图9和图10可见,不仅自然语言或日常语言多种多样,编程语言也多种多样;由图11可见,仅有机器语言是唯一的。因为二进制数与十进制数是等价的(其它进制数与之也是等价且可相互自动转换)。这似乎预示一个道理,即:存在以简驭繁的可能性。这也是计算机带给自然人的最大启示之一。第二路径及其优越性的存在可能性也因此而产生。

由图11可见,自然语言(甲方)与机器语言(乙方)相互之间是不同性质的两类语言,编程语言(丙方)在第一路径中是必须的,在第二路径中则非但不是必须的而且根本没有存在的必要性,也就是说在第二路径中丙方是可有可无的,相当于甲方和丙方均可被列为区别于乙方的一大类语言。这是个非常大胆的假设。它意味着:两类“巴比塔”问题,的的确确就是“五十步笑百步”的问题。也就是说,所谓直接形式化的道路对于计算机理解自然语言是行不通的,充其量只能很局部地通。

2.3.1 第一路径“桥梁原理”

熟悉前述第一路径的专家和广大师生均可知道或可想象,分别采用汇编语言、结构化程序设计语言、面向对象程序设计语言编写一个计算器软件,其后台程序代码数量是很不同的,虽然其前台界面对象类型几乎可做到酷似。同理,对编写窗体、记事本、浏览器或其它工具软件,乃至数据库及各类信息管理系统等等,均会遭遇类似的情形。借助图3所示的第一条路径可形象地把这类情形描述为“桥梁原理”,即:丙方就相当于是横在甲乙双方之间的各种各样的桥梁(即:各种编程语言)。

2.3.2 第二路径“天平原理”

如果采用第二路径做同类软件,那么,必将会出人意料地非常简单以至于给人感觉就像是在直接使用母语编程似的——其实是在对称矩阵严谨数字平台上仅限于用户在该平台的序位法则约束下选择一系列特定的词语做基于母语的对象化编程。

下面就是该平台及其背后的序位法则所具有的约束机制。

图12 对称矩阵与双语处理及其所遵循的序位法则[37]

由图12可见,上方是图11简版,下中是体现信息基本定律(2)的天平原理,左右对称两个矩阵下方是体现信息基本定律(1)的两个对称的序位关系数理模型,其作用不仅在于揭示其广义双语并行处理特点,而且还在于揭示其中蕴含的数理逻辑原理。就对称矩阵序位法则及其所具有的约束机制而言,无论采用算术数字(左列表{id}),还是采用汉语文字【右列表{ge}中可填入的基于{笔画}组合的各级偏旁部首和基于{言:单音节字}组合的各级字组即语】,在该虚拟超级对称矩阵中均可各就各位。如果仅从计算机辅助识字或学习组字成语的过程而言,那么,构造通用的标准化程序和界面的软件设计与使用,构造专用的个性化程序和界面的软件设计与使用,均可基于该虚拟的超级对称矩阵圈定相应的言和语的基本数量以及可能的语境或文体及其相应领域或范围,为具体的用户订制特定的软件。这相当于在数字棋盘上下棋一样,用户或棋手的每一个动作都可被系统日志记录在案,以便于学习积累一系列棋局。这样的协同操作过程,也相当于数字化的积木或扑克牌,用户或玩家的每一步都可被系统的日志记录或采集,从而,为后台的数据挖掘和过程分析提供相应的数据、信息和知识。

这与现有第一路径的做法所不同的一个特点,就是第二路径采用了对称矩阵和双语处理的方式,尤其是广义双语概念的引入,为算术思维和语文思维这两种基本的人脑思维类型增添了电脑以及软件这两类独特形式——可形象地比喻为:一、二、三类思维模式。

这也就为软件工程形式化方法研究提炼出了直接、间接、结合的不同方略及其相应的路径:以美国标准信息交换码为主导的直接形式化方法即第一路径,以数理逻辑在集合论(为克服其隐含的悖论以克莱尼星号表述的字符串形式理论为例而最优化的数据结构类型做优化描述)和递归论(以图灵可计算数作为上限采用一系列孪生图灵机的方式引入对称矩阵和双语处理的策略从而间接采用数学的最好算法有针对性地加以合理重用)及类型论(以二进制数为例明确序位)与证明论(以二进制数为例找出理想集合)为基础构造的间接形式化方法即第二路径,不仅可独立采用对称集合和双语处理而另辟蹊径,而且,还可巧妙选择并继承乃至有针对性地重用第一路径积累的丰富经验和软件资源加以重构和重组进而可形成双重路径并用的格局。故第二路径有承上(第一路径)启下(双重路径)的作用。

2.3.3 “数理基础”和“序位原理”

图13 第二路径优化的数理逻辑理论及相应的实践方略[28]

由图13可见,软件工程间接形式化途径所突出的第二路径采用的数理方略就是用最简单的数据结构类型以及最优化算法形态来间接计算被对称矩阵以及广义双语并行处理方式显著地简化了的非数字计算问题。如:言和语的枚举或搜索。例1:言即{单一集合},语即{分层集合(其中除去与单一集合重合的一层)}。例2(仅对汉语或中文来说):言即单音节字;语即双音节以及多音节的字组。至于各级字组的所指或自然人用户会赋予其什么意义,均属非形式化问题故另当别论即暂不讨论。

2.3.4 形式化前后的几组关系

图14 形式化前后的几组关系[39]

由图14可见,从一个混沌的半椭圆形(形式化之前,三组关系是交织在一起的)到几个清晰的矩形(形式化之后,三组关系已经被划分很清晰)是一个认识飞跃。其中,众口难调的问题虽然可感可知,但是,与之不同的上下两组关系:上方的取值问题(这是可形式化的)和下方的置信问题(涉及信念),应区别对待。如果从应用的角度来看,那么,面对众口难调的问题是需要智慧的,如哲学探讨的问题;分别面对文法、意义、物理的一系列问题,主要是语言、知识(教育和管理)、信息几个概念及研究领域探讨的问题(这是基于词的思维,区别于图14各方框下面基于字的思维——可且更易于间接形式化)。

言和语的关系及其形式化系统的特点告诉我们单一集合和分层集合是根本的,而标志集合和杂多集合则是基于分层集合描述的各种序位关系的重复调用。《软件》2011年第5期专家论坛第一篇文章“间接计算模型和间接形式化方法”的图1和图2及其配套的文字已描写、陈述、说明且论证得非常清晰的几类集合,已可用最简单的形式把图14几个方框里描述的几类关系阐述得相当明确而毫无歧义。至于,其中蕴含的信息基本定律与文本及生物基因规律、化学的物质不灭定律和物理学的能量转换与守恒定律的总分关系,均因心理或思维的置信而变得更加耐人寻味。由于这些基本关系的深入探讨远远超出本文的主题所限定的论域,因此,这里只能点到为止。

2.3.5 并行、分布、网格、虚拟的云端计算

图15 洁净数据中心的语言和知识的计算统计及质性分析[40]

由图15可见,从数据中心到知识中心的云端计算,揭示了基于无污染的洁净数据及相应的洁净数据中心可构造各级教、管、学诸过程如何针对言和语所表达的知识来逐渐地形成优化的知识中心,其中,标准化和个性化结合的一系列知识重用及其云端计算,其顶层的学科门类即最基本的学科门类划分体系,可为海量知识中心有针对性地被各级各类学校用户来重用各类知识作宏观导航。因此,无论基于言和语的知识处理,或基于概念和原理的知识处理,均可拥有一个洁净的数据中心和针对不同用户群的知识中心即在相应目标域的单一集合元素的枚举和分层集合各个进阶层式元组的枚举或搜索必须的最优化数据结构、最好算法和最友好界面及相应知识本体(类)供计算机辅助识别、有针对性地重复调用乃至优选重构或重组。

为此,就要构造一种超级宏语言,及其环境和相应的平台来协同调用软件工程形式化双重路径的语言与知识这两方面的前人和他人的智力劳动所积累的研发成果。也就是要为语言、知识、软件,在基于知识中心的另类云端计算中来测序定位。

所谓超级宏语言,不仅借用了宏语言的概念,而且,是在协同智能观的视域和协同智能计算系统的软件工程服务范围来发展宏语言的概念,进而,使其成为名副其实的超级宏语言。

图16 整合双重路径的超级宏语言及其类库调改环境及平台[41]

由图16可见,软件工程形式化方法两条路径均可通过超级宏语言及其依托的协同智能计算系统和软件系统工程,并针对以往计算机科学技术的内行和外行,分别就类库的改造和类库的调用而进行国际交流、研究、教学、服务、引领未来发展等体现高等教育的理念及主要职能的活动。

图17 大学的理念和主要功能[42]

由图17可见,大学的理念和主要功能的基本关系,其中,国际学术交流是贯穿始终的,教学、研究、服务,及随后凸显的引领社会发展,都是逐步形成的。

基于本文所述新理念的软件和软件工程,尤其应体现图17所述的大学的理念和主要功能。因为,人类还从未有过可以采用并行、分布、网格、虚拟的云端计算,尤其是另类崭新的云端计算,这样的方式来实现并优化大学的理念和主要功能的机会。这类新兴软件工程是一个大跨度的多学科交叉研究领域。软件学科、软件工程、软件产业以及软件用户不仅可各得其所,而且,既可各有侧重且又可在必要时更好地相互沟通或衔接。为此,软件(产品与服务)及其概念体系的清晰也就更重要。因为软件及其工程均需要依托语言和知识而条理化、多样化。

图18 软件(产品与服务)及其基本概念体系[43]

由图18可见,软件(产品与服务)及基本概念之间的清晰关系,蕴含很有意思的情形,即:软件的抽象数据结构类型与概念的外延,软件的直观对象属性与概念的内涵,一系列奇妙交错和对应,非常耐人寻味。还有:程序与算法,界面与本体,也是两组奇妙的系列。更为令人深思的,还有一系列的关系对。这都可以在语言和知识以及软件所共同依托的序位关系或对称矩阵中各就各位。第二路径最重要的一个特征就是便于推广。

2.4 双重路径之比较

所谓“直接形式化”就是基于美国标准信息交换码的方式在机器语言和自然语言(如英语)之间直接缩短距离,其方式或途径是建造“桥梁”即构造形式语言、编程语言和计算语言。

所谓“间接形式化”是基于对称矩阵和(广义)双语处理的方式在机器语言和自然语言(如汉语)之间协同或对话,其方式或途径是人机“协同”即构造双语系统。

显而易见,现有的“编程语言”就是“桥梁”就是“中介”;而广义的“双语系统”只须“协同”无须“中介”。

由于软件=(计算机运行)程序+(人机交互)界面,其中,(计算机运行)程序=数据结构+算法;而(人机交互)界面=(自然人易于识别的)对象+(自然人易于理解的)知识本体。因此,以往各种各样的编程语言在此起着非常关键的中介作用,人们因此在理论上忽略了界面对象就是另类直观的常用语言。由此将引入狭义和广义的编程语言之区分,后者可以是双语。

鉴于人类超越动物鹤立鸡群的一个主要原因就在于人拥有表达和传承知识的独特工具——语言,其特点就是它所独具的多义性或歧义性。这既是其优点,又是其缺点。自然语言存在一个根本特点,即:(写或说话的人会制造)潜在的多义性和(读或听话的人会陷入)难免的歧义性。这即使是在人际交流中都难以避免,何况在人机对话时怎能不存在呢?这是计算机自然语言理解难以逾越的屏障。因此,基于一系列单语者接力解释或翻译乃至编译的假设而设计的一系列“中介”或“桥梁”这条路太狭窄而不够用,务必同时另辟蹊径启用“第二路径”。

在圣经中,有段非常耐人寻味的“巴比塔”故事——其中表现出了复杂性、丰富性、多元化的自然语言引发的神人之争,当代的人机之争可视为另类“巴比塔”故事,请见图9和图10。

问题是无论哪类“巴比塔”故事,最终谈论的都不仅仅是语言形式而是其承载的知识内容。这可使双重路径得以相互印证。

2.5 第一路径的形式化方法教育

基于严密的数学的形式机制的形式化方法是软件工程具有根本意义的研究方法。从20世纪90年代开始,形式化方法教育就引起了欧美教育界的高度重视和关注。英国、德国、法国、意大利、荷兰、西班牙等国家高校相继为研究生开设形式化方法的课程,并推广至本科生教育。从20世纪90年代中期开始,美国高校也开展了形式化方法教育研究,并在美国顶尖的35所大学的软件工程学科实施研究生和本科生的形式化方法教育实践。从欧洲58所高校的课程开设情况来看,虽然形式化方法教育得到了大范围的实施,但是课程内容、授课教材、辅助工具等比较散杂,建立形式化方法课程的知识内容规范、编写相关规范指导下的教材、开发相关规范指导下的辅助工具,是亟待解决的问题。形式化方法知识体系中的6个知识领域为:① 基础;② 形式化规格;③正确性验证及演算;④ 形式化语义;⑤ 可执行规格支持;⑥ 其他。形式化方法教育过程中,相关形式化方法工具的支持是非常重要和必要的。且形式化方法工业应用需求和教学过程实践的经验积累,已愈来愈体现出软件工程学科形式化方法教育的必要性和可行性。国内软件工程学科的形式化方法教育相当薄弱,尚未在高等院校得到有效推广和实施。软件工程学科形式化方法课程教学的有效推进有赖于课程教材、实验环境、支撑工具以及应用环境等方面的突破。[44]

如果仅有上述形式化方法的第一路径,那么,母语非英语的民族就不得不屈从于跟在英美等国甚至印度这样说英语国家的软件工程强国的后面亦步亦趋。

因此形式化方法的第二路径的发现不仅为以汉语为母语的国家早日成为软件工程强国提供了转机,而且,也为其他母语非英语的民族成为软件工程强国带来了机会。

2.6 软件工程第二路径的形式化方法何以可能?

这个问题提出,在笔者来说其实已经有十年以上的历程了。为什么现在才相当明确而将有可能大张旗鼓地推广普及呢?

这说来话长,因为,笔者最初仅仅是为了实现语言和知识的计量而考虑该问题的。其通信实现的原理和策略及目的非常明确,即:像数字电报那样实现远程高效的传输、存储和处理日常语言及其表达的知识。

众所周知,汉语或中文(英文都是Chinese)与英语或英文(英文也都是English)之间在基本字符的形式和数量上均有着显著的区别,例如,汉语的单音节字和汉字的基本笔画以及像英文那样的拼音字母,都是非常有限的,可且易枚举的,仅有单一元素的集合(简称:单一集合),逐个元素组合(简称:元组)而逐级建构所构成的分层集合,每一个进阶层式也都是相当有限的,可且易枚举的,分层子集。

人们说话或写作所使用的词语,就是这些子集中的元素和元组。它们的形式是可计算的,尽管其用法、含义和(在上下文中体现出来的)用意以及语体色彩或语气语态等,都是因人、因时、因地而异的。

因此,笔者就采用了图14那样的基本分类来处理众口难调的自然语言,即:把它区分为“物、意、文”,和支配它们的“物之理、意之义、文之法”。这是基于字的思维,与基于词的思维之间存在差异。相比之下,后者所说的“物理、意义、文法”更为粗放。而这在十多年前,并没有合适的理论来区分这两种思维。于是,笔者的想法也就几乎难以和其他人交流。直到十一年前笔者有幸接触到了徐通锵教授的汉语“字本位”理论并随之深入研究多年之后,才发现原来不仅是古代汉语是基于字的思维,而且,现代汉语在根上也是基于字的思维,仅因为后来引进了西方语言基于词的思维之后,才表现出了同时基于字和基于词的两种思维——遗憾的是两种方式是冲突的。

尽管语言内容已经发生了翻天覆地的变化,但是语言形式却并没有根本改变。无论是母语者,还是二语者或外语者,在学汉语和说汉语的过程中,都还是要一个字、一个字地学和说。就是计算机处理也不例外。英语却不是这样。学界把汉语说成是单音节的(这很准确),把英语说成是多音节的(并不准确,因为,在笔者看来,英语其实是混音节的),笔者就由此深入,找出了汉英双语彼此在基本结构单位上的形式区别性特征,即:单音节的字即言;双音节和多音节的辞即语;混音节的词兼有言和语双重属性。于是,笔者也就有了机会在西方人(索绪尔)区分语言和言语的基础之上向前推进一步的机会,即:进一步区分了:言和语。这样做,至少可带来如下几个好处:

其一,明确了基本研究对象和派生研究对象及其相互关系。这将使得研究对象一直不明确的语言学由此转向具有明确研究对象的语言科学。因此,它对普通语言学基础理论研究有意义。

其二,找到了汉语的言即单音节字和语即双音节及多音节辞及兼有言和语双重属性的混音节词这样三组基本结构类型。这不仅对汉语而且对英语在其基础理论、教学应用和计算机的信息处理以及辅助教学和研究等多个领域,都具有导向作用。

其三,发现了言和语的通用性,即:适用于任何语言类型。从而对自然语言、计算语言、编程语言、形式语言、机器语言的基础理论研究和实际教学应用均具有简化的作用及统一抽象描述的理论意义。

这不仅是语言学走向语言科学的关键一步,而且,也可为信息学(普通信息学)、教育学(高等教育学)、软件学(或软件工程学)提供典型示例和分析工具。因为,这些交叉研究领域都存在共同的问题,如:研究对象不明确、研究领域界限模糊、缺乏:独特的方法体系和自洽的概念体系。

举例来说,由于汉语的言或中文的字,同时都具有对象的特征,这是其他语言少有的特征。尤其是它基于言而可逐级地构造语的科学机理被发现之后,与之具有共性的一系列其他类的狭义和广义的语言,均符合这个科学机理,因此,也均可做同样的或相似的重构或重组,这就等于在以往第一路径惯用的归纳方法或采集方式的办法之外,又开辟了另一条路径即基于演绎方法或生成方式的办法。有了第二路径,进而,也就有了双重路径。这样,实际上也就有了三条路径,即:两单一双。

只要把采集与生成的言和语,加以比对并转换,就可得到很理想的言和语的洁净数据中心。这是当前仅仅依靠第一路径而采集来的污染严重的数据中心所无法比的。读者如果明白:先污染后治理的生态环境现状,就能明白当前国际互联网冗杂并存或污染严重的数据中心的数据挖掘的困难。进而,也就能理解洁净数据中心和无污染生态环境具有的重要意义。

基于汉语或中文的言和语的洁净数据中心,在《软件》2011年第6期专家论坛第一篇文章即“协同智能计算系统——理论模型及其应用”的图2和图8中有很好的示例。字和字组,在一系列双列表这样实实在在的汉语数据库(样品、产品和商品三位一体正是软件的一个基本特征)中,其演绎和归纳,比对和转换,都是相当容易实现的。我们之所以用它做进一步描述与之配套的协同智能计算系统工程的示意图(且十年不做任何改动),就是因为该数据库足以说明协同智能计算原理而无需再用更复杂的描述。

结合实例可知,汉语形式化有“第一路径”和“第二路径”两个并行不悖的处理方式,其中,前者又可采用多种表示方法,如基于乔姆斯基的句法结构(S=NP+VP)即形式化句法树表示及其各种等价的方法,再如基于张学文《组成论》的广义集合、《个体通论》的群体,以及个体数和标志值及其分布函数所做的“双行表”就是:

一字组:A ={∑ni xi}

二字组:B ={∑ni xi}

三字组:C ={∑ni xi}

四字组:D= {∑ni xi}

......

这样逐级组成的,所以,可以直接使用《组成论》的公式[45]及其变体来具体赋值。其中,任何一个字和字组都对应于序位矩阵中的某个序位坐标(m,n),在此,m是字和字组的数目,n是字和字组在第m个双列表中的行号,在仅需计算个体数的情况下满足∑amnxn = bm

只要转化为“双列表”,即可由直接形式化方式而迅速地转换为间接形式化方式,从而,由直接计算转变为间接计算。

例1:第一路径的所谓直接形式化描述。

图19 使用《组成论》公式及其变体的赋值示例

由图19可见,各级字组的关系均可形式化,不仅均可采用统一符号描述,而且,仅从任意举例的示例也可看出其组合变换的相互关系。由于其进阶均为纯文本格式,因此,字与字组的关系很清楚。任何时候直接形式化的ASCII符号都可以替代汉语,但这还是第一路径的做法;下面才是第二路径的做法。

机器只需要识别双列表中左列表的id数字在数字矩阵中的序位;用户即人也仅需要选用双列表中右列表的ge中字在文字矩阵中的序位。当然,这是笔者假设人脑也这样枚举和搜索。其实用户即人只是按习惯有针对性地选择或重用或复用而已。

可这样来看,∑a m n x n = b m主要用于记录一系列的左列表∑{id}数字;A = {∑ni xi }主要用于记录一系列的右列表∑{ge}文字。左右的m个列表及其n行数据,构成的对称矩阵,就是【∑{id}数字】与【∑{ge}文字】这样的广义的双语测序定位的统一参照系。也就是说,【∑{id}数字】与【∑{ge}文字】分别是虚拟的【(标准)砝码】与【(非标)物品】的并列关系,两者本来不搭界——各是各的,但是如果仅以虚拟的重量来量,那么,两者之间就有可比性了。

图20 对称矩阵和双语处理的虚拟大剧院序位原理[46]

由图20可见,分层集合以二进制数为例的序位关系与矩阵格中以2的n次方发散或以2的n次方之一收敛的序位关系是完全一致的。它们彼此的一一对应关系就相当于大剧院座位的实际序位与该场演出卖出的票上的序位之间的一一对应关系。这就是【∑{id}数字】与【∑{ge}文字】之间的一一对应关系。结合前面的图12,对这种一一对应关系,就可以看得更明白。

这样考虑可能更好,bm就是m个列表,计算机电脑用它存取【∑{id}数字】,即:Zi和ZiZu的∑{id}矩阵;自然人大脑用它存取【∑{ge}文字】,即:字和字组的∑{ge}矩阵。如果读者理解透了,就可以编写智能文本的通讯协议软件。只要测试一下,即可知道:它用于文本通信的效率究竟可提高多少?这是个很好的验证示例程序,可操作。

A=A1+A2+...可表达(单纯的)类和例的关系;

{∑ni xi}={n1x1}+{n2x2}+...(增加了)整体与局部的关系。

就笔者十年前做的言和语的关系数据库来看,每个字都有顺序,即《现代汉语词典》里所有汉字的拼音排序(正反均有)。

如果做基于汉语或中文的各种应用系统,那么就要用这样的实际数据库才能对各级字组进行测序定位。其枚举和搜索的过程,既准确又高效。无论是用于教学还是用于研究甚至用于查询服务都相当实用。在此,言,即(单音节)字,就是汉语或中文(英文为Chinese)最基本的研究对象。它只有一个类,即(单音节)字,这个类。语,即(双音节和多音节)字组。这是汉语或中文(英文为Chinese)所派生的研究对象,有系列次类,即(双音节)字组(这个居于枢纽地位十分重要的次类)与其之后的一系列(多音节)字组,均可采用张学文广义集合或群体、个体、个体数、标志、标志值、分布函数、复杂程度和最复杂原理的相关理论来做类似于第一路径的描述或转述。这是人向机靠拢的策略。还可采用基于母语(这里就是汉语或中文)的言(单音节字)以及基于算术的数字(十进制数)所构成的对称矩阵和(广义)双语处理的方式来操作。这不仅是机向人靠拢的策略,而且,更是人机协同互动的策略。

如仅以汉英双语(与前面的数学和语文的广义双语不同,可称之为狭义双语)对比为例,必须强调汉语的言即单音节字,语即双音节以及多音节的字组。英语的词即混音节,因此兼有言和语双重属性。换一句话说,英语只能区分语言和言语,而不能进一步区分言和语。已验证,无论是自然语言,还是形式语言,均已找到可区分言和语的形式化依据。由此可见,汉语在结构形式上具有独特优势,即:汉语的言和语,均有明显的形式区分标记。

图21 中外语言学的百年探索[47]

由图21可见,中外语言学百年探索各自关注的重心或焦点是不同的。汉语理论研究转了一圈给人感觉似乎又回到了字;西方语言理论研究则从结构、功能、认知多个角度展开来了。我们的言本位就是在前人的基础上进一步提炼和抽象的结果。

3 结 论

本文在软件工程学科何以独特这个语境下给出了软件工程形式化方法第二路径及其重要性的清晰论证。

本研究目的主要在于探寻一条既等价又兼容于上述“千军万马过独木桥”的软件工程第一路径的另类新技术路线,即:双语处理的技术路线,这好比是“相当宽的光纤通道”的情形,可称之为软件工程第二路径。

汉语的言和中文的字,具有独特的结构乃至对象化的特征,因此,对字与字组的关系及其间接数字化处理大门一旦打开,也就意味着:整个八大形式体系,即:字、式、图、表、音、像、立体、活体,均可做相同性质的间接形式化和间接计算。

从第一路径看它意想不到但从第二路径看却在情理之中。这一创新过程充分体现了大学的理念和主要功能,浓缩了中外双方语言科学探索的百年历程的几次重大转折或几个里程碑。这个看似简单发现其实是一个大跨度的多学科交叉研究成果。

软件产业关注软件产品和软件工程服务的质量如何提高,软件工程理论关注软件产品和软件工程服务的质量如何提高的形式化方法和自动化水平以及软件系统工程乃至软件行为等。从理论上看,软件工程形式化方法的改进或优化是一项根本性的战略任务。它对软件工程学科何以独特以及软件产业的未来走向尤其是软件系统工程的优化均具有引领作用和指导意义。

纵观软件工程学科何以独特涉及的三次跃迁:软件产品的“三品合一”、软件工程服务的“三类结合”、软件工程学科的“三智融合”,无不涉及其理论根基:软件工程形式化路径。

图22 借助融智学三类九阶模型总结三次跃迁的特点[48]

由图22可见,软件产品的“三品合一”(一)、软件工程服务的“三类结合”(二)以及软件工程学科的“三智融合”(三)。其中,尤其是(二)几乎可涵盖“意念、文本、物品”三类九阶的各方面。这充分体现了软件服务工程的全局视野。

图23 双重路径体现的“第三智”可汇集三次跃迁的成果[49]

由图23可见,自然人、计算机、“第三智”的关系在软件工程学科的三次跃迁和形式化双重路径中得以凸显。

结合图1至图7,可让读者一下子从整体上看到软件工程理论描述清晰将会怎样地有利于指导软件产品及其工程(技术和管理)服务。

软件也可有广义和狭义之分,前者偏向自然人用户,后者偏向计算机系统,广义双语把双方按照“16字方针”融通融合。

为加深读者印象,同时也为了指出笔者今后的推广重点,最后提供几个典型示例以供大家参考。

例1:偏向计算机系统的软件产品,就是典型的具有样品、产品、商品“三品合一”特征的各种可用的实实在在的软件。

例2:偏向自然人用户的软件服务,最典型的就是云计算中软件即服务(Software-as-a-Service,其缩写为SaaS)、平台即服务(Platform-as-a-Service,其缩写为PaaS)、基础设施即服务(Infrastructure as a Service,其缩写为IaaS)的软件服务工程的内容。

例3:在大学的教育和管理尤其是学科知识本体广义双语理解与表达一体化软件系统工程中如何按照“16字方针”融通融合人机双智而升华出“第三智”的过程。这里至少可有这么几个具体实施例:

其一,就是以高级人才培养与高深知识处理为研究对象的高校教管学如何下辖高校教育学即高等教育学与高校管理学即高等教育管理学的理论建构[50]及支撑性学科术语本体知识库。它受“∀A=∃E&M”这个基本关系式制约。其中,∀是全称量词而∃是存在量词;A,E和M分别是活动、教育和管理三个词的英文缩写。与其配套的“教、管、学”活动,已总结出“自主、互动、积累”良性循环的基本活动操作方式,并已在大学英语课堂内接受了两个学期三个本科理工科教学班的四级综合英语课程的“教、管、学”实践检验并取得了一系列具体成效[51]。

图24 汉英双语思维与教、学、练、用基本导向指南[52]

由图24可见,汉语的字法与章法和英语的词法与句法不仅各具特色而且可以互为补充。从下到上(1)和从上到下(2)双向推进的学用策略,不仅可引导师生区分汉英两种语言形式的发音和书写特点,而且,更能促进基于汉英两种语言及文化背景中各具特色的思维训练。这种以简驾繁的导图不仅是一种理论概括,而且还是一种知道应用实践的导向蓝图。它可让人始终做到胸中有全局、手中有典型。尤其是在结合我们所倡导的每个人力争做到“一字之师”或“一词之师”、“一句之师”、“一段之师”和“一篇之师”的学用训练法一起操作的情况下,其效果相当显著。与之配套,我们还引入了三个基本要点:

a.发挥人的作用(如:一对一、一对多、多对多几种教学组织形式如何更好的有机结合,充分发挥全班师生各自的潜能)

b.在导入计算机辅助教学软件的同时也注重介绍好的教育理念和管理思想以及一些行之有效的好方法(如:PDCA法,全面质量管理原本是戴明所总结的一套应用于企业生产管理的很好方法,我们把它介绍给这三个班的师生,加上我们提出的2的n次方逐级递增的班组合作型学习互动训练方式,含有效)

c.利用好计算机或其它辅助器具(如:mp3和电子词典,同时还引入了双列表帮助各位同学找出各自在学习记忆或使用单词和例句上的重点、难点和盲点,并及时变成机器可重用的资源即数据或教学训练小工具即软件,通过人文课程的内容与理工设施设备把人文教育与理工教育有机结合,开启师生智慧)

这较好体现了创造性合作型生产式教、管、学、用的融智理念。

其二,则是以言和语为研究对象的广义普通语言学分别以机器语言和汉语或中文(英文皆为Chinese)为例完成的实例。

其三,就是分别以本真信息(本质)与广义文本(现象)作为研究对象的本真信息学和广义文本信息学的基本理论架构及其术语知识本体数据库。其中,可分别以自然人的情报信息、计算机的数据信息、单语或双语乃至多语的文献信息这样清晰的术语划分的方式,来强调内容信息、形式信息和两者兼有的传统或常规理解的书刊信息。由此说明自然人、计算机和广义双语者(无论是人还是机或是两者的结合体)均可各有侧重。

其四,是分别以软件(产品)、软件工程(服务)、软件工程学科(知识体系)三次跨越或跃迁的成果及其融通融合为关注焦点,结合软件工程学科新方法论或方法体系或另类思维,尝试学科基本概念体系和基础方法论体系的建构。

图25 软件工程学科基本概念体系[53]

由图25可见,在软件产品方面引入了基于知识本体(类)的形式化表达,结合图11的双重路径和图18的概念体系可知其特点和用意;在软件服务方面,尤其是在技术和管理之上又引入了“教、管、学”从而突出了大学在软件工程学科的理论建设和软件工程实践之间联系或纽带。这比单纯依靠软件企业与软件学院之间“两张皮”的各类联系完全不同。这两步棋,不是简单的文字游戏,而是有坚实的方法论创新和理念创新的双重支撑的。它为明确软件工程学科的理论研究和应用研究及实际应用之间的合理分工和高度协作指明了方向。

图26 在两个参照系之间明确各就各位与各得其所的方法论[54]

由图26可见,在克莱尼星号描述的形式化的杂多集合外,另一边是《软件》2011年第5期“间接计算模型与间接形式化方法”图2所描述的理想分类集的三个次类,即:单一集合、分层集合和标志集合。其上下对应各种基本的方法论或参照系。尤其是其下端所明确的四类最基本的方法论或参照系,由于均可以世界上最简单而无歧义的二进制数做直接的形式化表达,因此,它们是可以且容易通用的。这对经历三次跨越或跃迁的软件工程学科将具有根本性的作用和意义。因为,这是比各种在瀑布发基础之上而发展起来的软件工程方法论更为根本。

致 谢

感谢教育部示范性软件学院管理办公室及其所在北京交通大学软件学院(因其两次特邀笔者作了关于软件工程另类思维的专题报告并给予了很好的建议)!同时还要特别感谢教育部27所示范性软件学院出席2011年10月23日在北京九华山庄贵宾楼9号多功能厅院长联席会议的院长和书记们(因其耐心听取了笔者关于软件工程学科建设另类思维即“软件工程学科何以独特——形式化方法的双重路径”的报告)!最后,还要特别感谢北京大学教授何新贵院士和中国工程院常务副院长、浙江大学教授潘云鹤院士(因其均鼓励笔者关于软件工程另类思维的科技创新并耐心听取了笔者汇报且给予了很好的建议)!另外,还要特别感谢耐心听我讲解第二路径的朋友和学生们!

参考文献 (References)

[1] J. Barrie Thompson, Karl Reed.Undergraduate Software Engineering Education: The Mark of a Discipline [J]. IEEE Software, vol. 22, no. 6, pp. 96-97, Nov./Dec. 2005

[2] Wiki [EB/OL].en.wikipedia.org/wiki/Computer_software;

[3] IEEE Standard Computer Dictionary, 610, 1990; Shari Lawrence Pfleeger, Software Engineering: the Production of Quality Software, 2nd Edition, Macmillan, 1991; Stephen R. Schach, Software Engineering, 2nd Edition, Richard D.Irwin,Inc. and Aksen Associates, 1993; Ian Sommerville, Software Engineering, 5th edition, Addison-Wesley,1996; Bauer. Friedrich Ludwig Bauer suggested the term 'Software Engineering' as a way to conceive of both the problem and the solution in 1967 and proposed the definition of Software Engineering: Establishment and use of sound engineering principles to obtain economically software that is reliable and works on real machines efficiently[EB/OL].

http://en.wikipedia.org/wiki/Friedrich_L._Bauer Software Engineering: Report on a Conference sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968, P. Naur and B. Randell, eds., Scientific Affairs Division, NATO, 1969. [EB/OL].

[4] 刘强,等.高等学校计算机科学与技术专业“软件工程”课程教学实施方案[M].高等学校计算机科学与技术专业核心课程教学实施方案.高等教育出版社2009-07-15, ISBN:978-7-04-027812-0,

[5] 余兴超.计算机科学与新兴的交叉学科[J].2009.11

[6] 国务院学位委员会 教育部.学位授予和人才培养学科目录(2011年).二〇一一年三月八日(软件工程增设为一级学科;软件工程一级学科及其下属二级学科的界定)[EB/OL].

[7] 人机对话的发展阶段. [EB/OL].

[8] American Standard Code for Information Interchange.1963

[9] History of Programming Language Conference (HOPL).2007

[10] Geneculture.XMind Ltd. [EB/OL]. 2011

[11] Geneculture.XMind Ltd. [EB/OL]. 2011

[12] 教育部高等学校计算机科学与技术教学指导委员会.高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)[M].北京:高等教育出版社,2006

[13] ZOU Shunpeng, ZOU Xiaohui, LIU Zhifang. The Overlapping Model of Education and Management[C]. Advances in Artificial Intelligence (4), ISSN 2160-147X,2011

Geneculture.XMind Ltd. [EB/OL]. 2011

[14] Geneculture.XMind Ltd. [EB/OL]. 2011

[15] Stephen Baker. Google and the Wisdom of Clouds. Businesswee, December 13, 2007.

[16] Michael Jaekel and Achim Luhn. Cloud computing -- business models, value creation dynamics and advantages for customers. Siemens Whitepaper, 2009.

[17] Michael Armbrust, Armando Fox, Rean Grith, Anthony D. Joseph, Randy H. Katz, Andrew Konwinski, Gunho Lee, David A. Patterson, Ariel Rabkin, Ion Stoica, and Matei Zaharia. Above the clouds: A berkeley view of cloud computing. Technical Report UCB / EECS - 2009 - 28, EECS Department, University of California, Berkeley, Feb 2009.

[18] Barroso, L. A., and Holzle, U. The Case for Energy-Proportional Computing. IEEE Computer 40, 12 (December 2007).

[19] Peter Mell and Timothy Grance.The NIST Definition of Cloud Computing. Recommendations of the 220 NationalInstitute of Standards and Technology. January 2011.

[20] Geneculture.XMind Ltd. [EB/OL]. 2011

[21] Sergey Brin and Lawrence Page. The Anatomy of a Large-Scale Hypertextual Web Search Engine. Seventh International World-Wide Web Conference (WWW 1998), April 14-18, 1998, Brisbane, Australia.

[22] Jeffrey Dean and Sanjay Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. OSDI'04: Sixth Symposium on Operating System Design and Implementation,San Francisco, CA, December, 2004.

[23] Dhruba Borthakur. The Hadoop Distributed File System:Architecture and Design. The Apache Software Foundation, 2007.

[24] Google Research Publication: MapReduce. [EB/OL].2004

[25] A. M. Turing.On Computable Numbers, with an application to the Entscheidungsproblem, Proceedings of the London Mathematical Society.Second Series, 42, 230-265, 1936.

[26] A. M. Turing.Computing Machinery and Intelligence. Mind 49: 433-460, 1950.

[27] Wikipedia, [EB/OL].modified [2000-08-02].

[28] Wikipedia, [EB/OL].modified [2011-10-24]

[29] Geneculture.XMind Ltd. [EB/OL]. 2011

[30] Geneculture.XMind Ltd. [EB/OL]. 2011

[32] Geneculture.XMind Ltd. [EB/OL]. 2011

[33] Geneculture.XMind Ltd. [EB/OL]. 2011

[34] ZOU Xiaohui.Fundamental Research of Informatics[M].Collected by MA Ainai, MIAO Dongsheng, JIANG Lu,YAN Xueshan. Information Science: Interdisciplinary Research.Zhe Jiang Education Publisher, 2007.

邹晓辉.融智学原创文集,p168 [EB/OL].2008.

[35] 邹晓辉, 邹顺鹏.间接计算模型与间接形式化方法[J]. 软件2011,32 (5):p1-6

[36] 邹晓辉, 邹顺鹏.协同智能计算系统——理论模型及其应用[J]. 软件2011,32 (6):p1-8

[37] Geneculture.XMind Ltd. [EB/OL]. 2011

[38] Geneculture.XMind Ltd. [EB/OL]. 2011

[39] Geneculture.XMind Ltd. [EB/OL]. 2011

[40] Geneculture.XMind Ltd. [EB/OL]. 2011

[41] Geneculture.XMind Ltd. [EB/OL]. 2011

[42] Geneculture.XMind Ltd. [EB/OL]. 2011

[43] Geneculture.XMind Ltd. [EB/OL]. 2011

[44] 教育部高等学校计算机科学与技术教学指导委员会.高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)[M].北京:高等教育出版社,2006

[45] ZHANG Xuewen. The Constitution Theory. ChineseUniversity of Science and Technology Press. 2003.12

[46] Geneculture.XMind Ltd. [EB/OL]. 2011

[47] Geneculture.XMind Ltd. [EB/OL]. 2011

[48] Geneculture.XMind Ltd. [EB/OL]. 2011

[49] Geneculture.XMind Ltd. [EB/OL]. 2011

[50] Geneculture.XMind Ltd. [EB/OL]. 2011高等教育及本体软件开发实例

[51] 邹顺鹏,邹晓辉. “教、管、学”的分层次多模式探新——“自主、互动、积累”良性循环[C].北京市大学英语研究会年会论文集,2011

[52] Geneculture.XMind Ltd. [EB/OL]. 2011双语教学及协同软件开发实例

[53] Geneculture.XMind Ltd. [EB/OL]. 2011软件工程学科知识本体软件

[54] Geneculture.XMind Ltd. [EB/OL]. 2011软件工程学科方法论软件实例

  • 18
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

geneculture

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值