Use of Global Consistency Checking for Exploring and Refining Relationships between Distributed Models : A Case Study

Use of Global Consistency Checking for Exploring and Refining Relationships between Distributed Models : A Case Study
复制标题

使用全局一致性检查来探索和细化分布式模型之间的关系:案例研究

DOI:
--
复制
发表时间:
2012
期刊:
影响因子:
--
通讯作者:
R. Jabbari
R. Jabbari
中科院分区:
--
文献类型:
--
作者:
Yasaman Talaei Rad;R. Jabbari

文献摘要

被引文献

相似文献

上下文软件系统日益变得越来越大和复杂,导致软件开发过程变得更加复杂,难以理解和管理。许多公司已经开始适应分布式软件工程实践,这将允许他们在不同组织和/或地理位置的分布式团队中工作。例如,模型驱动的工程方法正在用于这种全球软件工程项目。在基于模型的软件开发活动中,一致性检查是广为人知的活动之一。一致性检查涉及一致的模型;特别是,对于整个系统具有一致的多个模型组,例如,由分布式团队生产的多个模型。目标.本论文的目的是找出如何“全局一致性检查(GCC)”可以用来探索分布式模型之间的不一致性问题,特别是在UML类图关系(在一致性方面),以及如何GCC可以与大量的模型和关系的规模。因此,这些不一致也旨在逐步解决我们的方法。方法.本文综述了分布式软件开发领域和模型管理,特别是分布式模型之间的一致性检查方法。接下来,我们在两个问题域进行了两个案例研究,以应用我们的“一致性检查方法”。我们同时构建和实施了新的一致性规则,其中大部分是从文献中收集的,并与我们的协调员进行了头脑风暴。一般来说,该方法包括使用工具支持实现案例研究的不同模型并试图找出重叠,合并模型并根据一致性规则检查合并后的模型,以及评估GCC的结果。我们主要解决的问题集中在各个模型的一致性检查和它们之间的映射,例如,成对一致性检查(PCC),其不能完全解决分布式环境中遇到的任何一致性规则的问题。结果我们已经确定了七种类型的不一致,分为两组名为“全局不一致”和“成对不一致”。在第一个案例研究中,我们有94个全局不一致和73个成对不一致。在第二个,14个全球和25个成对的不一致。在“解决方法”中,我们遵循六个步骤作为解决这些不一致的“系统程序”,并在每次迭代中构建新的合并模型。作为第一步的输入的初始合并模型(不一致模型)具有1267个元素,并且来自第六步的一致合并模型(输出)具有686个元素。在第4.1.5节和第4.2.4节中记录、分析和说明了根据每个“一致性规则”检查一致性的“持续时间”和“所需工作量”。结论.我们的结论是,GCC使我们能够探索不一致性,包括解决它们,因此,改进不同模型之间的关系,这些模型很难通过例如,成对的方法。最重要的问题是:PCC进行的模型比较次数、PCC无法识别某些不一致性、基于PCC方法的模型关系细化和分类将不会导致最终一致的DM,而GCC可以保证。一致性规则应用,不一致性识别和解决它们可以推广到任何UML类图模型,表示软件中一致性检查领域内的问题域工程.
Context. Software systems, becoming larger and more complex day-by-day, have resulted in software development processes to become more complex to understand and manage. Many companies have started to adapt distributed software engineering practices that would allow them to work in distributed teams at different organizations and/or geographical locations. For example, model-driven engineering methods are being used in such global software engineering projects. Among the activities in model-based software development, consistency checking is one of the widely known ones. Consistency checking is concerned with consistent models; in particular, having a consistent group of multiple models for a whole system, e.g., multiple models produced by distributed teams. Objectives. This thesis aims to find out how ‘Global Consistency Checking (GCC)’ can be utilized for exploring inconsistency problems between distributed models; particularly among UML class diagram relationships (in terms of consistency), as well as how GCC can be scaled with large number of models and relationships. Thereby, these inconsistencies are also aimed to incrementally resolve in our approach. Methods. We made a review in distributed software development domain and model management, in particular, methods of consistency checking between ‘Distributed Models (DM)’. Next, we conducted two case studies in two problem domains in order to apply our ‘consistency checking methodology’. We concurrently constructed and implemented new consistency rules, most of which are gathered from literatures and brainstorming with our coordinators. Generally, the method contains implementing different models of the case studies with a tool support and trying to figure out overlaps, merging models and checking the merged model against the consistency rules, and evaluating the results of GCC. We mainly addressed issues focused on consistency checking of individual models and the mapping between them e.g., pair-wise consistency checking (PCC), which are incapable of fully addressing problems against any consistency rules encountered in distributed environments. Results. We have identified seven types of inconsistency, which are divided in two groups named ‘Global inconsistency’ and ‘Pair-wise inconsistency’. In the first case study, we have 94 global inconsistencies and 73 pair-wise. In the second one, 14 global and 25 pair-wise inconsistencies are resulted. During ‘Resolution approach’, we followed six steps as a ‘systematic procedure’ for resolving these inconsistencies and constructed new merged model in each iteration. The initial merged model (inconsistent model) as an input for the first step has 1267 elements, and the consistent merged model (the output) from the sixth step has 686 elements. ‘time duration’ and ‘required effort’ for checking consistency against each ‘consistency rule’ were recorded, analyzed and illustrated in Sections 4.1.5 and 4.2.4. Conclusions. We concluded that GCC enables us to explore the inconsistencies, inclusive of resolving them and therefore, refining the relationships between different models, which are difficult to detect by e.g., a pair-wise method. The most important issues are: The number of model comparisons conducted by PCC, The inability of PCC for identifying some inconsistencies, Model relationships refinement and classification based on PCC approach will not lead to a final consistent DM, whereas, GCC guarantees it. Consistency rules application, inconsistency identification and resolving them could be generalized to any UML class diagram model representing a problem domain within the fields of consistency checking in software engineering.