欢迎您登录科学中国人官方网站!!
新浪微博|网站地图|联系我们
置身软件工程领域三十载“我心无悔”

来源:  发布时间:2017-11-03

——记云南大学数据驱动的软件工程省创新团队带头人李彤
  
本刊记者  徐芳芳

  
  
  近20年来,计算机软件已经作为现代科学研究和解决工程问题的基础以及管理部门、生产部门和服务行业中的关键因素,渗透到了各个领域,成为当今世界不可缺少的一部分。
  2001年年末,为了加快国家新型产业——软件产业的成长步伐,我国在全国高校中选拔出35所软件学院建设国家示范性软件学院,云南大学软件学院便位列其中。
  从学院建设之初到现在,李彤与其已携手走过了15个年头,作为云南大学软件学院院长,云南大学数据驱动的软件工程省创新团队带头人,李彤带领团队基于新时期物联网、云计算等新兴IT技术和服务的兴起,使软件工程遇到了新的挑战这一现状,依托国家Linux技术培训与推广中心、云南省软件工程省级重点实验室、云南省云计算省级工程研究中心,以“研究突出原创,技术追求创新,成果促进产业”为指导,在软件演化过程、业务过程、智能软件工程、软件工程开发等4个方向展开了一系列探索,取得了许多优秀研究成果。现如今,他们仍在这一领域中孜孜不倦,不断前行着
  
在计算机软件学习研究中成长
  
  1978年,中国共产党第十一届三中全会召开,正式确立“对外开放、对内搞活经济”的重要方针,中华民族走向繁荣之门就此打开。而在两年后,中国IT产业也开始萌发新气象,众多科技人员开始进行计算机软件研发,自那时起,中国的计算机软件事业进入了全新的发展时期。
  在时代的浪潮之下,1979年,高中毕业的李彤开始进入云南大学数学系计算数学专业(计算机软件方向)攻读学士学位,并在4年的学习中打下了扎实的专业基础。本科毕业后,李彤进入了云南省计划委员会电子计算站工作,在两年的工作中,凭借自己的优秀与努力,成功成长为一名助理工程师。1985年9月,为了能够在专业方面有更多的成长与进步,李彤选择继续回到云南大学计算机科学系,攻读计算数学专业(计算机软件方向)硕士学位。硕士毕业后,李彤进入了云南省经济信息中心工作,在他的不断努力下,李彤在专业方面积累了丰富的经验,创造了一系列优秀的科研成果,并于1992年10月成功荣升为云南省经济信息中心计算机工程部主任、云南省信息产业公司计算机工程部经理。
  1994年,参加工作多年的李彤,秉承着为祖国培养更多计算机软件领域人才的初衷,回到了自己的母校云南大学计算机科学系,进行教学与科研工作。2002年4月,云南大学软件学院成立,李彤开始担任云南大学软件学院主持工作的副院长。在这期间,李彤仍没有停止对于专业知识的积累与探索,并于2003年7月前往英国De Montfort大学计算机科学与工程学院攻读软件工程专业博士学位。2007年起,李彤作为云南大学软件学院院长、云南省软件工程重点实验室主任,领导着云南大学数据驱动的软件工程省创新团队以软件工程大数据为基础,在软件演化过程建模与行为验证,过程建模语言的设计与形式语义,模型一致性的证明与检验等方面不断开拓,取得了一批重要的创新成果。
  
