1.8) Experiment Lifecycle Overview

Interaction Modalities

A prospective Experimenter can initiate an AERPAW Experiment through the AERPAW Experimenter’s Portal, and by filling out one or more Google Forms (as prompted by the Portal) to initiate contact.  You can also try calling/emailing AERPAW Ops contact, but we will likely simply redirect you to first follow the procedure outlined on this page (although discussion may well be required later in the process).

Experiment Types: Canonical, Non-Canonical (GA), Custom (non-GA)

In AERPAW, we consider the "canonical" Experiment to be one in which the target resources are AERPAW's AFRNs, APRNs, and programmable vehicles (UAVs, UGVs), and the Experimenter writes code to program the UAV trajectories, and the SDR transmissions, to realize their experimental intent.  We also call this the “Program-it-Yourself” (PiY) approach to initiating an experiment.

AERPAW also supports (i) non-canonical experiment modes, such as  Experiment-as-a-Service, Experiment-Development-as-a-Service, Live Limited Access, under the umbrella of General Availability of the platform resources, and also (ii) other custom services such as access to equipment not part of the Generally Available platform, and Bring Your Own Device mode.  All such experiments need to be initiated by contacting AERPAW Ops by use of the appropriate Google Forms:

At the end of this page, we briefly describe non-canonical approaches.   Jump to non-canonical experiments description.  (Also see aerpaw.ncsu.edu, “Experiments” tab, for more information about these approaches; for BYOD see "2.7) User Support" in this User Manual.)  If considering non-canonical or custom experiments, fill out the appropriate Google Form initially with as much information as you can, and AERPAW Ops will be in touch to discuss your custom proposal further.  Most of the rest of this page refers to the canonical (PiY) approach.  

In general, we use the terms “User” and “Experimenter” interchangeably.  The slightly different connotations of the two terms are as follows: the “User” refers to the login ID and its Role, payment attributes, etc., while the “Experimenter” is more abstract, and represents the intent behind a certain experiment.  For example, if two different Users of the same Group (see below) log in at different times to perform continued development of the same experiment, they are acting as the same Experimenter when they do so.  When the experiment is executing in the Testbed, typically no User is logged into any of the Testbed nodes, but we still speak of the Experimenter’s code as executing in those nodes.

The following flowchart summarizes the process an Experimenter needs to follow to create and execute a new experiment.  Numbers refer to section of this User Manual.


Interaction Details in Canonical Experiment Lifecycle

The following diagram shows the main stages of an Experimenter's use of AERPAW.  This diagram should be considered in conjunction with the diagram on the "1.3) Overall Platform Architecture" page earlier in this section; please read that section in its entirety before reading this page, since we refer to concepts and terminology introduced there.

Below we describe briefly the various steps in which we have decomposed the interactions that occur in this lifecycle.  More detailed information and help is available for each of these interactions in subsequent sections of this User Manual.

Steps {3-5, 9-14, 16-19} are not detailed below, beyond their self-explanatory listing in the diagram.  These steps are provided here to help AERPAW Experimenters understand the bigger picture of the user-programmed but batch-executed testbed discipline. They are undertaken by AERPAW Ops and the automated AERPAW Platform Control system, and are completely transparent to the User.  The rest of the steps shown in the diagram are explained below.

Your AERPAW Work Computer

To use the AERPAW Web Portal, and later to access the AERPAW Virtual Environment to develop your Experiment, you need to use a computer of your own - typically your work desktop or laptop.  In what follows, we refer to this as your work computer.  (Of course, you may possibly use different work computers at different times.)

While most computers with basic Internet access will suffice for the web-based interactions with the AERPAW Portal, to continue successfully with Virtual Environment access as required for Canonical Experiments, you must have:

In our experience, the best match and most predictable experience in accessing AERPAW is provided by using a work computer running some variant of the Linux Operating System.  While we continue efforts to fully support access using Windows or MacOS computers, the lack of several key pieces of open-source software on those platforms, and the limitation of capabilities even for Administrative users, makes success unpredictable at best.  Further, the required reconfigurations of the OS (and networking stack) may not be something Users may be comfortable with in making on their own personal productivity laptop.

If at all possible, we strongly suggest using a Linux-based work computer, and one in which you do not keep other sensitive productivity-related information, for Canonical Experiment access.

Platform Access (Web Portal)

Step 1: Register and Supply Credentials

