Uma Ferramenta de Suporte ao Ensino de Modelagem de Sistemas Distribuídos Críticos: Uma Experiência Prática
Resumo
As equipes de desenvolvimento de software devem aplicar modelos que considerem aspectos específicos do domínio do problema, a fim de fornecer sistemas distribuídos confiáveis. Apesar de instituições de ensino superior aplicarem modelos conhecidos como o Processo de Estados Finitos (FSP), existem poucas ferramentas de apoio para o ensino destes modelos. Com o intuito de apoiar o ensino de FSP, foi desenvolvida a ferramenta fsp2java, que permite a validação do modelo gerado pelos alunos e geração de código Java. Este artigo apresenta o processo de desenvolvimento da ferramenta e sua avaliação experimental. Os resultados demonstram que a ferramenta tem potencial para futuramente atuar no ensino destes modelos.
Palavras-chave:
FSP, validação de modelos, geração de código Java, ensino de FSP, ferramentas de apoio
Referências
Ben-Ari, M. (2007). Teaching concurrency and nondeterminism with spin. ACM SIGCSE Bulletin, Volume 39.
Budinsky, F. J. et al. (1996). Automatic code generation from design patterns. IBM systems Journal, p. 151-171.
Carr, S. et al. (2003). ThreadMentor: a pedagogical tool for multithreaded programming. Journal on Educational Resources in Computing (JERIC), Volume 3.
Holzmann, G. J. (2004). The Spin Model Checker: Primer and Reference Manual. Addison-Wesley, Boston, MA.
Hopcroft, J. E e Ullman, J. D. (1979). Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, Reading, MA.
Lang, F. et al. (2010). Translating FSP into LOTOS and networks of automata. Formal Aspects of Computing, Vol: 22.
Leveson, N. G. e Turner, C. S. (1993). An investigation of the Therac-25 accidents. Computer, v. 26, n. 7, p. 18-41.
Lönnberg, J e Berglund, A. (2007). Students' understandings of concurrent programming. Proceedings of the Seventh Baltic Sea Conference on Computing Education Research - Volume 88. Australian Computer Society, Inc.
Magee, J. e Kramer, J. (2006). Concurrency: State Models & Java Programs. Wiley, 2nd edição.
Martínez-Torres, M. R. et al. (2008). A technological acceptance of e-learning tools used in practical and laboratory teaching, according to the European higher education area. Behaviour & Information Technology, Volume 27.
Moessenboeck, H. (1990). Coco/R: A Generator for Fast Compiler Front-Ends. ETH.
Monteiro, E. et al. (2018). fsp2java, Repositório GitHub, [link], Julho.
Tanembaum, A. S e Steen M. V. (2006). Sistemas Distribuídos: Princípios e Práticas. Pearson, 2nd edição.
Visser, W. et al. (2003). Model Checking Programs. Automated Software Engineering.
Budinsky, F. J. et al. (1996). Automatic code generation from design patterns. IBM systems Journal, p. 151-171.
Carr, S. et al. (2003). ThreadMentor: a pedagogical tool for multithreaded programming. Journal on Educational Resources in Computing (JERIC), Volume 3.
Holzmann, G. J. (2004). The Spin Model Checker: Primer and Reference Manual. Addison-Wesley, Boston, MA.
Hopcroft, J. E e Ullman, J. D. (1979). Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, Reading, MA.
Lang, F. et al. (2010). Translating FSP into LOTOS and networks of automata. Formal Aspects of Computing, Vol: 22.
Leveson, N. G. e Turner, C. S. (1993). An investigation of the Therac-25 accidents. Computer, v. 26, n. 7, p. 18-41.
Lönnberg, J e Berglund, A. (2007). Students' understandings of concurrent programming. Proceedings of the Seventh Baltic Sea Conference on Computing Education Research - Volume 88. Australian Computer Society, Inc.
Magee, J. e Kramer, J. (2006). Concurrency: State Models & Java Programs. Wiley, 2nd edição.
Martínez-Torres, M. R. et al. (2008). A technological acceptance of e-learning tools used in practical and laboratory teaching, according to the European higher education area. Behaviour & Information Technology, Volume 27.
Moessenboeck, H. (1990). Coco/R: A Generator for Fast Compiler Front-Ends. ETH.
Monteiro, E. et al. (2018). fsp2java, Repositório GitHub, [link], Julho.
Tanembaum, A. S e Steen M. V. (2006). Sistemas Distribuídos: Princípios e Práticas. Pearson, 2nd edição.
Visser, W. et al. (2003). Model Checking Programs. Automated Software Engineering.
Publicado
29/10/2018
Como Citar
MONTEIRO, Edwin Juan; RIVERO, Luis; BARRETO, Raimundo.
Uma Ferramenta de Suporte ao Ensino de Modelagem de Sistemas Distribuídos Críticos: Uma Experiência Prática. In: SIMPÓSIO BRASILEIRO DE INFORMÁTICA NA EDUCAÇÃO (SBIE), 29. , 2018, Fortaleza/CE.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2018
.
p. 218-227.
DOI: https://doi.org/10.5753/cbie.sbie.2018.218.
