WO2014169628A1 - 一种基于代码变更的软件模型同步方法 - Google Patents

一种基于代码变更的软件模型同步方法 Download PDF

Info

Publication number
WO2014169628A1
WO2014169628A1 PCT/CN2013/086990 CN2013086990W WO2014169628A1 WO 2014169628 A1 WO2014169628 A1 WO 2014169628A1 CN 2013086990 W CN2013086990 W CN 2013086990W WO 2014169628 A1 WO2014169628 A1 WO 2014169628A1
Authority
WO
WIPO (PCT)
Prior art keywords
code
model
change
software
elements
Prior art date
Application number
PCT/CN2013/086990
Other languages
English (en)
French (fr)
Inventor
王林章
李袁奎
李宣东
陈志�
Original Assignee
南京大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 南京大学 filed Critical 南京大学
Publication of WO2014169628A1 publication Critical patent/WO2014169628A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven

Definitions

  • the invention relates to a method for synchronizing an outdated software model with new code, and belongs to the field of software engineering and model-driven engineering cross-technology.
  • Model-driven engineering is based on a model as a main product. Trying to establish a model to clarify the content of software development is an important topic in the development of software engineering in recent years.
  • the model is expressed in a modeling language, and the ability to describe software is higher than software. It is an intermediate product that describes design and guides software development.
  • the standard software development process includes requirements analysis, model design, code writing, and test deployment steps.
  • the model design not only undertakes the various elements of the requirements analysis, but also serves as the benchmark for subsequent activities such as code software testing, which is essential throughout the development process.
  • the model serves as an abstraction of design ideas and business logic, and can guide communication between developers and code development and software delivery. Developers need to understand the meaning of the model, and then use the programming language to express the information in the model. The requirements and ideas in the model will be reflected in the code, and the final submitted software and model are consistent.
  • proving the correctness of the software it also starts with the corresponding relationship between the model and the model.
  • the software system that can solve the problem is often very complicated, and the model is a certain level of abstraction. Therefore, in the actual development and testing of the enterprise, The correctness of the software can be proved by proving the correctness of the model and the correspondence between the model and the software system.
  • the purpose of the present invention is to deal with the software model synchronization method in the process of code evolution, using the old code and the old model as a benchmark, by analyzing the changes of the new code and the old code, and automatically identifying the relationship between the old code and the old model. , modify and update the old model to get a new model that matches the new code.
  • the software model synchronization method based on code change uses code change analysis technology to compare differences between codes, and uses code retrieval technology to automatically associate software model and code, and the rule set applicable to the software model. , process code changes one by one, and automatically or semi-automatically update the model.
  • the software model of the present invention simplifies the software entity and describes its main features in a suitable monetization form or rule.
  • the rule set to which the software model of the present invention is applied includes a series of rules, each of which gives an element in the model and an elemental relationship in the standard code, which is predefined by the developer.
  • the non-substantial change means that in the process of continuous evolution, the developer may introduce some format adjustments, such as blank characters and blank lines. These changes only change the storage contents of the code file, and do not change the software behavior obtained according to the code. Structure,
  • the non-essential change means that under the code syntax and semantic constraints, the program code content changes, but the software obtained according to the code remains unchanged in behavior and structure.
  • the non-related change means that the change occurs in a code segment that is not related to the model, but is not within the scope of the model; Step 2.
  • Model code matching
  • the model and the software model-related change code are matched according to the type of the model and the name of the element, and the correspondence between the elements in the model and the elements in the code is established.
  • the specific matching process is as follows:
  • Step 2.1 Read in the software model and read in the rule set applicable to the software model;
  • Step 2.2 Read the change code associated with the software model
  • Step 2.3 Determine the corresponding elements in the model, search for the software model-related change codes one by one according to the applicable rules of the model, find the code fragments that may be associated with them, and give the credibility, according to the preset
  • the credibility threshold determines whether to match immediately or to be confirmed by the developer
  • Step 2.4 Add the correspondence information between the elements in the obtained model and the elements in the code to the code base; Step 3, code change processing
  • Step 3.1 Modify the corresponding model element according to the rules applied by the software model, the correspondence between the elements in the model and the elements in the code, and the modified change code;
  • Step 3.2 Remove the corresponding model element according to the rules applied by the software model, the correspondence between the elements in the model and the elements in the code, and the deleted change code;
  • Step 3.3 According to the rules applicable to the software model, the correspondence between the elements in the model and the elements in the code, and the added change code, determine whether new elements need to be added to the model. If yes, then New elements are added to the model.
  • Step 1 means that in the process of continuous evolution, developers may introduce some format adjustments that do not change the software behavior and structure obtained from the code.
  • step 1 means that under the grammatical and semantic constraints, the code content changes, but the software obtained according to the code remains unchanged in behavior and structure.
  • the unrelated change in step 1 means that the change occurs in a code segment that is not related to the model, but is not within the scope of the model.
  • Advantageous Effects In the software model synchronization method based on code change according to the present invention, related functions can be integrated in a code version management system, which can automatically determine code differences, determine how to modify the model, and request the developer for ambiguous situations. Manual intervention.
  • the method of the present invention has the following beneficial effects:
  • the difference in code is automatically analyzed, and the unrelated change difference can be filtered according to a preset rule, thereby reducing the burden on the developer.
  • the model is verified with the code after modification to ensure consistency between the model and the code.
  • the definition rules of the model and the code are flexible, and are adapted to adapt to different complex systems and changes in user requirements.
  • FIG. 1 is a schematic diagram of a specific implementation flow of a software model synchronization method based on code change.
  • Figure 2 is a schematic diagram of code changes.
  • Figure 3 is a schematic diagram of the code change analysis process.
  • Figure 4 is a schematic diagram of the code and model correspondence.
  • Figure 5 is a schematic diagram of the role that developers play in the method. detailed description
  • an existing software model and software code corresponding to the software model are first required, and different versions of the same code unit can be managed by the version control system.
  • the invention parses different software models according to the rule set, and can use the code retrieval technology to combine the heuristic information to establish a corresponding correspondence between the elements in the model and the elements in the code. Compare different versions of the code, filter out the more important changes, decide how to modify, delete, and add models based on the set of rules applicable to the software model, and finally update the model.
  • FIG. 1 The specific implementation process of the code change based software model synchronization method according to the present invention is shown in FIG. 1 . Some embodiments of the invention are described in more detail below with reference to the drawings.
  • Figure 2 is a schematic diagram of the code change. There is a difference between the original code (left of Figure 2) and the change code (right of Figure 2).
  • the compiler can be customized to process the old and new versions of the code and generate a specific code representation. To filter some code changes that don't need to be concerned, as shown in Figure 3. These code changes that do not need to be concerned mainly include three types of non-substantial code changes, non-essential code changes, and non-related code changes.
  • the code is written in a programming language, following certain grammar and semantics. Under this constraint, in addition to the non-substantial code changes, there are some changes in the code content of the program, but the software obtained according to the code remains unchanged in behavior and structure. This is because in the design process, in order to be convenient to use, the programming language often adds multiple expressions to the same meaning. For example, the usual programming language has two kinds of while combined sentences and for combined sentences for the loop. Then if the while in the code is completely possible to be changed to a for statement, the code does not have semantic changes in nature. This change will not affect the update of the model, so it should also be filtered in the specific implementation. (3) Non-related code changes
  • the code is written according to the model. Some code directly reflects the semantics of a component in the model. Some code further refines the model and adapts to the platform. If code changes occur in code fragments that are not related to the model, then these changes essentially change the behavior or structure of the software, but the specific changes are not within the scope of the model, so this type of change is also implemented in the implementation. Need to be excluded.
  • Code change analysis is a process of parsing and comparing code. In the specific implementation, you need to manually modify the front part of the compiler, and add custom processing rules to change the non-substantial change, non-essential change, and non-change from the changed code. The code of the relevant change is filtered out to obtain the change code related to the software model.
  • the model is divided into the simplest components, as shown in FIG. 4, in the unified modeling language.
  • the graph is divided into nodes and edges.
  • the nodes are divided into many fine categories.
  • the edges are also divided into two categories: conditional and unconditional.
  • the specific implementation steps are as follows:
  • Step 1 Read in the activity diagram model and read in the rule set to which the model applies;
  • Step 2 Read in the change code associated with the activity diagram model
  • Step 3 Determine the elements of the active graph model that need corresponding nodes and edges, search the code one by one according to the rules, find the code fragments that may be associated with them, and give the credibility, according to the pre-set credibility
  • the degree threshold determines whether to match immediately or to be confirmed by the developer.
  • Step 4 Add the corresponding information obtained to the code base.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提出的一种基于代码变更的软件模型同步方法,该方法从有变化的代码中将非实质变更、非本质变更、非相关变更的代码过滤出去,获得软件模型相关的变更代码,对软件模型与其相关的变更代码进行匹配,建立模型中的元素与代码中的元素之间的对应关系,将得到的代码变更信息、模型中的元素与代码中的元素之间的对应关系翻译为更新操作,产生新模型,实现模型同步。本发明可以集成在代码版本管理系统中,能够通过预定义规则,对软件模型进行自动或半自动更新,保证软件模型与代码的一致性。

