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...
Autores principales: | , , , , , , , |
---|---|
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 |