• No results found

Developing Tools for nanohub.org. Michael McLennan Software Architect Network for Computational Nanotechnology

N/A
N/A
Protected

Academic year: 2021

Share "Developing Tools for nanohub.org. Michael McLennan Software Architect Network for Computational Nanotechnology"

Copied!
40
0
0

Loading.... (view fulltext now)

Full text

(1)

Developing Tools for nanoHUB.org

Michael McLennan

Software Architect

(2)

Why bother uploading tools?

Most people just post their source code:

Users have to:

• Download

• Unpack

• Compile / Install

…oops! Something went wrong here

Hello,

I am grad student from Kazakhstan.

Your tool not compile for me. I get

errors. That’s a not very nice.

Hello,

I am grad student from Kazakhstan.

Your tool not compile for me. I get

errors. That’s a not very nice.

Hey, can you help me?

Hey, can you help me?

(3)
(4)

Deliver ANY Graphical Application via the Web

Maxwell’s

Daemon

Physical Machine

Virtual Machine

Content Database

Rendering Farm

nanoHUB cluster

Violin

nanowire job

nanowire job

nanowire job

1011 10110101010110011001

(5)

Case in point: Schred

366 Users Last 12 months

Rappture version Feb 06

(6)
(7)
(8)

Putting out Open Source

your code

/*

* ================================================= * AUTHOR: Michael McLennan, Purdue University

* Copyright (c) 2007 Purdue Research Foundation *

* See the file "license.terms" for information on * usage and redistribution of this file, and for a * DISCLAIMER OF ALL WARRANTIES.

* ================================================= */

/*

* ================================================= * AUTHOR: Michael McLennan, Purdue University

* Copyright (c) 2007 Purdue Research Foundation *

* See the file "license.terms" for information on * usage and redistribution of this file, and for a * DISCLAIMER OF ALL WARRANTIES.

* ================================================= */

(9)
(10)
(11)

Know where you stand

(12)

Overview of the process

Registered Created Uploaded Installed Updated Published Retired Contribution form Approved

User nanoHUB team waiting for…

(13)

Registering your tool

Registered Created Uploaded Installed Updated Published Retired Contribution form Approved

User nanoHUB team waiting for…

Start the process by filling

out a form that tells us

about your tool:

• Tool name/version • Who can run the tool? • Who can access the code?

(14)

Creating a project area

Registered Created Uploaded Installed Updated Published Retired Contribution form Approved

User nanoHUB team waiting for…

We create a project area

for your tool on our

developer site

• Wiki for project documentaton • Subversion source code control • Ticketing system for bugs

(15)

Your project area

NOTE: You may

have to log in to

see some buttons

Buttons to access

project functions:

• Wiki documentation • Source code

(16)

Editing wiki pages

Once logged in, you can edit

(17)

Wiki mark-up

Complete instructions in your project area at wiki/WikiFormatting

(18)

Creating wiki pages

Your project name

/wiki

section

Make up a name

(19)

Linking wiki pages

Create the page first, then link to it:

Or, create the link first, then click on the link to create the page:

(20)

Back to the process…

Registered Created Uploaded Installed Updated Published Retired Contribution form Approved

User nanoHUB team waiting for…

We create a project area

for your tool on our

developer site

• Wiki for project documentaton • Subversion source code control • Ticketing system for bugs

(21)

What’s happening?

(22)
(23)

Uploading your code

Registered Created Uploaded Installed Updated Published Retired Contribution form Approved

User nanoHUB team waiting for…

Upload your code into a

nanoHUB workspace.

Compile, test, and commit

changes back to your

(24)

Using nanoHUB workspaces

Once your tool has been registered and created, you should be approved for workspace access. You’ll see workspaces listed on your “my nanoHUB” page:

svn checkout https://repo.nanohub.org/svn/app-yourtool/trunk app-yourtool cd app-yourtool/rappture

vi tool.xml rappture

svn checkout https://repo.nanohub.org/svn/app-yourtool/trunk app-yourtool cd app-yourtool/rappture

vi tool.xml rappture

See instructions in your project area at wiki/GettingStarted

See

workspace tutorial

(25)

Using nanoHUB workspaces

