Internet环境下复杂软件系统的构建依赖于各自治的软件实体之间的有效协同,可以使用过程感知系统将这些软件实体编制和编排在协同过程中,该协同过程可以看成该复杂软件系统的协同模型。对于这类复杂软件系统的建模,一般采用自底向上建模方法,(1)首先,需要研究一种新的建模技术能够同时刻画系统环境的行为和软件实体的内部行为,以及系统环境与实体的交互关系和实体间交互关系的协同模型,由此构建一个完整的系统模型;(2)其次,由于Internet环境具有开放、动态、难控的特征,参与计算的软件实体数量较多,协同模型的规模较大,从而使得模型的正确性分析较为困难,需要研究一种高效的正确性分析技术,而不变量方法将是一个较好的选择;(3)最后,系统应该实时监控系统的实际执行是否偏离了初始的协同模型,可以基于日志分析技术与过程挖掘技术推导出实际执行的协同模型,并进行协同模型的动态重配置,以支持软件协同的在线演化。
Software Coordination;Behavior Modeling;Inheritance of Behavior;Dynamic Configuration;Internet
对于复杂软件系统的建模,一般采用自底向上建模方法,需要研究三个方面的问题(1)首先,需要研究一种新的建模技术能够同时刻画系统环境的行为和软件实体的内部行为,以及系统环境与实体的交互关系和实体间交互关系的协同模型,由此构建一个完整的系统模型;(2)其次,由于Internet 环境具有开放、动态、难控的特征,参与计算的软件实体数量较多,协同模型的规模较大,从而使得模型的正确性分析较为困难,需要研究一种高效的正确性分析技术,而不变量方法将是一个较好的选择;(3)最后,系统应该实时监控系统的实际执行是否偏离了初始的协同模型,可以基于日志分析技术与过程挖掘技术推导出实际执行的协同模型,并进行协同模型的动态重配置,以支持软件协同的在线演化。针对问题1和问题2,遵循关注点分离原则,采用自底向上的建模方法,我们设计并提出一种IOPN模型(面向交互的Petri网)用于描述跨组织的工作流协同,该模型包含组织内的过程模型和组织间的交互关系。为了确保IOPN模型能够正确地执行,我们提出弱合理性标准。IOPN模型是一种规模较大的复合模型,为避免状态空间爆炸问题,我们提出基于不变量的分解方法,能够将满足弱合理性的无回路IOPN模型分解为一组顺序图,并提出相关定理。该成果已经发表在《计算机学报》。针对问题3,我们深入研究了过程挖掘技术,并提出了多个算法,包括基于后继任务的过程挖掘算法(Chi-算法,发表在DASC2011论文集),基于事件多重集的过程挖掘算法(Lamda-算法,发表在《Expert Systems with Application》),基于前驱任务的过程挖掘算法(Rho-算法,发表在APBPM2014论文集),基于前驱与后继任务的过程挖掘算法(Lamda+-算法,已经给《Journal of Systems and Software》投稿)。此外,本课题组还基于过程挖掘技术研究了符合性检查方法。提出了使用日志内容检查模型结构正确性与使用模型结构检查日志内容完整性的双向检查标准,并提出一种内容特征与模型结构特征一一对应的新型日志(Token Log),用于过程模型与系统日志的符合性检查,使得检查和判断过程更加清晰简洁,结果更加准确。该成果已经写成正式学术论文《一种基于Token Log 的符合性检查方法》,将在《软件学报》2015年第3期刊出。更多研究成果详见报告正文。