rdarnold / dronelab

DroneLab UAS Simulator
1 stars 1 forks source link

Capability to Output Network Matrix as DyNetML #12

Open rdarnold opened 3 years ago

rdarnold commented 3 years ago

The network matrix files should be able to be output in DyNetML format.

mattosinski commented 3 years ago

Attached is a normal adjacency matrix csv file and the corresponding DyNetML 2.0 xml file.

@rdarnold let me know if you have any data that you need, but isn't in the xml - i.e. adding attributes about the environment.

xml.zip

DyNetML 2.0 reference: http://www.casos.cs.cmu.edu/projects/dynetml/dynetml_2_0-schema.xml

rdarnold commented 3 years ago

@mattosinski Can you add another property "droneRole" as an int indicating the role of each drone in the current sim (Social / Antisocial / Relay are the 3 roles at present).

mattosinski commented 3 years ago

@rdarnold Sure - I added the droneRole property.

As far as I can tell, the DyNetML schema uses only string data types for the values. There is a separate propertyIdentity field that describes what the data type actually is (text, categoryText, number, categoryNumber, date, uri).

Is this ok? Or should I switch to an actual int?

Run-1_Time-1_Located-0.zip

rdarnold commented 3 years ago

@mattosinski Yes that's fine, no need to switch to an actual int.

rdarnold commented 3 years ago

@mattosinski Update on this task based on my training this week:

The idea is to be able to write out multiple networks with timestamps into a single file. These networks would describe the changing WiFi network (or whatever we want) over the course of one entire simulation run. Currently I write out a single file each time the network outputs. That needs to be changed such that each network is just appended to a master file which is not actually written to disk until the simulation run ends. DyNetML appears to support this capability through the MetaNetwork tag as per above example. When appending to this master file, the program should use a StringBuilder rather than a String because there are likely to be many appends over time. Computational efficiency will be important.

mattosinski commented 3 years ago

@rdarnold - Check out the attached data. Changes to the network within the same run can be seen in the MetaNetwork tags while each new run will generate a new xml file.

sample_data.zip

mattosinski commented 3 years ago

notes from scrum

mattosinski commented 3 years ago

@rdarnold Added the following per today's discussion:

  1. Changed MetaNetwork datetime to TimePeriod and used the simTime counter
  2. verified the new xml can be loaded and viewed in ora-lite dynetml.zip