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.
Section 4.7.5 provides detailed help on the various steps listed below for accessing 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.
This step will create a new virtual network interface on your work computer, which will be on the same virtual Layer-2 network as all the AVNs on your experiment. This Layer-2 network is your Experiment Management (XM) network, and is provided exclusively for the purpose of accessing and controlling/coordinating your Experiment.
This new network interface will receive an IP address like 192.168.X.Y , with a netmask of 255.255.255.192 , where X is a number between 100 and 200. The subnet indicated by this address, 192.168.X.0/26, is expected to be dedicated to your Experiment Management (XM) network. You must not have any conflicting routes to any part of this address space, or any conflicting interface address assignments, on your work computer. Please ensure this is true before attempting to VPN in; otherwise the access will likely not work, and the results are unpredictable.
Now that you have securely connected to your XM network, you can access each of your AVNs.
The Manifest file you retrieved in Step 6 lists the IP addresses of each AVN in your Virtual Environment Experiment.
You can access each of them only using the ssh credentials you provided in Step 1; no ID-password based login is possible to these AVNs.
The Manifest file provides the mapping between the target AFRNs/APRNs you selected in the Portal (in Step 2b above) and the IP addresses. This allows you to configure and code each AVN according to the role you envision for them in the Experiment.
For example, your Experiment may comprise two AERPAW Nodes - the Fixed Node LW1, and an APRN.
On the Portal when you view your Experiment, you will see that a numbering has been established for these nodes - say LW1 has been numbered Node 1, and the APRN as Node 2. This numbering is specific to this Experiment, so we call these numbers the Experiment Node Numbers.
The Manifest file will list one IP address for Node 1, and one for Node 2.
In addition to the AVNs, the Manifest file also provides the IP address for one additional Virtual Node: a custom OEO Console for your Virtual Environment Experiment. You will use this OEO Console to control and configure specific aspects of your Experiment. More details are provided in Section 2.6, and specific Sample Experiments also provide specific instructions on how to use the OEO Console.
Caution: The AVNs are equipped with whatever credentials were saved in the AERPAW system for you at the time you used the Portal to "Initiate Development Session". If you change your credentials after making this request, the AVNs will not reflect that change !
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.
Provide the same OpenVPN Profile file to each such User (or ask them to retrieve it from the Portal, as in Step 6 above), and access the Virtual Experiment.
Each User will be able to log in to AVNs using their corresponding ssh credentials. Please do not share ssh credentials between Users.
It is up to you to coordinate the work of the multiple Users accessing the Virtual Experiment; the AVNs provide equal privilege to all, and simultaneous Users must exercise care not to clobber each others' work.
Caution: If you add other AERPAW Users to your Experiment after you used the Portal to "Initiate Development Session", the AVNs will not have their credentials, and they will not be able to login to the AVNs !
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.
Please note, however, that the Emulation included in the Development Session is merely an enabler for the software development/test process. The R/F and airflow/flight models included in this Emulation are fairly realistic, but you should not depend on data produced by virtual experimentation in the Development Virtual Environment to provide any realistic physical insight.
As above, Sample Experiments are a good way to get started with this process; each of them is a complete Experiment that can be run and tested as soon as you complete setting it up (following corresponding instructions in Section 6), before you start adding/modifying your own code to build on it.
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.
Please note, however, that the "Save" operation is quite costly in time, as well as disk operation and computation. You will lose access to your Experiment during the time it is being saved, which can easily take 20 - 30 minutes (more if you have a larger-than-normal Experiment). Please use this feature only for very critical needs, and only sparingly.
Section 4.7.5 provides help on the Portal interactions to "Save" an Experiment.