APP下载

软件技术发展趋势研究

2010-03-20朱仲英虞慧群王景寅尤晋元高毓乾

微型电脑应用 2010年9期
关键词:软件技术软件融合

朱仲英,虞慧群,王景寅,尤晋元,高毓乾

0 引言

计算机软件是计算机系统执行某项任务所需的程序、数据及文档的集合,它是计算机系统的灵魂。从功能上看,计算机软件可以分为系统软件、支撑软件和应用软件,系统软件和支撑软件也称为基础软件。它是具有公共服务平台或应用开发平台功能的软件系统。计算机软件的目的是为用户提供符合应用需求的计算服务。因此,应用需求和硬件技术发展是推动软件技术发展的动力。

软件技术是信息技术产业的核心之一,软件技术的发展是与信息技术产业的发展互相促进的。当今世界,信息技术正处于新一轮重大技术突破的前夜[1]。预计今后20~30年是信息科学技术的变革突破期,可能导致21世纪下半叶一场新的信息技术革命[2]。近年来,从 IT界到一些国家首脑,都高度关注以物联网为标志的新一轮信息技术的发展态势,认为这是继20世纪80年代PC机、90年代互联网、移动通信网之后,将引发IT业突破性发展的第三次IT产业化浪潮。每一次重大的技术变革都会引起企业间、产业间甚至国家间竞争格局的重大变化,也促进了软件技术与软件产业的重大变革与发展。

2008年的国际金融危机,引发了各国抢占科技制高点的新技术革命,全球将进入空前创新密集和产业振兴的时代。软件因其具有知识密集、低能耗、无污染、高成长性、高附加值、高带动性、应用广泛与市场广阔的特点,而成为知识生产型、先导性、战略性的新兴产业,成为信息技术产业的核心和国民经济新的增长点,也成为世界各国竞争的焦点之一。

随着应用需求的日益增长、信息技术的迅速发展和计算机硬件环境的升级换代,信息化应用更为广泛深入,计算机网络技术,特别是互联网(Internet)及其应用的快速发展,使软件所面临的运行环境,从静态、封闭逐步走向动态、开放。为此,系统软件和支撑平台,朝着基于Internet网络、基于构件的分布计算、基于网络环境的需求工程和新型中间件平台的方向转型与发展。网络操作系统、JAVA语言、中间件等的出现与发展就是明证。

现在,信息化应用环境正经历着新的变化:“云计算”、“无线网”、“传感网”、“物联网”、“泛在网”、“智慧地球”等的出现与发展,必然导致软件技术为适应这种新变化,而发生巨大的变革与发展;同时,信息技术和人工智能技术的发展与融合,促使数据处理、信息处理向知识处理的阶段转型与发展,由此将催生新的软件技术与软件产业,这是值得密切关注的信息技术和软件技术发展的新趋势。

1 关于信息技术和软件技术发展趋势的分析与判断

近年来,信息技术、软件技术、软件系统与软件产业的发展备受关注,已有不少论述、分析与判断,其中较重要的有:

2008年10月,江泽民在“上海交通大学学报”撰文“新时期我国信息技术产业的发展”提出:“20世纪90年代以来,信息技术继续朝着数字化、集成化、智能化、网络化方向前进”。“软件系统加快向网络化、智能化和高可信的阶段迈进”[1]。

2008年10月,工业和信息化部颁布的《软件产业“十一五”专项规划》分析软件技术发展趋势时指出:“我国信息化的不断推进和网络的广泛普及,对软件技术和产品提出了更多需求。软件技术正朝着网络化、可信化、服务化、工程化和体系化方向发展,软件技术的不断创新和广泛应用,将促进和带动软件和软件服务的发展”[3]。

2009年6月,国家工业和信息化部部长李毅中在“第十三届中国国际软件博览会”演讲中再次提出:“当前,软件系统加快向网络化、智能化和高可信的阶段迈进,软件即服务是重要的发展方向”[4]。

