Creating and Deploying Scientific Tools
Use the HUBzero framework to bring your simulation/model and analysis tools online
|Offering:||NCN Bootcamp 2014|
About the Instructor
Michael 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 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.
Dr. McLennan was an Architect at Cadence Design Systems, where he developed the SimVision visualization and debugging environment for NC-Sim. He is currently a Senior Research Scientist at Purdue University, where he develops simulation and visualization software for the Network for Computational Nanotechnology (NCN). His latest project is the Rappture toolkit.
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.