nanohub.org (HUBzero) 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 and 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 tutorial, presented at the NCN Rappture Bootcamp at Purdue (May 22-24, 2012), shows you exactly how to do that. It describes Rappture, the Rapid APPlication infrastrucTURE, a toolkit within HUBzero 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 any HUBzero-powered site, so a large community of users can access it through their web browser. HUBzero guides you through the deployment process. 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.
Michael McLennan is a Senior Research Scientist at Purdue University and Director of the HUBzero Platform for Scientific Collaboration. He created the Rappture toolkit as part of that platform. He has more than 20 years of software development experience in both academic and corporate environments, with an emphasis on computer-aided design tools and user interface design.
Dr. McLennan received a Ph.D. in 1990 from Purdue University for his dissertation on dissipative quantum mechanical electron transport in semiconductor heterostructure devices. He became a Tcl enthusiast when he joined Bell Labs in 1992 to work on tools for semiconductor device and process simulation. He is co-author of “Effective Tcl/Tk Programming” (published by Addison-Wesley) and “Tcl/Tk Tools” (published by O’Reilly and Associates). He also developed [incr Tcl], an object-oriented extension of Tcl, which is now used by thousands of developers worldwide, on projects ranging from the TiVo digital video recorder to the Mars Pathfinder.
Cite this work
Researchers should cite this work as follows:
Purdue University, West Lafayette, IN
- programming techniques
- course lecture