2009年9月,中国科学院信息领域战略研究专家组认为,21世纪信息科学技术发展呈现出开放化、融合化、泛在化的新特点和新的发展趋势;近10年内网络技术经历宽带化、移动化和三网融合将走向基于Ipv6的下一代互联网,2020年以后,世界各国将共同构建 IP后(post-IP)的新网络体系。即构建“惠及全民、以用户为中心、无处不在的信息网络体系(Universal,Useroriented,Ubiquitous Information Netwok Systems,U-INS)”[2]。

2010年1月,国家863计划信息技术领域办公室和国家 863计划信息技术领域专家组,在上海举办“信息-物理融合系统CPS(Cyber-Physical System)发展战略论坛”,提出“信息-物理融合系统CPS是一个综合计算、网络和物理环境的多维复杂系统,是信息和物理世界的深度的融合交互,可实现大型工程系统的实时感知、动态控制和信息服务,使系统更加可靠、高效与实时协同,使得人类物理现实和虚拟逻辑逐步融合,具有重要而广泛的应用前景[5] [6]。

此外,综合近年来美国网络和信息技术国家协调办公室、美国自然科学基金委、Gartner等国际IT权威机构发布的信息显示,当前国际上关注的IT前沿技术与需优先攻克的关键技术有10个方面[7]:

(1)大规模网络体系:传感器网和互联网的高效融合;

(2)高端计算(虚拟计算、网格计算、云计算、泛在计算):资源聚合的有效性和可靠性检验;

(3)系统芯片(集成芯片):从片上系统(System on Chip)转向按需芯片(Chip on Demand);

(4)软件工程:基于网络环境的需求工程;

(5)知识处理(海量数据库和数据挖掘):挖掘从信息到知识到决策的元知识;

(6)高效系统:在高性能计算系统中特别关注高效能;

(7)高可靠软件和系统;

(8)移动和无线通信;

(9)开放源码;

(10)面向服务的体系结构(SOA)。

在这10个方面中,几乎都是与软件技术直接或间接相关的,由此,足见软件技术的重要程度。

根据以上论述、分析或对发展趋势的判断,结合我们对软件技术在信息技术产业、软件产业和信息化应用方面的作用和地位的理解,并考虑到软件技术自身的特点,我们认为:未来一段时期,软件技术发展的主要趋势可以概括为:网络化、融合化、可信化、智能化、工程化、服务化[8] [9]。并且呈现出新特点和新内涵。以下分别就网络化、融合化、可信化、智能化、工程化、服务化的新特点和新内涵逐一加以诠释。

2 软件技术发展趋势及其新特点与新内涵

2.1 网络化

随着信息网络技术的不断进步和运行环境的多样性,在软件发展过程中,开放化、分布化、虚拟化、无线化、互联化、物联化与泛在化等都是其网络化的不同表现形态,,使网络化的内涵更加丰富多彩。网络化引发了“以机器为中心”向“以网络为中心”的重大变革,并将改变应用与技术模式。软件技术也面临“以网络为中心”的变革,新一代软件将基本以网络为中心来实现各种复杂的分布式应用[3]。软件技术网络化走向开放化主要表现在标准化、源代码开放与互连互通3个方面。软件中的核心—系统软件由16位、32位虚拟地址向64位虚拟地址过渡,向满足互联网接入方面发展;开放式操作系统Linux成为互联网新的生力军,它有3大优势:代码开放、分布式开发环境和适应各种平台,并且是首先执行TCP/IP协议的操作系统之一[9]。

网络作为基础,在网络上运行的是各种分布计算,如普适计算(Pervasive Computing)、网格计算(Grid Computing)、服务计算(Services Computing)、云计算(Cloud Computing)等,它们都是分布式计算技术的具体应用和发展。作为第三代计算模式代表的普适计算是当前计算技术的研究热点,在普适环境下人们能够使用任何设备,通过任意网络、在任意时间都可以获得一定质量的网络服务[10];普适计算可以看成是从人机交互的角度来探讨未来网络系统的应用模式;同样地,云计算作为一种新兴的计算模式,是并行计算、分布计算和网格计算的发展,是计算能力通过互联网的聚合和共享,是分布计算技术的高层次应用模式,可以把网络中的各种资源虚拟成一台计算机,向用户提供所需的计算资源;云计算平台作为一种实现海量计算动态分配的新技术平台,将构成未来数据中心大规模应用的基础,是中间件技术发展的重要趋势,是实现物联网中高效、动态、海量计算的基石之一[11] [12];云计算可以看成是从资源共享与管理的角度探讨未来网络系统的应用与构造模式。

