Explorando o Refinamento de uma DSL para Versões Baseadas em EMF, Eclipse Sirius e XText
Resumo
A Engenharia Dirigida por Modelos (MDE) possibilita descrever modelos abstratos em altos níveis e então transformá-los. Sistemas autoadaptativos são capazes de avaliar e alterar seu próprio comportamento em tempo de execução. Linguagens Específicas de Domínio (DSLs) podem ser descritas para abstrair tal complexidade. Este artigo apresenta um estudo exploratório no refinamento de uma DSL desse domínio. Três versões são implementadas uma textual (em Xtext) e duas gráficas (baseada em árvore EMF e em Eclipse Sirius). Após, são realizadas transformações destes modelos para código de plataforma alvo. Finalmente, são expostas conclusões da prática obtida com o aparato utilizado no ecossistema do Eclipse.
Referências
Basso, F. P., Pillat, R. M., Oliveira, T. C., and Fabro, M. D. D. (2014). Generative adaptation of model transformation assets: Experiences, lessons and drawbacks. In Proceedings of the 29th Annual ACM Symposium on Applied Computing, SAC ’14, pages 1027–1034. Bettini, L. (2016). Implementing domain-specific languages with Xtext and Xtend. Packt Publishing Ltd.
da Silva, J. P. S. (2018). SaSML: A UML-Based Domain-Specific Modeling Language for Self-Adaptive Systems Conceptual Modeling.
Eclipse Sirius (2018). Disponíıvel em: <https://www.eclipse.org/sirius/doc/> acesso em junho de 2020.
Favero, E. S., de Oliveira, I. A., nez, P. S. Z. N., and Basso, F. P. Estudo Exploratório no Refinamento de uma DSL para Versões Baseadas em EMF, EMF Forms e Angular
Kelly, S. and Tolvanen, J.-P. (2008). Domain Specific Modeling: Enabling Full Code Generation. IEEE Computer Society - John Wiley & Sons.
Lima, Y. A., Modesto, S., Medeiros, J. M., Carbonell, J. B. P., and de Macedo Rodrigues, E. (2019). MPS x Xtext: Uma comparaçãao de languages workbenches para o desenvolvimento de DSLs. In Anais da III Escola Regional de Engenharia de Software, pages 97–104, Porto Alegre, RS, Brasil. SBC.
Macías-Escrivá, F. D., Haber, R., del Toro, R., and Hernandez, V. (2013). Self-adaptive systems: A survey of current approaches, research challenges and applications , 40(18):7267 – 7279.
Neto, A., Carbonell, J., Marchezan, L., Rodrigues, E. M., Bernardino, M., Basso, F. P., and Medeiros, B. (2020). Systematic mapping study on domain-specific language development tools. Empir. Softw. Eng., 25(5):4205–4249.
Neto, V. V. G., Basso, F. P., dos Santos, R. P., Bakar, N. H., Kassab, M., Werner, C., de Oliveira, T. C., and Nakagawa, E. Y. (2019). Model-driven engineering ecosystems. In Proceedings of the 7th International Workshop on Software Engineering for Systems-of-Systems and 13th Workshop on Distributed Software Development, Software Ecosystems and Systems-of-Systems, SESoS-WDES 2019, Montreal, QC, Canada, May 28, 2019, pages 58–61. IEEE / ACM.
Petricic, A., Crnkovic, I., and Zagar, M. (2008). Models transformation between uml and a domain specific language. In Eight Conference on Software Engineering Research and Practice in Sweden (SERPS 08).
Schmidt, D. C. (2006). Model-driven engineering. IEEE Computer, 39(2). Steinberg, D., Budinsky, F., Paternostro, M., and Merks, E. (2008). EMF: Eclipse Modeling Framework (2nd Edition). Addison-Wesley Professional.
Voelter, M. (2009). Best practices for DSLs and odel-driven development. Journal of Object Technology, 8(6):79–102.
XText (2018). Disponível em: <https://www.eclipse.org/xtext/documentation/> acesso em junho de 2018;