云计算环境下软件过程验证的新突破
  
  当今社会,信息技术的爆炸式发展,导致现在的计算机发展模式已经无法很好地满足现如今这种大量的信息处理,从而造成了对于信息的处理速度低下,而正是为了解决这样一个处理匮乏的问题,云计算应运而生。在学术界,云计算成为了当前计算机领域的研究热点之一;在工业界,由于Google、Amazon、IBM、Microsoft等全球领先的 IT企业的大力推动,云计算已是大势所趋。
  云计算的出现和快速发展,一方面,使越来越多的成功软件系统变成了遗产系统,软件演化的重要性和普及性越来越强;另一方面,使软件演化的环境开始从分布式逐步走向集中式。如何在开放、动态、多变、集中的云计算环境下有效支持软件系统的演化是软件工程面临的一项重要挑战。2012年,李彤团队所申请的国家自然基金项目“软件演化过程的行为验证研究”,就是针对这一问题所展开的。
  李彤团队认为:支持软件演化的软件过程(以下简称软件演化过程)建立了软件演化的整体任务框架,是改进软件演化质量、提高演化效率、降低演化成本的重要技术,这一观点受到了学术界广泛关注和重视。与传统软件过程相比,软件演化过程具有迭代性、并行性、交错性、反馈和多层性等特征。它不仅可以支持软件开发,还可以支持软件演化。基于此认识,李彤团队在已结题的国家自然科学基金项目“软件演化过程研究”支持下,基于基本Petri网,扩展面向对象技术Hoare逻辑,提出了软件演化过程元模型EPMM(Software Evolution Process Metal-Model),以及一系列建模方法、技术和工具,有效地支持了软件演化过程的形式建模。但是,基于EPMM建模产生软件演化过程模型并不是软件过程建模的终点,在此基础上,还需要对过程模型的一致性、正确性进行检验,以确保过程模型符合软件人员的期望 、增加软件人员对过程实施的信心。因此,软件演化过程验证成为了摆在科学家面前的一个亟待解决的重要问题。
  在软件过程领域,建模和验证是两大关键活动。软件过程建模的目的是建立过程模型,通过对过程模型的认识和分析,增强对过程本身的理解,进而指导和控制实际软件开发。软件过程验证的目的是确保过程模型与用户期望的一致性,提高过程实施的有效性,以充分发挥过程模型对实际软件开发的控制和指导作用。与软件过程建模相比,有关软件过程验证的研究相对较少。现如今,软件过程验证研究大致可以从验证属性和验证方法两个方面进行总结和比较,但是在属性方面,现有的过程验证主要集中在结构和性质层面,方法以语法检验和模型检测为主,缺乏行为验证;在方法方面,现有过程验证方法可以支持结构验证和性质验证,但不能支持行为验证。
  对软件过程验证而言,结构验证和性质验证是基础,行为验证是更高层次,可以确保过程模型的行为与过程规约一致,进而提高过程模型的可靠性。鉴于目前软件过程验证缺乏行为验证的不足,李彤课题组针对EPMM建模产生的软件演化过程模型建立支持行为验证的理论基础,对Petri网和进程代数进行交叉应用,提出了基于Petri网的进程代数验证方法,支持软件演化过程模型结构、性质和行为的形式验证。不仅具有现实意义,又符合软件过程研究发展的总体趋势,为软件过程验证的进一步研究提供新方法和理论依据。
  