网络软件的发展趋势是在网络体系结构的基础上,建造网络应用的支撑平台,为网络用户和应用系统提供良好的运行环境和开发环境。网络中各种软件技术将相互融合、相互促进,软件的基本模型越来越符合人类的思维模式。在计算机网络软件方面,未来主要的研究方向有:全网界面一致的网络操作系统,不同类型计算机网络的互连(包括远程网与远程网、远程网与局域网、局域网与局域网),网络协议标准化及其实现,协议工程(协议形式描述、一致性测试、自动生成等),网络应用体系结构和网络应用支撑技术研究等[13]。

以传感网与物联网为标志的第三波全球IT产业化浪潮的来临,将催生大量传感网与物联网系统中的软件(包括感知层、传输层与应用层)、各类网络的接入与互连(包括传感与移动通信网,移动通信网与互联网、物联网与互联网)、中间件以及数据挖掘与分析软件;软件和中间件是物联网的灵魂[11]。需要集中攻克制约物联网软件发展的各种因素:计算与物理的差异性,程序的时空特性、系统的不确定性、物联网领域语言与高可信软件验证等[14]。

2.2 融合化

2000年之后,信息技术进入“后 PC”(Post-Personal Computer)时代。随着信息技术的迅猛发展,使满足用户对一体化、集成化的产品或解决方案的需求成为可能,嵌入式系统、集成创新、一体化平台等都是软件技术趋于“融合”的表现形式:

(1)终端产品的功能“融合”,“智能化产品”前景广阔。

随着数字模拟融合、微机电融合、硬软件设计融合的趋势,具有性能高、成本低和体积小等特点的新一代系统级芯片(System on chip,SOC)成为IT发展方向;最典型的就是个人计算机、通信、消费电子与内容的功能融合,即 4C(Computer Communication Cosumer Content)技术融合,形成“智能化产品”或“数字家庭产品”。研发符合开放标准的软硬结合,软件固化的嵌入式基础软件和嵌入式应用软件,使嵌入式技术广泛地应用于各行各业,将成为后PC时代IT领域发展的重要趋势;10年后无所不在的传感器网络,将进一步推动RFID与移动通信、传感技术、生物识别等技术的融合;嵌入式技术与互联网技术的“深度”融合,嵌入式产品将成为互联网的主要终端之一,嵌入式基础软件将成为互联网接入设备的基础。

(2) 操作系统、数据库和中间件逐步融合的体系化趋势促使软件平台向一体化方向发展,软件平台体系竞争趋势凸显。

在网络运行环境下,软件运行平台需要连接并管理网络上数量众多的异构、自治的硬件资源和软件资源,包括主机、操作系统、数据库和应用等。在这种需求的驱动之下,软件中间件便成为网络环境下的软件运行平台。随着网络环境的快速发展,原有各种不同功用的中间件,如数据访问中间件、消息中间件、分布计算中间件等,正在不断融合,呈现出一体化的趋势[15]。体系化趋势促使软件平台向一体化方向发展,操作系统、数据库和中间件一体化趋势明显,软件的竞争逐渐发展成软件平台体系竞争,软件平台体系将成为网络环境下各种应用服务的支持基础[3]。

(3) 应用层面和产业层面的融合,IT产业与传统产业的渗透融合,信息化与工业化的融合(两化融合)势在必行;“工业软件”需求旺盛。

在迈向信息社会过程中,信息技术广泛融入社会生产、社会生活,工业化与信息化逐步融合,将使人类社会的生产和生活方式发生重大变革。IT产业与相关产业融合,将催生一系列新兴的融合产业,如,物联网和智慧地球就是融合产业的典型。物联网是传感网、移动通信网与互联网的智能融合,智慧地球是物联网与互联网的智能融合。工业化与信息化的融合,是我国软件技术产业发展的必然趋势。

