<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.0 20040830//EN" "http://dtd.nlm.nih.gov/publishing/2.0/journalpublishing.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article" dtd-version="2.0">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">JMIR</journal-id>
      <journal-id journal-id-type="nlm-ta">J Med Internet Res</journal-id>
      <journal-title>Journal of Medical Internet Research</journal-title>
      <issn pub-type="epub">1438-8871</issn>
      <publisher>
        <publisher-name>JMIR Publications</publisher-name>
        <publisher-loc>Toronto, Canada</publisher-loc>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="publisher-id">v21i7e14160</article-id>
      <article-id pub-id-type="pmid">31271154</article-id>
      <article-id pub-id-type="doi">10.2196/14160</article-id>
      <article-categories>
        <subj-group subj-group-type="heading">
          <subject>Original Paper</subject>
        </subj-group>
        <subj-group subj-group-type="article-type">
          <subject>Original Paper</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>Development of In-Browser Simulators for Medical Education: Introduction of a Novel Software Toolchain</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="editor">
          <name>
            <surname>Eysenbach</surname>
            <given-names>Gunther</given-names>
          </name>
        </contrib>
      </contrib-group>
      <contrib-group>
        <contrib contrib-type="reviewer">
          <name>
            <surname>Tiller</surname>
            <given-names>Michael</given-names>
          </name>
        </contrib>
        <contrib contrib-type="reviewer">
          <name>
            <surname>von Mammen</surname>
            <given-names>Sebastian</given-names>
          </name>
        </contrib>
      </contrib-group>
      <contrib-group>
        <contrib contrib-type="author" id="contrib1">
          <name name-style="western">
            <surname>Šilar</surname>
            <given-names>Jan</given-names>
          </name>
          <degrees>Ing</degrees>
          <xref rid="aff1" ref-type="aff">1</xref>
          <xref rid="aff2" ref-type="aff">2</xref>
          <ext-link ext-link-type="orcid">http://orcid.org/0000-0002-2469-5092</ext-link>
        </contrib>
        <contrib contrib-type="author" id="contrib2">
          <name name-style="western">
            <surname>Polák</surname>
            <given-names>David</given-names>
          </name>
          <degrees>Bc</degrees>
          <xref rid="aff1" ref-type="aff">1</xref>
          <xref rid="aff2" ref-type="aff">2</xref>
          <ext-link ext-link-type="orcid">http://orcid.org/0000-0002-2599-2320</ext-link>
        </contrib>
        <contrib contrib-type="author" id="contrib3">
          <name name-style="western">
            <surname>Mládek</surname>
            <given-names>Arnošt</given-names>
          </name>
          <degrees>RNDr, PhD</degrees>
          <xref rid="aff1" ref-type="aff">1</xref>
          <xref rid="aff2" ref-type="aff">2</xref>
          <ext-link ext-link-type="orcid">http://orcid.org/0000-0003-0519-7351</ext-link>
        </contrib>
        <contrib contrib-type="author" id="contrib4">
          <name name-style="western">
            <surname>Ježek</surname>
            <given-names>Filip</given-names>
          </name>
          <degrees>Ing</degrees>
          <xref rid="aff1" ref-type="aff">1</xref>
          <ext-link ext-link-type="orcid">http://orcid.org/0000-0003-0629-7389</ext-link>
        </contrib>
        <contrib contrib-type="author" id="contrib5">
          <name name-style="western">
            <surname>Kurtz</surname>
            <given-names>Theodore W</given-names>
          </name>
          <degrees>MD</degrees>
          <xref rid="aff3" ref-type="aff">3</xref>
          <ext-link ext-link-type="orcid">http://orcid.org/0000-0003-0436-5456</ext-link>
        </contrib>
        <contrib contrib-type="author" id="contrib6">
          <name name-style="western">
            <surname>DiCarlo</surname>
            <given-names>Stephen E</given-names>
          </name>
          <degrees>PhD</degrees>
          <xref rid="aff4" ref-type="aff">4</xref>
          <ext-link ext-link-type="orcid">http://orcid.org/0000-0002-5357-2120</ext-link>
        </contrib>
        <contrib contrib-type="author" id="contrib7">
          <name name-style="western">
            <surname>Živný</surname>
            <given-names>Jan</given-names>
          </name>
          <degrees>Doc, MUDr, PhD</degrees>
          <xref rid="aff1" ref-type="aff">1</xref>
          <ext-link ext-link-type="orcid">http://orcid.org/0000-0002-1811-8977</ext-link>
        </contrib>
        <contrib contrib-type="author" id="contrib8" corresp="yes" equal-contrib="yes">
          <name name-style="western">
            <surname>Kofranek</surname>
            <given-names>Jiri</given-names>
          </name>
          <degrees>Doc, MUDr, CSc</degrees>
          <xref rid="aff1" ref-type="aff">1</xref>
          <address>
            <institution>Institute of Pathological Physiology</institution>
            <institution>First Faculty of Medicine</institution>
            <institution>Charles University</institution>
            <addr-line>U Nemocnice 5</addr-line>
            <addr-line>Praha 2</addr-line>
            <addr-line>Prague, 128-53</addr-line>
            <country>Czech Republic</country>
            <phone>420 777686868</phone>
            <email>kofranek@gmail.com</email>
          </address>
          <xref rid="aff2" ref-type="aff">2</xref>
          <ext-link ext-link-type="orcid">http://orcid.org/0000-0002-1183-2748</ext-link>
        </contrib>
      </contrib-group>
      <aff id="aff1">
        <label>1</label>
        <institution>Institute of Pathological Physiology</institution>
        <institution>First Faculty of Medicine</institution>
        <institution>Charles University</institution>
        <addr-line>Prague</addr-line>
        <country>Czech Republic</country>
      </aff>
      <aff id="aff2">
        <label>2</label>
        <institution>Creative Connections s.r.o.</institution>
        <addr-line>Prague</addr-line>
        <country>Czech Republic</country>
      </aff>
      <aff id="aff3">
        <label>3</label>
        <institution>Department of Laboratory Medicine</institution>
        <institution>University of California</institution>
        <addr-line>San Francisco, CA</addr-line>
        <country>United States</country>
      </aff>
      <aff id="aff4">
        <label>4</label>
        <institution>Department of Physiology, College of Osteopathic Medicine</institution>
        <institution>Michigan State University</institution>
        <addr-line>East Lansing, MI</addr-line>
        <country>United States</country>
      </aff>
      <author-notes>
        <corresp>Corresponding Author: Jiri Kofranek 
        <email>kofranek@gmail.com</email></corresp>
      </author-notes>
      <pub-date pub-type="collection">
        <month>07</month>
        <year>2019</year>
      </pub-date>
      <pub-date pub-type="epub">
        <day>03</day>
        <month>07</month>
        <year>2019</year>
      </pub-date>
      <volume>21</volume>
      <issue>7</issue>
      <elocation-id>e14160</elocation-id>
      <!--history from ojs - api-xml-->
      <history>
        <date date-type="received">
          <day>27</day>
          <month>3</month>
          <year>2019</year>
        </date>
        <date date-type="rev-request">
          <day>18</day>
          <month>4</month>
          <year>2019</year>
        </date>
        <date date-type="rev-recd">
          <day>1</day>
          <month>6</month>
          <year>2019</year>
        </date>
        <date date-type="accepted">
          <day>18</day>
          <month>6</month>
          <year>2019</year>
        </date>
      </history>
      <copyright-statement>©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.</copyright-statement>
      <copyright-year>2019</copyright-year>
      <license license-type="open-access" xlink:href="https://creativecommons.org/licenses/by/4.0/">
        <p>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.</p>
      </license>
      <self-uri xlink:href="https://www.jmir.org/2019/7/e14160" xlink:type="simple"/>
      <abstract>
        <sec sec-type="background">
          <title>Background</title>
          <p>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.</p>
        </sec>
        <sec sec-type="objective">
          <title>Objective</title>
          <p>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.</p>
        </sec>
        <sec sec-type="methods">
          <title>Methods</title>
          <p>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.</p>
        </sec>
        <sec sec-type="results">
          <title>Results</title>
          <p>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.</p>
        </sec>
        <sec sec-type="conclusions">
          <title>Conclusions</title>
          <p>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.</p>
        </sec>
      </abstract>
      <kwd-group>
        <kwd>education</kwd>
        <kwd>physiology</kwd>
        <kwd>computer simulation</kwd>
        <kwd>modeling</kwd>
        <kwd>Web browser</kwd>
        <kwd>Web technologies</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec sec-type="introduction">
      <title>Introduction</title>
      <sec>
        <title>Background</title>
        <p>Educators are tasked to develop innovative and creative educational materials that supplement and further enhance the traditional lecture format. This requires developing and disseminating materials that facilitate active learning, enhance problem-solving skills, and encourage discussion and interaction in small group environments. Computer simulations are one way to fulfill these requirements.</p>
        <p>A simulation application, commonly called a simulator, comprises a mathematical model of the simulated object (a physiological system in this case) and a graphical user interface (GUI). The user interface visually represents the simulated object and its state (as computed by the model) and allows students to control the model via various inputs and controls.</p>
        <p>Simulators are used globally to motivate students, enhance their understanding of complex topics, and foster critical thinking and problem-solving skills [<xref ref-type="bibr" rid="ref1">1</xref>,<xref ref-type="bibr" rid="ref2">2</xref>]. We have been creating and using simulators designed in various technologies [<xref ref-type="bibr" rid="ref3">3</xref>] in our classrooms for many years with considerable success [<xref ref-type="bibr" rid="ref4">4</xref>].</p>
        <p>Complex simulators can be confusing for students and thus ineffective without additional explanation. New and effective teaching tools include interactive textbooks that integrate texts with simulators (interactive visualizations driven by models). Students can experiment with the systems and concepts under study using a simulator and thus verify and deepen their understanding. The function of the simulator is explained in the accompanying text and supplemented with suitable scenarios so that students gain maximal utility from the experience. As an example, the interactive textbooks on cardiovascular physiology by Burkhoff and Dickstein are among the first works in this field available on the internet [<xref ref-type="bibr" rid="ref5">5</xref>] or as an iPad app [<xref ref-type="bibr" rid="ref6">6</xref>].</p>
        <p>Our goal was to develop a technology for the creation of similar teaching materials, but in contrast to Burkhoff [<xref ref-type="bibr" rid="ref5">5</xref>], our innovations are designed to be platform independent and able to work offline. This technology is free and thus available for anyone to create new interactive teaching materials.</p>
        <p>Creating books composed of texts and pictures or animations is technically not difficult. There are several suitable software tools available for this purpose. The challenging task is to include model-driven simulators that allow students to change variables, make predictions, and discover how the system works.</p>
        <p>Production of teaching simulators is a demanding and multifaceted task requiring an interdisciplinary team of experts from multiple areas including education, graphics, modeling, and software development.</p>
        <p>To begin the process, the educator defines the teaching objectives of the simulator, determines its main design to meet the objectives, and proposes scenarios that the simulator should be able to demonstrate. The educator also defines the demands on the model by determining the (physiological) processes that should be modeled, the parameters that are controlled by the user, and the variables that are displayed in the GUI. The educator also conceptually designs the GUI so that the system and its state is presented in a didactic way.</p>
        <p>The modeler begins by finding a suitable model in the literature and often combines several models. If a convenient model cannot be found, the modeler derives the model from elementary (eg, physical and physiological) principles. At this point, the modeler implements the model in a programming or modeling language so that its calculation may be run on a computer. If the model is newly developed, it should be verified by comparing its results with credible reference data [<xref ref-type="bibr" rid="ref7">7</xref>].</p>
        <p>The artist designs the visual appearance of the GUI according to the educator’s assignment and decides the complete arrangement, including the colors and fonts. The artist also prepares all the drawings including interactive animations that may be linked to respective model variables and thus controlled by the model.</p>
        <p>The software developer composes the GUI using the graphical components, stitches it with the model, and produces the final simulator. User controllable elements are bound with the inputs of the model. Output variables from the model are connected with the interactive graphical elements, plots, and other indicators of the GUI. The final application is then deployed on the target platform that can be a Web page or a classical native binary, and eventually, it is embedded into a broader teaching unit.</p>
        <p>Finally, the educator tests the simulator in an educational setting and, based on the feedback from students, may decide to iterate a new version of the simulator (<xref rid="figure1" ref-type="fig">Figure 1</xref>). The specific roles of the developers, development phases, and several patterns that are useful through the process are described in CoSMos methodology in more detail [<xref ref-type="bibr" rid="ref8">8</xref>].</p>
        <fig id="figure1" position="float">
          <label>Figure 1</label>
          <caption>
            <p>Process of simulator development.</p>
          </caption>
          <graphic xlink:href="jmir_v21i7e14160_fig1.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
        </fig>
      </sec>
      <sec>
        <title>Related Work and Approaches</title>
        <p>We describe our software engineering efforts toward the development of a lightweight, easy-to-use, platform-independent, open, and standardized framework for creating interactive equation-based simulations for medical education. In this section, we discuss several existing tools related to simulator authoring to explain the reasons why we decided to develop a new toolchain and support our technological decisions.</p>
        <sec>
          <title>Stand-Alone Executables</title>
          <p>LINDSAY Virtual Human [<xref ref-type="bibr" rid="ref9">9</xref>] is a 3D interactive model of human anatomy and physiology for medical education. The main focus is on anatomy. This innovative program allows <italic>virtual dissection</italic> and <italic>traveling through the body</italic> visualizations. The physiology models within LINDSAY Virtual Human are mainly implemented using the agent-based approach [<xref ref-type="bibr" rid="ref10">10</xref>].</p>
          <p><italic>LINDSAY</italic> has been used in several projects [<xref ref-type="bibr" rid="ref9">9</xref>]. For example, the <italic>anARtonomy</italic> application allows the display and manipulation of anatomical models of several human systems and organs in augmented reality. Similarly, <italic>Zygote 3D Anatomy Atlas &#38; Dissection Lab</italic> is a human anatomy interactive application available for iPad, iPhone, and iPod touch. It is composed of more than 4000 anatomical structures and allows the virtual dissection of any anatomical system. Finally, <italic>Prokaryo</italic> is an interactive simulation application of an <italic>Escherichia</italic> <italic>coli</italic> bacterium for the Mac OS. It presents intracellular structures and uses an agent-based physiological model.</p>
          <p>The agent-based modeling approach [<xref ref-type="bibr" rid="ref11">11</xref>] is a useful method applied in many areas where an interaction of multiple autonomous individuals (agents) is simulated. In biology, this method is used, for example, in epidemiological modeling [<xref ref-type="bibr" rid="ref12">12</xref>], cellular modeling (eg, immune system [<xref ref-type="bibr" rid="ref13">13</xref>] or tumor growth [<xref ref-type="bibr" rid="ref14">14</xref>]), or molecular modeling [<xref ref-type="bibr" rid="ref15">15</xref>]. We focus mainly on physiological models of organs or their systems where traditional modeling based on mathematical relations is predominant. The models we base our simulators on are usually published as systems of mathematical equations, and thus, usage of the equation-based approach is straightforward. Agent-based and equation-based modeling approaches are compared by Parunak et al [<xref ref-type="bibr" rid="ref16">16</xref>].</p>
          <p><italic>Pulse Physiology Engine</italic> [<xref ref-type="bibr" rid="ref17">17</xref>] is a comprehensive open-source human physiology model. It is implemented including a solver in C++ and it integrates many physiological systems [<xref ref-type="bibr" rid="ref18">18</xref>].</p>
          <p>Teaching simulators may be based on similar comprehensive physiological models. These models are required for several applications including virtual patient simulators [<xref ref-type="bibr" rid="ref19">19</xref>], which simulate certain diseases, complex pathological states, or the responses of the body to medications that cannot be described with a simple model.</p>
          <p>Subsystems of complex models usually interact in complicated feedback loops, which may be difficult to understand. Therefore, simulators explaining 1 particular system or a body organ are easier to comprehend when based on a smaller model focused only on that system [<xref ref-type="bibr" rid="ref20">20</xref>], that is, because the single system or the organ is <italic>disconnected</italic> from related subsystems and is not affected by the feedback loops. This method of disconnecting the subsystem is called <italic>Ceteris paribus</italic> (other things equal). Once the student grasps the behavior of an isolated subsystem, more complex and integrated models and simulators may be used to simulate how the subsystems mutually interact.</p>
          <p>One important and pioneering tool in simulator production is National Instruments’ <italic>LabVIEW</italic>. LabVIEW is designed for control and optimization in engineering with the ability to easily connect to external hardware. Although it was not originally developed for this purpose, it can produce a complete simulator. It allows the developer to implement the model using the block-oriented approach [<xref ref-type="bibr" rid="ref21">21</xref>] and produce the user interface.</p>
          <p>LabVIEW produces an installable executable for multiple operating systems. It has been used for the production of physiological teaching simulators for a long period of time [<xref ref-type="bibr" rid="ref22">22</xref>] and is currently used for that purpose [<xref ref-type="bibr" rid="ref23">23</xref>,<xref ref-type="bibr" rid="ref24">24</xref>], for example, simulators created by AP. Shepherd with LabVIEW are freely available on the Life Science Teaching Resource Community Web page [<xref ref-type="bibr" rid="ref25">25</xref>]. LabVIEW was also used to control a hardware-based physiological mannequin simulator [<xref ref-type="bibr" rid="ref26">26</xref>].</p>
          <p>In the block-oriented modeling approach used in LabVIEW, the model comprises functional blocks (addition, multiplication, integration, and other more specific blocks). These blocks are connected by their inputs and outputs. The model input values are propagated through the block network and are modified and the output values are calculated [<xref ref-type="bibr" rid="ref27">27</xref>]. The implementation is visual.</p>
          <p>The disadvantage of the block-oriented modeling approach is that the modeler must know which variables are input and which are output before the model implementation. The modeler also has to derive the causality of the model evaluation, that is, the order in which the variables will be successively evaluated [<xref ref-type="bibr" rid="ref27">27</xref>].</p>
          <p>We find the equation-based modeling approach more convenient than the block-oriented approach. The reason for this is that with the equation-based modeling approach, the model components are implemented without any assumption about causality. The causality is resolved by the modeling tool automatically [<xref ref-type="bibr" rid="ref27">27</xref>] when the model is being translated. Thus, the model components are reusable in different contexts. This makes the approach more convenient for complex models. We strongly prefer tools that offer the advantages of equation-based modeling. These considerations are explained in the <italic>Modelica</italic> section below in more detail.</p>
          <p>The GUI is usually composed using predefined components in LabVIEW according to the tutorial [<xref ref-type="bibr" rid="ref28">28</xref>] and the LabVIEW simulators [<xref ref-type="bibr" rid="ref25">25</xref>]. These components are designated for the technical domain; thus, the resulting simulator usually has an industrial look.</p>
          <p>New interactive animations may be included as a sequence of images using the <italic>picture ring</italic> function as recently described by Jerome [<xref ref-type="bibr" rid="ref29">29</xref>]. Index of the image in the sequence may be bound to a model variable. This approach is convenient to control the animation with a single variable.</p>
          <p>There are some new picture functions available [<xref ref-type="bibr" rid="ref30">30</xref>] that could facilitate the complex animation production in recent versions of LabVIEW. The LabVIEW NXG Web Module [<xref ref-type="bibr" rid="ref31">31</xref>,<xref ref-type="bibr" rid="ref32">32</xref>] allows the programmer to export LabVIEW user interface to a Web browser using an approach technically similar to our own. Both these functionalities make LabVIEW possibly even more useful for teaching simulator production, but we have not found any physiological simulators using these new functions.</p>
          <p>In addition to the block-oriented modeling issues discussed above, LabVIEW is a commercial product. This limits its use to individuals who are strongly determined to engage in modeling and simulator development because it requires an investment in a software license. In our experience, employment of commercial products may have the unfavorable effect of discouraging our occasional collaborators from participating in the simulator development.</p>
          <p>The iPad version of cardiovascular textbooks by Leisman and Burkhoff [<xref ref-type="bibr" rid="ref6">6</xref>] is another example of a standalone simulator.</p>
          <p>In general, the distribution of a standalone executable may bring installation issues and discourage its use. The executables are platform dependent and must be generated or compiled for each platform separately.</p>
        </sec>
        <sec>
          <title>Browser-Based Client-Server</title>
          <p>Examples of client-server simulators include JustPhysiology [<xref ref-type="bibr" rid="ref33">33</xref>] and the Web version of the cardiovascular textbook series by Burkhoff et al [<xref ref-type="bibr" rid="ref5">5</xref>]. Several technical approaches of how to realize client-server Web-based simulators with special emphasis on Modelica modeling are discussed by Meyer et al [<xref ref-type="bibr" rid="ref34">34</xref>].</p>
          <p>A platform for interactive Modelica content called Modelica University was developed by Tiller and Winkler [<xref ref-type="bibr" rid="ref35">35</xref>]. Simulators created using this platform are included in the <italic>Modelica by Example</italic> Web-based book by Tiller [<xref ref-type="bibr" rid="ref36">36</xref>]. The simulator GUI is composed manually in JavaScript.</p>
          <p>Žáková and Cech [<xref ref-type="bibr" rid="ref37">37</xref>] implemented a Web service that runs a Modelica model and implements the JSON-RPC (JavaScript object notation remote procedure call) protocol [<xref ref-type="bibr" rid="ref38">38</xref>] for the communication with a client application. This application allows individuals to remotely upload, translate, and simulate a model. There are no special tools for the client application production. The client applications using this server back-end may be created using any suitable technology. Several teaching simulators using this technology were created [<xref ref-type="bibr" rid="ref37">37</xref>], mostly for a course of Control Engineering. We did not find a website of the project nor any realized simulators; therefore, we assume that the project is available for the author’s purposes only.</p>
          <p>Simulators using the browser-based client-server approach are already platform independent and do not require any installation. Unfortunately, usage in a classroom or during a lecture, where a multitude of students may use the simulator simultaneously, ramps up the computational and bandwidth demands on the server. This can be a major disadvantage.</p>
          <p>Latency can be an additional disadvantage of this approach. In fast-paced games, latency greater than approximately 50 ms starts degrading the user experience [<xref ref-type="bibr" rid="ref39">39</xref>]. Although it is clear that teaching simulators are not as sensitive to latency as real-time gaming, low latency contributes to optimal user experience. For example, when the interaction with the UI produces instant effects, users can continuously move a slider to control a model parameter and quickly observe progressive responses of the system.</p>
          <p>The total latency is caused by model evaluation, graphics rendering, and, in the case of client-server architecture, the network communication delay. The internet connection must be fast, and the server must be close enough to achieve low network latency [<xref ref-type="bibr" rid="ref40">40</xref>].</p>
          <p>To solve the issue with an unstable connection in a client-server architecture that would cause the animation to stutter, we would use a caching strategy such as has been done by Brukhoff [<xref ref-type="bibr" rid="ref5">5</xref>], which would enable us to produce smoothly running animations.</p>
          <p>Another disadvantage of this approach is that these simulators require continual connection to the server back-end, and thus, this approach is not suitable for interactive textbooks that need to work offline.</p>
          <p>We consider the client-side approach more suitable because renting a cloud service providing enough computing power to serve numerous end users simultaneously and having data centers distributed around the globe to achieve a reasonable round-trip time may become expensive for many individuals and small teams.</p>
          <p>On the other hand, the client-server approach is convenient in situations when the client device has insufficient performance to evaluate the model in reasonable time, and the server may deliver the results faster.</p>
        </sec>
        <sec>
          <title>Browser-Based Client Side</title>
          <p>To counter the drawbacks of stand-alone and client-server solutions, simulators could be run directly on the client, that is, the browser. Client-side simulators are platform independent. Additional advantages include that they do not require any installation, do not put a heavy load on the server, and can operate on a slower internet connection or fully offline. A major difficulty with this approach is the need to rework any existing platform into a JavaScript codebase. Some pioneering work has already been completed by Wagner [<xref ref-type="bibr" rid="ref41">41</xref>].</p>
          <p>Specifically, we developed a Bodylight(.Net) simulator framework [<xref ref-type="bibr" rid="ref42">42</xref>], built on a Microsoft Silverlight browser plug-in. In this project, the OpenModelica compiler was extended so that it could translate the model in <italic>C#</italic> language. The OpenModelica runtime and solvers were rewritten manually into the <italic>F#</italic> language. A problem with this approach was that OpenModelica is developing rapidly, and the rewritten runtime must be updated constantly to stay compatible with the rest of the system. The Silverlight plug-in was finally discontinued, and the framework became obsolete and useless.</p>
          <p>The <italic>openmodelica-javascript</italic> project by Tom Short [<xref ref-type="bibr" rid="ref43">43</xref>] extends OpenModelica so that it can compile the models and simulation runtime automatically to JavaScript using <italic>Emscripten</italic> (we also use emscripten). Browser-based simulators comprising text boxes to input parameter values and plots to visualize results can be created easily. As the simulation runtime code is generated automatically, it is much less laborious to keep the system compatible with OpenModelica compared with our obsolete Bodylight(.NET) solution based on Silverlight. The disadvantage is that this project relies only on OpenModelica, and other modeling tools are not supported. Furthermore, more complex GUI elements including sliders and interactive animations are not supported (although it is probably possible to implement them manually). Another concern is that it does not offer any tool to easily compose the GUI, for example, in a drag-and-drop fashion. Owing to the changes in OpenModelica, the openmodelica-javascript project does not currently work with recent versions of OpenModelica (personal communication with Tom Short).</p>
        </sec>
        <sec>
          <title>Related Software Frameworks and Libraries</title>
          <p>In addition to the technologies and the software libraries described in the Methods section, there are several other technologies that could possibly be beneficial for use. Here, we discuss some of them.</p>
          <p><italic>BabylonJS</italic> [<xref ref-type="bibr" rid="ref44">44</xref>] is a free JavaScript 3D engine for games and other 3D visualizations in a Web browser using WebGL. It has several applications for medical e-learning (electronic learning). For example, EducaAnatomia3D is a serious game for human anatomy education [<xref ref-type="bibr" rid="ref45">45</xref>]. The 3D models may be created in Blender [<xref ref-type="bibr" rid="ref46">46</xref>] (a free 3D modeling tool) and exported for use in BabylonJS [<xref ref-type="bibr" rid="ref47">47</xref>]. This combination of BabylonJS and Blender could conveniently extend our toolchain that aims to be based on free tools.</p>
          <p><italic>Tree.js</italic> [<xref ref-type="bibr" rid="ref48">48</xref>] is another JavaScript engine for 3D visualizations in a Web browser based on WebGL, with applications in medical e-learning [<xref ref-type="bibr" rid="ref49">49</xref>]. If we decide to include support for 3D graphics, for example, to enable more accurate anatomical visualizations, we could use one of these 2 engines.</p>
          <p>Another important game engine and development platform is <italic>Unity</italic> [<xref ref-type="bibr" rid="ref50">50</xref>], developed by the Unity Technologies company. It allows the innovator to create both 2D and 3D interactive experiences. Unity is available in several versions, and one of the versions is free. Another important aspect of Unity is that it has its own development editor. The main programming language is C#. Unity allows the innovator to build applications for many different platforms. One of the target platforms is WebAssembly [<xref ref-type="bibr" rid="ref51">51</xref>], which allows the produced simulator to be run in the browser. It is used for the development of serious e-learning games [<xref ref-type="bibr" rid="ref52">52</xref>-<xref ref-type="bibr" rid="ref56">56</xref>] in many fields including medical education [<xref ref-type="bibr" rid="ref57">57</xref>]. We have previously used Unity in combination with Bodylight(.Net) framework in <italic>Surviving Sepsis - a 3D integrative educational simulator</italic> proof-of-concept project (for the Windows Store platform) [<xref ref-type="bibr" rid="ref58">58</xref>]. Unity is highly convenient to develop complex serious games. If we decide to focus on serious game development, we would consider using Unity, although it is a commercial product.</p>
        </sec>
      </sec>
      <sec>
        <title>Goals for the New Toolchain</title>
        <p>There are excellent Web technologies available based on JavaScript, including many useful frameworks and libraries that almost equalize the capabilities of browser and native applications. There are also great modeling tools available. The problem is that the models are deployed in native programming languages (C or C++) so that they cannot be run in a browser. Our goal was to fill this gap and allow the use of the dedicated modeling tools and enable running the resulting models in the browser without a server-side back-end. On the basis of our previous experience, we have formulated the following requirements on the tool for simulator production:</p>
        <list list-type="bullet">
          <list-item>
            <p><italic>Browser based:</italic> to achieve widespread compatibility and avoid the necessity of an installation process, which could discourage many users.</p>
          </list-item>
          <list-item>
            <p><italic>Client side:</italic> so that a multitude of users are able to run the simulator simultaneously without renting expensive computing hardware from a third-party provider.</p>
          </list-item>
          <list-item>
            <p><italic>Future proof:</italic> the toolchain should be based on standards, which are unlikely to become obsolete in a reasonable time frame.</p>
          </list-item>
          <list-item>
            <p><italic>User friendly:</italic> to enable all those participating in the simulator production to use an appropriate tool for their task so that the work is efficient and pleasing and the resulting simulator is satisfactory.</p>
          </list-item>
          <list-item>
            <p><italic>Equation based:</italic> to facilitate model development, their implementation in an equation-based language, preferably Modelica (advantages discussed in the <italic>Methods</italic> section) should be allowed.</p>
          </list-item>
          <list-item>
            <p><italic>Open source</italic> and <italic>freely available:</italic> our aim in building the toolchain is to use relevant open source projects and reap the fruits of the hard work of the developers and also contribute back and make the toolkit available for anyone to use under a copyleft license. Open-source licensing should also allow the project to grow in the future and nurture the collaboration between the developers and users. It is especially important for the modeling tool to be freely available. We often collaborate on model development with colleagues from different workplaces, and with a freely available tool, anyone can participate.</p>
          </list-item>
        </list>
        <p>There are many tools available, which are useful in the process of the simulator production, and they meet several of the requirements. However, we were unable to find a single tool or toolchain meeting all our requirements. To address this limitation, we developed a toolchain that meets all our specific requirements.</p>
      </sec>
    </sec>
    <sec sec-type="methods">
      <title>Methods</title>
      <p>We created a new toolchain within the confines of the specified requirements, using the following technologies.</p>
      <sec>
        <title>Modelica</title>
        <p>Modelica [<xref ref-type="bibr" rid="ref59">59</xref>-<xref ref-type="bibr" rid="ref61">61</xref>] is an equation-based, object-oriented, open standard language for the simulation of complex physical systems.</p>
        <p>In the equation-based (acausal) approach, the model is composed of equations that state the relationship between the variables (eg, <italic>x</italic><sup><italic>2</italic></sup>  <italic>+ y</italic><sup><italic>2</italic></sup>  <italic>= 1</italic>) as opposed to assignments where 1 output variable (on the left-hand side) is assigned a value of an evaluated expression (right-hand side; eg, <italic>y:=</italic> sqrt <italic>(1 – x</italic><sup><italic>2</italic></sup><italic>)</italic>) [<xref ref-type="bibr" rid="ref62">62</xref>]. The causality of the evaluation (order in which equations are evaluated and which variables are calculated from which equation) does not have to be known in the modeling phase. It is derived automatically by the solution tool later [<xref ref-type="bibr" rid="ref62">62</xref>]. We prefer this approach over block-oriented modeling because, in equation-oriented modeling, the modeler saves the labor of the causality derivation. Moreover, because the model components are implemented without any assumption about causality, they may be easily extended or later reused in various models, where the causality differs [<xref ref-type="bibr" rid="ref62">62</xref>]. This is very useful in creating reusable component libraries. We base our simulators on models that are usually published as equation systems, and thus, their implementation in the equation-based approach is straightforward.</p>
        <p>Below, we illustrate the difference between both approaches with example of harmonic oscillator model described in the equation <italic>m∙x'' = –k∙x – c∙x'</italic>, where <italic>x</italic> is position, <italic>m</italic> represents mass, <italic>k</italic> represents spring constant, and <italic>c</italic> represents damping constant. Implementation of this model using the block-oriented approach in Modelica (as Modelica supports the block-oriented modeling as well) is illustrated in <xref rid="figure2" ref-type="fig">Figure 2</xref>. The code of the same model implemented using the equation-based approach in Modelica is listed in <xref rid="figure3" ref-type="fig">Figure 3</xref>. The equation-based (acausal) and block-oriented approaches are compared in several reports [<xref ref-type="bibr" rid="ref27">27</xref>,<xref ref-type="bibr" rid="ref62">62</xref>,<xref ref-type="bibr" rid="ref63">63</xref>].</p>
        <p>Owing to its <italic>object-oriented</italic> nature, Modelica scales very well for large complex models [<xref ref-type="bibr" rid="ref62">62</xref>]. Basic model components (classes) are defined by equations. Components have connectors. More complex components are composed of other components that are connected using their connectors in a visual way. These connections are rendered into additional equations binding the variables of the connected component. Inheritance is also supported and enables significant code reuse. Numerous Modelica libraries of predefined components from many different domains exist. A Modelica library for physiology called Physiolibrary was developed in our laboratory [<xref ref-type="bibr" rid="ref64">64</xref>,<xref ref-type="bibr" rid="ref65">65</xref>]. The harmonic oscillator model implemented using Modelica Standard Library is illustrated in <xref rid="figure4" ref-type="fig">Figure 4</xref>. The model appearance intuitively explains the modeled system.</p>
        <p>Modelica is supported by many different modeling tools, primarily because of the fact that it is an <italic>open standard</italic>. This is important because it allows the use of multiple tools that broaden and expand the modeling capabilities. We use either OpenModelica [<xref ref-type="bibr" rid="ref66">66</xref>], which is free, or Dassault Systèmes Dymola [<xref ref-type="bibr" rid="ref67">67</xref>], which is a more advanced, but a proprietary modeling tool.</p>
        <p>Modelica is an open-standard language supported by open-source tools and, as such, is ideal for model sharing [<xref ref-type="bibr" rid="ref68">68</xref>].</p>
        <fig id="figure2" position="float">
          <label>Figure 2</label>
          <caption>
            <p>Harmonic oscillator model implemented using block-oriented approach in Modelica.</p>
          </caption>
          <graphic xlink:href="jmir_v21i7e14160_fig2.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
        </fig>
        <fig id="figure3" position="float">
          <label>Figure 3</label>
          <caption>
            <p>Harmonic oscillator model implemented using equation-based approach in Modelica.</p>
          </caption>
          <graphic xlink:href="jmir_v21i7e14160_fig3.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
        </fig>
        <fig id="figure4" position="float">
          <label>Figure 4</label>
          <caption>
            <p>Harmonic oscillator model implemented using Modelica Standard Library.</p>
          </caption>
          <graphic xlink:href="jmir_v21i7e14160_fig4.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
        </fig>
      </sec>
      <sec>
        <title>Functional Mock-Up Interface</title>
        <p>Functional Mock-up Interface (FMI) [<xref ref-type="bibr" rid="ref69">69</xref>] is a standard for exchanging and cosimulation of dynamic models between different independent tools and applications. Both Dymola and OpenModelica allow for the model to be exported as a Functional Mock-up Unit (FMU). When exported in the mode <italic>FMI for Co-Simulation</italic>, the unit contains a simulation runtime, which takes care of the model calculation and execution. The data exchange with the outside world is restricted to discrete communication points, and between them, the unit is solved independently by the included solver [<xref ref-type="bibr" rid="ref70">70</xref>].</p>
        <p>The FMU can be exported with source code necessary to compile binaries, which implement the Co-Simulation standard. This ability is very advantageous for our purposes as we can compile the source code into a Web language and have full access to the FMI for Co-Simulation features in the browser, which allows us to interact with the model easily.</p>
        <p>The FMI standard ensures compatibility with future versions of both OpenModelica and Dymola. Furthermore, the Bodylight.js system can be easily adapted to support other simulation tools implementing the FMI export option.</p>
      </sec>
      <sec>
        <title>JavaScript</title>
        <p>JavaScript is a multiplatform, object-oriented, interpreted programming language [<xref ref-type="bibr" rid="ref71">71</xref>]. It was originally developed by Brendan Eich in 1995. JavaScript is the most notable implementation of the ECMAScript standard. It is supported by all recent important Web browsers [<xref ref-type="bibr" rid="ref72">72</xref>]. It is widely used today to enable interaction and dynamic behavior on websites.</p>
      </sec>
      <sec>
        <title>JavaScript Libraries</title>
        <p>We use the <italic>GrapesJS</italic> open-source Web Builder framework [<xref ref-type="bibr" rid="ref73">73</xref>] as our HyperText Markup Language (HTML) layout engine. GrapesJS allows us to use the drag-and-drop approach for designing how the simulators appear. There is a set of built-in blocks available to build the app, and it allows for easy customization and production of additional blocks as well. Available configuration panels enable the programmer to edit properties and the behavior of the components on the canvas. The modular design of GrapesJS allows us to hook into its user interface and extend it as a base of the main user experience.</p>
        <p><italic>EaselJS</italic> [<xref ref-type="bibr" rid="ref74">74</xref>] is a component of the CreateJS toolkit. It allows for easy manipulation of HTML5 Canvas elements and can be used to create games, art, and other graphical experiences. More importantly, for our interests, Adobe Animate natively supports the export of animations to EaselJS. We can either use Adobe Animate to design the animations or EaselJS directly to create original animations.</p>
        <p>Finally, <italic>Plotly.js</italic> [<xref ref-type="bibr" rid="ref75">75</xref>] is a high-level, declarative charting library implemented in JavaScript. It can be used to display many types of charts and graphs.</p>
      </sec>
      <sec>
        <title>WebAssembly</title>
        <p>WebAssembly [<xref ref-type="bibr" rid="ref76">76</xref>] defines a binary instruction format to be executed inside a stack-based virtual machine. Its primary use is to be implemented inside Web browsers, aiming to provide code execution at near-native speeds. The binary format is designed to be efficient with respect to size and load time, reducing the time necessary to transmit and load the code.</p>
        <p>WebAssembly is a target of compilation for high-level programming languages such as C or C++, enabling the compilation of existing and new code written in C/C++ to the browser platform. The compiler that facilitates this is the open-source project, Emscripten [<xref ref-type="bibr" rid="ref77">77</xref>,<xref ref-type="bibr" rid="ref78">78</xref>], which we use to compile source code inside the FMU. The compiled code can be considered obfuscated to the level similar to those with other binary instruction format representations. The algorithms can be disassembled into a pseudocode and with great effort and investment of time can even be reverse engineered [<xref ref-type="bibr" rid="ref79">79</xref>]. For most practical purposes, the models can be considered obfuscated when compiled to WebAssembly.</p>
      </sec>
    </sec>
    <sec sec-type="results">
      <title>Results</title>
      <sec>
        <title>Overview</title>
        <p>The new Bodylight.js toolchain uses the work of several third-party open-source tools and compilers and other newly written tools. The Web page [<xref ref-type="bibr" rid="ref80">80</xref>] of this project includes documentation and tutorials. In this section, we describe the complete workflow in more detail and define all the processes involved and the tools used. We focus particular attention on the newly developed <italic>Bodylight.js Composer</italic>, which enables one to create the final simulator by composing the GUI using animations, plots, and control elements in a drag-and-drop style and bind them to the model variables.</p>
      </sec>
      <sec>
        <title>Model Processing</title>
        <p>The model workflow is schematically illustrated in <xref rid="figure5" ref-type="fig">Figure 5</xref>. The model is written in Modelica, usually inside one of the popular Modelica IDEs such as the open-source OpenModelica or the proprietary and well-established Dymola.</p>
        <p>The next step is to export the model into an FMU. Dymola supports the export of source code inside the FMU under their <italic>Source code generation</italic> license [<xref ref-type="bibr" rid="ref81">81</xref>], and OpenModelica seems to always export the source code inside the FMU. Unfortunately, OpenModelica, as of the date of publication, only allows the export of a Euler solver, which is insufficient for many models.</p>
        <p>The FMU then needs to be compiled into WebAssembly and JavaScript. To complete this step, we have prepared a Docker container, which uses Emscripten to automatically compile FMUs into Composer compatible files [<xref ref-type="bibr" rid="ref82">82</xref>].</p>
        <p>The container accepts FMUs generated by Dymola with the <italic>source code generation</italic> license and FMUs generated from OpenModelica on a Linux platform. The requirement for Linux is because of FMUs from OpenModelica being generated with makefiles, which are not only platform dependent but also machine dependent. To facilitate easier environment setup for the OpenModelica part of this workflow, we have prepared another Docker container, which uses OpenModelica to export FMUs automatically [<xref ref-type="bibr" rid="ref83">83</xref>].</p>
        <fig id="figure5" position="float">
          <label>Figure 5</label>
          <caption>
            <p>Model workflow—Modelica model is exported from OpenModelica or Dymola to a Functional Mock-up Unit (FMU), which is compiled using emscripten into WebAssembly and JavaScript.</p>
          </caption>
          <graphic xlink:href="jmir_v21i7e14160_fig5.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
        </fig>
      </sec>
      <sec>
        <title>Animation Processing</title>
        <p>We use Adobe Animate [<xref ref-type="bibr" rid="ref84">84</xref>] in the process of designing the interactive animations. Adobe Animate supports native export to HTML5 and JavaScript using the library EaselJS. This process is fairly painless as all the post processing of the exported JavaScript code is handled by the composer. Furthermore, the user can opt to write all EaselJS directly without the need to use the Adobe product.</p>
      </sec>
      <sec>
        <title>Bodylight.js Composer</title>
        <p><italic>Bodylight.js Composer</italic> is the main development focus of this project. Composer is a single-page application that can easily bring together models, animations, and control elements.</p>
        <p>The core of Composer is built on React, an established and very popular JavaScript library. The HTML layout engine is provided by GrapesJS, around which the rest of the application was shaped. Composer allows the user to easily design an interactive HTML simulator. There are also several input and output widgets available. The <italic>range</italic> widget handles the control of the model variables. The <italic>chart</italic> widget uses plotly.js to display an output from the model in interactive charts. Toggle widgets and buttons can control Boolean values, and labels are used to display values.</p>
        <p>The Composer is equipped with <italic>actions</italic> that are user-generated snippets of JavaScript code and can be attached to events of other widgets. For example, one of the prefilled actions is <italic>reset model</italic> with a model as a parameter. Users can attach <italic>actions</italic> to an <italic>onclick</italic> event of the <italic>button</italic> widget and select the appropriate model to reset. The <italic>animate</italic> widget is used to import complex animations created in Adobe Animate. These can contain continuously playing animations, whose speed and direction can be controlled by any model variable. Furthermore, it can control positional animations, where the timeline position is directly controlled by a model variable.</p>
        <p>Users can also save and open shareable project files. The final export from the Composer is a stand-alone HTML file, containing the JavaScript and WebAssembly code. Composer workflow is depicted in <xref rid="figure6" ref-type="fig">Figure 6</xref> and the composer itself in <xref rid="figure7" ref-type="fig">Figure 7</xref>.</p>
        <p>We recommend readers to view the video tutorials on the Bodylight.js Web page [<xref ref-type="bibr" rid="ref80">80</xref>] to get a better understanding of how Bodylight.js Composer works. The simple <italic>Bouncing Ball</italic> video on the main page demonstrates how to build a simulator comprised a simple interactive animation, a plot, a slider, and a reset button. It is also included in the <xref ref-type="app" rid="app1">Multimedia Appendix 1</xref>. There are 2 additional video tutorials available in the <italic>Documentation</italic> section of the Web page. The <italic>Simple Project</italic> tutorial [<xref ref-type="bibr" rid="ref85">85</xref>] demonstrates how to build a simulator composed of sliders, plots, and a reset button. It is logically sectioned into different episodes. The steps are also explained below the tutorial videos. The second tutorial available is the more elaborate <italic>Physiological Application</italic> tutorial [<xref ref-type="bibr" rid="ref86">86</xref>]. This tutorial demonstrates several advanced features for building a real simulation application of pressure-volume cardiac loops depicted in <xref rid="figure8" ref-type="fig">Figure 8</xref>. The additional features explained include creating a parametric plot, adding a start-stop button, controlling model parameters by events, and applying user functions on model variables. For example, descriptions on how to round the values or display string messages and other features are discussed. The translated models and the Composer project files are included in both tutorials.</p>
        <fig id="figure6" position="float">
          <label>Figure 6</label>
          <caption>
            <p>Composer workflow scheme—HTML (Hypertext Markup Language) layout is created, animations are loaded, the model is loaded, model and animation variables are bound, and control elements and plots are added and bound with model variables.</p>
          </caption>
          <graphic xlink:href="jmir_v21i7e14160_fig6.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
        </fig>
        <fig id="figure7" position="float">
          <label>Figure 7</label>
          <caption>
            <p>The Glomerulus application page inside Bodylight.js Composer.</p>
          </caption>
          <graphic xlink:href="jmir_v21i7e14160_fig7.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
        </fig>
        <fig id="figure8" position="float">
          <label>Figure 8</label>
          <caption>
            <p>Pressure-volume loop simulator is a result of the more advanced tutorial.</p>
          </caption>
          <graphic xlink:href="jmir_v21i7e14160_fig8.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
        </fig>
      </sec>
      <sec>
        <title>Original Simulators</title>
        <p>Several simulators were created using Bodylight.js. In this section, one of the simulators is presented to demonstrate the capabilities of Bodylight.js. First, some basic physiology is introduced, and then the simulator is described, and the features of Bodylight.js are highlighted.</p>
        <sec>
          <title>Nephron Simulator</title>
          <p>The main purpose of the kidney is to produce urine and control its composition. The functional unit of the kidney is the nephron. There are approximately 2 million nephrons in a pair of kidneys. The nephron is composed of the glomerulus and a system of tubules. The glomerulus is a network of capillaries. The blood is filtered across the capillary walls; thus, primary urine (filtrate) is produced (approximately 180 L/day). The filtrate then flows through the system of consequent tubules, each having a slightly different function, where the water and specific solutes are reabsorbed so that the appropriate amount of urine with the required composition to maintain homeostasis is produced and excreted.</p>
          <p>These processes are explained visually by the simulator. For simplicity, the stimulator only focuses on water and sodium. The simulator is available online [<xref ref-type="bibr" rid="ref87">87</xref>] and is attached as the <xref ref-type="app" rid="app2">Multimedia Appendix 2</xref>. <xref ref-type="app" rid="app2">Multimedia Appendix 2</xref> also includes the additional required libraries for offline use. A more detailed description of the simulator including its didactic objectives, models, and implementation is beyond the scope of this paper. More information is available in our recent work [<xref ref-type="bibr" rid="ref88">88</xref>].</p>
          <sec>
            <title>Glomerulus Screen</title>
            <p><xref rid="figure9" ref-type="fig">Figure 9</xref> depicts the glomerulus screen. Resistances of the arterioles, mean arterial pressure, and the filtration coefficient are controlled with the sliders. Changes of these parameters affect pressures and flows in the system. Pressures are depicted by the liquid-column gauge and flows through the tubules by the speed of the propellers and the half-circle indicators (normal values are marked by a tick). Flow through the vessel walls is shown with the width of the dashed moving arrows. The hydrostatic and oncotic pressures are also indicated by the cylinders below the glomerulus. All the indicators are interactive and react to changes in values of the model variables.</p>
            <p>Note that the numeric values of the flow indicators and the pressure values in the formulae are also controlled by the model. There is also a <italic>Reset simulation</italic> button which sets all the parameters to default values.</p>
            <p>There is no time evolution in the model, and everything is computed in the initialization phase. The simulator operates in the so-called <italic>One shot</italic> regime. This means every time parameters are changed by the sliders, the model is automatically recalculated and the GUI is updated accordingly. The same also holds for the next screen.</p>
            <fig id="figure9" position="float">
              <label>Figure 9</label>
              <caption>
                <p>Glomerulus. Pressure is visualized by the liquid-column indicators and flows by the propellers and half-circle indicators. The red arrows symbolize the blood flow direction, and yellow arrows represent urine flow direction. GFR: glomerular filtration rate.</p>
              </caption>
              <graphic xlink:href="jmir_v21i7e14160_fig9.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
            </fig>
          </sec>
          <sec>
            <title>Complete Nephron Screen</title>
            <p>The simulator of the complete nephron is shown in <xref rid="figure1" ref-type="fig">Figure 1</xref>0. The glomerular filtration rate and the antidiuretic hormone (ADH) parameters are controlled with the sliders. Filtrate flow rate and the sodium mass flow rate are visualized by the half-circle indicators. Osmolarity (proportional to solute molar concentration) of the filtrate is determined by the numbers and the lightness gradient inside the tubules. Water and sodium flow through the tubule walls are determined by the width of the blue- and orange-dashed moving arrows. The amount of ADH and the consequent tubule water permeability is visualized by the varying width of the blue water channels in the last section of the tubule.</p>
            <fig id="figure10" position="float">
              <label>Figure 10</label>
              <caption>
                <p>Complete nephron. Half-circle gauges show urine flow rate, the lightness gradient inside the tubules visualizes osmolarity, dashed blue and orange moving arrows visualize water and sodium flow through the tubule walls and the blue channels indicate tubule water permeability. Flow and osmolarity are plotted in the charts (individual sections in a different color). ADH: antidiuretic hormone; GFR: glomerular filtration rate.</p>
              </caption>
              <graphic xlink:href="jmir_v21i7e14160_fig10.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
            </fig>
            <p>Flow and osmolarity are functions of distance along the nephron tubules and are plotted on the chart. The individual sections, whose variables are discretized using an array in the model, are highlighted in different colors for easier identification. The legend, the labels, the line color, and the width as well as several other plot properties are also adjusted.</p>
          </sec>
        </sec>
        <sec>
          <title>Blood Circulation</title>
          <p>The blood circulation simulator (<xref rid="figure1" ref-type="fig">Figure 1</xref>1), available online [<xref ref-type="bibr" rid="ref89">89</xref>], is another example illustrating the use of Bodylight.js Composer. The simulator depicts 2 general blood vessel circuits: (1) a large systemic circuit distributing blood to the body and (2) a small pulmonary circuit running through the lungs. The circuits are connected through the heart. The simulator is based on a basic physical model with the default parameter values fitted to clinical values to provide meaningful results. Students can modify various model parameters: (1) the compliance of systemic and pulmonary arteries and veins (reciprocal to elasticity), (2) the slope of the Starling curve reflecting cardiac contractility and cardiac output, (3) the total and nonelastic (unstressed, V0) blood volume, and (4) the pulmonary and systemic resistances. The simulator is supplemented with animated figures; therefore, the system response on external perturbation can be followed graphically (intuitively) as well as through the numeric values calculated by the model running in the background. Note that the human face animation is also controlled by arterial pressure, with facial changes in expression and color representing low, normal, or high pressures.</p>
          <fig id="figure11" position="float">
            <label>Figure 11</label>
            <caption>
              <p>Blood circulation simulator. Pressures are visualized by liquid-column gauges, blood volumes are depicted by the width of the sections of blood vessels with black borders, blood flow rates are visualized by the frequency of blinking arrows. Changes in arterial pressure are also reflected by animated changes in facial expression and color.</p>
            </caption>
            <graphic xlink:href="jmir_v21i7e14160_fig11.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
          </fig>
        </sec>
        <sec>
          <title>Pressure-Volume Loop Simulator</title>
          <p>A cardiovascular simulator (<xref rid="figure8" ref-type="fig">Figure 8</xref>), available on the Web page [<xref ref-type="bibr" rid="ref90">90</xref>], displays the pressure-volume loops of the left ventricle. It is based on our Modelica implementation [<xref ref-type="bibr" rid="ref91">91</xref>] of the model by Burkhoff and Tyberg [<xref ref-type="bibr" rid="ref92">92</xref>]. The model-controlled image displays atrial and ventricular filling, as well as valve opening and closing during the cardiac cycle. Students can pause the simulation and track the names of the cardiac cycle phases, atrial and ventricular pressures and volumes, pulmonary artery and aortic pressures, and the current point on the pressure-volume loop. The multimedia tutorial on the Web page [<xref ref-type="bibr" rid="ref80">80</xref>] describes how to create this simulator from the original Modelica model. The simulator was mainly developed for the purpose of the tutorial. If it was intended for education, more plots and sliders would be required.</p>
        </sec>
      </sec>
    </sec>
    <sec sec-type="discussion">
      <title>Discussion</title>
      <sec>
        <title>Principal Results</title>
        <p>We created the Bodylight.js toolchain to facilitate the development of interactive simulators based on Modelica models. In this report, we focus on describing an important new component of the toolchain (Bodylight.js Composer), which enables the creation of browser-based simulators. More information about the toolchain and its use is available on the Web page [<xref ref-type="bibr" rid="ref80">80</xref>].</p>
        <p>The goals for the toolchain were addressed. Importantly, both Bodylight.js Composer and the simulators it produces are <italic>browser based</italic> and <italic>client side</italic>. The system runs in the browser without the need of any server-side back-end. It is also possible to distribute a standalone platform-independent HTML file and run it in the browser without an internet connection. This is enabled by the use of Web technologies such as JavaScript, WebAssembly, and HTML. We believe it will be <italic>future-proof</italic> (unlikely to become obsolete), as it is mainly based on open-standard technologies accepted and implemented by every major software vendor. If any of the applications in the toolchain are discontinued, it should be easy to replace them with another tool. We also find it to be <italic>user friendly</italic>. The models are implemented in the <italic>equation-based Modelica</italic> language using a modeling environment of the modeler’s choice, for example, OpenModelica or Dymola. Animations are created in a professional industry standard tool, Adobe Animate. The Composer uses the drag-and-drop technique to visually compose the simulator, and it is distributed under the General Public License 3.0 <italic>open source</italic> license and is <italic>freely available</italic>. Therefore, it is available for anyone to use and implement within their open-source projects. To our knowledge, no other tool exists, which meets all our requirements.</p>
        <p>This approach brings together the domains of modeling, Web technologies, and graphical design, which supports better interdisciplinary cooperation of teachers, modelers, software developers, and graphic designers.</p>
        <p>The Bodylight.js Composer is a self-contained client-side application, and anything submitted does not leave the user’s device; thus, there are no particular security or privacy issues.</p>
        <p>Several simulators were created in Bodylight.js, and it proved to be a convenient solution fulfilling the needs of the designers. It would be extremely time consuming to implement these applications without this versatile toolchain. The new Nephron, Blood Circulation, and Pressure-Volume Loop simulators were presented in this paper to demonstrate the capabilities of Bodylight.js. The Nephron simulator was recently used in didactic classes of pathological physiology for medical students and was very well received by both the students and the teacher.</p>
      </sec>
      <sec>
        <title>Comparison With Previous Work</title>
        <p>The client-side approach has several advantages over the client-server solutions available today. First, the simulator is not bound by the computational limitations of the server. The scaling problem is bypassed by avoiding the necessity of any server-side computations. Instead, we simply serve a Web page, which can be hosted on any Web server. Second, the client-side solution does not require a low-latency connection to the server. Thus, the client-side approach avoids the need for expensive Web hosting services.</p>
        <p>E-learning and distance learning are becoming increasingly important in the world and particularly important in developing countries, where teachers are not easily accessible by many potential students [<xref ref-type="bibr" rid="ref93">93</xref>]. Furthermore, because reliable internet connections may not be available for many people [<xref ref-type="bibr" rid="ref94">94</xref>] and a round-trip latency is often high [<xref ref-type="bibr" rid="ref95">95</xref>] in developing countries, the client-side solution could be more suitable here.</p>
      </sec>
      <sec>
        <title>Limitations</title>
        <p>The OpenModelica export to FMU for Co-Simulation is currently limited to the Euler solver, without the option to include any of the other solvers available in the OpenModelica compiler. Euler is the simplest solver available, and its numerical performance is generally poor compared with more advanced solvers included in OpenModelica. Thus, the export from OpenModelica is currently not viable for many models. We are often forced to export the FMU from the proprietary Dymola, and this will continue at least until the issue with OpenModelica FMU export has been resolved.</p>
        <p>The Adobe Animate, which is used for creation of the animations, is a commercial tool. JavaScript code describing the animations using the EaselJS library may be written by hand as an alternative.</p>
        <p>In situations of a computationally complicated model or multiple plots or animations in the simulator, the performance drop becomes noticeable. The slower frame rate or model update rate does not make the simulator useless, but the user experience is reduced.</p>
        <p>Bodylight.js relies on relatively new Web technologies; therefore, only browsers after late 2017 are able to run our simulators. However, because running older browsers is a security risk, most browser vendors have already switched to an automatic update system.</p>
      </sec>
      <sec>
        <title>Future</title>
        <p>We will extend OpenModelica so that it can use advanced solvers in the FMU for Co-Simulation. We plan to optimize the model calculation and graphics rendering to achieve higher frame rates. The composer is modular in design; therefore, we are planning to add support for new libraries, such as different charting libraries or even other animation libraries, and external code contribution is welcomed.</p>
      </sec>
      <sec>
        <title>Conclusions</title>
        <p>The new toolchain facilitates the production of teaching simulators not only in physiology but also in other fields where the behavior of systems can be described by mathematical equations, including biology, physics, chemistry, engineering, and economics. Furthermore, the technology is not limited to education or academia. Anyone with the ability to model their system, whatever it may be, can use Bodylight.js to visually explain it to any interested party.</p>
        <p>New generations of electronic textbooks combining texts with images, animations, multimedia, and interactive model-driven simulators are emerging. These textbooks allow for experimentation with the simulation of the particular systems being taught, which contributes to a deeper understanding of the topics of interest.</p>
        <p>We recommend that the teaching materials be developed as platform independent in-browser applications, which do not require installation and can operate without an internet connection. Bodylight.js fulfills all these requirements and is free and available for anyone to use, which can only help to increase its impact. We hope that this project will help people better understand a multitude of diverse systems.</p>
      </sec>
    </sec>
  </body>
  <back>
    <app-group>
      <supplementary-material id="app1">
        <label>Multimedia Appendix 1</label>
        <p>Bodylight.js Composer Bouncing Ball tutorial video.</p>
        <media xlink:href="jmir_v21i7e14160_app1.mp4" xlink:title="MP4 File  (MP4 Video), 123237 KB"/>
      </supplementary-material>
      <supplementary-material id="app2">
        <label>Multimedia Appendix 2</label>
        <p>Nephron simulator.</p>
        <media xlink:href="jmir_v21i7e14160_app2.zip" xlink:title="ZIP File  (Zip Archive), 13740 KB"/>
      </supplementary-material>
    </app-group>
    <glossary>
      <title>Abbreviations</title>
      <def-list>
        <def-item>
          <term id="abb1">ADH</term>
          <def>
            <p>antidiuretic hormone</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb2">e-learning</term>
          <def>
            <p>electronic learning</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb3">FMI</term>
          <def>
            <p>Functional Mock-up Interface</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb4">FMU</term>
          <def>
            <p>Functional Mock-up Unit</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb5">GUI</term>
          <def>
            <p>graphical user interface</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb6">HTML</term>
          <def>
            <p>HyperText Markup Language</p>
          </def>
        </def-item>
      </def-list>
    </glossary>
    <ack>
      <p>This work was supported by the TRIO MPO FV20628, FV30195, PROGRESS Q26 grants, and the Creative Connections company</p>
    </ack>
    <fn-group>
      <fn fn-type="conflict">
        <p>Creative Connections aims to start business on consulting, providing animations, models, or complete simulators based on the Bodylight.js platform.</p>
      </fn>
    </fn-group>
    <ref-list>
      <ref id="ref1">
        <label>1</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Fischer</surname>
              <given-names>Q</given-names>
            </name>
            <name name-style="western">
              <surname>Sbissa</surname>
              <given-names>Y</given-names>
            </name>
            <name name-style="western">
              <surname>Nhan</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Adjedj</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Picard</surname>
              <given-names>F</given-names>
            </name>
            <name name-style="western">
              <surname>Mignon</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Varenne</surname>
              <given-names>O</given-names>
            </name>
          </person-group>
          <article-title>Use of simulator-based teaching to improve medical students' knowledge and competencies: randomized controlled trial</article-title>
          <source>J Med Internet Res</source>
          <year>2018</year>
          <month>12</month>
          <day>24</day>
          <volume>20</volume>
          <issue>9</issue>
          <fpage>e261</fpage>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://www.jmir.org/2018/9/e261/"/>
          </comment>
          <pub-id pub-id-type="doi">10.2196/jmir.9634</pub-id>
          <pub-id pub-id-type="medline">30249587</pub-id>
          <pub-id pub-id-type="pii">v20i9e261</pub-id>
          <pub-id pub-id-type="pmcid">PMC6231746</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref2">
        <label>2</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Pennaforte</surname>
              <given-names>T</given-names>
            </name>
            <name name-style="western">
              <surname>Moussa</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Loye</surname>
              <given-names>N</given-names>
            </name>
            <name name-style="western">
              <surname>Charlin</surname>
              <given-names>B</given-names>
            </name>
            <name name-style="western">
              <surname>Audétat</surname>
              <given-names>MC</given-names>
            </name>
          </person-group>
          <article-title>Exploring a new simulation approach to improve clinical reasoning teaching and assessment: randomized trial protocol</article-title>
          <source>JMIR Res Protoc</source>
          <year>2016</year>
          <month>02</month>
          <day>17</day>
          <volume>5</volume>
          <issue>1</issue>
          <fpage>e26</fpage>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://www.researchprotocols.org/2016/1/e26/"/>
          </comment>
          <pub-id pub-id-type="doi">10.2196/resprot.4938</pub-id>
          <pub-id pub-id-type="medline">26888076</pub-id>
          <pub-id pub-id-type="pii">v5i1e26</pub-id>
          <pub-id pub-id-type="pmcid">PMC4776024</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref3">
        <label>3</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Kofránek</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Mateják</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Privitzer</surname>
              <given-names>P</given-names>
            </name>
          </person-group>
          <source>KOFRLAB: Laboratory of Biocybernetics and Computer Aided Learning</source>
          <year>2010</year>
          <access-date>2019-04-05</access-date>
          <comment>MEFANET Report 03: Web Simulator Creation Technology 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://www.physiome.cz/references/mefanetreport3.pdf">http://www.physiome.cz/references/mefanetreport3.pdf</ext-link></comment>
        </nlm-citation>
      </ref>
      <ref id="ref4">
        <label>4</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Kofranek</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Matousek</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Rusz</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Stodulka</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Privitzer</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Matejak</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Tribula</surname>
              <given-names>M</given-names>
            </name>
          </person-group>
          <article-title>The atlas of physiology and pathophysiology: web-based multimedia enabled interactive simulations</article-title>
          <source>Comput Methods Programs Biomed</source>
          <year>2011</year>
          <month>11</month>
          <volume>104</volume>
          <issue>2</issue>
          <fpage>143</fpage>
          <lpage>53</lpage>
          <pub-id pub-id-type="doi">10.1016/j.cmpb.2010.12.007</pub-id>
          <pub-id pub-id-type="medline">21232813</pub-id>
          <pub-id pub-id-type="pii">S0169-2607(10)00299-3</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref5">
        <label>5</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Burkhoff</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Dickstein</surname>
              <given-names>ML</given-names>
            </name>
          </person-group>
          <source>Harvi</source>
          <access-date>2019-03-20</access-date>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://harvi.online/">http://harvi.online/</ext-link>
            <ext-link ext-link-type="webcite" xlink:href="7717nqxOO"/>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref6">
        <label>6</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Leisman</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Burkhoff</surname>
              <given-names>D</given-names>
            </name>
          </person-group>
          <article-title>Use of an iPad app to simulate pressure-volume loops and cardiovascular physiology</article-title>
          <source>Adv Physiol Educ</source>
          <year>2017</year>
          <month>09</month>
          <day>1</day>
          <volume>41</volume>
          <issue>3</issue>
          <fpage>415</fpage>
          <lpage>24</lpage>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://www.physiology.org/doi/full/10.1152/advan.00204.2016?url_ver=Z39.88-2003&#38;rfr_id=ori:rid:crossref.org&#38;rfr_dat=cr_pub%3dpubmed"/>
          </comment>
          <pub-id pub-id-type="doi">10.1152/advan.00204.2016</pub-id>
          <pub-id pub-id-type="medline">28679580</pub-id>
          <pub-id pub-id-type="pii">41/3/415</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref7">
        <label>7</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Kurtz</surname>
              <given-names>TW</given-names>
            </name>
            <name name-style="western">
              <surname>DiCarlo</surname>
              <given-names>SE</given-names>
            </name>
            <name name-style="western">
              <surname>Pravenec</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Ježek</surname>
              <given-names>F</given-names>
            </name>
            <name name-style="western">
              <surname>Šilar</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Kofránek</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Morris Jr</surname>
              <given-names>RC</given-names>
            </name>
          </person-group>
          <article-title>Testing computer models predicting human responses to a high-salt diet</article-title>
          <source>Hypertension</source>
          <year>2018</year>
          <month>12</month>
          <volume>72</volume>
          <issue>6</issue>
          <fpage>1407</fpage>
          <lpage>16</lpage>
          <pub-id pub-id-type="doi">10.1161/HYPERTENSIONAHA.118.11552</pub-id>
          <pub-id pub-id-type="medline">30571226</pub-id>
          <pub-id pub-id-type="pmcid">PMC6309797</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref8">
        <label>8</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Andrews</surname>
              <given-names>PS</given-names>
            </name>
            <name name-style="western">
              <surname>Polack</surname>
              <given-names>FA</given-names>
            </name>
            <name name-style="western">
              <surname>Sampson</surname>
              <given-names>AT</given-names>
            </name>
            <name name-style="western">
              <surname>Stepney</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Timmis</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <source>University of York</source>
          <year>2010</year>
          <access-date>2019-04-06</access-date>
          <comment>The CoSMoS Process, Version 0.1: A Process for the Modelling and Simulation of Complex Systems 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://www-users.cs.york.ac.uk/~susan/bib/ss/nonstd/tr453.pdf">http://www-users.cs.york.ac.uk/~susan/bib/ss/nonstd/tr453.pdf</ext-link></comment>
        </nlm-citation>
      </ref>
      <ref id="ref9">
        <label>9</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Jacob</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Hallgrimsson</surname>
              <given-names>B</given-names>
            </name>
            <name name-style="western">
              <surname>Coderre</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Jamniczky</surname>
              <given-names>H</given-names>
            </name>
          </person-group>
          <source>LINDSAY Virtual Human</source>
          <access-date>2019-04-27</access-date>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://www.lindsayvirtualhuman.com">http://www.lindsayvirtualhuman.com</ext-link>
            <ext-link ext-link-type="webcite" xlink:href="77wndusCm"/>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref10">
        <label>10</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Jacob</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>von Mammen</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Davison</surname>
              <given-names>T</given-names>
            </name>
            <name name-style="western">
              <surname>Sarraf-Shirazi</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Sarpe</surname>
              <given-names>V</given-names>
            </name>
            <name name-style="western">
              <surname>Esmaeili</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Phillips</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Yazdanbod</surname>
              <given-names>I</given-names>
            </name>
            <name name-style="western">
              <surname>Novakowski</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Steil</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Gingras</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Jamniczky</surname>
              <given-names>HA</given-names>
            </name>
            <name name-style="western">
              <surname>Hallgrimsson</surname>
              <given-names>B</given-names>
            </name>
            <name name-style="western">
              <surname>Wright</surname>
              <given-names>B</given-names>
            </name>
          </person-group>
          <article-title>LINDSAY virtual human: multi-scale, agent-based, and interactive</article-title>
          <source>Adv Intell Model Simul</source>
          <year>2012</year>
          <volume>422</volume>
          <fpage>327</fpage>
          <lpage>49</lpage>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://paperpile.com/b/bfl1h6/otik"/>
          </comment>
          <pub-id pub-id-type="doi">10.1007/978-3-642-30154-4-14</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref11">
        <label>11</label>
        <nlm-citation citation-type="book">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Wilensky</surname>
              <given-names>U</given-names>
            </name>
            <name name-style="western">
              <surname>Rand</surname>
              <given-names>W</given-names>
            </name>
          </person-group>
          <source>An Introduction to Agent-Based Modeling: Modeling Natural, Social, and Engineered Complex Systems With NetLogo</source>
          <year>2015</year>
          <publisher-loc>Cambridge, MA, USA</publisher-loc>
          <publisher-name>The MIT Press</publisher-name>
        </nlm-citation>
      </ref>
      <ref id="ref12">
        <label>12</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Marshall</surname>
              <given-names>BD</given-names>
            </name>
            <name name-style="western">
              <surname>Galea</surname>
              <given-names>S</given-names>
            </name>
          </person-group>
          <article-title>Formalizing the role of agent-based modeling in causal inference and epidemiology</article-title>
          <source>Am J Epidemiol</source>
          <year>2015</year>
          <month>01</month>
          <day>15</day>
          <volume>181</volume>
          <issue>2</issue>
          <fpage>92</fpage>
          <lpage>9</lpage>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://europepmc.org/abstract/MED/25480821"/>
          </comment>
          <pub-id pub-id-type="doi">10.1093/aje/kwu274</pub-id>
          <pub-id pub-id-type="medline">25480821</pub-id>
          <pub-id pub-id-type="pii">kwu274</pub-id>
          <pub-id pub-id-type="pmcid">PMC4351348</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref13">
        <label>13</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Fachada</surname>
              <given-names>N</given-names>
            </name>
            <name name-style="western">
              <surname>Lopes</surname>
              <given-names>V</given-names>
            </name>
            <name name-style="western">
              <surname>Rosa</surname>
              <given-names>A</given-names>
            </name>
          </person-group>
          <article-title>Agent-Based Modelling and Simulation of the Immune System: A Review</article-title>
          <source>Proceedings of the 13th Portugese Conference on Artificial Intelligence</source>
          <year>2007</year>
          <conf-name>EPIA'07</conf-name>
          <conf-date>December 3-7, 2007</conf-date>
          <conf-loc>Guimaraes, Portugal</conf-loc>
        </nlm-citation>
      </ref>
      <ref id="ref14">
        <label>14</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Zhang</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Athale</surname>
              <given-names>CA</given-names>
            </name>
            <name name-style="western">
              <surname>Deisboeck</surname>
              <given-names>TS</given-names>
            </name>
          </person-group>
          <article-title>Development of a three-dimensional multiscale agent-based tumor model: simulating gene-protein interaction profiles, cell phenotypes and multicellular patterns in brain cancer</article-title>
          <source>J Theor Biol</source>
          <year>2007</year>
          <month>01</month>
          <day>7</day>
          <volume>244</volume>
          <issue>1</issue>
          <fpage>96</fpage>
          <lpage>107</lpage>
          <pub-id pub-id-type="doi">10.1016/j.jtbi.2006.06.034</pub-id>
          <pub-id pub-id-type="medline">16949103</pub-id>
          <pub-id pub-id-type="pii">S0022-5193(06)00278-5</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref15">
        <label>15</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Azimi</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Bulat</surname>
              <given-names>E</given-names>
            </name>
            <name name-style="western">
              <surname>Weis</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Mofrad</surname>
              <given-names>MR</given-names>
            </name>
          </person-group>
          <article-title>An agent-based model for mRNA export through the nuclear pore complex</article-title>
          <source>Mol Biol Cell</source>
          <year>2014</year>
          <month>11</month>
          <day>5</day>
          <volume>25</volume>
          <issue>22</issue>
          <fpage>3643</fpage>
          <lpage>53</lpage>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://europepmc.org/abstract/MED/25253717"/>
          </comment>
          <pub-id pub-id-type="doi">10.1091/mbc.E14-06-1065</pub-id>
          <pub-id pub-id-type="medline">25253717</pub-id>
          <pub-id pub-id-type="pii">mbc.E14-06-1065</pub-id>
          <pub-id pub-id-type="pmcid">PMC4230623</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref16">
        <label>16</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>van Dyke</surname>
              <given-names>PH</given-names>
            </name>
            <name name-style="western">
              <surname>Savit</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>Riolo</surname>
              <given-names>RL</given-names>
            </name>
          </person-group>
          <article-title>Agent-Based Modeling vs Equation-Based Modeling: A Case Study and Users’ Guide</article-title>
          <source>Proceedings of the First International Workshop on Multi-Agent Systems and Agent-Based Simulation</source>
          <year>1998</year>
          <conf-name>MABS'98</conf-name>
          <conf-date>July 4-6, 1998</conf-date>
          <conf-loc>Paris, France</conf-loc>
          <fpage>10</fpage>
          <lpage>25</lpage>
          <pub-id pub-id-type="doi">10.1007/10692956_2</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref17">
        <label>17</label>
        <nlm-citation citation-type="web">
          <source>Pulse: Physiology Engine</source>
          <access-date>2019-04-27</access-date>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://physiology.kitware.com">http://physiology.kitware.com</ext-link>
            <ext-link ext-link-type="webcite" xlink:href="77wyMyEpf"/>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref18">
        <label>18</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Bray</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Webb</surname>
              <given-names>JB</given-names>
            </name>
            <name name-style="western">
              <surname>Enquobahrie</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Vicory</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Heneghan</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Hubal</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>TerMaath</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Asare</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Clipp</surname>
              <given-names>RB</given-names>
            </name>
          </person-group>
          <article-title>Pulse physiology engine: an open-source software platform for computational modeling of human medical simulation</article-title>
          <source>SN Compr Clin Med</source>
          <year>2019</year>
          <month>03</month>
          <day>27</day>
          <volume>1</volume>
          <issue>5</issue>
          <fpage>362</fpage>
          <lpage>77</lpage>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://paperpile.com/b/bfl1h6/NMbE"/>
          </comment>
          <pub-id pub-id-type="doi">10.1007/s42399-019-00053-w</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref19">
        <label>19</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Kofránek</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Kulhánek</surname>
              <given-names>T</given-names>
            </name>
            <name name-style="western">
              <surname>Mateják</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Ježek</surname>
              <given-names>F</given-names>
            </name>
            <name name-style="western">
              <surname>Šilar</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <article-title>Integrative Physiology in Modelica</article-title>
          <source>Proceedings of the 12th International Modelica Conference</source>
          <year>2017</year>
          <conf-name>Modelica'17</conf-name>
          <conf-date>May 15-17, 2017</conf-date>
          <conf-loc>Prague, Czech Republic</conf-loc>
          <fpage>15</fpage>
          <lpage>17</lpage>
          <pub-id pub-id-type="doi">10.3384/ecp17132589</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref20">
        <label>20</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Kofránek</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Vu</surname>
              <given-names>LD</given-names>
            </name>
            <name name-style="western">
              <surname>Snáselová</surname>
              <given-names>H</given-names>
            </name>
            <name name-style="western">
              <surname>Kerekes</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>Velan</surname>
              <given-names>T</given-names>
            </name>
          </person-group>
          <article-title>GOLEM--multimedia simulator for medical education</article-title>
          <source>Stud Health Technol Inform</source>
          <year>2001</year>
          <volume>84</volume>
          <issue>Pt 2</issue>
          <fpage>1042</fpage>
          <lpage>6</lpage>
          <pub-id pub-id-type="doi">10.3233/978-1-60750-928-8-1042</pub-id>
          <pub-id pub-id-type="medline">11604890</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref21">
        <label>21</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Lipovszki</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Aradi</surname>
              <given-names>P</given-names>
            </name>
          </person-group>
          <article-title>Simulating complex systems and processes in LabVIEW</article-title>
          <source>J Math Sci</source>
          <year>2006</year>
          <month>02</month>
          <volume>132</volume>
          <issue>5</issue>
          <fpage>629</fpage>
          <lpage>36</lpage>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://paperpile.com/b/bfl1h6/mydxQ"/>
          </comment>
          <pub-id pub-id-type="doi">10.1007/s10958-006-0007-z</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref22">
        <label>22</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Kiel</surname>
              <given-names>JW</given-names>
            </name>
            <name name-style="western">
              <surname>Shepherd</surname>
              <given-names>AP</given-names>
            </name>
          </person-group>
          <article-title>A graphic computer language for physiology simulations</article-title>
          <source>Comput Life Sci Educ</source>
          <year>1988</year>
          <volume>5</volume>
          <issue>7</issue>
          <fpage>49</fpage>
          <lpage>56</lpage>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://scholar.google.co.in/scholar?hl=en&#38;as_sdt=0%2C5&#38;q=J.W.+Kiel+and+A.+P.+Shepherd%2C+%22A+graphic+computer+language+for+physiology+simulations%2C%22+Computers+in+Life+Science+Education+5%2C+No.+7%2C+49-56+%28July+1988%29.&#38;btnG="/>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref23">
        <label>23</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Lin</surname>
              <given-names>SL</given-names>
            </name>
            <name name-style="western">
              <surname>Guo</surname>
              <given-names>NR</given-names>
            </name>
            <name name-style="western">
              <surname>Chiu</surname>
              <given-names>CC</given-names>
            </name>
          </person-group>
          <article-title>Modeling and simulation of respiratory control with LabVIEW</article-title>
          <source>J Med Biol Eng</source>
          <year>2012</year>
          <volume>32</volume>
          <issue>1</issue>
          <fpage>51</fpage>
          <lpage>60</lpage>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://paperpile.com/b/bfl1h6/6Nth"/>
          </comment>
          <pub-id pub-id-type="doi">10.5405/jmbe.829</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref24">
        <label>24</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Cole</surname>
              <given-names>RT</given-names>
            </name>
            <name name-style="western">
              <surname>Lucas</surname>
              <given-names>CL</given-names>
            </name>
            <name name-style="western">
              <surname>Cascio</surname>
              <given-names>WE</given-names>
            </name>
            <name name-style="western">
              <surname>Johnson</surname>
              <given-names>TA</given-names>
            </name>
          </person-group>
          <article-title>A LabVIEW model incorporating an open-loop arterial impedance and a closed-loop circulatory system</article-title>
          <source>Ann Biomed Eng</source>
          <year>2005</year>
          <month>11</month>
          <volume>33</volume>
          <issue>11</issue>
          <fpage>1555</fpage>
          <lpage>73</lpage>
          <pub-id pub-id-type="doi">10.1007/s10439-005-7785-1</pub-id>
          <pub-id pub-id-type="medline">16341923</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref25">
        <label>25</label>
        <nlm-citation citation-type="web">
          <source>Life Science Teaching Resources Community</source>
          <access-date>2019-03-20</access-date>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://www.lifescitrc.org">https://www.lifescitrc.org</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref26">
        <label>26</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Samosky</surname>
              <given-names>JT</given-names>
            </name>
            <name name-style="western">
              <surname>Nelson</surname>
              <given-names>DA</given-names>
            </name>
            <name name-style="western">
              <surname>Wang</surname>
              <given-names>B</given-names>
            </name>
            <name name-style="western">
              <surname>Bregman</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>Hosmer</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Mikulis</surname>
              <given-names>B</given-names>
            </name>
            <name name-style="western">
              <surname>Weaver</surname>
              <given-names>R</given-names>
            </name>
          </person-group>
          <article-title>BodyExplorerAR: Enhancing a Mannequin Medical Simulator With Sensing and Projective Augmented Reality for Exploring Dynamic Anatomy and Physiology</article-title>
          <source>Proceedings of the Sixth International Conference on Tangible, Embedded and Embodied Interaction</source>
          <year>2012</year>
          <conf-name>TEI'12</conf-name>
          <conf-date>February 19-22, 2012</conf-date>
          <conf-loc>Kingston, Ontario, Canada</conf-loc>
          <fpage>263</fpage>
          <lpage>70</lpage>
          <pub-id pub-id-type="doi">10.1145/2148131.2148187</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref27">
        <label>27</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Kofránek</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Mateják</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Privitzer</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Tribula</surname>
              <given-names>M</given-names>
            </name>
          </person-group>
          <source>Laboratory of Biocybernetics and Computer Aided Learning</source>
          <year>2008</year>
          <comment>Causal or Acausal Modelling: Labour for Humans or Labour for Machines 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://www.physiome.cz/references/tcp2008.pdf">http://www.physiome.cz/references/tcp2008.pdf</ext-link></comment>
        </nlm-citation>
      </ref>
      <ref id="ref28">
        <label>28</label>
        <nlm-citation citation-type="web">
          <source>National Instruments</source>
          <year>2018</year>
          <access-date>2019-04-22</access-date>
          <comment>Tutorial: User Interface 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://www.ni.com/tutorial/7568/en/">http://www.ni.com/tutorial/7568/en/</ext-link>
        <ext-link ext-link-type="webcite" xlink:href="77p13K4Nn"/></comment>
        </nlm-citation>
      </ref>
      <ref id="ref29">
        <label>29</label>
        <nlm-citation citation-type="book">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Jerome</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <source>Virtual Instrumentation Using LabVIEW</source>
          <year>2010</year>
          <publisher-loc>New Delhi, India</publisher-loc>
          <publisher-name>Phil Learning Pvt Ltd</publisher-name>
        </nlm-citation>
      </ref>
      <ref id="ref30">
        <label>30</label>
        <nlm-citation citation-type="web">
          <source>National Instruments</source>
          <year>2018</year>
          <access-date>2019-05-04</access-date>
          <comment>Using the 2D Picture Control 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://zone.ni.com/reference/en-XX/help/371361R-01/lvconcepts/using_the_picture_indicator">http://zone.ni.com/reference/en-XX/help/371361R-01/lvconcepts/using_the_picture_indicator</ext-link>
        <ext-link ext-link-type="webcite" xlink:href="787dph3MN"/></comment>
        </nlm-citation>
      </ref>
      <ref id="ref31">
        <label>31</label>
        <nlm-citation citation-type="web">
          <source>National Instruments</source>
          <access-date>2019-05-04</access-date>
          <comment>What Is the LabVIEW NXG Web Module? 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://www.ni.com/cs-cz/shop/electronic-test-instrumentation/add-ons-for-electronic-test-and-instrumentation/what-is-labview-nxg-web-module.html">http://www.ni.com/cs-cz/shop/electronic-test-instrumentation/add-ons-for-electronic-test-and-instrumentation/what-is-labview-nxg-web-module.html</ext-link>
        <ext-link ext-link-type="webcite" xlink:href="787eTRcZH"/></comment>
        </nlm-citation>
      </ref>
      <ref id="ref32">
        <label>32</label>
        <nlm-citation citation-type="web">
          <source>WebVIs: Developing Your Web-Based User Interface</source>
          <access-date>2019-05-11</access-date>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://www.webvi.io">http://www.webvi.io</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref33">
        <label>33</label>
        <nlm-citation citation-type="web">
          <source>Just Physiology</source>
          <access-date>2019-03-20</access-date>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://justphysiology.com">http://justphysiology.com</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref34">
        <label>34</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Meyer zu Eissen</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Stein</surname>
              <given-names>B</given-names>
            </name>
          </person-group>
          <article-title>Realization of web-based simulation services</article-title>
          <source>Comput Ind</source>
          <year>2006</year>
          <month>04</month>
          <volume>57</volume>
          <issue>3</issue>
          <fpage>261</fpage>
          <lpage>71</lpage>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://paperpile.com/b/bfl1h6/7MDe"/>
          </comment>
          <pub-id pub-id-type="doi">10.1016/j.compind.2005.12.007</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref35">
        <label>35</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Tiller</surname>
              <given-names>MM</given-names>
            </name>
            <name name-style="western">
              <surname>Winkler</surname>
              <given-names>D</given-names>
            </name>
          </person-group>
          <article-title>modelica.university: A Platform for Interactive Modelica Content</article-title>
          <source>Proceedings of the 12th International Modelica Conference</source>
          <year>2017</year>
          <conf-name>Modelica'17</conf-name>
          <conf-date>May 15-17, 2017</conf-date>
          <conf-loc>Prague, Czech Republic</conf-loc>
          <pub-id pub-id-type="doi">10.3384/ecp17132725</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref36">
        <label>36</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Tiller</surname>
              <given-names>MM</given-names>
            </name>
          </person-group>
          <source>Modelica University</source>
          <year>2019</year>
          <access-date>2019-04-05</access-date>
          <comment>Modelica by Example 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://mbe.modelica.university">http://mbe.modelica.university</ext-link></comment>
        </nlm-citation>
      </ref>
      <ref id="ref37">
        <label>37</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Žáková</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Cech</surname>
              <given-names>M</given-names>
            </name>
          </person-group>
          <article-title>Design of Control Education Interactive Examples via Web Service for OpenModelica</article-title>
          <source>Proceedings of the 13th APCA International Conference on Automatic Control and Soft Computing</source>
          <year>2018</year>
          <conf-name>IEEE'18</conf-name>
          <conf-date>June 4-6, 2018</conf-date>
          <conf-loc>Ponta Delgada, Portugal</conf-loc>
          <fpage>242</fpage>
          <lpage>6</lpage>
          <pub-id pub-id-type="doi">10.1109/CONTROLO.2018.8514288</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref38">
        <label>38</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <collab>JSON-RPC Working Group</collab>
          </person-group>
          <source>JSON-RPC</source>
          <year>2004</year>
          <access-date>2019-04-29</access-date>
          <comment>JSON-RPC 2.0 Specification 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://www.jsonrpc.org/specification">http://www.jsonrpc.org/specification</ext-link>
        <ext-link ext-link-type="webcite" xlink:href="77zeitMDR"/></comment>
        </nlm-citation>
      </ref>
      <ref id="ref39">
        <label>39</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Raaen</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Grønli</surname>
              <given-names>TM</given-names>
            </name>
          </person-group>
          <article-title>Latency Thresholds for Usability in Games: A Survey</article-title>
          <source>Proceedings of the Norwegian Informatics Conference</source>
          <year>2014</year>
          <conf-name>NIK'14</conf-name>
          <conf-date>November 17-19, 2014</conf-date>
          <conf-loc>Bergen, Norway</conf-loc>
        </nlm-citation>
      </ref>
      <ref id="ref40">
        <label>40</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>McManus</surname>
              <given-names>JP</given-names>
            </name>
            <name name-style="western">
              <surname>Day</surname>
              <given-names>TG</given-names>
            </name>
            <name name-style="western">
              <surname>Mailloux</surname>
              <given-names>ZJ</given-names>
            </name>
          </person-group>
          <source>Digital WPI: Worcester Polytechnic Institute</source>
          <year>2019</year>
          <access-date>2019-05-06</access-date>
          <comment>The Effects of Latency, Bandwidth, and Packet Loss on Cloud-Based Gaming Services 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://digitalcommons.wpi.edu/cgi/viewcontent.cgi?article=6326&#38;context=iqp-all">https://digitalcommons.wpi.edu/cgi/viewcontent.cgi?article=6326&#38;context=iqp-all</ext-link></comment>
        </nlm-citation>
      </ref>
      <ref id="ref41">
        <label>41</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Wagner</surname>
              <given-names>G</given-names>
            </name>
          </person-group>
          <article-title>Sim4edu.com: Web-Based Simulation for Education</article-title>
          <source>Proceedings of the Winter Simulation Conference</source>
          <year>2017</year>
          <conf-name>IEEE'17</conf-name>
          <conf-date>December 3-6, 2017</conf-date>
          <conf-loc>Las Vegas, Nevada, USA</conf-loc>
          <fpage>4240</fpage>
          <lpage>51</lpage>
          <pub-id pub-id-type="doi">10.1109/wsc.2017.8248130</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref42">
        <label>42</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Silar</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Kofranek</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <article-title>Physiological model creation and sharing</article-title>
          <source>Eur J Biomed Inform</source>
          <year>2011</year>
          <volume>7</volume>
          <issue>1</issue>
          <fpage>55</fpage>
          <lpage>8</lpage>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://paperpile.com/b/bfl1h6/QEwnO"/>
          </comment>
          <pub-id pub-id-type="doi">10.24105/ejbi.2011.07.1.10</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref43">
        <label>43</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Short</surname>
              <given-names>T</given-names>
            </name>
          </person-group>
          <source>GitHub Inc</source>
          <year>2019</year>
          <access-date>2019-04-28</access-date>
          <comment>OpenModelica-Javascript 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://github.com/tshort/openmodelica-javascript">http://github.com/tshort/openmodelica-javascript</ext-link>
        <ext-link ext-link-type="webcite" xlink:href="77yEwGvel"/></comment>
        </nlm-citation>
      </ref>
      <ref id="ref44">
        <label>44</label>
        <nlm-citation citation-type="web">
          <source>BabylonJS</source>
          <access-date>2019-05-05</access-date>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://www.babylonjs.com">http://www.babylonjs.com</ext-link>
            <ext-link ext-link-type="webcite" xlink:href="7891VBQgM"/>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref45">
        <label>45</label>
        <nlm-citation citation-type="book">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Batista</surname>
              <given-names>AV</given-names>
            </name>
            <name name-style="western">
              <surname>Lemos</surname>
              <given-names>RR</given-names>
            </name>
            <name name-style="western">
              <surname>Rudolph</surname>
              <given-names>CM</given-names>
            </name>
            <name name-style="western">
              <surname>Bueno</surname>
              <given-names>BS</given-names>
            </name>
            <name name-style="western">
              <surname>Fiuza</surname>
              <given-names>PJ</given-names>
            </name>
            <name name-style="western">
              <surname>Conceicao</surname>
              <given-names>KR</given-names>
            </name>
            <name name-style="western">
              <surname>Pereira</surname>
              <given-names>PF</given-names>
            </name>
            <name name-style="western">
              <surname>Mansur</surname>
              <given-names>SS</given-names>
            </name>
          </person-group>
          <article-title>Design of A Web3D Serious Game for Human Anatomy Education</article-title>
          <source>Handbook of Research on Immersive Digital Games in Educational Environments</source>
          <year>2017</year>
          <publisher-loc>Pennsylvania, USA</publisher-loc>
          <publisher-name>IGI Global</publisher-name>
          <fpage>286</fpage>
          <lpage>611</lpage>
        </nlm-citation>
      </ref>
      <ref id="ref46">
        <label>46</label>
        <nlm-citation citation-type="web">
          <source>Blender</source>
          <access-date>2019-05-05</access-date>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://www.blender.org">http://www.blender.org</ext-link>
            <ext-link ext-link-type="webcite" xlink:href="7894dRF6M"/>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref47">
        <label>47</label>
        <nlm-citation citation-type="web">
          <source>BabylonJS Documentation</source>
          <access-date>2019-05-05</access-date>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://doc.babylonjs.com/resources/blender">http://doc.babylonjs.com/resources/blender</ext-link>
            <ext-link ext-link-type="webcite" xlink:href="7893Xwifk"/>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref48">
        <label>48</label>
        <nlm-citation citation-type="web">
          <source>ThreeJS</source>
          <access-date>2019-05-05</access-date>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://threejs.org">http://threejs.org</ext-link>
            <ext-link ext-link-type="webcite" xlink:href="789AqFViY"/>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref49">
        <label>49</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Kasinathan</surname>
              <given-names>V</given-names>
            </name>
            <name name-style="western">
              <surname>Mustapha</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Nur</surname>
              <given-names>FA</given-names>
            </name>
            <name name-style="western">
              <surname>Zainal</surname>
              <given-names>AA</given-names>
            </name>
          </person-group>
          <article-title>Three-dimensional e-learning application for anatomy and physiology of brain</article-title>
          <source>Int J Integr Eng</source>
          <year>2018</year>
          <month>11</month>
          <day>1</day>
          <volume>10</volume>
          <issue>6</issue>
          <fpage>144</fpage>
          <lpage>8</lpage>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://penerbit.uthm.edu.my/ojs/index.php/ijie/article/view/2782"/>
          </comment>
          <pub-id pub-id-type="doi">10.30880/ijie.2018.10.06.020</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref50">
        <label>50</label>
        <nlm-citation citation-type="web">
          <source>Unity</source>
          <access-date>2019-05-04</access-date>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://unity.com/">https://unity.com/</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref51">
        <label>51</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Trivellato</surname>
              <given-names>M</given-names>
            </name>
          </person-group>
          <source>Unity</source>
          <year>2018</year>
          <access-date>2019-05-04</access-date>
          <comment>Unity Blog: WebAssembly is Here! 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://blogs.unity3d.com/2018/08/15/webassembly-is-here/">https://blogs.unity3d.com/2018/08/15/webassembly-is-here/</ext-link>
        <ext-link ext-link-type="webcite" xlink:href="787knmtIA"/></comment>
        </nlm-citation>
      </ref>
      <ref id="ref52">
        <label>52</label>
        <nlm-citation citation-type="book">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Horachek</surname>
              <given-names>D</given-names>
            </name>
          </person-group>
          <source>Creating eLearning Games With Unity</source>
          <year>2014</year>
          <publisher-loc>Birmingham, England</publisher-loc>
          <publisher-name>Packt Publishing</publisher-name>
        </nlm-citation>
      </ref>
      <ref id="ref53">
        <label>53</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Zarzuela</surname>
              <given-names>MM</given-names>
            </name>
            <name name-style="western">
              <surname>Pernas</surname>
              <given-names>FJ</given-names>
            </name>
            <name name-style="western">
              <surname>Martínez</surname>
              <given-names>LB</given-names>
            </name>
            <name name-style="western">
              <surname>Ortega</surname>
              <given-names>DG</given-names>
            </name>
            <name name-style="western">
              <surname>Rodríguez</surname>
              <given-names>MA</given-names>
            </name>
          </person-group>
          <article-title>Mobile serious game using augmented reality for supporting children's learning about animals</article-title>
          <source>Procedia Comput Sci</source>
          <year>2013</year>
          <volume>25</volume>
          <fpage>375</fpage>
          <lpage>81</lpage>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://paperpile.com/b/bfl1h6/eFvx"/>
          </comment>
          <pub-id pub-id-type="doi">10.1016/j.procs.2013.11.046</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref54">
        <label>54</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Coelho</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Kato</surname>
              <given-names>E</given-names>
            </name>
            <name name-style="western">
              <surname>Xavier</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Gonçalves</surname>
              <given-names>R</given-names>
            </name>
          </person-group>
          <article-title>Serious Game for Introductory Programming</article-title>
          <source>Proceedings of the Second International Conference on Serious Games Development and Applications</source>
          <year>2011</year>
          <conf-name>SGDA'11</conf-name>
          <conf-date>September 19-20, 2011</conf-date>
          <conf-loc>Lisbon, Portugal</conf-loc>
          <fpage>61</fpage>
          <lpage>71</lpage>
          <pub-id pub-id-type="doi">10.1007/978-3-642-23834-5_6</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref55">
        <label>55</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>George</surname>
              <given-names>AK</given-names>
            </name>
            <name name-style="western">
              <surname>McLain</surname>
              <given-names>ML</given-names>
            </name>
            <name name-style="western">
              <surname>Bijlani</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Jayakrishnan</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>Bhavani</surname>
              <given-names>RR</given-names>
            </name>
          </person-group>
          <article-title>A Novel Approach for Training Crane Operators: Serious Game on Crane Simulator</article-title>
          <source>Proceedings of the Eighth International Conference on Technology for Education</source>
          <year>2016</year>
          <conf-name>IEEE'16</conf-name>
          <conf-date>December 2-4, 2016</conf-date>
          <conf-loc>Mumbai, India</conf-loc>
          <fpage>116</fpage>
          <lpage>9</lpage>
          <pub-id pub-id-type="doi">10.1109/T4E.2016.030</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref56">
        <label>56</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Boada</surname>
              <given-names>I</given-names>
            </name>
            <name name-style="western">
              <surname>Rodriguez-Benitez</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Garcia-Gonzalez</surname>
              <given-names>JM</given-names>
            </name>
            <name name-style="western">
              <surname>Olivet</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Carreras</surname>
              <given-names>V</given-names>
            </name>
            <name name-style="western">
              <surname>Sbert</surname>
              <given-names>M</given-names>
            </name>
          </person-group>
          <article-title>Using a serious game to complement CPR instruction in a nurse faculty</article-title>
          <source>Comput Methods Programs Biomed</source>
          <year>2015</year>
          <month>11</month>
          <volume>122</volume>
          <issue>2</issue>
          <fpage>282</fpage>
          <lpage>91</lpage>
          <pub-id pub-id-type="doi">10.1016/j.cmpb.2015.08.006</pub-id>
          <pub-id pub-id-type="medline">26319184</pub-id>
          <pub-id pub-id-type="pii">S0169-2607(15)00216-3</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref57">
        <label>57</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Gaudina</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Zappi</surname>
              <given-names>V</given-names>
            </name>
            <name name-style="western">
              <surname>Bellanti</surname>
              <given-names>E</given-names>
            </name>
            <name name-style="western">
              <surname>Vercelli</surname>
              <given-names>G</given-names>
            </name>
          </person-group>
          <article-title>eLaparo4D: A Step Towards a Physical Training Space for Virtual Video Laparoscopic Surgery</article-title>
          <source>Proceedings of the Seventh International Conference on Complex, Intelligent, and Software Intensive Systems</source>
          <year>2013</year>
          <conf-name>IEEE'13</conf-name>
          <conf-date>July 3-5, 2013</conf-date>
          <conf-loc>Taichung, Taiwan</conf-loc>
          <fpage>611</fpage>
          <lpage>6</lpage>
          <pub-id pub-id-type="doi">10.1109/CISIS.2013.110</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref58">
        <label>58</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Jezek</surname>
              <given-names>F</given-names>
            </name>
            <name name-style="western">
              <surname>Tribula</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Kulhanek</surname>
              <given-names>T</given-names>
            </name>
            <name name-style="western">
              <surname>Matejak</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Privitzer</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Silar</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Kofranek</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Lhotska</surname>
              <given-names>L</given-names>
            </name>
          </person-group>
          <article-title>Surviving Sepsis - a 3D Integrative Educational Simulator Internet</article-title>
          <source>Proceedings of the 37th Annual International Conference of the IEEE Engineering in Medicine and Biology Society</source>
          <year>2015</year>
          <conf-name>IEEE'15</conf-name>
          <conf-date>August 25-29, 2015</conf-date>
          <conf-loc>Milan, Italy</conf-loc>
          <pub-id pub-id-type="doi">10.1109/embc.2015.7319191</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref59">
        <label>59</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Mattsson</surname>
              <given-names>SE</given-names>
            </name>
            <name name-style="western">
              <surname>Elmqvist</surname>
              <given-names>H</given-names>
            </name>
            <name name-style="western">
              <surname>Otter</surname>
              <given-names>M</given-names>
            </name>
          </person-group>
          <article-title>Physical system modeling with Modelica</article-title>
          <source>Control Engineering Practice</source>
          <year>1998</year>
          <month>04</month>
          <volume>6</volume>
          <issue>4</issue>
          <fpage>501</fpage>
          <lpage>10</lpage>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://paperpile.com/b/bfl1h6/zsZ4"/>
          </comment>
          <pub-id pub-id-type="doi">10.1016/S0967-0661(98)00047-1</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref60">
        <label>60</label>
        <nlm-citation citation-type="book">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Tiller</surname>
              <given-names>M</given-names>
            </name>
          </person-group>
          <source>Introduction to Physical Modeling with Modelica Internet</source>
          <year>2012</year>
          <publisher-loc>Switzerland</publisher-loc>
          <publisher-name>Springer Science &#38; Business Media</publisher-name>
        </nlm-citation>
      </ref>
      <ref id="ref61">
        <label>61</label>
        <nlm-citation citation-type="book">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Fritzson</surname>
              <given-names>P</given-names>
            </name>
          </person-group>
          <source>Principles of Object-Oriented Modeling and Simulation with Modelica 3.3: A Cyber-Physical Approach</source>
          <year>2015</year>
          <publisher-loc>Hoboken, New Jersey</publisher-loc>
          <publisher-name>John Wiley &#38; Sons</publisher-name>
        </nlm-citation>
      </ref>
      <ref id="ref62">
        <label>62</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Zimmer</surname>
              <given-names>D</given-names>
            </name>
          </person-group>
          <article-title>Equation-based modeling with Modelica – principles and future challenges</article-title>
          <source>Simul Notes Eur</source>
          <year>2016</year>
          <month>06</month>
          <volume>26</volume>
          <issue>2</issue>
          <fpage>67</fpage>
          <lpage>74</lpage>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://paperpile.com/b/bfl1h6/AJGq"/>
          </comment>
          <pub-id pub-id-type="doi">10.11128/sne.26.on.10332</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref63">
        <label>63</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Fritzson</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Engelson</surname>
              <given-names>V</given-names>
            </name>
          </person-group>
          <article-title>Modelica - A Unified Object-Oriented Language for System Modeling and Simulation Internet</article-title>
          <source>Proceedings of the 12th European Conference on Object-Oriented Programming</source>
          <year>1998</year>
          <conf-name>ECOOP'98</conf-name>
          <conf-date>July 20-24, 1998</conf-date>
          <conf-loc>Brussels, Belgium</conf-loc>
          <fpage>67</fpage>
          <lpage>90</lpage>
          <pub-id pub-id-type="doi">10.1007/bfb0054087</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref64">
        <label>64</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Mateják</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Kulhánek</surname>
              <given-names>T</given-names>
            </name>
            <name name-style="western">
              <surname>Šilar</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Privitzer</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Ježek</surname>
              <given-names>F</given-names>
            </name>
            <name name-style="western">
              <surname>Kofránek</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <article-title>Physiolibrary - Modelica Library for Physiology</article-title>
          <source>Proceedings of the 10th International Modelica Conference</source>
          <year>2014</year>
          <conf-name>Modelica'14</conf-name>
          <conf-date>March 10-12, 2014</conf-date>
          <conf-loc>Lund, Sweden</conf-loc>
          <fpage>499</fpage>
          <lpage>505</lpage>
          <pub-id pub-id-type="doi">10.3384/ecp14096499</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref65">
        <label>65</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Mateják</surname>
              <given-names>M</given-names>
            </name>
          </person-group>
          <source>Physiolibrary</source>
          <access-date>2019-03-20</access-date>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://www.physiolibrary.org">http://www.physiolibrary.org</ext-link>
            <ext-link ext-link-type="webcite" xlink:href="7712ubnjP"/>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref66">
        <label>66</label>
        <nlm-citation citation-type="web">
          <source>OpenModelica</source>
          <access-date>2019-03-20</access-date>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://www.openmodelica.org">http://www.openmodelica.org</ext-link>
            <ext-link ext-link-type="webcite" xlink:href="771CJRYX6"/>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref67">
        <label>67</label>
        <nlm-citation citation-type="web">
          <source>Dassault Systèmes</source>
          <access-date>2019-03-20</access-date>
          <comment>DYMOLA Systems Engineering 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://www.3ds.com/products-services/catia/products/dymola">https://www.3ds.com/products-services/catia/products/dymola</ext-link></comment>
        </nlm-citation>
      </ref>
      <ref id="ref68">
        <label>68</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Kofránek</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Ježek</surname>
              <given-names>F</given-names>
            </name>
            <name name-style="western">
              <surname>Mateják</surname>
              <given-names>M</given-names>
            </name>
          </person-group>
          <article-title>Modelica Language - A Promising Tool for Publishing and Sharing Biomedical Models</article-title>
          <source>Proceedings of the 1st American Modelica Conference</source>
          <year>2018</year>
          <conf-name>Modelica'18</conf-name>
          <conf-date>October 9-10, 2018</conf-date>
          <conf-loc>Cambridge, Massachusetts</conf-loc>
          <fpage>196</fpage>
          <lpage>205</lpage>
          <pub-id pub-id-type="doi">10.3384/ECP18154196</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref69">
        <label>69</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Blochwitz</surname>
              <given-names>T</given-names>
            </name>
            <name name-style="western">
              <surname>Otter</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Akesson</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Arnold</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Clauss</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Elmqvist</surname>
              <given-names>H</given-names>
            </name>
            <name name-style="western">
              <surname>Friedrich</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Junghanns</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Mauss</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Neumerkel</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Olsson</surname>
              <given-names>H</given-names>
            </name>
            <name name-style="western">
              <surname>Viel</surname>
              <given-names>A</given-names>
            </name>
          </person-group>
          <article-title>Functional Mockup Interface 2.0: The Standard for Tool Independent Exchange of Simulation Models</article-title>
          <source>Proceedings of the 9th International Modelica Conference</source>
          <year>2012</year>
          <conf-name>Modelica'12</conf-name>
          <conf-date>September 3-5, 2012</conf-date>
          <conf-loc>Munich, Germany</conf-loc>
          <fpage>173</fpage>
          <lpage>84</lpage>
          <pub-id pub-id-type="doi">10.3384/ecp12076173</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref70">
        <label>70</label>
        <nlm-citation citation-type="web">
          <source>Modelica</source>
          <year>2014</year>
          <access-date>2019-04-27</access-date>
          <comment>Functional Mock-Up Interface for Model Exchange and Co-Simulation 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://svn.modelica.org/fmi/branches/public/specifications/v2.0/FMI_for_ModelExchange_and_CoSimulation_v2.0.pdf">https://svn.modelica.org/fmi/branches/public/specifications/v2.0/FMI_for_ModelExchange_and_CoSimulation_v2.0.pdf</ext-link></comment>
        </nlm-citation>
      </ref>
      <ref id="ref71">
        <label>71</label>
        <nlm-citation citation-type="book">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Flanagan</surname>
              <given-names>D</given-names>
            </name>
          </person-group>
          <source>JavaScript: The Definitive Guide</source>
          <year>2006</year>
          <publisher-loc>Sebastopol‎, California</publisher-loc>
          <publisher-name>O'Reilly Media</publisher-name>
        </nlm-citation>
      </ref>
      <ref id="ref72">
        <label>72</label>
        <nlm-citation citation-type="web">
          <source>W3Schools</source>
          <access-date>2019-05-06</access-date>
          <comment>JavaScript Versions 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://www.w3schools.com/js/js_versions.asp">https://www.w3schools.com/js/js_versions.asp</ext-link>
        <ext-link ext-link-type="webcite" xlink:href="78AEPp3yy"/></comment>
        </nlm-citation>
      </ref>
      <ref id="ref73">
        <label>73</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Arseniev</surname>
              <given-names>A</given-names>
            </name>
          </person-group>
          <source>GrapesJS</source>
          <access-date>2019-03-20</access-date>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://grapesjs.com/">https://grapesjs.com/</ext-link>
            <ext-link ext-link-type="webcite" xlink:href="771F7iFCt"/>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref74">
        <label>74</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Skinner</surname>
              <given-names>G</given-names>
            </name>
          </person-group>
          <source>CreateJS</source>
          <access-date>2019-03-20</access-date>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://createjs.com/easeljs">https://createjs.com/easeljs</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref75">
        <label>75</label>
        <nlm-citation citation-type="web">
          <source>Plotly: Graphing Libraries</source>
          <access-date>2019-03-20</access-date>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://plot.ly/javascript">https://plot.ly/javascript</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref76">
        <label>76</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Zakai</surname>
              <given-names>A</given-names>
            </name>
          </person-group>
          <source>WebAssembly</source>
          <access-date>2019-03-20</access-date>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://webassembly.org/">https://webassembly.org/</ext-link>
            <ext-link ext-link-type="webcite" xlink:href="771Igpmqk"/>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref77">
        <label>77</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Zakai</surname>
              <given-names>A</given-names>
            </name>
          </person-group>
          <source>Emscripten</source>
          <access-date>2019-03-20</access-date>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://emscripten.org/">https://emscripten.org/</ext-link>
            <ext-link ext-link-type="webcite" xlink:href="771J7pAPY"/>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref78">
        <label>78</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Zakai</surname>
              <given-names>A</given-names>
            </name>
          </person-group>
          <article-title>Emscripten: An LLVM-to-JavaScript Compiler</article-title>
          <source>Proceedings of the ACM International Conference Companion on Object Oriented Programming Systems Languages and Applications Companion</source>
          <year>2011</year>
          <conf-name>OOPSLA'11</conf-name>
          <conf-date>October 22-27, 2011</conf-date>
          <conf-loc>Portland, Oregon, USA</conf-loc>
          <fpage>301</fpage>
          <lpage>12</lpage>
          <pub-id pub-id-type="doi">10.1145/2048147.2048224</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref79">
        <label>79</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Falliere</surname>
              <given-names>N</given-names>
            </name>
          </person-group>
          <source>PNF Software</source>
          <year>2018</year>
          <access-date>2019-03-20</access-date>
          <comment>Reverse Engineering WebAssembly 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://www.pnfsoftware.com/reversing-wasm.pdf">https://www.pnfsoftware.com/reversing-wasm.pdf</ext-link>
        <ext-link ext-link-type="webcite" xlink:href="78IQ6oyZX"/></comment>
        </nlm-citation>
      </ref>
      <ref id="ref80">
        <label>80</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Polak</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Šilar</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Ježek</surname>
              <given-names>F</given-names>
            </name>
            <name name-style="western">
              <surname>Mladek</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Kofranek</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <source>Bodylight.js</source>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://bodylight.physiome.cz/">https://bodylight.physiome.cz/</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref81">
        <label>81</label>
        <nlm-citation citation-type="web">
          <source>Dassault Systèmes</source>
          <access-date>2019-03-20</access-date>
          <comment>Code and Model Export 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://www.3ds.com/products-services/catia/products/dymola/code-and-model-export/">https://www.3ds.com/products-services/catia/products/dymola/code-and-model-export/</ext-link>
        <ext-link ext-link-type="webcite" xlink:href="76qcZJQPh"/></comment>
        </nlm-citation>
      </ref>
      <ref id="ref82">
        <label>82</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Polák</surname>
              <given-names>D</given-names>
            </name>
          </person-group>
          <source>GitHub</source>
          <access-date>2019-03-20</access-date>
          <comment>Bodylight.js-FMU-Compiler 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://github.com/creative-connections/Bodylight.js-FMU-Compiler">https://github.com/creative-connections/Bodylight.js-FMU-Compiler</ext-link>
        <ext-link ext-link-type="webcite" xlink:href="771Ltg3vq"/></comment>
        </nlm-citation>
      </ref>
      <ref id="ref83">
        <label>83</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Polák</surname>
              <given-names>D</given-names>
            </name>
          </person-group>
          <source>GitHub</source>
          <access-date>2019-03-20</access-date>
          <comment>Bodylight.js-OM-Compiler 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://github.com/creative-connections/Bodylight.js-OM-Compiler">https://github.com/creative-connections/Bodylight.js-OM-Compiler</ext-link>
        <ext-link ext-link-type="webcite" xlink:href="771MVY2y9"/></comment>
        </nlm-citation>
      </ref>
      <ref id="ref84">
        <label>84</label>
        <nlm-citation citation-type="web">
          <source>Adobe</source>
          <access-date>2019-05-04</access-date>
          <comment>[A New Era of Animation] 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://www.adobe.com/cz/products/animate.html">https://www.adobe.com/cz/products/animate.html</ext-link>
        <ext-link ext-link-type="webcite" xlink:href="771N3J5LR"/></comment>
        </nlm-citation>
      </ref>
      <ref id="ref85">
        <label>85</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Polák</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Šilar</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <source>BodylightJS</source>
          <access-date>2019-04-27</access-date>
          <comment>Creating a Simple Project 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://bodylight.physiome.cz/docs/simple_project/1_creating_a_simple_project">https://bodylight.physiome.cz/docs/simple_project/1_creating_a_simple_project</ext-link></comment>
        </nlm-citation>
      </ref>
      <ref id="ref86">
        <label>86</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Polák</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Šilar</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Kofránek</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <source>BodylightJS</source>
          <access-date>2019-04-26</access-date>
          <comment>Pressure volume cardiac simulator 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://bodylight.physiome.cz/docs/pvloops/1_pressure_volume_cardiac_simulator">https://bodylight.physiome.cz/docs/pvloops/1_pressure_volume_cardiac_simulator</ext-link></comment>
        </nlm-citation>
      </ref>
      <ref id="ref87">
        <label>87</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Šilar</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Mladek</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>David</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Živny</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Kofranek</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <comment>Nephron simulator 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://physiome.cz/apps/Nephron/">http://physiome.cz/apps/Nephron/</ext-link></comment>
        </nlm-citation>
      </ref>
      <ref id="ref88">
        <label>88</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Šilar</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Ježek</surname>
              <given-names>F</given-names>
            </name>
            <name name-style="western">
              <surname>Mládek</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Polák</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Kofránek</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <article-title>Model Visualization for e-Learning, Kidney Simulator for Medical Students</article-title>
          <source>Proceedings of the 13th International Modelica Conference</source>
          <year>2019</year>
          <conf-name>Modelica'19</conf-name>
          <conf-date>March 4–6, 2019</conf-date>
          <conf-loc>Regensburg, Germany</conf-loc>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://paperpile.com/b/bfl1h6/jNZY"/>
          </comment>
          <pub-id pub-id-type="doi">10.3384/ecp19157393</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref89">
        <label>89</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>David</surname>
              <given-names>P</given-names>
            </name>
          </person-group>
          <source>Laboratory of Biocybernetics and Computer Learning Support</source>
          <comment>Simple circulation simulator 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://physiome.cz/apps/SimpleCirculation/">http://physiome.cz/apps/SimpleCirculation/</ext-link></comment>
        </nlm-citation>
      </ref>
      <ref id="ref90">
        <label>90</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Kofranek</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>David</surname>
              <given-names>P</given-names>
            </name>
          </person-group>
          <source>Laboratory of Biocybernetics and Computer Learning Support</source>
          <comment>Cardiac pressure-volume loops simulator 
        <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://physiome.cz/apps/pvloops/">https://physiome.cz/apps/pvloops/</ext-link></comment>
        </nlm-citation>
      </ref>
      <ref id="ref91">
        <label>91</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Ježek</surname>
              <given-names>F</given-names>
            </name>
            <name name-style="western">
              <surname>Kulhánek</surname>
              <given-names>T</given-names>
            </name>
            <name name-style="western">
              <surname>Kalecký</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Kofránek</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <article-title>Lumped models of the cardiovascular system of various complexity</article-title>
          <source>Biocybern Biomed Eng</source>
          <year>2017</year>
          <volume>37</volume>
          <issue>4</issue>
          <fpage>666</fpage>
          <lpage>78</lpage>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="http://paperpile.com/b/bfl1h6/jNZY"/>
          </comment>
          <pub-id pub-id-type="doi">10.1016/j.bbe.2017.08.001</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref92">
        <label>92</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Burkhoff</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Tyberg</surname>
              <given-names>JV</given-names>
            </name>
          </person-group>
          <article-title>Why does pulmonary venous pressure rise after onset of LV dysfunction: a theoretical analysis</article-title>
          <source>Am J Physiol</source>
          <year>1993</year>
          <month>11</month>
          <volume>265</volume>
          <issue>5 Pt 2</issue>
          <fpage>H1819</fpage>
          <lpage>28</lpage>
          <pub-id pub-id-type="doi">10.1152/ajpheart.1993.265.5.H1819</pub-id>
          <pub-id pub-id-type="medline">8238596</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref93">
        <label>93</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Sife</surname>
              <given-names>AS</given-names>
            </name>
            <name name-style="western">
              <surname>Lwoga</surname>
              <given-names>ET</given-names>
            </name>
            <name name-style="western">
              <surname>Sanga</surname>
              <given-names>C</given-names>
            </name>
          </person-group>
          <article-title>New technologies for teaching and learning: challenges for higher learning institutions in developing countries</article-title>
          <source>Int J Educ Dev</source>
          <year>2007</year>
          <volume>3</volume>
          <issue>2</issue>
          <fpage>57</fpage>
          <lpage>67</lpage>
          <comment>
            <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:type="simple" xlink:href="https://pdfs.semanticscholar.org/133f/f198a0806bada22c29880a0bd89a63abb973.pdf"/>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref94">
        <label>94</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Geissbuhler</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Bagayoko</surname>
              <given-names>CO</given-names>
            </name>
            <name name-style="western">
              <surname>Ly</surname>
              <given-names>O</given-names>
            </name>
          </person-group>
          <article-title>The RAFT network: 5 years of distance continuing medical education and tele-consultations over the internet in French-speaking Africa</article-title>
          <source>Int J Med Inform</source>
          <year>2007</year>
          <volume>76</volume>
          <issue>5-6</issue>
          <fpage>351</fpage>
          <lpage>6</lpage>
          <pub-id pub-id-type="doi">10.1016/j.ijmedinf.2007.01.012</pub-id>
          <pub-id pub-id-type="medline">17331799</pub-id>
          <pub-id pub-id-type="pii">S1386-5056(07)00006-8</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref95">
        <label>95</label>
        <nlm-citation citation-type="book">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Chavula</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Feamster</surname>
              <given-names>N</given-names>
            </name>
            <name name-style="western">
              <surname>Bagula</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Suleman</surname>
              <given-names>H</given-names>
            </name>
          </person-group>
          <person-group person-group-type="editor">
            <name name-style="western">
              <surname>Nungu</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Pherson</surname>
              <given-names>B</given-names>
            </name>
            <name name-style="western">
              <surname>Sansa-Otim</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <article-title>Quantifying the effects of circuitous routes on the latency of intra-Africa internet traffic: a study of research and education networks</article-title>
          <source>e-Infrastructure and e-Services for Developing Countries</source>
          <year>2015</year>
          <publisher-loc>Berlin</publisher-loc>
          <publisher-name>Springer-Verlag</publisher-name>
          <fpage>64</fpage>
          <lpage>73</lpage>
        </nlm-citation>
      </ref>
    </ref-list>
  </back>
</article>
