Difference between revisions of "Adding an example"

From SUMOwiki
(Simulator file)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
This page explains how to add your own data/simulation code/... to the toolbox to model it.
+
This page explains how to add your own data/simulation code/... to the toolbox in order to model it.
   
 
== Project directories ==
 
== Project directories ==
   
  +
The SUMO Toolbox comes with a large number of example problems and datasets which you can use for testing, benchmarking, or simply to get a feel of what is possible. These problems cover a very large range of domains, from Biology to Geography and Electronics. If you simply want to play around and try different examples please refer to [[Running#Running_different_examples]].
Since version 6.0 every example (and all related files) is self contained in a project directory. See <code>examples/</code> for a list of examples and associated project directories. You can use one of them as an example for how to add your own.
 
   
  +
All the files related to one problem are placed together in a directory. We call this the project directory for that problem. Many examples of project directories can be found in the <code>examples/</code> subdirectory of your SUMO-Toolbox installation. If you open one of those directories you will see they contain the following things:
== Simulator file ==
 
   
  +
# A simulator xml file with the same name as the project directory. This file is mandatory (though there are some small exceptions)
If you want to create a surrogate model (metamodel) for your own problem you will first have to write a [[simulator]] xml file. Again, use one of the exsiting simulator xml files (from on of the examples) as a guide. The simulator xml file should have the same name and capitalization as the project directory (except for the .xml extension). Also see the [[Simulator configuration]] page.
 
  +
# One or more executables: matlab script, C++ file, binary, ... (optional)
  +
# One or more data files (optional)
  +
# Alternative simulator xml files (optional)
  +
# Other files, e.g., a documenting pdf (optional)
   
  +
Open up a couple of the example project directories and have a look inside so you are sure whats going on.
You can then edit this file to suit your particular problem. This file should be pretty straightforward to write.
 
   
  +
== Modeling your own problem ==
'''For versions < 6.0:'''
 
Datasets should be placed in <code>examples/data/txt</code>.
 
In case of doubt about which dataset to use, use 'ScatteredDataFile'.
 
Matlab scripts should be placed in <code>src/matlab/examples</code>.
 
   
  +
If you want to model your own problem, this means you have to create a new project directory and give it a name. For ease of use we suggest to create it in the examples/ subdirectory. For example, if your problem is called ''Foobar'' create the directory ''examples/Foobar''. Inside this directory you must place: a file called ''Foobar.xml'', this is the [[simulator configuration]] file. See the [[simulator configuration]] page for information how to write such a file.
'''For version 6.0:'''
 
You can just copy the Datasets, matlab scripts, extra files in the project directory you created in the steps above.
 
   
  +
Once you have this file you simply place place any datasets, Matlab scripts, ... into your project directory. If you specified the correct path in your simulator configuration file then SUMO will find them. Paths can be absolute or relative to the project directory. If no file extension is present, '.txt' is assumed.
For an explanation of the data format and how the toolbox interfaces with the [[simulator]], see the [[Interfacing with the toolbox]] page.
 
   
Having written your simulator XML file and provided the datasets/executables you now just need to change <code>default.xml</code> so it uses your problem (<Simulator> tag). Finally you just run '<code>go</code>'. In version 5.0 of the toolbox you would just use the name of the simulator configuration file, for version 6.0 you must specify the project directory name (can be an absolute path or a directory name inside the toolbox path).
+
Having written your simulator XML file and provided the datasets/executables you now just need to change <code>default.xml</code> so it uses your problem (<Simulator> tag). For information on this see [[Running#Running different examples]].
 
Note that, depending on whether your simulator is a script, native executable, dataset or Matlab script you will need to set different [[Config:SampleEvaluator| sample evaluator]] configuration options. For example, if your data comes from a dataset you will have to set the sample evaluator to [[Config:SampleEvaluator#scattered| scattered]] or [[Config:SampleEvaluator#gridded| gridded]], depending if you data points are scattered or on a regular grid.
 
If on the other hand your data comes from a native executable you would want to use the [[Config:SampleEvaluator#local| local]] sample evaluator with the simulatorType set to "external" (you can also set the type to "java" if your executable is a java class). For Matlab scripts the sample evaluator to use is [[Config:SampleEvaluator#matlab| matlab]].
 

Latest revision as of 00:04, 3 September 2009

This page explains how to add your own data/simulation code/... to the toolbox in order to model it.

Project directories

The SUMO Toolbox comes with a large number of example problems and datasets which you can use for testing, benchmarking, or simply to get a feel of what is possible. These problems cover a very large range of domains, from Biology to Geography and Electronics. If you simply want to play around and try different examples please refer to Running#Running_different_examples.

All the files related to one problem are placed together in a directory. We call this the project directory for that problem. Many examples of project directories can be found in the examples/ subdirectory of your SUMO-Toolbox installation. If you open one of those directories you will see they contain the following things:

  1. A simulator xml file with the same name as the project directory. This file is mandatory (though there are some small exceptions)
  2. One or more executables: matlab script, C++ file, binary, ... (optional)
  3. One or more data files (optional)
  4. Alternative simulator xml files (optional)
  5. Other files, e.g., a documenting pdf (optional)

Open up a couple of the example project directories and have a look inside so you are sure whats going on.

Modeling your own problem

If you want to model your own problem, this means you have to create a new project directory and give it a name. For ease of use we suggest to create it in the examples/ subdirectory. For example, if your problem is called Foobar create the directory examples/Foobar. Inside this directory you must place: a file called Foobar.xml, this is the simulator configuration file. See the simulator configuration page for information how to write such a file.

Once you have this file you simply place place any datasets, Matlab scripts, ... into your project directory. If you specified the correct path in your simulator configuration file then SUMO will find them. Paths can be absolute or relative to the project directory. If no file extension is present, '.txt' is assumed.

Having written your simulator XML file and provided the datasets/executables you now just need to change default.xml so it uses your problem (<Simulator> tag). For information on this see Running#Running different examples.