Coevolution framework to support object-oriented model changes using Coloured Petri Net patterns / Bassam Atieh M. Rajabi - Bassam Atieh , M. Rajabi (2017)
An effective change management technique is essential to keep track of changes and to ensure that software projects are implemented in the most effective way. One of the crucial challenges in software change management is to maintain coevolution among software system artifacts. Object-Oriented (OO) software modelling is widely adopted in software analysis and design. OO diagrams are divided into different perspectives in modelling a problem domain. Preserving coevolution among these diagrams is very crucial so that they can be updated continuously to reflect software changes. Decades of research efforts have produced a wide spectrum of approaches in checking coevolution among OO diagrams. These approaches can be classified into direct, transformational, formal semantics, or knowledge representation approaches. Formal methods such as Coloured Petri Nets (CPNs) are widely used in detecting and handling coevolution between software artifacts. Although ample progress has been made, it still remains much work to be done in further improving the effectiveness and accuracy of the state-of-the-art coevolution techniques in managing changes in OO diagrams using formal languages. In this research, a coevolution framework for supporting coevolution among OO diagrams is proposed to trace the diagrams’ inconsistencies and to determine the change impact incrementally after updating diagrams elements. A set of 84 coevolution patterns is proposed to detect and resolve UML diagrams’ coevolution, inconsistencies, change history, and change impact. Coevolution patterns are applied on UML class, object, activity, statechart, and sequence diagrams to cover the different perspectives of UML diagrams. The change impact and traceability analysis is performed with the help of templates. A total of 45 templates are proposed to define information about the types of change, change impact, diagrams dependency, and rules to maintain the diagrams’ consistency. As part of the proposed framework, a new structure called Object Oriented Coloured Petri Nets (OOCPNs) for the mutual integration of UML and CPNs modelling languages is proposed to support coevolution between UML diagrams. The proposed structure combines the advantages offered by CPNs formal language and the structured capabilities offered by UML diagrams to solve the inconsistencies between UML diagrams by integrating a set of consistency and integrity rules in the transformation process of UML diagrams into CPNs model. As such, this research also provides transformation rules for the diagrams provided in UML 2.3. The proposed OOCPNs structure enhances the diagrams’ change support through building a consistent OOCPNs model at the design time, and then applying the changes on the OOCPNs models. This will provide OOCPNs model automatic coevolution and consistency check. Additionally, the modularity in the hierarchical structure of the proposed framework reduces interdependencies between the model components, and facilitates easy maintenance and updates without impacting the entire model. The researcher uses CPNs as a formal language of modelling case study models for the proposed framework and CPNs Tools as the software that creates, simulates, and validates the models. CPNs tools simulation and monitoring toolboxes are used to validate the proposed coevolution framework models and to monitor and collect data about the proposed framework quantitative results.