Support

Support Options

Submit a Support Ticket

 

Courses

Creating and Deploying Scientific Tools

Use the HUBzero framework to bring your simulation/model and analysis tools online

  1. cyberinfrastructure
  2. rappture
  3. software engineering

nanohub.org lets you access simulation tools online via an ordinary web browser. Where do the tools come from? From you—hundreds of you throughout the world who are developing simulation/modeling tools for your hub. Anyone can upload their own code onto a hub and publish a tool for a limited group of colleagues or for the entire world to use. The code can be kept protected or given out as open source.

This course shows you exactly how to do that. It shows you how to use a “workspace” to forge new tools. It describes Rappture, the Rapid APPlication infrastrucTURE, a toolkit within the workspaces that makes it easy to develop graphical user interfaces for scientific modeling tools. Use the Rappture Builder to drag and drop objects that define your interface. The Builder will generate code for a variety of languages, including C/C++, Fortran, MATLAB, Octave, Python, Perl, Java, Ruby, and Tcl. The resulting application is easy to deploy on nanoHUB or any other HUBzero-powered site, so a large community of users can access it through their web browser. Learn how to contribute and publish a new tool, starting with a tool registration form, going through the process of uploading code into a Subversion repository, developing and testing your code within a workspace, and finally, approving and publishing your tool. Learn how to use the Rappture Regression Tester to verify that your tool is functioning correctly as you publish each new version your code.

nanoHUB.org, a resource for nanoscience and nanotechnology, is supported by the National Science Foundation and other funding agencies. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.