Description

一种基于代码变更的软件模型同步方法 技术领域
本发明涉及对过期的软件模型与新代码进行同步的方法, 属于软件工程、 模型驱动工程交叉技 术领域。
背景技术 模型驱动工程是以模型为主要产品, 试图通过建立模型来明确软件开发的内容, 是近年来软件 工程发展的重要课题。 模型用建模语言来表示, 能够描述软件却高于软件, 是一种描述设计、 指导软 件开发的中间产物。
标准的软件开发流程包括需求分析、 模型设计、 代码编写以及测试部署这些步骤。 其中模型设 计不但承接了需求分析中的各种要素, 而且还是后续编写代码软件测试等活动的基准, 在整个开发流 程中至关重要。
软件开发过程中, 模型作为设计思路和业务逻辑的抽象, 能够指导开发人员之间的交流以及代 码的开发和软件的交付。开发人员需要理解模型的含义, 然后用程序设计语言表达出模型中的种种信 息, 模型中的要求和思路都会在代码中得到体现, 最终递交的软件和模型是一致的。 在证明软件的正 确性时, 也是通过它和模型的对应关系入手的, 能够解决问题的软件系统往往非常复杂, 而其模型是 某种层次上的抽象, 因此在企业的实际开发和测试中, 可以通过证明模型的正确性以及模型与软件系 统的对应关系来证明软件的正确性。
软件开发完成后, 并不是一成不变的。 在实际的使用和生产环境中, 软件往往会因为多种原因, 如使用场景变化、 用户要求、 性能优化、 错误排除, 由开发人员进行维护。 这个维护过程中, 软件会 进行不断演化, 代码会经过诸多修改而变成新的东西, 而模型可能会被忽视。 多个版本之后代码与最 初的代码有了很大的变化, 与最初的模型也无法对应, 这时如果需要模型来完成相关工作, 就会遇到 模型与代码的不一致问题。这种不一致问题会导致模型过期, 那么与模型相关的一系列软件开发行为 就无法正常进行。
在实际开发环境中, 往往由一组开发人员进行协作完成代码和相关的开发任务, 代码通过多次 迭代开发最终成型。在整个开发过程中,代码由代码管理系统来进行管理,提供版本控制、冲突检査、 代码分发、 子版本管理、 变更检测等多种功能。 每个代码单元(比如源代码文件)从无到有的各个状 态都由这个系统统一管理, 如果需要源代码文件的历史版本、 演化轨迹, 都可以向代码管理系统发出 请求。 发明内容
技术问题: 本发明的目的是处理代码演化过程中软件模型同步方法, 以旧代码以及旧模型为基 准, 通过分析新代码与旧代码的变更内容, 并自动识别旧代码和旧模型之间的关系, 对旧模型进行修 改和更新, 得到与新代码相匹配的新模型。
技术方案: 本发明所述基于代码变更的软件模型同步方法采用代码变更分析技术来比较代码之 间的差别, 利用代码检索技术自动将为软件模型和代码建立联系, 通过软件模型所适用的规则集, 逐 个处理代码变更, 并对模型进行自动或半自动更新。
本发明所述软件模型是对软件实体进行简化, 用适当的变现形式或规则把它的主要特征描述出 来。
本发明所述软件模型所适用的规则集包括一系列规则, 每一个规则给出模型中的元素和标准代 码中的元素关系, 该规则和标准代码由开发人员预先定义。
步骤 1、 代码变更分析
从有变化的代码中, 将非实质变更、 非本质变更、 非相关变更的代码过滤出去, 获得软件模型 相关的变更代码,
所述非实质变更是指在不断演化过程中, 开发人员可能会引入一些格式的调整, 比如空白字符、 空行, 这些变更只是改变代码文件的存储内容, 没有改变根据代码所得到的软件行为和结构,
所述非本质变更是指在代码语法和语义约束下, 程序代码内容改变, 但根据代码所得到的软件 在行为和结构上保持不变,
所述非相关变更是指变更发生在与模型无关的代码片段, 但不在模型所关注的范围内; 步骤 2、 模型代码匹配
给定软件模型, 根据模型的类型和元素的名称, 对模型与软件模型相关的变更代码进行匹配, 建立模型中的元素与代码中的元素之间的对应关系, 具体匹配过程如下:
步骤 2.1 : 读入软件模型, 读入软件模型所适用的规则集;
步骤 2.2: 读入软件模型相关的变更代码;
步骤 2.3 : 确定模型中需要对应的元素, 逐个根据模型所适用的规则在软件模型相关的变更代码 中进行搜索, 找到可能与之相联系的代码片段, 并给出可信度, 根据预设定的可信度阈值决定立即匹 配或是交由开发人员确认;
步骤 2.4: 将所获得的模型中的元素与代码中的元素之间的对应关系信息加入代码库中; 步骤 3、 代码变更处理
将得到的代码变更信息、 模型中的元素与代码中的元素之间的对应关系翻译为更新操作, 产生 新模型, 具有步骤为:
步骤 3.1 : 根据软件模型所适用的规则、 模型中的元素与代码中的元素之间的对应关系、 已修改 的变更代码, 修改对应的模型元素;
步骤 3.2: 根据软件模型所适用的规则、 模型中的元素与代码中的元素之间的对应关系、 已删除 的变更代码, 移除对应的模型元素;
步骤 3.3: 根据软件模型所适用的规则、 模型中的元素与代码中的元素之间的对应关系、 已新增 的变更代码, 判断是否需要在模型中新增新的元素, 如果是, 则在模型中新增新的元素。
步骤 1 中所述非实质变更是指在不断演化过程中, 开发人员可能会引入一些格式的调整, 这些 变更没有改变根据代码所得到的软件行为和结构。
步骤 1 中所述非本质变更是指在语法和语义约束下, 代码内容改变, 但根据代码所得到的软件 在行为和结构上保持不变。
步骤 1中所述非相关变更是指变更发生在与模型无关的代码片段, 但不在模型所关注的范围内。 有益效果: 本发明所述的基于代码变更的软件模型同步方法中, 相关功能可以集成在代码版本 管理系统中, 能够自动判断代码的差异, 确定如何修改模型, 对于模棱两可的情况会向开发人员请求 人工干预。 具体说来, 本发明所述的方法具有如下有益效果:
( 1 )在本发明所述的基于代码变更的软件模型同步方法中,代码的差异是通过自动分析出来的, 并且能够根据预先设定的规则过滤不相关的变更差异, 减轻开发人员的负担。
(2)在本发明所述的基于代码变更的软件模型同步方法中, 模型与代码比较采用启发式模糊匹 配, 对于不确定的情况会经过人工确认, 既保证了正确性又减轻工作量。
(3 )在本发明所述的基于代码变更的软件模型同步方法中,模型在修改之后会与代码进行校验, 以确保模型与代码的一致性。
(4) 在本发明所述的基于代码变更的软件模型同步方法中, 模型与代码的定义规则比较灵活, 等够适应不同的复杂系统以及用户需求的变化。 附图说明
图 1是基于代码变更的软件模型同步方法具体实施流程示意图。
图 2是代码变更示意图。
图 3是代码变更分析流程示意图。 图 4是代码与模型对应示意图。
图 5是开发人员在方法中所扮演角色的示意图。 具体实施方式
本发明所述的基于代码变更的软件模型同步方法具体实施中, 首先需要现有的软件模型以及与 软件模型相对应的软件代码, 可以通过版本控制系统管理同一代码单元的不同版本。本发明根据规则 集解析不同的软件模型, 可以采用代码检索技术, 结合启发式信息, 将模型中的元素与代码中的元素 之间建立起对应的对应关系。 对不同版本的代码进行比较, 过滤出较为重要的变更, 根据软件模型所 适用的规则集, 决定如何修改、 删除和新增模型, 并进行最终更新模型。
本发明所述的基于代码变更的软件模型同步方法具体实施流程如图 1 所示。 下面对附图本发明 的某些实施例作更详细的描述。
1、 代码变更分析
本发明所述的基于代码变更的软件模型同步方法具体实施中, 需要对新旧两个版本的代码进行 分析, 因为其中的差别就是造成了旧版软件模型与新版代码不一致的因素。 在具体实施中, 需要准确 地弄清楚到底应该将那些变更反映在原来的软件模型中。图 2是代码变更示意图,原始代码(图 2左) 与变更代码 (图 2右) 之间进行存在差异, 在具体实施中, 可以定制编译器, 处理代码的新旧版本, 生成特定的代码表示, 以过滤一些不需要关心的代码变更, 如图 3所示。 这些不需要关心的代码变更 主要包括非实质代码变更、 非本质代码变更、 非相关代码变更等三种。
( 1 ) 非实质代码变更
代码在不断演化过程中, 开发人员可能会引入一些格式的调整, 比如空白字符、 空行, 这些变 更固然改变了代码文件的存储内容, 但是并不能算作真正的代码变更, 因为根据代码所得到的软件无 论在行为上还是结构上都保持不变, 说明这些代码变更没有造成实质上的变化。在对旧版模型进行更 新的时候, 完全不必考虑此类变更, 因此需要在具体实施中将这种变更过滤出去。
(2) 非本质代码变更
代码都是用编程语言来写的, 遵照一定的语法和语义。 在这种约束下, 除了非实质代码变更, 还有一些虽然改变了程序的代码内容, 但根据代码所得到的软件在行为和结构上仍然保持不变。这是 因为程序语言在设计过程中, 为了使用方便, 往往会为同一种含义加入多种表达方式, 比如通常的程 序设计语言对于循环会有 while组合句和 for组合句这两种。那么如果代码中的 while完全可能被改成 for语句, 而代码在本质上并没有语义变化。 这种变更也不会影响模型的更新, 所以在具体实施中也 应该被过滤。 (3 ) 非相关代码变更
代码是根据模型编写的, 有些代码直接反应了模型中某个组件的语义, 有些代码则是对模型更 进一步的细化和对平台的适应。如果代码变更发生在与模型无关的代码片段, 那么这些变更虽然在本 质上改变了软件的行为或者结构, 但其具体变更并不在模型所关注的范围内, 因此这一类变更在具体 实施中也需要排除在外。
代码变更分析是对代码进行解析并进行比较的过程, 在具体实施时需要手动修改编译器的前段, 加入自定义的处理规则, 以从有变化的代码中将非实质变更、 非本质变更、 非相关变更的代码过滤出 去, 获得软件模型相关的变更代码。
2、 模型代码匹配
本发明所述的基于代码变更的软件模型同步方法具体实施中, 模型与代码之间有某种对应关系, 将模型分成最简单的组件, 如图 4所示, 以统一建模语言中的活动图为例说明, 则分为节点和边, 其 中节点分为很多细类, 边也分为带条件和无条件两类, 具体实施步骤如下:
步骤 1 : 读入活动图模型, 读入模型所适用的规则集;
步骤 2: 读入活动图模型相关的变更代码;
步骤 3 : 确定活动图模型中需要对应的节点和边等元素, 逐个根据规则在代码中进行搜索, 找到 可能与之相联系的代码片段, 并给出可信度, 根据预设定的可信度阈值决定立即匹配或是交由开发人 员确认。
步骤 4: 将所获得的对应信息加入代码库中。
3、 代码变更处理
代码变更得到之后, 需要根据这些变更以及模型代码之间的对应关系, 决定如何修改、 删除和 新增模型元素。 本发明所述的基于代码变更的软件模型同步方法具体实施中, 有些不能确定的情况, 如匹配情况, 修改确认, 需要人工干预, 如图 5所示。

