print · login   

Wiki's global data structure for all benchmark models

The following list displays the general steps to add data to an application:

  1. data structure: get data structure right
  2. data storage: find out how to store the data pieces
  3. data dynamics: find out how to retreive and update the data pieces
  4. data view: find out how to add a view on top of the overall data structure

For model benchmarks in the automata wiki this is worked out as :

  1. data structure
    • models stored per benchmark:
      • a specific protocol or case study for which we got models
      • basicly a small description and model or set of models
    • models grouped per model type
    • within model type each model can have different options, eg. for Register automaton we can have
      • incr ++
      • ineq < >
      • fresh e.g. unique session keys
      • sum
      • ...
  2. data storage
    • per benchmark make a wiki group
    • store all models of that benchmark as uploads in that group
    • per model type make a wiki page with that type's name and in that wiki page list all model names of that type (which were uploaded)
    • per model type wiki page we can specify the options for some models by adding a line
      options: x,y,z
      which applies on the models listed below it
  3. data dynamics
    • via wiki interface we can easily upload or remove models in the benchmark group
    • via wiki interface we can then easily edit the model type pages for the models in the benchmark
  4. data view
    • in header of wiki we have a pulldown menu listing all benchmarks
    • in the main sidebar menu of the automata wiki we link to an Overview page where we use pmwiki's pagelist feature to list per model type all benchmarks which have a model type page for that type ( basicly all benchmarks which have model of that type)
    • per benchmark we have a wiki group with its own sidebar menu in which we link the model type pages for that benchmark


  • the model type page datastructure must use basic pmwiki listing such that
    • it can easily be parsed by a script to generate a zip file of all models in the wiki
    • and it also gives a nice basic view in the wiki as wikipage.
  • if you want a nicer view on the listing of the models then this is possible. You must always have the model type page in the benchmark for including them in the downloads. However instead of linking that page in the sidemenu, one could instead link to another wiki page which gives a nicer view on the listing of the models. Note that you now have to maintain both the model type page and its nicer view page.
  • if you want to add models but don't want them directly visible in the wiki, we have an extra data page per model type called Extra<modeltype> which list models which get also included in zip but this page is not directly linked from the sidebar menu. However, the developer can just list "all the pages" in the benchmark group when logged in, and then still select to view the extra page.