MPS x Xtext: Uma comparação de Languages Workbenches para o desenvolvimento de DSLs
Resumo
Devido às dificuldades relacionadas à complexidade e comunicação entre membros de áreas diversas dentro de uma equipe, são desenvolvidas Linguagens de Domínio Específico (DSL) que podem minimizar a complexidade de algumas atividades. Existem diversas notações e formas de criar DSLs, uma delas é utilizando uma Language Workbench (LW), que desenvolve vários tipos de linguagem. Como é o caso da linguagem textual que é considerada clássica e mais comum. No entanto, a escolha da LW para que a DSL seja aceita com maior facilidade pelo o cliente se torna um problema no cenário de desenvolvimento. Com base nisto, este estudo realiza uma comparação entre duas LWs usadas na implementção de DSLs textuais, sendo elas a MPS e a Xtext.
Referências
da Costa Ara´ujo, I., da Silva, W. O., de Sousa Nunes, J. B., and Neto, F. O. (2016). Arrestt: a framework to create reproducible experiments to evaluate software testing techniques. In Proceedings of the 1st Brazilian Symposium on Systematic and Auto- mated Software Testing, page 1. ACM.
Erdweg,S.,VanDerStorm,T.,V¨olter,M.,Tratt,L.,Bosman,R.,Cook,W.R.,Gerritsen, A., Hulshout, A., Kelly, S., Loh, A., et al. (2015). Evaluating and comparing language workbenches: Existing results and benchmarks for the future. Computer Languages, Systems & Structures, 44:24–47.
Fowler, M. (2005). Language workbench.
Fowler, M. (2006). Internal dsl style.
Fowler, M. (2008). Projectional editing. ProjectionalEditing. html.
Fowler, M. (2010). Domain-specific languages. Pearson Education.
GitHub (2019). Github. https://github.com/.
Jelinek, T. (2019). Winometer 1.30. http://winometer.findmysoft.com/.
JetBrains (2019a). Domain-specific languages. JetBrains s.r.o.
JetBrains (2019b). How does mps work?. JetBrains s.r.o.
Kosar, T., Oliveira, N., Mernik, M., Pereira, M. J., Crepinsek, M., Cruz, D., and Hen- riques, P. (2010). Comparing general-purpose and domain-specific languages: An empirical study. ComSIS–Computer Science an Information Systems Journal, pages 247–264.
Mernik, M., Heering, J., and Sloane, A. M. (2005). When and how to develop domain- specifi c languages. ACM computing surveys (CSUR), 37(4):316–344.
Sirius (2019). Sirius. https://www.eclipse.org/sirius/.
Torsel, A.-M. (2011). Automated test case generation for web applications from a do- main specific model. In 2011 IEEE 35th Annual Computer Software and Applications Conference Workshops, pages 137–142. IEEE.
Wynne, M., Hellesoy, A., and Tooke, S. (2017). The cucumber book: behaviour-driven development for testers and developers. Pragmatic Bookshelf.
Zivanov, ˇZ., Raki´c, P., and Hajdukovi´c, M. (2008). Using code generation approach in developing kiosk applications. Computer Science and Information Systems, 5(1):41– 59.