File types
Find here all information concerning the different file types used by MUON.

Common applicative events format (type: aevt)

We define a common format for the logs related to the messages dissemination. Any system that produce logs and translate them to this format will be able to use the DGS tools related to the messages dissemination (e.g. comparison between the horizons and the message journeys)

Events

The events are the following:

Line format

The generic line format is the following:

date event node-id [key=value]*

with:

the values of the arguments or properties may be in quotes

Subscription (sub) or unsubscription (unsub)

date sub|unsub node-id gid=grp-id

with:

Emission (snd)

date snd node-id mid=msg-id [key=value]*

with:

the optional properties can be:

Reception (rcv)

date rcv node-id mid=msg-id [key=value]*

with:

the optional properties can be:

Top of page

Contact file format (type: contacts)

Contact file containing information relative to radio contacts between nodes.

Top of page

Data file format (type: data)

Data file containing various data columns which can be used to plot graphs using Gnuplot.

Top of page

Default GraphStream file format (type: dgs)

DGS files are the default files of the GraphStream project. GraphStream allows the visualisation and analysis of graphs, in particular dynamic graphs through the use of its Java library.

These files allow the storage of both static and dynamic graphs using a textual yet human understandable representation, whilst maintaining an overall small file size. Using events such as the creation, removal or modification of a node or an edge, as well as the addition, removal or modification of attributes on either a node, an edge or even a graph, the dynamics of various graphs can be defined.

For more information, please consult this link.

Top of page

Journey file format (type: jrney)

Introduction

A journey is a temporal directed path in a dynamic graph, i.e. a path with temporal attributes: the journey start time and the time for each edge.

Journeys could be grouped together, thus forming a tree if:

A 'group of journeys' represents the dissemination of a message amongst nodes in an opportunistic network. Thus, journey files are calculated from applicative events files. A 'group of journeys' also represent 'ideal' journeys that messages could take by exploiting the contacts in an opportunistic scenario. Thus, journey files are calculated from DGS files.

Journey file format

A journey file is composed of lines, composed of tokens separated by tab characters (\t). Each journey or group of journeys is represented by several lines, described below. Groups of journeys are separated by an empty line.

File format specification:

journeys_file ::= journey_group [ '\n\n' journey_group ]*  
journey_group ::= journey_start '\n' statistics [ '\n\t' journey_edge ]*  
journey_start ::= <identifier> <start_time> <source_node>  
statistics    ::= <nb> <sum> <min> <max> <avg> <std_dev>  
journey_edge  ::= <edge_time> <depth> source_nodes target_nodes  
source_nodes  ::= nodes_list  
target_nodes  ::= nodes_list  
nodes_list    ::= '[' <node_id> [ ',' < node_id> ]* ']'

Compact journey file format

In the compact journey file format are represented the journey source node and start time, and, for each edge, the time and target node. Each journey or group of journeys is represented by a single line.

journeys_file ::= journey_group [ '\n' journey_group ]*  
journey_group ::= journey_start [ journey_edge ]*  
journey_start ::= <identifier> <start_time> <source_node> <nb_nodes>  
journey_edge  ::= <target_node>,<edge_time>  
Top of page

Markdown file format (type: md)

The markdown file format is a plain text format enriched with a lightweight formatting syntax, that can be converted to many other formats (e.g. html, latex...)

Standard markdown file format

An informal specification of the markdown syntax can be found here.

Simplified descriptions of the main elements of the markdown syntax are given below.

Headers

Headers are lines starting with '#' characters, corresponding to the header levels. Examples:

# Level 1 header 

### Level 3 header

Lists

Lists are composed of lines starting by an '*' character (unordered lists), or a number followed by a '.' (ordered lists). Examples:

* Apple
* Pear
* Banana

1. One
2. Two
3. Three

Code

Code blocks are blocks which lines are indented by at least 4 spaces. Example:

This is a normal paragraph

    This is a code block
    Composed of two lines

This is the next non code paragraph

Inline code is text wrapped with '`'. Example:

Use the `printf()` function 

Inline links are composed of text delimited by '[]' followed [boo] by the URL delimited by '()'. Example:

[Markdown informal specification](https://daringfireball.net/projects/markdown/syntax)

Emphasis

Italic text is wrapped with one '*', and bold text with double '*'. Example:

This text is *important* and this text is **very important**. 

Tables

Tables are not part of the standard markdown format. Extensions have been proposed to include tables in markdown.

A table is composed of a header, followed by a separator line and then the table body. The rows in the header and the body are composed of cells separated by '|'. The separator line is a row which cells are composed of '----'. Example:

| Name  | Surname |
| ----- | ------- |
| Alice | Doe     |
| Bob   | Black   |

The alignment for each column is specified by adding ':' to the separator lines:

| Name  |  Age |
| :---: | ---: |
| Alice |    8 |
| Bob   |   32 |

Emphasis or inline code formats can be used in cells:

| Name    |  Age |
| :-----: | ---: |
| *Alice* |    8 |
| **Bob** |   32 |
Top of page

Plot file format (type: plot)

Text file representing the command generated and passed to Gnuplot to create a graphical representation using an SVG graph image.

Top of page

Scalable Vector Graphics file format (type: svg)

Image file representing a graph generated by Gnuplot.

Top of page

Text file format (type: txt)

Text file containing various textual information.

Top of page