Sauter et al. proposed another extension on MVC for
the development of pervasive multi-device web appli-
cations. In (Barrett and Delany, 2004), Barrett et al.
extended MVC with a 5-tier architecture. The first
tier is the client, the second tier is the view, the third
tier is the business logic, the fourth tier is the data ab-
straction, and the fifth tier is the persistent data in the
database. In (Mahmoud and Maamar, 2006), Mah-
moud et al. proposed an approach for applying MVC
for the modeling of multi-agent systems. In (Cortez
and Vazhenin, 2015), Cortez et al. extended MVC for
the design and development of service-oriented archi-
tectures. While MVC have been extended many times
for different problem domains, none of those works
actually offer a modeling notation set for the MVC-
based modeling and a supporting toolset for the mod-
eling, analysis, and code generation.
7 CONCLUSION
In this paper, we proposed a software modeling lan-
guage called MVCLang for the MVC-based modeling
of software architectures. MVCLang provides a vi-
sual notation set for specifying the model, view, and
controller elements, and their relationships. We also
developed a modeling editor using the Eclipse Sir-
ius technology, through which practitioners can cre-
ate their MVC-based software models and check their
models for a number of wellformedness rules that we
defined. Furthermore, we also developed a code gen-
erator that can be used together with a modeling editor
for producing ASP.NET MVC framework code from
the MVCLang models. To illustrate the use of MV-
CLang, we considered in the paper the sports store
case-study, which we specified, analysed, and imple-
mented using MVCLang and its toolset. To evaluate
MVCLang, we considered a software company called
Eryaz, which builds MVC-based e-commerce solu-
tions for their customers. We prompted 5 develop-
ers from Eryaz to use the MVCLang language and its
toolset for their projects and share their feedback with
us. We also asked the developers a pre-determined set
of questions to learn their thoughts.
We are currently in the process of modifying the
language definition and the prototype toolset in accor-
dance with the feedback received from the developers
and releasing a newer version of the language. We
also plan to design some case-studies from diverse in-
dustries for evaluating MVCLang so as to determine
whether (i) the language definition (i.e., syntax and
semantics) is adequate for modeling diverse problems
and (ii) the toolset detects the design errors and pro-
duces the expected ASP.NET code correctly or not.
REFERENCES
Barrett, R. and Delany, S. J. (2004). openmvc: A
non-proprietary component-based framework for web
applications. In PROC. 13 TH INTERNATIONAL
WORLD WIDE WEB CONFERENCE, pages 464–
465.
Burbeck, S. (1987). Applications programming in
smalltalk-80(tm): How to use model-view-controller
(mvc).
Cortez, R. and Vazhenin, A. (2015). Virtual model-view-
controller design pattern: Extended mvc for service-
oriented architecture. IEEJ Transactions on Electrical
and Electronic Engineering, 10(4):411–422.
Delessy-Gassant, N. and Fernandez, E. B. (2012). The se-
cure mvc pattern. In 1st LACCEI International Sym-
posium on Software Architecture and Patterns, pages
1–6.
Freeman, A. (2013). Pro ASP.NET MVC 5. Apress, USA,
5th edition.
Kraus, A., Knapp, A., and Koch, N. (2007). Model-driven
generation of web applications in UWE. In Koch, N.,
Vallecillo, A., and Houben, G., editors, Proceedings
of the 3rd International Workshop on Model-Driven
Web Engineering MDWE 2007, Como, Italy, July 17,
2007, volume 261 of CEUR Workshop Proceedings.
CEUR-WS.org.
Mahmoud, Q. H. and Maamar, Z. (2006). Applying the mvc
design pattern to multi-agent systems. In 2006 Cana-
dian Conference on Electrical and Computer Engi-
neering, pages 2420–2423.
Ozkaya, M. (2018a). Analysing uml-based software mod-
elling languages. Journal of Aeronautics and Space
Technologies, 11(2):119–134.
Ozkaya, M. (2018b). The analysis of architectural lan-
guages for the needs of practitioners. Softw., Pract.
Exper., 48(5):985–1018.
Reenskaug, T. (2003). The model-view-controller (mvc) its
past and present.
Rumbaugh, J., Jacobson, I., and Booch, G. (2004). Uni-
fied Modeling Language Reference Manual, The (2Nd
Edition). Pearson Higher Education.
Sauter, P., V
¨
ogler, G., Specht, G., and Flor, T. (2005). A
model-view-controller extension for pervasive multi-
client user interfaces. Personal Ubiquitous Comput.,
9(2):100?107.
Seidewitz, E. (2003). What models mean. IEEE Software,
20(5):26–32.
Taraghi, B. and Ebner, M. (2010). A simple mvc frame-
work for widget development. In Proceedings of the
3rd Workshop on Mashup Personal Learning Environ-
ments (MUPPLE10), pages 1–8. . ISSN 1613-0073.
Viyovi
´
c, V., Maksimovi
´
c, M., and Perisi
´
c, B. (2014). Sir-
ius: A rapid development of dsm graphical editor. In
IEEE 18th International Conference on Intelligent En-
gineering Systems INES 2014, pages 233–238.
MVCLang: A Software Modeling Language for the Model-View-Controller Design Pattern
83