Claims

权利要求书
1.一种基于代码变更的软件模型同步方法, 其特征在于该方法所包含的步骤为: 步骤 1、 代码变更分析
从有变化的代码中, 将非实质变更、 非本质变更、 非相关变更的代码过滤出去, 获得软件模型相 关的变更代码,
所述非实质变更是指在不断演化过程中, 开发人员可能会引入一些格式的调整, 比如空白字符、 空行, 这些变更只是改变代码文件的存储内容, 没有改变根据代码所得到的软件行为和结构,
所述非本质变更是指在代码语法和语义约束下, 程序代码内容改变, 但根据代码所得到的软件在 行为和结构上保持不变,
所述非相关变更是指变更发生在与模型无关的代码片段, 但不在模型所关注的范围内; 步骤 2、 模型代码匹配
给定软件模型, 根据模型的类型和元素的名称, 对模型与软件模型相关的变更代码进行匹配, 建 立模型中的元素与代码中的元素之间的对应关系, 具体匹配过程如下:
步骤 2.1 : 读入软件模型, 读入软件模型所适用的规则集;
步骤 2.2: 读入软件模型相关的变更代码;
步骤 2.3 : 确定模型中需要对应的元素, 逐个根据模型所适用的规则在软件模型相关的变更代码 中进行搜索, 找到可能与之相联系的代码片段, 并给出可信度, 根据预设定的可信度阈值决定立即匹 配或是交由开发人员确认;
步骤 2.4: 将所获得的模型中的元素与代码中的元素之间的对应关系信息加入代码库中; 步骤 3、 代码变更处理
将得到的代码变更信息、 模型中的元素与代码中的元素之间的对应关系翻译为更新操作, 产生新 模型, 具有步骤为:
步骤 3.1 : 根据软件模型所适用的规则、 模型中的元素与代码中的元素之间的对应关系、 已修改 的变更代码, 修改对应的模型元素;
步骤 3.2: 根据软件模型所适用的规则、 模型中的元素与代码中的元素之间的对应关系、 已删除 的变更代码, 移除对应的模型元素;
步骤 3.3 : 根据软件模型所适用的规则、 模型中的元素与代码中的元素之间的对应关系、 已新增 的变更代码, 判断是否需要在模型中新增新的元素, 如果是, 则在模型中新增新的元素。
2. 根据权利要求 1所述的一种基于代码变更的软件模型同步方法, 其特征在于步骤 1中所述非实 质变更是指在不断演化过程中, 引入一些格式的调整, 这些变更没有改变根据代码所得到的软件行为 和结构。
3. 根据权利要求 1所述的一种基于代码变更的软件模型同步方法, 其特征在于步骤 1中所述非本 质变更是指在语法和语义约束下, 代码内容改变, 但根据代码所得到的软件在行为和结构上保持不 变。
4. 根据权利要求 1所述的一种基于代码变更的软件模型同步方法, 其特征在于步骤 1中所述非相 关变更是指变更发生在与模型无关的代码片段, 但不在模型所关注的范围内。
PCT/CN2013/086990 2013-04-18 2013-11-13 一种基于代码变更的软件模型同步方法 WO2014169628A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310135857.XA CN103235729B (zh) 2013-04-18 2013-04-18 一种基于代码变更的软件模型同步方法
CN201310135857.X 2013-04-18

