Uma Ferramenta de Suporte ao Ensino de Modelagem de Sistemas Distribuídos Críticos: Uma Experiência Prática

  • Edwin Juan Monteiro Universidade Federal do Amazonas (UFAM)
  • Luis Rivero Universidade Federal do Maranhão (UFMA)
  • Raimundo Barreto Universidade Federal do Amazonas (UFAM)

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.
Publicado
29/10/2018
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.