Mohammadreza Sharbaf

Mohammadreza Sharbaf

PhD Candidate at University of Isfahan & University of Nantes

Contact Me

About Me

Mohammadreza Sharbaf is a PhD candidate in Computer Science. He is currently enrolled in a Cotutelle PhD program at the University of Nantes in France and the University of Isfahan in Iran. The Cotutelle scholarship is very prestigious, and in 2019 only 15 people across Iran got awarded. He also is a member of Iran's National Elites Foundation (INEF).

He's interested in Model-Driven Software Engineering (Model Versioning, Model Transformation, and Domain-Specific Modeling Languages) and Semantic Web (Semantic Reasoning). Nowadays, he works on collaborative modeling frameworks under the supervision of Dr. Bahman Zamani and Dr. Gerson Sunyé. His current research is focused on the conflict management techniques for the real-time and post-modification update of model's versions in collaborative modeling.

Mohammadreza received his B.Sc. from the Isfahan University of Technology, Isfahan, Iran, in 2013, and his M.Sc. from the University of Isfahan, Isfahan, Iran in 2016, both in Computer Engineering (Software). Now, he is a member of the Naomod group at the University of Nantes and Model-Driven Software Engineering Research Group at the University of Isfahan.

Latest Projects


project name

E3MP - Configurable Three-way Merging Process based on Epsilon

You can read more about "E3MP - Configurable Three-way Merging Process based on Epsilon" project in the following link.

Find out more

project name

Unify - A Location-Based App for University of Isfahan

You can read more about "Unify - A Location-Based App for University of Isfahan" project in the following link.

Find out more

project name

A software Development Methodology Selection Method for Isfahan Municipality

You can read more about "A software Development Methodology Selection Method for Isfahan Municipality" project in the following link.

Find out more

project name

Management System for Organizaing Standard Items

You can read more about "Management System for Organizaing Standard Items" project in the following link.

Find out more

Published Papers

ALBA: A Model-Driven Framework for the Automatic Generation of Android Location-Based Apps AuSE 2020

In recent years, the number of smartphone users has increased dramatically. Due to the significant demand for mobile apps, developers often seek faster development methods and more effective tools and techniques to generate these apps. Many of these apps are location-based apps in which users receive services based on their geographical location. In this paper, we propose a model-driven approach for the automatic generation of Android location-based mobile apps. Our framework, called ALBA, consists of a domain-specific modeling language, a modeling tool, and a plugin which includes model to code transformations. The modeling tool enables a novice designer to model a location-based app. The model is validated against the predefined constraints and the editor prevents creating invalid models. The designer uses the plugin to generate the Android code of the app.

View on Springer

A Formalism for Specifying Model Merging Conflicts SAM 2020

Verifying the consistency of model merging is an important step towards the support for team collaboration in software modeling and evolution. Since merging conflicts are inevitable, this has triggered intensive research on conflict management in different domains. Despite these efforts, techniques for high-level conflict representation have hardly been investigated yet. In this paper, we propose an approach to specify model merging conflicts. This approach includes the Conflict Pattern Language (CPL), a formalism for specifying conflicts in different modeling languages. CPL is based on the OCL grammar and is tooled by an editor and a parser. CPL facilitates the slow and error-prone task of specifying model merging conflicts and can be used to specify conflicts in any EMF-based model.

View on Springer

A comparison of quality flaws and technical debt in model transformation specifications JSS 2020

The quality of model transformations (MT) has high impact on model-driven engineering (MDE) software development approaches, because of the central role played by transformations in MDE for refining, migrating, refactoring and other operations on models. For programming languages, a popular paradigm for code quality is the concept of technical debt (TD). Whilst the analysis and management of quality flaws and TD in programming languages has been investigated in depth over several years, less research on the topic has been carried out for model transformations. In this paper we investigate the characteristics of quality flaws and technical debt in model transformation languages, based upon systematic analysis of over 100 transformation cases in four leading MT languages. Based on quality flaw indicators for TD, we identify significant differences in the level and kinds of technical debt in different MT languages, and we propose ways in which TD in MT can be reduced and managed.

View on Science Direct

Configurable three‐way model merging SPE 2020

Software development is a collaborative activity that requires teams of software engineers to cooperate and work in parallel on versions of models. However, model management techniques such as model differencing, merging, and versioning have turned out to be difficult challenges, due to the complexity of operations and graph‐like nature of models. This paper presents a novel process for model merging, called the Epsilon‐based Three‐way Merging Process (E3MP) process. E3MP includes three components implemented into the Epsilon framework. First, modelers can define domain‐specific rules that customize the merging process. Second, E3MP enables an automated method for syntactic and semantic conflict detection amongst different versions of the system model. Third, E3MP puts forward a pattern‐based approach for conflict resolution.

View on Wiley

The Impact of Integrating Agile Software Development and Model-Driven Development: A Comparative Case Study SAM 2018

Agile and Model-Driven Development integration (Agile MDD) is of significant interest to researchers who want to leverage the best of both worlds. Currently, there is no clear evidence or proof for the real impact of such integration. As a first step in this direction, this paper reports an empirical investigation on the impact of integrating Agile and Model-Driven Development on the quality of software systems.

View on Springer

Technical Debt in Model Transformation Specifications ICMT 2018

Model transformations (MT), as with any other software artifact, may contain quality flaws. Even if a transformation is functionally correct, such flaws will impair maintenance activities such as enhancement and porting. The concept of technical debt (TD) models the impact of such flaws as a burden carried by the software which must either be settled in a ‘lump sum’ to eradicate the flaw, or paid in the ongoing additional costs of maintaining the software with the flaw. In this paper we investigate the characteristics of technical debt in model transformations, analysing a range of MT cases in different MT languages, and using measures of quality flaws or ‘bad smells’ for MT, adapted from code measures. Based on these measures we identify significant differences in the level and kinds of technical debt in different MT languages, and we propose ways in which TD can be reduced.

View on Springer

A Survey of Model Transformation Design Patterns in Practice JSS 2018

Model transformation design patterns have been proposed by a number of researchers, but their usage appears to be sporadic and sometimes patterns are applied without recognition of the pattern. In this paper we provide a systematic literature review of transformation design pattern applications.

Find out more

A UML Profile for Conflict Modeling in Model Merging KBEI 2017

For some conflict detection approaches in model versioning, it is required to describe conflict constraints which are an open issue. In contribution to the solution of this problem, we present a UML profile for modeling conflict conditions which can be used for automatic generation of required constraints.

View on IEEE

More on Google Scholar

My GitHub

You can see my GitHub activities stream in the following picture. Also you can get my publict project from My GitHub Activity Stream page.

GitHub Contributions Chart