MVCLang: A Software Modeling Language for the Model-View-Controller Design Pattern

Mert Ozkaya, Irem Fidandan


The Model-View-Controller (MVC) software design pattern promotes separating software systems into the model, view, and controller elements. The views represent the user-interfaces, the models represent the system data, and the controllers handle the requests sent by the views and coordinate the interactions between views and models. While many software frameworks are available for the MVC-based software developments, no any attempt have been made on increasing the level of abstraction for the MVC developments and provide a model-based approach. Indeed, none of the high-level software modeling languages support the MVC design pattern. So, we propose in this paper a visual, MVC-based modeling language called MVCLang, which enables to model MVC-based software architectures that can be easily analysed and implemented. MVCLang is supported with an Eclipse-based prototype toolset for specifying the visual MVC architectures and analysing them for a number of wellformedness rules. MVCLang’s toolset can further produce ASP.NET MVC code that reflects the architectural design decisions. We evaluated MVCLang on a software company that offers e-commerce solutions. Therein, 5 developers used MVCLang for their e-commerce project developments and provided feedback for a set of pre-determined questions.


Paper Citation