工业软件指的是能够使机械化、电气化、自动化的生产装备具备数字化、网络化、智能化特征的软件,它不是一般意义的软件,而是一个复杂的系统工程,其最终目标是提供一个面向产品全生命周期的网络化、协同化、开放式的产品设计和制造平台[16]。由于传统产业改造升级以及行业信息化发展步伐的加快,将对行业应用软件产生巨大的需求,为满足市场对“工业软件”的需求,大力发展工业软件,促进工业化与信息化的融合势在必行。

(4)各类异构多网融合,构建无处不在的全新网络环境—泛在网(Ubiquitous Network)是大势所趋。

“三网融合”是电信网、广播电视网、计算机网的发展方向,通过“三网融合”充分利用各种卫星、地面无线和有线的接入手段[2];传感网与互联网、信息与物理系统融合(CPS)其本质是 3C (Computation、Communication、Control)技术的有机融合与深度协作,是信息和物理世界的深度融合交互,是计算、物理和控制等多学科的交叉与融合[6] [7] [13]。传感器网、通信网、互联网和识别技术融合集成将构建未来泛在网,实现人与人、人与物、物与物之间任何时间、任何地点的通信网络。其最终目标是实现传感器网、通信网、互联网、物联网的深度融合和协同。

(5)其他IT和软件技术融合化还表现在:数据库与万维网的融合;数据库和信息检索的融合;时空数据库与传感器网络技术的融合;数据库与移动技术的结合等。

2.3 可信化

在计算模式向“以网络为中心的环境和面向服务的体系结构”发展中,软件的运行环境(包括网络环境、物理环境)不断开放和动态变化,使得软件构件在无监督下实现可信安全交互的需求日趋强烈。然而目前的理论、技术和管理储备均不足以应对开放性带来的挑战[17] [18]。例如,无线通信的广泛采用,可能会给网络中引入不良的构件;开源软件的大量引入,对传统的软件质量提出了挑战等。

一般认为,软件的“可信性”是指软件系统的动态行为及其结果能符合使用者的预期,即使在受到干扰时仍能提供连续的服务。它强调目标与现实相符,强调行为和结果的可预测性和可控制性[17] [18]。而可信软件生产技术则是以提高软件可信性为主要目的的软件生产技术。目前,与可信相关的研究正在全世界蓬勃发展。可信软件的主要内涵是安全、正确、可靠、稳定,高可信技术将大大提高软件产品的可用性、安全性和可靠性,成为网络技术应用的关键[3]。高可信软件生产工具及集成环境是基础软件的重要组成部分,既是软件技术发展的技术制高点之一,也是我国软件产业发展的关键基础,具有重要的现实意义和长远的战略意义。我国《国家中长期科学和技术发展规划纲要(2006-2020年)》中,将可信软件系统列为国民经济和社会发展重点领域之一的“现代服务业信息支撑技术及大型应用软件”优先主题的重要内容。从目前现实来看,我国可信软件产业已有了一定程度的发展,但尚处于初级探索阶段。所以,大力发展我国自有知识产权的可信软件及相关技术势在必行。

2.4 智能化

人的认知系统对信息和知识的处理、加工与利用的能力,远远超过现有的任何计算机信息处理系统。探索智力的本质,研制具有更高智能的机器和信息处理系统就成为历史的必然[2]。从计算机应用系统的角度出发,人工智能是研究如何制造智能机器或智能系统来模拟人类智能活动的能力,以延伸人类智能的科学。新一代操作系统智能化,表现为不仅能发现问题,而且具有自动修复、自动调整等能力,能够在硬件出现故障时,自动屏蔽相应的硬件设备,从而保护重要的数据[13];物联网的核心是解决通过智能化获取信息、传输信息和处理信息问题;智慧地球的核心是解决“更透彻的感知、更全面的互联互通和更深入的智能化”[8] [19] 。,即物联化、互联化和智能化,只有智能化才能加速实现“数据—信息—知识—决策—行动”的转化过程,软件智能化是软件技术发展的重要趋势。近年来,自然计算(Nature Inspired Computation)顺应当前多交叉学科不断产生和发展的趋势,其内涵与外延不断扩展,应用领域包括复杂优化问题求解、智能控制、模式识别、网络安全、硬件设计、社会经济、生态环境等方面,具有广阔的应用前景[20]。

