Mohammadreza Sharbaf

MSc

Thesis Abstract:
A model is an abstract representation of a software system and is an appropriate solution to cope with the complexity of software‎. ‎Based on this fact‎, ‎Model-Driven Development is an approach to software development that employs models as main artifacts for building software systems‎. ‎With the increase in the number of designers in a team‎, ‎different versions of a model can be generated during the development process‎, ‎especially in the design phase‎. ‎To manage these versions‎, ‎it is required to identify differences and reconcile them in a single yet integrated model‎. ‎Due to the fact that the changes in a model could be inconsistent‎, ‎at the time of merging‎, ‎the merger should be provided an equipment to detect and resolve conflicts resulting from these changes‎. ‎This‎, ‎not only requires the knowledge of the structure and syntax of the models‎, ‎but also the semantic concepts of models must be considered‎, ‎and semantic conflicts are to be fixed‎. ‎However‎, ‎so far there is not an appropriate solution to detect and resolve semantic conflicts in models.
‎In this thesis‎, ‎three approaches to detect and resolve the semantic conflicts are presented‎. ‎The first approach‎, ‎receives some assumptions from the designer before the merging‎, ‎and then uses the algorithm to determine the elements that are semantically equivalent‎. ‎This provides the prerequisite step to detect and resolve semantically equivalent conflicts‎. ‎The second approach uses the semantic rules of the modeling language to validate the merging and‎, ‎detects and fixes the static semantic conflicts‎. ‎In order to implement the solution‎, ‎first we present a model merging process‎. ‎This process is a three-way merging method that is implemented as a tool called Three-Way Merger‎, ‎then approaches to detect and resolve conflicts are added to this tool‎. ‎Evaluation results of executing two existing benchmarks by “Three-Way Merger” tool‎, ‎indicates that the merged version is valid and the accuracy of conflict detection and resolution is improved‎. ‎The third approach detects behavioral semantic conflicts by verifying the merged model‎. ‎This verification is performed by considering other behavioral models of the system‎. ‎The case study done by this approach reflects good performance in the detection of behavioral semantic conflicts‎. ‎Another finding of this study is to provide the semantic conflict model that allows visualization of detected semantic conflicts‎.

Current Occupation:
PhD Candidate of Software Engineering at University of Isfahan