MPS x Xtext: Uma comparação de Languages Workbenches para o desenvolvimento de DSLs

  • Yuri Alencar Lima UNIPAMPA
  • Samuel Modesto UNIPAMPA
  • Juliana Mareco Medeiros UNIPAMPA
  • João Batista Pedroso Carbonell UNIPAMPA
  • Elder de Macedo Rodrigues UNIPAMPA

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

Behrens,H.,Clay,M.,Efftinge,S.,Eysholdt,M.,Friese,P.,K¨ohnlein,J.,Wannheden,K., and Zarnekow, S. (2008). Xtext user guide. Dostupn´e z, page 7.

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.
Publicado
22/10/2019
LIMA, Yuri Alencar; MODESTO, Samuel; MEDEIROS, Juliana Mareco; CARBONELL, João Batista Pedroso; RODRIGUES, Elder de Macedo. MPS x Xtext: Uma comparação de Languages Workbenches para o desenvolvimento de DSLs. In: ESCOLA REGIONAL DE ENGENHARIA DE SOFTWARE (ERES), 3. , 2019, Rio do Sul. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2019 . p. 97-104.