云计算环境下软件动态演化的新发展
  
  2014年,李彤团队又成功申请了国家自然科学基金面上项目“云计算环境下双模型驱动的面向软件动态演化的建模与分析”,在这一领域展开了新的探索。
  众所周知,云计算的飞速发展,使得软件面临的环境产生了较大的变化:从传统的相对静态、封闭、可控的环境,演变为云计算环境下更加开放、动态和多变。软件面临的环境的这种变化,一方面,造成了传统的软件理论、方法和技术在面对云计算环境下的软件时,将不得不面对一系列的困难与挑战;另一方面,新的环境为解决传统环境中难以解决的某些问题,提供了传统环境中无法提供的有力支持和新的解决思路,同时为研究新的软件理论、方法和技术提供了难得的机遇。
  为了深入地研究云计算并降低复杂性,美国国家标准与技术研究所提出了被广泛接纳的分层方法,根据所处的不同层次,按照服务类型将云计算分为3个层次:SaaS(Software as a Service,软件即服务)、PaaS(Platform as a Service,平台即服务)、IaaS(Infrastructure as a Service,基础设施即服务)。SaaS体现了“软件服务化,服务网络化”的理念,服务提供商以一对多的方式提供软件管理和维护服务,使得软件以一种新的形态服务于社会各个层次各个行业,这种新的特质也给软件演化带来了新的挑战。
  杨芙清院士指出,构造性和演化性是软件的两个基本特性。云计算环境下的软件作为传统软件的自然延伸,同样具有这两个基本特性。李彤团队所研究的这一项目所关注的重点就是软件的演化性,尤其是动态演化性。
  软件是对现实世界中问题空间与解空间的具体描述,是客观事物的一种反应。现实世界是不断演化的,软件系统面对的问题域也是不停地发展变化的,这使得用户期望软件系统能够很好地适应外界要求的变化。软件演化一般可以分为静态演化和动态演化。围绕动态演化,动态配置是动态演化实施的主要手段和活动。由于云计算环境下软件服务的“一对多”“多租户”“按需使用”“随处可用”等特性,决定了SaaS软件不能在停机状态下实施演化,否则将使大量的租户受到影响甚至是重大损失,从而也直接影响到软件提供商的利益。因此,在云计算环境下,必须尽可能以动态演化的方式,通过实施动态配置,来实现对软件错误的修正、功能的完善、性能的优化等演化需求,以降低动态演化实施的代价。同时,也只有可动态演化的软件系统,才能更好地适应开放、动态和多变的云计算环境。可见,在云计算环境下,对于软件的动态演化,其重要性和迫切性较传统的计算环境更加凸显。
  然而,即使在传统的相对静态、封闭、可控的环境下,实施动态演化也并非易事:一方面,缺乏专门针对动态演化的软件设计方法论,导致现有的待演化系统的动态演化性普遍不高,从而降低动态演化的易操作性;另一方面,支持动态演化实施的基础设施的缺失,使得动态演化实施缺乏支持,是导致动态演化不易操作的另一个重要原因。在动态演化理论方面,还面临着“行为相关性问题”及“一致性问题”这两大挑战。
  针对这些问题,李彤项目组提出了一种双模型驱动的面向软件动态演化的建模与分析方法。首先,针对云计算开放、动态和多变的新环境,提出面向动态演化的SaaS双模型建模方法:该方法从演算模型和结构模型两个视角对SaaS软件进行建模,并以行为映射为准则保证两类模型的可追踪性;其次,云计算的出现使得大量软件运行在集中的服务器上,项目将对其继续延伸——利用云服务化的各种功能开展动态演化的分析和实施,这些功能被集成到PaaS平台的服务之中,对其抽象提出面向PaaS的云演化管程机制模型;最后,基于云演化管程机制、由双模型驱动,提出解决动态演化分析和实施过程中的部件相关性分析和一致性保持两大问题,进而为保证云计算环境下软件动态演化实施的可靠性奠定基础。
  
增强队伍建设,培养软件产业人才
  
  “科学研究与团队建设、人才培养并行”,这一直都是李彤团队所践行的理念。2016年,李彤所领导的“数据驱动的软件工程创新团队”成功入选为云南省创新团队,成为了云南大学信息领域申报成功的第一个省级创新团队。同时,团队申报获准了云南省软件工程重点实验室、系统科学博士后流动站、国家CDIO人才培养模式创新实验区、国家软件人才国际培训基地等重要国家级和省部级教学科研平台,为科学研究和人才培养提供了优质环境。
  其实,这一由云南大学软件学院的20位教师组成的团队,早在2009年就成功入选成为了云南省省级教学团队。一直以来,团队高度重视人才培养,注重科研反哺教学,申报获准了《软件工程》国家精品课程和国家精品资源共享课程等具有重要影响力的课程;主持了6项国家级人才培养质量工程项目,成果曾获得了国家级教学成果奖二等奖。
  今后,他们还将以“研究突出原创,技术追求创新,成果促进产业”为指导思想,为获取原创性、标志性的科研成果,开发具有重要应用价值的软件产品,培养更多的软件产业人才,打造一支软件工程领域具有国际影响力的学术团队而努力。
  时光流转,万事万物都在变化,唯一不变的便是李彤对于科学研究的那份执着。从踏进大学校园的那一刻到现在,李彤始终在软件工程领域笃定前行着,并取得了诸多优秀成果。因为他在这一领域所做出的突出贡献,李彤还被评为了《科学中国人》杂志2016年度人物。
  回首过往,李彤的科研路走得坚定而踏实;面对未来,他内心仍涌动着一股力量。30多年来,正是这股力量,激励着他,在科研之路上不忘初心,无悔前行!
  

分享到:
杂志
本期封面

2024年3月

上一期 下一期