目前软件智能化的发展趋势表现在:

(1)从低级走向高级(逻辑推理—拟人智能);

(2)从浅层走向深层(模拟行为—模拟情感);

(3)从分立走向融合(观点分立—形成共识);

(4)从软件走向知件(数据处理—知识处理,科学计算—社会计算)[10];

(5)从理论走向应用(理论研究—应用推广);

(6)从微小型走向巨大型 (单体、微型、小型—多体、大型、巨型、全球)。

综上所述,“信息一知识一智能转换理论”将成为信息时代科技的灵魂[21]。智能科学技术是现代科学最广阔、最丰富的领域。基于认知机理的智能信息处理在理论与方法上的突破,有可能带动未来信息科学与技术的突破性发展。发展新的智能科学与技术,是今后50年的重要目标[2]。

2.5 工程化

从20世纪70年代开始,“软件工程”的概念和方法逐步得到实际应用,以工程化的生产方式设计、开发软件;工程化趋势推动复用技术和构件技术发展,降低了软件开发的复杂性,提高了软件开发的效率和质量[3]。但是,传统的软件工程方法学体系,本质上是一种封闭和静态的体系,难以适应Internet开放、动态、多变的特点。为了适应这种新特点,软件系统开始呈现出一种柔性可演化、连续反应式、多目标自适应的新系统形态。从技术的角度看,在面向对象、软件构件等技术支持下的软件实体,以主体化的软件服务形式存在于Internet的各个节点之上,各个软件实体相互间,通过协同机制进行跨网络的互连、互通、协作和联络,从而形成一种与WWW相类似的软件Web(software Web),这种Internet环境下的新的软件形态称为网构软件(Internet ware)[17]。网构软件技术与方法已成为新一代软件工程化开发方法的新趋势,它是实现面向Internet的软件产业工业化与规模化生产的核心技术基础之一。

产品线(Product Line)是一个产品集合,这些产品共享一个公共的、可管理的公共特征集,这个特征集能满足选定的市场或任务领域的特定需求。这些系统遵循一个预描述的方式,在公共的核心资源基础上开发。软件产品线是一种基于架构的软件复用技术,有利于形成软件产业内部的合理分工,实现软件专业化生产[10]。

2.6 服务化

软件即服务(SaaS)已成为软件产业或软件服务发展和未来管理软件并提供服务的重要趋势。体现在运行平台上的服务融合,即通信服务、内容服务、计算服务等融合。服务化趋势使各种软件产品以服务的方式向用户提供,这将极大地改变软件应用模式和商业模式,进而影响软件产业的格局[3]。服务计算(Services Computing)的目标,是以服务作为应用开发的基本单元,能够以服务组装的方式快速、便捷和灵活地生成增值服务或应用系统,并有效地解决在分布、异构的环境中数据、应用和系统集成问题。软件服务的本质就是人们不再需要拥有软件产品本身,而是直接使用软件所提供的功能[15]。云计算就是一种基于虚拟化网络环境的新型的服务计算模式(云服务),是一种共享基础架构的方法,其核心是整合网络系统所有的计算资源、数据存储和网络服务,使各种应用系统能依据需要动态地获取各种资源和软件服务。连接网络的大量数据中心构成云端,云端既可以通过互联网向用户提供基础架构即服务(IaaS)、也可以提供平台即服务(PaaS)以及软件即服务(SaaS)。平台和软件,各种服务(XaaS)都可以从网上得到[2]。但是,在开放网络环境下,仍有一些问题亟待解决,包括快速准确的服务发现、明晰一致的服务语义、按需的服务协同、灵活的服务组装、可信的服务质量、跨域服务的安全保障等[15]。