Publications (1)

Publication Number Publication Date
WO2014169628A1 true WO2014169628A1 (zh) 2014-10-23

Family

ID=48883774

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/086990 WO2014169628A1 (zh) 2013-04-18 2013-11-13 一种基于代码变更的软件模型同步方法

Country Status (2)

Country Link
CN (1) CN103235729B (zh)
WO (1) WO2014169628A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114020323A (zh) * 2022-01-04 2022-02-08 阿里云计算有限公司 模型处理方法、代码获得方法、装置以及电子设备

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103235729B (zh) * 2013-04-18 2016-03-16 南京大学 一种基于代码变更的软件模型同步方法
CN103793373B (zh) * 2014-01-23 2017-02-01 福建工程学院 一种基于句法的跟踪关系恢复方法
CN105159715B (zh) * 2015-09-01 2018-07-20 南京大学 一种基于抽象语法树节点变更抽取的Python代码变更提示方法
CN108334333B (zh) * 2018-01-05 2021-07-23 武汉斗鱼网络科技有限公司 一种源代码库更新方法及装置
CN111290777B (zh) * 2020-01-23 2021-09-17 复旦大学 一种面向软件代码单元和代码度量的代码变更序列方法
CN112181430B (zh) * 2020-09-29 2024-06-14 北京云族佳科技有限公司 代码变更统计方法、装置、电子设备及存储介质
CN113515278A (zh) * 2021-06-16 2021-10-19 深圳奥哲网络科技有限公司 低代码模型处理方法、系统、电子设备及存储介质
CN113918427B (zh) * 2021-12-14 2023-03-31 阿里云计算有限公司 一种数据变更响应方法以及装置
CN114036781B (zh) * 2022-01-04 2022-05-06 阿里云计算有限公司 数据处理方法、数据展示方法、装置以及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1254879A (zh) * 1998-11-12 2000-05-31 白金技术知识产权公司 往返式软件设计的方法与装置
US20070234319A1 (en) * 2006-03-29 2007-10-04 Fujitsu Limited Software maintenance supporting program product, processing method and apparatus
US20080250392A1 (en) * 2007-04-06 2008-10-09 John Edward Petri Content management system for computer software with dynamic traceability between code and design documents
US20090100405A1 (en) * 2007-10-11 2009-04-16 Microsoft Corporation Synchronizing an abstract model and source code
CN103235729A (zh) * 2013-04-18 2013-08-07 南京大学 一种基于代码变更的软件模型同步方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7856621B2 (en) * 2004-05-19 2010-12-21 International Business Machines Corporation Method for synchronization of concurrently modified interdependent semi-derived artifacts
CN102681855A (zh) * 2012-05-25 2012-09-19 南京邮电大学 一种面向无线传感网的模型到代码的转化方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1254879A (zh) * 1998-11-12 2000-05-31 白金技术知识产权公司 往返式软件设计的方法与装置
US20070234319A1 (en) * 2006-03-29 2007-10-04 Fujitsu Limited Software maintenance supporting program product, processing method and apparatus
US20080250392A1 (en) * 2007-04-06 2008-10-09 John Edward Petri Content management system for computer software with dynamic traceability between code and design documents
US20090100405A1 (en) * 2007-10-11 2009-04-16 Microsoft Corporation Synchronizing an abstract model and source code
CN103235729A (zh) * 2013-04-18 2013-08-07 南京大学 一种基于代码变更的软件模型同步方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114020323A (zh) * 2022-01-04 2022-02-08 阿里云计算有限公司 模型处理方法、代码获得方法、装置以及电子设备