To access AERPAW using the Portal website, an Experimenter needs to initially use the Portal and create an AERPAW User ID; this is a one-time operation.  To be able to create Projects and Experiments, it is necessary to request corresponding specific roles.

In a later step, you will use the ssh utility to access the AVNs, with keyed access that ensures nobody else has access to these AVNs.  Using the Portal you have to supply the public part of the key to AERPAW Ops, so it can be installed into those AVNs.   The logical time to supply such credentials is now, right after registering yourself as an AERPAW User.

The ssh credentials take the form of a public-private key pair.  You should supply the public key to AERPAW via the Portal, and save the private key in your work computer.

Experiment Creation (Web Portal)

Step 2: Create Experiment, request development session

In AERPAW, Experiments are created under Projects - no Experiment can exist without a Project to house it.

The first step in creating an Experiment is to give it a name, a short description, and to enter more details .

------------- Beyond this point, the rest of the description is only applicable to canonical Experiments (see flowchart above) -------------

The next step is to define the set of ARN resources that your Experiment will target in Testbed execution, and save this definition.

Once you have completed creating a new Experiment request and saved it, you can use the Portal to "Initiate Development Session" for this Experiment.

Usage of AERPAW, and in particular the traversal of this workflow, is conditional on your acceptance of the AERPAW Usage Policy.

Step 3 to Step 5 are performed by AERPAW Ops/Portal/Control

At this point, a Development Mode Experiment execution environment specific to your request will be prepared in the AERPAW Virtual Environment by the AERPAW Platform Control System.  This process should take only a few minutes; in rare cases it may take longer.  If it is not complete for multiple hours, you should send email to AERPAW Operations <aerpaw-operations@ncsu.edu> to alert us of possible problems.

Receive Experiment Access (Web Portal)

Step 6: Receive Virtual Manifest Info

When creation of the Development Mode Experiment in the AERPAW Virtual Environment is complete, you should receive an email from AERPAW Ops (either <aerpaw-operations@ncsu.edu> or <aerpaw@gmail.com> , please make sure mail from these addresses are not going to your Spam or Junk).  However, you can also check the status of your Experiment on the Portal at any time you choose; simply re-load or refresh the page on your web browser.  (If you suspect you may be seeing out-of-date information, log out and log in again, or follow mechanisms specific to your browser to delete cache or other context.)

At this point, as you view this Experiment on the Portal, you will see that links to two files have been added.  One of them is an OpenVPN profile file that allows you to securely access the Virtual Environment that houses your Development Mode Experiment, in the next step.  This environment is unique to your experiment, and contains AERPAW Virtual Nodes (AVNs) - virtual versions of the exact set of nodes you identified in Step 2.  Your virtual environment is distinct from that of other Experiments belonging to other Experimenters, and should be accessed only by yourself.   You should not share these OpenVPN credentials with anybody else.

The second file is a "Manifest" - simply a list of the IP addresses you will use, in the next step, to access each of the AVNs.

You should download and save both these files in your work computer (the computer from which you intend to remotely access the AERPAW Virtual Environment - the same computer on which you have stored your SSH credentials in Step 1 above).

Experiment Development (OVPN, ssh)

Step 7: Login to AVNs, Code, Test

You can now login to each AVN of your experiment, examine and re-use provided sample code, write your own code, and test them in the virtual environment of the Development Session.

First, you must access the custom Virtual Environment that has been created for your Experiment.  For this, you will utilize a OpenVPN or compatible client (depending on the OS on your work computer) to securely connect your work computer to this custom environment.

Now that you have securely connected to your XM network, you can access each of your AVNs.

 You can add other AERPAW Users to your Experiment, and plan to develop your Experiment on the AVNs jointly.  The Experiment itself can be only in one state, and only the User who created the Experiment (you, in this running example) can use the Portal to "Initiate Development Session".  However, once a Virtual Environment has been instantiated as a development session, all the Users who are Members of an Experiment can access the Virtual Experiment as above, in sequence, or even simultaneously.

The Virtual Environment is, of course, just to enable you to develop the Experiment - the meaningful experimental data can only come from executing that Experiment in the physical testbed environment.  However, you will likely want to develop the Experiment in incremental stages, and test it for correct execution at each intermediate stage.  The Virtual Environment includes an Emulation system for both radio control software and vehicle control software, so that the Experiment software can have the same programming interface (function calls, returns) as when it executes in the Testbed.

