ADDiff:活动图的语义差异
ADDiff: Semantic Differencing for Activity Diagrams
摘要:
活动图(AD)最近已被广泛用于工作流、业务流程和Web服务的建模中,它们用于各种目的,从文档、需求定义和测试用例规范到仿真和代码生成。随着模型、程序和系统随着时间的推移而发展,理解变化及其影响是一个重要的挑战,近年来吸引了大量的研究工作。在本文中,我们提出了addiff,一个语义差异算子的广告。与大多数现有的模型比较方法不同,这些方法比较两个给定图的具体或抽象语法并输出语法更改或编辑操作的列表,addiff考虑手头的图的语义并输出一组diff见证,其中每个都是在第一个AD中可能而在第二个AD中不可能的执行跟踪。我们鼓励使用addiff,正式定义它,并显示两个算法来计算它,一个具体的前向搜索算法和符号xpoint算法,使用BDD实现并集成到Eclipse IDE中。实证结果和算例验证了addiff在版本比较和演化分析中的可行性和独特贡献。
英文摘要:
Activity diagrams (ADs) have recently become widely used in the modeling of workflows, business processes, and web-services, where they serve various purposes, from documentation, requirement definitions, and test case specifications, to simulation and code generation. As models, programs, and systems evolve over time, understanding changes and their impact is an important challenge, which has attracted much research efforts in recent years. In this paper we present addiff, a semantic differencing operator for ADs. Unlike most existing approaches to model comparison, which compare the concrete or the abstract syntax of two given diagrams and output a list of syntactical changes or edit operations, addiff considers the Semantics of the diagrams at hand and outputs a set of diff witnesses, each of which is an execution trace that is possible in the first AD and is not possible in the second. We motivate the use of addiff, formally define it, and show two algorithms to compute it, a concrete forward-search algorithm and a symbolic xpoint algorithm, implemented using BDDs and integrated into the Eclipse IDE. Empirical results and examples demonstrate the feasibility and unique contribution of addiff to the state-of-the-art in version comparison and evolution analysis.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。