Also Published As

Publication number Publication date
CN103235729A (zh) 2013-08-07
CN103235729B (zh) 2016-03-16

Similar Documents

Publication Publication Date Title
WO2014169628A1 (zh) 一种基于代码变更的软件模型同步方法
Kästner et al. Type checking annotation-based product lines
US11645576B2 (en) Code completion for languages with hierarchical structures
US9594802B2 (en) Graphical modeling of database query statements
US8689173B2 (en) Detecting design patterns in models by utilizing transformation language
US20190079753A1 (en) Automating Generation of Library Suggestion Engine Models
US20150082276A1 (en) Extensible code auto-fix framework based on xml query languages
Di Ruscio et al. Evolutionary togetherness: how to manage coupled evolution in metamodeling ecosystems
CN104965956A (zh) 一种基于rucm的需求验证方法
Strüber et al. Scalability of Model Transformations: Position Paper and Benchmark Set.
Di Ruscio et al. Managing the coupled evolution of metamodels and textual concrete syntax specifications
Kolahdouz-Rahimi et al. A comparison of quality flaws and technical debt in model transformation specifications
Mrasek et al. A new verification technique for large processes based on identification of relevant tasks
Sharbaf et al. Configurable three‐way model merging
JP2008225898A (ja) 変換装置、変換プログラム及び変換方法
US20110023010A1 (en) Reserved component container-based software development method and apparatus
CN115904480B (zh) 代码重构方法、装置、电子设备及存储介质
Julius et al. A meta-model based environment for GRAFCET specifications
Giachetti et al. Integration of domain-specific modelling languages and UML through UML profile extension mechanism.
Alwanain et al. Automated composition of sequence diagrams via alloy
CN115344966A (zh) 一种cad装配体零部件替换方法及系统
US9501456B2 (en) Automatic fix for extensible markup language errors
Kruse Co-Evolution of Metamodels and Model Transformations: An operator-based, stepwise approach for the impact resolution of metamodel evolution on model transformations.
Neukirchen et al. Quality assurance for TTCN‐3 test specifications
Meedeniya Correct model-to-model transformation for formal verification

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13882437

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WA Withdrawal of international application
122 Ep: pct application non-entry in european phase

Ref document number: 13882437

Country of ref document: EP

Kind code of ref document: A1