At any time during development, you can use the "Save" feature for this Experiment from the Portal, to cause full images of each AVN to be saved at this time.  If your Virtual Experiment Environment should crash, it may be possible for AERPAW Operations to restore the last such saved checkpoint.

Submit to Testbed (Web Portal)

Step 8: Submit Experiment for Testbed Execution


During the development process, you can perform interactive operations - a typical example is starting the Experiment run (kicking off the various processes at each AVN in your Experiment), another is stopping the Experiment run when you are satisfied that the purpose of the run has been fulfilled.  More sophisticated examples include performing coordinated actions to facilitate study of some phenomenon ("... thirty seconds into the run, start a heavy traffic flow from Node 1 to Node 2...", or similar).  However, recall that AERPAW is a batch-mode facility, and therefore during testbed execution you will not have this backdoor access to the AERPAW Nodes.  Any such action, including starting and stopping the run, must be scripted for automatic execution, before submitting the Experiment for Testbed execution. 

After you are satisfied that your Experiment code will do what it is intended to do when it is kicked off on the Testbed, log out of all AVNs, and use the "Save and Exit" feature from the Portal.

At this time, you can submit it for Testbed Execution.

Step 9 to Step 14 are performed by AERPAW Ops/Portal/Control

At this point, the Experiment will be scheduled for Testbed Execution, and eventually executed on the Testbed, by AERPAW Ops.  This can take several days or even weeks, depending on the number of Experiments currently contending for Testbed time, the availability of Ops and Safety Pilot personnel, and other factors affecting execution such as weather (especially for UAV related experiments).  Over this period, you should get several emails informing you of your Experiment being queued for scheduling, being scheduled/re-scheduled, and executed in the testbed.  However, you can also check the status of the Experiment in the Portal at any time, or get in touch with AERPAW Operations if you have questions or doubts.

Request Re-Development Session (Web Portal)

Step 15: Request Re-development of Returned Experiment

When Testbed Execution is complete, you will receive an email notification; the status of the Experiment will also change on the Portal to show again as "Saved".

In order to view the results, you will again need a Development Session for your Experiment.  You will need to again "Initiate Development" from the Portal, exactly as in Step 2 above.

Step 16 to Step 19 are performed by AERPAW Ops/Portal/Control

As before, a custom Virtual Environment Experiment will be created for you.

Examine/Retrieve Results (OVPN, ssh, scp)

Step 20: Access Development Session, View Results

When AERPAW Ops has again set up the Development Environment Experiment Session for your Experiment, they will once more send you email; you can also check the status of the Experiment in the Portal.  At this time, you can again log in to the AVNs, as in Step 7 above.

At this point, any results saved by the Experiment logic during Testbed Execution will be available to you in the Development Session AVNs.

If you wish, you can continue modifying/extending your Experiment in this Development session.

Repeat as Necessary; Retire when Done

The above Develop-Submit-Review cycle can be traversed as many times as necessary.  When you are confident that you will never use the Experiment again in its current form, we ask that you "retire" the experiment, so that we can purge the Experiment from our system, and free up resources such as storage, CPU, IP/VLAN/VPN namespace, etc.  Prior to doing so, please remember to retrieve ALL of your data and code from your AVNs.

See Complete Example

Section 3.3 of this User Manual provides a complete example of traversing this workflow, with a specific example that makes a specific choice of ARNs, decision to use specific sample software, etc.

Also this video on creating canonical experiments using the Program-it-Yourself approach (showing Portal interactions as of March 2022) may be of use.  (NOTE: as of January 2023, with the Portal migrating to a new version, this video is outdated, and of limited value; we hope to replace it with an updated video soon.)


CNERT demo video recording.mp4

Non-Canonical Workflows / Specialized Equipment

AERPAW includes some industry standard commercial equipment typically not available in academic laboratories; and the goal of the AERPAW project is to make them available for use by our experimenters.  However, many of these are equipments or ecosystems of components that were designed exclusively for live access and control by an operator (specially trained for that purpose), and do not support a programmed or scripted mode of operation, nor functionality that can be accessed through high-level, easily accessible APIs suitable for a generic researcher.  We use the broad term “Third-Party Black-Box Equipment” (3PBBE) to emphasize this essential nature common to them all.  Confirmed such equipment at the time of this writing includes Keysight RF Sensors, Ericsson 4G/5G base stations and RAN/core system, and Facebook Terragraph system.