Once your tool has been registered and created, you should be approved for workspace access. You’ll see workspaces listed on your “my nanoHUB” page:

rappture vi tool.xml rappture … svn add tool.xml cd .. svn commit rappture vi tool.xml rappture … svn add tool.xml cd .. svn commit

(26)

What is Rappture?

Scientist

• R

apid

App

lication Infrastruc

ture

• Created by NCN in Nov 2004

• Open Source

Rappture tutorial

on nanoHUB

• Works with your favorite

programming language

Rappture

=

Simulation

(27)

Rappture works by defining the interface

XML interface description

<?xml version="1.0"?>

<run> <tool>

<title>Name of the tool</title> <about>Description and credits</about> <command> @tool/path/to/executable @driver </command> <limits> <cputime>900</cputime> <filesize>1000000</filesize> </limits> </tool> <input> ... </input> <output> ... </output> </run>

CNTbands

model

integer: n

integer: m

choice: sim method

curve: E-k diagram

curve: DOS

molecule: structure

(28)

Over 60 tools online at nanoHUB.org

(29)

Uploading your code

Registered Created Uploaded Installed Updated Published Retired Contribution form Approved

User nanoHUB team waiting for…

Tool status page:

(30)

Uploading your code

Registered Created Uploaded Installed Updated Published Retired Contribution form Approved

User nanoHUB team waiting for…

Tool status page:

(31)

Edit your tool information page

(32)

Installing your tool

Registered Created Uploaded Installed Updated Published Retired Contribution form Approved

User nanoHUB team waiting for…

We install your tool

• Latest code from Subversion • Compile, install

(33)

Testing your tool

Registered Created Uploaded Installed Updated Published Retired Contribution form Approved

User nanoHUB team waiting for…

(34)

Testing your tool

Registered Created Uploaded Installed Updated Published Retired Contribution form Approved

User nanoHUB team waiting for…

(35)

Updating your tool

Registered Created Uploaded Installed Updated Published Retired Contribution form Approved

User nanoHUB team waiting for…

We re-install your tool

• Latest code from Subversion • Compile, install

(36)

Testing your tool—again

Registered Created Uploaded Installed Updated Published Retired Contribution form Approved

User nanoHUB team waiting for…

(37)

Last step…

Registered Created Uploaded Installed Updated Published Retired Contribution form Approved User nanoHUB team

waiting for…

We publish your tool

• Take one last look

• Make sure that the tool works • Check the tool information page • Then, publish your tool

(38)

Your tool is published

Registered Created Uploaded Installed Updated Published Retired Contribution form Approved

User nanoHUB team waiting for…

(39)

Approved

Updating your tool

Registered Created Uploaded Installed Updated Published Retired Contribution form

User nanoHUB team waiting for…

We re-install your tool

You approve it

We take one last look

(40)

Promote your work on nanoHUB.org

Become a Contributor

Don’t let your code gather

dust on the shelf. Get it

out there!

Upload your own:

Tools

Tutorials

References

Related documents

1) CONFIRM you are still connected to our network with the VPN software you installed in the last step. 2) Start the Windows Remote Desktop Connection (RDP) program which comes

at 8 (the mere ‘equal application’ of a statute does not mean that it passes muster under the Equal protection Clause). The State fares no better with respect gender stereotyping.

bytewise approximate matching takes a bit string as input for the similarity digest generation function without any high-layer interpretation of the string, that is the features

(4) Restructuring the work force: The effort to determine what employee makeup is necessary to operate the reengineered business processes. Some of the reengineering activities

Hang the piece of wax in the glass vessel as we did before, fill the vessel with electrolyte, immerse a copper electrode, and assemble the same circuit as was used in the

The relationships among growth mindset for public speaking (i.e., the implicit theory that public speaking abilities can be developed and improved) and beliefs about the nature

The issue unknown until now, published on a Thursday, April 19, 1674, contains news from Spain (dated back in Madrid in March that year), France, England, Poland, Germany and, as

Recently, a new product, Typhoon Infinite Flex NiTi files with Controlled Memory™ (Clinical Research Dental), has been developed that uses thermal treated NiTi alloy that enhances