Page 408 - Biomedical Engineering and Design Handbook Volume 2, Applications
P. 408
386 SURGERY
large number of objects, may require computational power beyond what is available in single proces-
sor desktop computers or workstations. It is necessary to pursue the development of network-
enabled virtual environments to perform distributed simulations on parallel (or cluster) computers.
There are several studies in the literature which applied parallel high-performance computing
techniques to surgical simulation. Szekely et al. 76 developed a custom-built hardware system to
perform parallel computation of finite element models in real time. Wu et al. 37 developed a paral-
lel implementation of the multigrid FEM algorithm on a cluster computer as a proof of concept to
incorporate as part of an interactive surgical simulation. The implementation of Wu uses a readily
accessible hardware platform; however, the implementation is rather customized. These studies
demonstrate the feasibility of employing parallel computation to simulate larger-scale models in
real-time interactive surgical simulation applications. More recently, Cai et al. developed network
middleware for networked virtual environments, as part of the GiPSi/GiPSiNet surgical simulation
framework. 77
13.3.7 Open Architecture Software Frameworks
for Surgical Simulation
The current state of the field of medical simulation is characterized by scattered research projects
using a variety of models that are neither interoperable nor independently verifiable. Simulators are
frequently built from scratch by individual research groups without input and validation from a larger
community. The challenge of developing useful medical simulations is often too great for many indi-
vidual research groups since expertise from large number of different fields is required. Therefore,
model and algorithm sharing and collaborative development of surgical simulations with multiple
research groups are very desirable.
The open source/open architecture software development model provides an attractive framework
to address the needs of interfacing models from multiple research groups and the ability to critically
examine and validate quantitative biological simulations. Open source models provide means for
quality control, evaluation, and peer review, which are critical for basic scientific methodology.
Furthermore, since subsequent users of the models and the software code have access to the original
code, this also improves the reusability of the models and interconnectibility of the software modules.
On the other hand, an open architecture simulation framework allows open source or proprietary third-
party development of additional models, model data, and analysis and computation modules.
There are several technical issues that need to be addressed for the successful development of
such a framework for model and algorithm sharing.
Modularity Through Encapsulation and Data Hiding. Maintaining the integrity of the data of the
individual models in an open architecture simulation is an important requirement. Moreover, the
application programmers interface (API) and the overall framework also need to be able to support
hierarchical models and abstraction of the input-output behavior of individual layers or subsystems
for the level of detail desired from the simulation model.
The object-oriented programming concepts of encapsulation and data hiding facilitate the modular-
ity of the components while maintaining the data integrity. It also provides mechanisms to interface and
embed the constructed models and other computational modules to a larger, more sophisticated model.
Abstraction. In the context of surgical simulation, model abstraction is an important consideration.
Within a general modeling and simulation framework, different applications and different problems
require different types or levels of abstraction for each of the processes and components in the model.
Therefore, the simulation framework developed needs to be able to accommodate different types and
levels of abstraction for each of the different subcomponents in the model hierarchy without artificially
limiting the possibilities based on the requirements of a specific application or a modeling approach.
Heterogeneous Physical Mechanisms and Models of Computation. Another issue that arises with
the varying types of abstractions is the requirement on the simulation engine to be able to handle
heterogeneous physical mechanisms (e.g., solid mechanics, fluid mechanics, and bioelectricity) and