当前,全球范围内的信息产业结构调整日趋明显,软件服务业的增速加快,我国的软件服务业面临难得的发展机遇。发展软件服务业,为其快速发展提供良好的支撑,建设软件与信息服务外包公共支撑平台,健全相应的知识产权和信息安全保护体系,大力培育服务外包国家品牌、服务外包人才和骨干企业,做大做强软件服务外包产业势在必行[3]。

3 结语

软件技术与软件产业的发展是我国工业化和信息化的关键。软件产业的发展必须以软件技术为基础,软件技术的发展必然以软件产业为动力。软件技术与软件产业发展的关键在于应用,只有以应用需求为导向,才能带动软件技术与软件产业持续地发展。本文关于软件技术发展现状与趋势的分析、研究及判断,是一个团队经过相当一段时间调查研究与学术研讨的结果,期望能对我国及上海市的软件技术与软件产业或软件服务的发展有所助益。准确地预见未来软件技术的发展趋势是一件困难的事情。鉴于所讨论的问题涉及面广,且限于我们所掌握的材料、自身认识和判断的局限性,因此,殷切期望关心软件技术发展的同仁们进行共同讨论并赐教。

[1] 江泽民.新时期我国信息技术产业的发展[J] .上海交通大学学报,2008,(10):1589-1607.

[2] 中国科学院信息领域战略研究组.中国至 2050年信息科技发展路线图[M] .科学出版社,2009-9.

[3] 工业和信息化部.软件产业“十一五”专项规划[EB/OL] .http://www.miit.gov.cn/2008-10.

[4] 李毅中."第十三届中国国际软件博览会”演讲[R] .http://www.miit.gov.cn/,2009-6-11.

[5] 国家863计划信息技术领域办公室和国家863计划信息技术领域专家组.信息-物理融合系统 CPS(Cyber-Physical System)发展战略论坛纪要[R] .2010-1-15.

[6] Sztipanovits J, Stankovic J A, Corman (Eds) D E.Industry–Academy Collaboration in Cyber Physical Systems (CPS) Research White Paper.http://www.cra.org/ccc/docs/CPS-White%20Paper-May-1 9-2009-GMU-v1.pdf, 2009.

[7] 何积丰.IT前沿技术[J] .微型电脑应用,2009,(1).

[8] 朱仲英.传感网与物联网的进展与趋势[J] .微型电脑应用,2010,(1).

[9] 严隽薇.软件产业中的技术发展趋势[J] . 微型电脑应用,2009,(12).

[10] 张凯.计算机科学技术前沿选讲[M] .清华大学出版社,2010-2.

[11] 周洪波.物联网技术、应用、标准和商业模式[M] .电子工业出版社,2010-7.

[12] 朱近之.智慧的云计算—物联网发展的基石[M] .电子工业出版社,2010-6.

[13] 虞慧群等.基础软件技术发展趋势[J] .微型电脑应用,2010,(8).

[14] 何积丰.物联网系统中的软件[C] .2010中国(无锡)国际物联网峰会暨嵌入式技术创新应用大会,2010-4-20.

[15] 梅宏等.互联网时代的软件技术:现状与趋势[J] .科学通报,2010年第55卷第13期:1214—1220.

[16] 徐建华.工业化信息化融合是必由之路[N] .中国质量报,2008-6-16第002版.

[17] 杨芙清等.网构软件技术体系:一种以体系结构为中心的途径[J] ,中国科学E辑:信息科学2008年第38卷第6期:818 – 828.

[18] 刘克等.“可信软件基础研究”重大研究计划综述.[J] ,中国科学基金第3期 2008-4.

[19] 彭明盛.智慧的地球[N] .人民日报,2009-7-24第009版.[20] 汪镭等.自然计算发展趋势研究[J] . 微型电脑应用,2010,(7)

[21] 钟义信.人工智能:进展与挑战[J] .微型电脑应用,2009,(9).

猜你喜欢

软件技术软件融合
村企党建联建融合共赢
禅宗软件
基于大数据分析的集合式EPC总承包项目管理软件技术的应用
融合菜
从创新出发,与高考数列相遇、融合
《融合》
软件对对碰
UGNX软件技术在农机从业人员技术培训中的应用
基于长三角地区需求的软件技术人才的培养
利用Java开发智能软件技术研究