The canonical mode of operation cannot automatically encompass such 3PBBE, because of the lack of (i) virtual computational models of such 3PBBE that can be incorporated into AERPAW’s Development or Emulation environments, (ii) programmable control/configuration capabilities, to enable batch operation of Experimenter code (without live console access), and (iii) onboard programmable supervisor to run AERPAW Node orchestration software.  Such capabilities also cannot be expected in the future from the respective vendors, since they pose no commercial advantage.

Accordingly, we do not expect to provide 3PBBE access through the canonical workflow.  The following non-canonical workflows can be used to provide interested and qualified experimenters with such access.

Experiment-as-a-Service (EaaS).  This workflow is essentially identical to the canonical workflow, and can be used even for canonical Experiments by Experimenters who are not comfortable with SDR or UAV programming, and uninterested in learning.  In this workflow, the Experimenter simply describes (in documents, and through interaction with the AERPAW team) their experimental intent, and the experiment design, implementation, and execution, are all carried out by AERPAW personnel.

Although it is a much more protracted process than Program-it-Yourself, it has the advantage that non-programmable 3PBBE resources can be accommodated in the experiment without additional effort.  

Experiment-Development-as-a-Service (EDaaS).  This is an amalgamation of the canonical workflow and EaaS.  As in EaaS, AERPAW personnel designs and develops the experiment based on experimenter intent, but once the base experiment is programmed, it is turned over to the experimenter who can further develop and customize it, to create future experiments.  Beyond the handover, the experimenter follows the canonical workflow.

However, if 3PBBE are included, then the experiment cannot return to the canonical workflow.  For such experiments, the EDaaS workflow degenerates to the EaaS workflow.

Live Limited Access.   By going through some technical material and cooperative agreements, after some initial level-setting, qualified experimenters can be provided with testbed sessions in which they will have live login access to a specific predetermined subset of 3PBBE.  Such use will not include the ability to integrate canonical experiment resources (i.e. SDR nodes and UAVs/UGVs) into such live access.

General Availability

In Phase-2, the following systems are included as part of General Availability:

Please make sure you have read these parts of the User Manual before reaching out to AERPAW Operations to propose a non-canonical Experiment.

Please also make sure to fill out the Experiment Information Request Form before reaching out (see the flowchart at the top of this page).

Custom / One-of-a-kind Experiment Proposals

Beyond all of the above, AERPAW is open to collaboratively defining custom uses of the testbed, one-of-a-kind or hero experiments.  These are likely to be extremely costly, since they presuppose a good proportion of dedicated effort by AERPAW DevOps personnel, and potentially preclude or curtail much of the normal use of the facility for an extended period of time.

Mixed and Custom Service Approaches. If none of the above approaches can accommodate some particular, complex requirements of an experimenter, the AERPAW team will be open to discussing and coming up with unique custom approaches to support such requirements.  For example, it may be possible to have a mix of various previous approaches where part of the experiment is executed in batch mode programmed by the experimenter, a part is manual by the operator, and part is live limited access. This might allow the experimenter to observe the effect of transmitting a specific waveform from a fixed node (programmed by the experimenter in canonical mode) on a Keysight RF sensor (limited live access), while a DJI drone is being flown by an AERPAW pilot (EaaS by AERPAW Ops).

Bring Your Own Device (BYOD):  In this scenario, an Experimenter may provide custom wireless equipment that they desire to be installed (temporarily) in the AERPAW testbed, or otherwise integrated into experiment operation.  AERPAW is receptive to the concept of BYOD, however our goal and responsibility remains to be able to manage the process so that the platform’s ability to verify and enforce safe operations, staying within appropriate regulations, is not compromised.  BYOD cases are natural fits for one or the other non-canonical workflows.  For example, some researchers interested in passive signature-based drone detection may want to specify that AERPAW personnel should fly a certain model of drone (or send us their own custom drones) in our wireless field, to test detection algorithms.  Such a drone would typically not be programmable, but we would still be able to manually execute the experiment, if desired by the experimenter.  We do not envisage being able to, or commit to, providing a canonical workflow for BYOD equipment.  Part of the case-by-case interaction we will undertake when considering any BYOD scenario is to assess physical, electrical, and software characteristics of such custom devices, and their manageability by AERPAW Ops during the experiment.

Please make sure to fill out the BYOD Experiment Information Request Form (see the flowchart at the top of this page) before reaching out to propose any custom Experiment.  (Fill out the same form for all custom Experiment proposals, whether you actually intend to provide additional wireless equipment for your Experiment or not.)