How To

How to Create a Competition/Challenge Group

Visible to the public How to Create a Competition/Challenge Group

While there are many, varied applications of VO groups, one common application revolves around student-oriented education. This document describes the process of spinning up a SIG for the purposes of carrying out a student competition[1].

1. Obtain an account

Before applying to found a group on the VO, you must obtain a CPS-VO user account (https://cps-vo.org/user/register) and log into the website. A validated membership to the VO is required because the services that the site provides are driven by information that individual member needs to manage (i.e. provenance). Keeping track of passwords is a burden, but receiving the added services can be worth it. As part of the user application process, you will be required to provide a valid email address, as gaining membership is a multi-step procedure that requires one to respond to an automatically generated email.

2. Apply for a "group"

Next, you may request to form a new SIG using the webform at http://cps-vo.org/tutorial/form-manage-group/SIG-request. Again, only registered users are allowed access to this facility. If, after navigating to the above URL, you received an "Access Denied" message, you are likely not logged into the website.

As part of the application process, you should provide contact information for any organizers that will be involved in some way with executing your student competition. You will be asked several questions about how you envision using this VO group. For example, should the information housed within your group be available anonymously to the general public (& to search engines), or do you prefer to keep the bulk of information housed within your group only available to authenticated users that have been approved as official members of your group?

One set of questions you will be confronted with when filling out your group application is which set of "services" you would like enabled. Typically, student competitions require the following at a minimum.

  • An "About" page that explains the general framework for what the competition is and how it will proceed over time (e.g. timelines).
  • A "Wiki" service where organizers will document any necessary background reference material for your CPS related application domain in question
  • Detailed description of individual tasks/challenges that students will be asked to complete throughout the competition' various phases
  • Miscellaneous material such as exactly how scoring will be computed if teams are competing against one another, and possibly a current 'leader board' throughout the competition process.
  • An electronic "discussion forum" that enables participants to request and receive technical support regarding any problems they may be experiencing while attempting to carry out the individual exercises

You may also choose to turn on other common services such as

  • A calendar to track upcoming deadlines/events
  • An easy to peruse listing of all the group's "members"
  • A gallery of youtube, vimeo, ... videos relevant to the competition
  • A group-specific search engine

* Please note that all group applications must be approved by NSF. Also, in preparation for the following step, please remember to adequately describe any software design/simulation tools you intend to use throughout the competition within the "Description" section of the group application form.

3. Get your tools/simulators working on the VO

The VO provides web-based access to active resources relevant to particular CPS domains. Student competitions are generally expected to make use of such design and analysis software applications throughout the various student exercises assigned in a competition. The Virtual Organization's Active Resource feature is intended to provide users with the capability of creating, performing, and sharing repeatable experiments with others.

There are two key aspects through which the VO enables users to accomplish experiments:

  1. User definable tool configuration for building and running experiments
  2. Configurable experiment launch and management

Running a variety of user tools on a production web server would be a poorly conceived notion for many reasons. To address this, the VO interfaces with other servers where the resources actually run. These servers can be any network accessible Linux machine with SSH access capability - whether they are cloud servers or individual machines, hosted by the VO or by another organization.

Once the server is provisioned with the tool and configured to work with the VO, the user parameters for each experiment can be defined in a YAML file that the VO will host.

The process for establishing a new tool as a resource on the VO is described in detail at http://cps-vo.org/node/29717 and at http://cps-vo.org/node/29767. Essentially, this requires the following items:

  • A brief document with a tool description and instructions for verifying correct functionality (i.e. example test case(s) with expected results)
  • The base OS [and version(s)] supported by this tool
  • An ansible script[2] to address installing the appropriate packages, plus correctly configuring and setting up the environment for the tool
  • A set of "control scripts" that advance the tool through it's relevant lifecycle events (e.g. start, stop, postprocess, ...) during an experiment
  • A declarative specification of what inputs and control knobs will be presented to end users when running experiments. The syntax for this spec is YAML, and the details are documented at node/29767.

Once collected, these artifacts may be submitted at http://cps-vo.org/node/29837. Also, in the notes section of this form, please note the name of the group that you are founding for your competition.

After submitting the above material, you will be contacted by the CPS-VO administrative team once your group has been approved. Additionally, any questions submitted by way of http://cps-vo.org/contact will be forwarded to the administrative staff of the VO team for a timely response.


[1] As a backup reference to this document, there is a generic tutorial that addresses founding groups on the VO, which is available at http://cps-vo.org/tutorial/form-manage-groups.

[2] https://www.ansible.com (* optionally, an OpenStack image may be provided - however we still require the above items to be made public for repeatability purposes)