Model-Driven Engineering (MDE) is a software development methodology whose goal is to reduce the complexity of software systems with the application of models that focus on the essential complexity of systems. The well-established software develop-ment methodologies use models for communication as well as for documenting pur-poses. MDE uses the same models but they are the main artifacts. With the help of these models we can automate some of the software development steps. For example we can use model-to-model or model-to-code transformation which can speed up the development process.
The collaborative editing of these complex models requires extra tasks from the cur-rently used text based version control systems (Git, SVN). One of these tasks is the access control within the models. The present-day technologies can only provide ac-cess control on repository or on branch level. One of the main goals of the MONDO EU FP7 research project is to implement a collaborative framework which can extend the already used version control systems with extra services for models.
In my thesis, I implemented a domain-specific language by using Xtext in order to solve the aforementioned security access control task. With the use of this language, we can define the security-access policies on the model level. The models are imple-mented in EMF, which nowadays is referred to as the de-facto standard for modelling in the industry. I used EMF IncQuery framework to query these models.
I also implemented conflict resolution algorithms in JAVA programing language. These algorithms can be used to resolve conflicts between the defined security access policies.
In my thesis, I tested and evaluated the security access control language and the aforementioned algorithms through an EMF model which is relevant to the industry.