SPRING is written in highly portable standard C++, and can be compiled under Windows 2000 and XP, LINUX, and UNIX (SUN Solaris, SGI Irix, Macintosh OS X). SPRING's architecture includes support for multi-platform and multiprocessor systems, automatically sensing the number of available processors. Specific interfaces for 3-D digitizers, haptic feedback systems, and other inputs are supported via interface servers, which connect to specialized input/output devices. These servers then communicate with the SPRING simulation program via TCP/IP messages send throug local or wide-area networks. This separation of interaction device and computation allows several important capabilities:
SPRING is inherently a set of interacting networked application programs, using standard network protocols such as TCP/IP for exchanging information between applications running on both local and remote computers. The core SPRING simulation engine interacts with haptic servers for 3-D input and force feedback output, display server for presenting SPRING's screen information to remote users, voice server to handle verbal input and output, and geometry servers to distribute the 3-D universe of objects involved in a simulation.
SPRING also supports network monitoring, including remote access to SPRING's state, logging of significant events, and network diagnostics for adapting to changing network conditions.
SPRING consists of a number of interacting processes, which may be on a single computer or spread across the network. This diagram illustrates the relationship among the applications comprising the SPRING platform.
Click on the diagram below to learn more about each component.
SPRING accepts many widely used 3-D data file representations, including:
In addition, SPRING uses the .MESH format to describe 3-D objects with articulated sections, e.g. tools with grasping, cutting, or other movable segments. .MESH is similar to .OBJ, but includes a tag for each 3-D node that indicates to what sub-part the node belongs.
The internal structure of SPRING is described here.
This is the class of input and output objects that connect SPRING to real-world inputs and outputs. See SPRING's 3-D input devices for more information.
This class of devices communicates with SPRING's main program via TCP/IP connections, sending 3-D positioning information to the SPRING process, while taking 3-D force commands from SPRING and applying to the force feedback outputs of the device.
3-D Input Sensors
SPRING employs network registration, monitoring, and diagnostic data collection using a set of tools developed by the University of Wisconsin, La Cross as part of HAVNet's project on Next Generation Internet (NGI). This work, performed in collaboration between SUMMIT at Stanford University and the Scientific Visualization Project at UW La Crosse, is funded by the National Library of Medicine.
In order to make SPRING's scenarios available across the internet, SPRING uses Information Channels, developed at UW La Cross as part of HAVNet's Next Generation Internet (NGI)project.
LOTS MORE HERE!!!
The HAVNet project supports logging of network performance, storing application-specific information in a remote database for later analysis and review. This capability has been demonstrated, but has not been used in actual applications.
|
About SPRING | SUMMIT | National Biocomputation Center | Contact Us
| Architecture | Examples | Documentation | Q & A | SPRING Users | SourceForge |