Cargando…

Development of In-Browser Simulators for Medical Education: Introduction of a Novel Software Toolchain

BACKGROUND: Simulators used in teaching are interactive applications comprising a mathematical model of the system under study and a graphical user interface (GUI) that allows the user to control the model inputs and visualize the model results in an intuitive and educational way. Well-designed simu...

Descripción completa

Detalles Bibliográficos
Autores principales: Šilar, Jan, Polák, David, Mládek, Arnošt, Ježek, Filip, Kurtz, Theodore W, DiCarlo, Stephen E, Živný, Jan, Kofranek, Jiri
Formato: Online Artículo Texto
Lenguaje:English
Publicado: JMIR Publications 2019
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6786851/
https://www.ncbi.nlm.nih.gov/pubmed/31271154
http://dx.doi.org/10.2196/14160
_version_ 1783458147225042944
author Šilar, Jan
Polák, David
Mládek, Arnošt
Ježek, Filip
Kurtz, Theodore W
DiCarlo, Stephen E
Živný, Jan
Kofranek, Jiri
author_facet Šilar, Jan
Polák, David
Mládek, Arnošt
Ježek, Filip
Kurtz, Theodore W
DiCarlo, Stephen E
Živný, Jan
Kofranek, Jiri
author_sort Šilar, Jan
collection PubMed
description BACKGROUND: Simulators used in teaching are interactive applications comprising a mathematical model of the system under study and a graphical user interface (GUI) that allows the user to control the model inputs and visualize the model results in an intuitive and educational way. Well-designed simulators promote active learning, enhance problem-solving skills, and encourage collaboration and small group discussion. However, creating simulators for teaching purposes is a challenging process that requires many contributors including educators, modelers, graphic designers, and programmers. The availability of a toolchain of user-friendly software tools for building simulators can facilitate this complex task. OBJECTIVE: This paper aimed to describe an open-source software toolchain termed Bodylight.js that facilitates the creation of browser-based client-side simulators for teaching purposes, which are platform independent, do not require any installation, and can work offline. The toolchain interconnects state-of-the-art modeling tools with current Web technologies and is designed to be resilient to future changes in the software ecosystem. METHODS: We used several open-source Web technologies, namely, WebAssembly and JavaScript, combined with the power of the Modelica modeling language and deployed them on the internet with interactive animations built using Adobe Animate. RESULTS: Models are implemented in the Modelica language using either OpenModelica or Dassault Systèmes Dymola and exported to a standardized Functional Mock-up Unit (FMU) to ensure future compatibility. The C code from the FMU is further compiled to WebAssembly using Emscripten. Industry-standard Adobe Animate is used to create interactive animations. A new tool called Bodylight.js Composer was developed for the toolchain that enables one to create the final simulator by composing the GUI using animations, plots, and control elements in a drag-and-drop style and binding them to the model variables. The resulting simulators are stand-alone HyperText Markup Language files including JavaScript and WebAssembly. Several simulators for physiology education were created using the Bodylight.js toolchain and have been received with general acclaim by teachers and students alike, thus validating our approach. The Nephron, Circulation, and Pressure-Volume Loop simulators are presented in this paper. Bodylight.js is licensed under General Public License 3.0 and is free for anyone to use. CONCLUSIONS: Bodylight.js enables us to effectively develop teaching simulators. Armed with this technology, we intend to focus on the development of new simulators and interactive textbooks for medical education. Bodylight.js usage is not limited to developing simulators for medical education and can facilitate the development of simulators for teaching complex topics in a variety of different fields.
format Online
Article
Text
id pubmed-6786851
institution National Center for Biotechnology Information
language English
publishDate 2019
publisher JMIR Publications
record_format MEDLINE/PubMed
spelling pubmed-67868512019-10-16 Development of In-Browser Simulators for Medical Education: Introduction of a Novel Software Toolchain Šilar, Jan Polák, David Mládek, Arnošt Ježek, Filip Kurtz, Theodore W DiCarlo, Stephen E Živný, Jan Kofranek, Jiri J Med Internet Res Original Paper BACKGROUND: Simulators used in teaching are interactive applications comprising a mathematical model of the system under study and a graphical user interface (GUI) that allows the user to control the model inputs and visualize the model results in an intuitive and educational way. Well-designed simulators promote active learning, enhance problem-solving skills, and encourage collaboration and small group discussion. However, creating simulators for teaching purposes is a challenging process that requires many contributors including educators, modelers, graphic designers, and programmers. The availability of a toolchain of user-friendly software tools for building simulators can facilitate this complex task. OBJECTIVE: This paper aimed to describe an open-source software toolchain termed Bodylight.js that facilitates the creation of browser-based client-side simulators for teaching purposes, which are platform independent, do not require any installation, and can work offline. The toolchain interconnects state-of-the-art modeling tools with current Web technologies and is designed to be resilient to future changes in the software ecosystem. METHODS: We used several open-source Web technologies, namely, WebAssembly and JavaScript, combined with the power of the Modelica modeling language and deployed them on the internet with interactive animations built using Adobe Animate. RESULTS: Models are implemented in the Modelica language using either OpenModelica or Dassault Systèmes Dymola and exported to a standardized Functional Mock-up Unit (FMU) to ensure future compatibility. The C code from the FMU is further compiled to WebAssembly using Emscripten. Industry-standard Adobe Animate is used to create interactive animations. A new tool called Bodylight.js Composer was developed for the toolchain that enables one to create the final simulator by composing the GUI using animations, plots, and control elements in a drag-and-drop style and binding them to the model variables. The resulting simulators are stand-alone HyperText Markup Language files including JavaScript and WebAssembly. Several simulators for physiology education were created using the Bodylight.js toolchain and have been received with general acclaim by teachers and students alike, thus validating our approach. The Nephron, Circulation, and Pressure-Volume Loop simulators are presented in this paper. Bodylight.js is licensed under General Public License 3.0 and is free for anyone to use. CONCLUSIONS: Bodylight.js enables us to effectively develop teaching simulators. Armed with this technology, we intend to focus on the development of new simulators and interactive textbooks for medical education. Bodylight.js usage is not limited to developing simulators for medical education and can facilitate the development of simulators for teaching complex topics in a variety of different fields. JMIR Publications 2019-07-03 /pmc/articles/PMC6786851/ /pubmed/31271154 http://dx.doi.org/10.2196/14160 Text en ©Jan Šilar, David Polák, Arnošt Mládek, Filip Ježek, Theodore W Kurtz, Stephen E DiCarlo, Jan Živný, Jiri Kofranek. Originally published in the Journal of Medical Internet Research (http://www.jmir.org), 03.07.2019. https://creativecommons.org/licenses/by/4.0/This is an open-access article distributed under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work, first published in the Journal of Medical Internet Research, is properly cited. The complete bibliographic information, a link to the original publication on http://www.jmir.org/, as well as this copyright and license information must be included.
spellingShingle Original Paper
Šilar, Jan
Polák, David
Mládek, Arnošt
Ježek, Filip
Kurtz, Theodore W
DiCarlo, Stephen E
Živný, Jan
Kofranek, Jiri
Development of In-Browser Simulators for Medical Education: Introduction of a Novel Software Toolchain
title Development of In-Browser Simulators for Medical Education: Introduction of a Novel Software Toolchain
title_full Development of In-Browser Simulators for Medical Education: Introduction of a Novel Software Toolchain
title_fullStr Development of In-Browser Simulators for Medical Education: Introduction of a Novel Software Toolchain
title_full_unstemmed Development of In-Browser Simulators for Medical Education: Introduction of a Novel Software Toolchain
title_short Development of In-Browser Simulators for Medical Education: Introduction of a Novel Software Toolchain
title_sort development of in-browser simulators for medical education: introduction of a novel software toolchain
topic Original Paper
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6786851/
https://www.ncbi.nlm.nih.gov/pubmed/31271154
http://dx.doi.org/10.2196/14160
work_keys_str_mv AT silarjan developmentofinbrowsersimulatorsformedicaleducationintroductionofanovelsoftwaretoolchain
AT polakdavid developmentofinbrowsersimulatorsformedicaleducationintroductionofanovelsoftwaretoolchain
AT mladekarnost developmentofinbrowsersimulatorsformedicaleducationintroductionofanovelsoftwaretoolchain
AT jezekfilip developmentofinbrowsersimulatorsformedicaleducationintroductionofanovelsoftwaretoolchain
AT kurtztheodorew developmentofinbrowsersimulatorsformedicaleducationintroductionofanovelsoftwaretoolchain
AT dicarlostephene developmentofinbrowsersimulatorsformedicaleducationintroductionofanovelsoftwaretoolchain
AT zivnyjan developmentofinbrowsersimulatorsformedicaleducationintroductionofanovelsoftwaretoolchain
AT kofranekjiri developmentofinbrowsersimulatorsformedicaleducationintroductionofanovelsoftwaretoolchain