服务化是网络环境中软件最重要的发展趋势之一,并得到了学术界与产业界的广泛关注和支持。目前人们对软件服务化的认识与实践还比较初步,对于其中所蕴含的理论有待于深入地研究,现有的技术体系与实际服务系统的需求相比尚有较大的距离。本项目拟基于现有的研究成果,针对网络环境中软件服务的动态、开放、不确定和聚众等特征,结合"云计算"等新进展,以建立一套较为完整的软件服务理论与技术体系为目标,开展如下几方面的研究工作1)软件服务约束的形式化逻辑描述、基于约束的软件服务构造与验证;2)软件服务的在线监测、质量控制、审核、挖掘与推荐技术;3)业务级软件服务的构造、衍生与重构技术;4)服务支持的软件开发、测试与演化技术;5)面向特定领域对所提出的理论与方法进行实际应用与验证。项目在形式化约束描述、服务运行平台的构造技术、用户主导的服务衍生、在线的验证平台等方面具有较为显著的特色。
Service Oriented Software;Service Management;Business Service Derivation;Service Aided Software Development;
互联网、移动设备等正在成为人们使用软件的主要方式。这导致软件的形态正逐步发生重大的变化。服务化是当前软件最重要的特征之一,即用户通过网络使用服务化的软件实体。云计算、移动互联网的蓬勃发展充分体现了人们对服务化趋势的广泛认可。服务化软件面临的基本研究问题与传统形态的软件类似如何从开发与运行两个阶段保障服务化软件的质量、降低成本,但同时需要结合服务化软件运行时间长、访问量弹性大、演化周期短等特点。尤其是需要重点解决如下关键问题1)如何发现内存泄露等长时间运行才暴露的缺陷;2)如何在满足用户服务质量要求的前提下,降低资源开销;3)如何支持多模态的服务组合方法,使最终用户方便地构造、衍生服务。项目取得的主要成果包括 1.服务化软件运行时间长的特点,导致一些在单机环境中不太被重视的效率相关缺陷变得日益重要起来,例如内存泄露、连接占用等等。传统的测试方法很难发现这类缺陷。我们研究了基于软件缺陷模式的静态缺陷查找方法,针对静态代码中潜在的缺陷,开展了缺陷模式的挖掘与表示、基于模式的代码缺陷检测、高效的缺陷报告排序方法等方面的研究,提高了服务化软件缺陷查找的准确度及覆盖率。 2.针对服务化软件访问弹性大的特点,提出了低侵入、低开销、基于模型的软件监测机制,及时发现系统在运行过程中可能发生的异常,并进行相应的增、减、换运行实例等调整操作,以保障软件服务的质量,并提高资源的利用率。 3.针对业务用户面对的业务问题空间和软件系统提供的计算解空间之间存在的差异,我们以互联网环境下跨组织业务数据即时共享和动态集成的实际需求为切入点,提出了一种大粒度的,易于业务用户使用的,具备业务语义和领域稳定性的业务级数据服务及相应的数据服务衍生方法。本项目实施过程中,在顶级的国际会议(FSE、WWW、ASE等)以及重要的国际期刊SPE (Software: Practice and Experience)、SCIENCE CHINA等上面发表论文61篇。培养毕业研究生46名(其中博士生12名),申请发明专利 16 项(含1项国际专利)。研发了在线编程系统POP、城市交通数据服务空间等系列系统。其中,POP在支持编程类课程的在线开发系统方面处于国际领先行列。部分成果已经被华为公司研发能力中心、百度基础架构部、中国软件评测中心等采用。