Page 9 - 《软件学报》2021年第7期
P. 9

檀超  等:复杂软件系统的不确定性                                                               1927


                 lot  of  research work,  proposed a series  of methods, and achieved considerable  results. However, there is  still a lack  of systematic
                 understanding of the current state-of-the-artapproaches. Motivated by this observation, this paper reports a systematic mapping study of
                 142 primary studies collected by following a rigorous literature review methodology. The scope of the study is about investigating on how
                 the literature deals with uncertainties appearing in various phases or artifacts produced during a development lifecycle of cyber-physical
                 systems and Internet of Things. Results show that uncertainties mainly appear in the phases of design definition, system analysis, and
                 operation. Based on the 142 primary studies, uncertainties are first defined and classified into external uncertainty, internal uncertainty,
                 and sensor uncertainty, and descriptive statistics are reported in terms of this classification. In order to explore the uncertainty in depth,
                 external uncertainty  is subdivided  into environmental uncertainty, infrastructure  uncertainty,  user  behavior  uncertainty, and economic
                 attribute uncertainty,  and internal uncertainty  is subdivided into uncertainty in system  structure, internal  interaction uncertainty,
                 uncertainty in the technology supporting system operation, and uncertainty in the technology dealing with system operation. Furthermore,
                 another  classification is presented  and descriptive statistics for those primary studies  where uncertainties in  eight different types of
                 artifacts  are discussed,  including  model uncertainty, data uncertainty,  and parametric uncertainty.  Results  also show that researchers
                 mainly focused on decision-making under uncertainty, uncertainty reasoning, and uncertainty specification/modeling when dealing with
                 uncertainties. Based on the results, the future research trend is commented on in this area.
                 Key words:    uncertainty; systematic mapping study; cyber-physical systems; Internet of Things

                 1    引   言

                                                                      [2]
                                                                                [3]
                                                          [1]
                    随着信息化技术的不断发展,信息物理系统 CPS 、物联网 IoT 、智能系统 等复杂软件系统在人们的生
                 产和生活中扮演了越来越重要的角色.为了使复杂系统按照人们的预期进行工作,研究人员和实践者们通过为
                 系统建模并构建预定义的规则来保证系统在给定输入情况下的正确输出.因此,复杂系统通常善于处理确定性
                 的事务.然而,在复杂系统开发和运行过程中会遇到各种各样的不确定性(uncertainty).复杂系统的不确定性涉及
                 其开发生命周期的各个阶段,涵盖大量的开发制品,从不同方面影响了系统的正常功能.由于不确定性具有未知
                 性和不可预测性,通常会增大复杂系统的开发难度.
                    正确地理解和应对复杂系统开发中的不确定性是非常困难的,主要是因为此类系统本身具有的跨学科性
                 质.其开发需要综合考虑 4 个方面的因素:控制(control)、平台(platform)、网络(internet)以及人(human).不确定
                 性不仅存在于软件中,而且还存在于硬件、通信、人以及它们之间的交互中.此外,在 CPS 和 IoT 系统开发和运
                 行过程中需要考虑到两个世界,即物理世界和逻辑世界,在工业应用中经常遇到软件(逻辑)和物理世界之间的
                 方法和技术的不匹配问题.比如,物理系统中度量不确定性(measurement uncertainty)的方法非常成熟,然而度量
                                                                                    [4]
                 计算不确定性的方法以及整合物理和逻辑度量不确定性的方法目前还处在研究阶段 .
                    为了解决复杂系统面临的不确定性问题,研究人员针对其具体的开发阶段和开发制品提出了相应的解
                 决办法.近年来,随着该领域相关文献数量的逐年递增,研究人员分析和整理这些文献变得越来越困难.涉及
                 到复杂系统不确定性的诸多问题尚未经过有效探索和系统性的研究,比如复杂系统在其不同的开发阶段会
                 遇到哪些种类的不确定性因素?这些不确定性来自哪些方面?有哪些开发制品会含有不确定性信息?研究人
                 员提出了哪些关于不确定性处理的方法?针对上述问题,本文围绕复杂系统面临的不确定性展开研究,旨在帮
                 助研究人员快速了解该领域的研究现状,为他们进一步提出新的研究内容和技术方法提供一定的参考.同时,
                 本文还进一步讨论了该领域未来的发展趋势,并系统且全面地对该领域进了分析,希望能够吸引更多的研究
                 学者投入到这一重要的研究领域中来.
                    为了调研上述重要的研究问题,本文使用系统研究的方法从不同角度对复杂系统面临的不确定性进行分
                 析.系统研究框架包括 6 个模块,即研究问题定义、相关文献搜索、文献筛选、文献质量评估与保障、属性抽
                 取与细化、研究问题调研.在研究问题定义模块,我们首先定义了围绕复杂系统不确定性的 8 个研究问题,从不
                 同的角度对不确定性进行调研.接着,在相关文献搜索模块,我们以回答这些研究问题为目标,定义了一系列的
                 搜索字符串,并在常用的文献数据库(包括 IEEE Xplore、ACM Digital Library 等)进行搜索,共搜索到 6 831 篇文
                 献.针对搜索到的文献集,我们在文献筛选模块定义了筛选标准,对文献集进行筛选,以获取相关文献.接着,我们
                 定义了质量评估指标,对筛选后的文献进行质量评估,并通过文献质量评估进一步保留高质量的相关文献,最终
   4   5   6   7   8   9   10   11   12   13   14