'''[wiki:GEC16Agenda/WiMAX-Tutorial/Streamload/02 Previous]''' == Writing an OMF Application Wrapper == When an OML-enabled application is run using OMF, the application itself is installed on the resource and a simple [https://mytestbed.net/projects/omf/wiki/BasicTutorialStage3-5-2 OMF application wrapper] is installed on the console where the OMF Experiment Controller runs. This wrapper just gives some basic information about the application, the parameters that can be passed at the command line, and the OML measurement points that have been defined in the application: {{{ #!ruby defApplication('streamload', 'streamload') do |app| app.path = "/root/streamload" app.version(1, 0, 0) app.shortDescription = "streamload" app.description = "streamload scalable video downloader" app.defProperty("url", "URL of video source", "-u", {:type => :string, :dynamic => false}) app.defProperty("video", "Name of video", "-v", {:type => :string, :dynamic => false}) app.defProperty("window", "Download window for enhancement layers", "-w", {:type => :integer, :dynamic => false}) app.defProperty("streamload", "Use streamload to enhance video quality?", "-s", {:type => :string, :dynamic => false}) app.defMeasurement('dl') do |mp| mp.defMetric('chunk',:long) mp.defMetric('layer',:long) mp.defMetric('rate',:long) end app.defMeasurement('conf') do |mp| mp.defMetric('key',:string) mp.defMetric('value',:string) end app.defMeasurement('play') do |mp| mp.defMetric('chunk',:long) mp.defMetric('layers',:long) end end }}} '''[wiki:GEC16Agenda/WiMAX-Tutorial/Streamload/04 Next]'''