Difference between revisions of "TagStreamerArchitecture"
From RifidiWiki
(→The Components) |
(→the Controller) |
||
Line 176: | Line 176: | ||
Describes how the BatchGenerators are connected to the scenarios, the speed new batches are created and how long the wait time will be until it's executed again. | Describes how the BatchGenerators are connected to the scenarios, the speed new batches are created and how long the wait time will be until it's executed again. | ||
− | == | + | == The Controller == |
The Controller specifies how the input data will be processed. A example "use case" is provided here: [[TagStreamerSpecification]]. | The Controller specifies how the input data will be processed. A example "use case" is provided here: [[TagStreamerSpecification]]. | ||
Line 185: | Line 185: | ||
* the LoadTestProcessor | * the LoadTestProcessor | ||
− | === | + | === The BatchGenerator === |
− | === | + | === The PathItem === |
− | === | + | === The LoadTestProcessor === |
Revision as of 20:05, 29 January 2008
Contents
Tag Streamer 2.0
As we talk about Tag Streamer 2.0 we talk about a new Software. The software comes along with Objects and object orientated programming. One of the modern software development concepts is the "Model Viewer Controller" principle. It identifies 3 main parts of a program.
- the Viewer
- the Model
- the Controller
The Viewer
The Viewer will be defined in a later phase of the implementation because the main part of Tag Streamer will be the execution of predefined XML files.
The Model
The Model represents the input data. In Tag Streamer we can identify 4 parts.
- the Batch
- the Scenario
- the Components
- the LoadTestSuite
The Batch
Describes what should be done on the PathItems along the Scenario.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <batchPattern id="1"> <scenario>3</scenario> <interation>250</iteration> <burstNumber>50</busrtNumber> <burstInterval>4000</burstInterval> <isGPITrigger>true</isGPITrigger> <tagPattern count="100"> <type>Custom</type> <prefix>eef</prefix> <gen>2</gen> </tagPattern> <tagPattern count="90"> <type>DOD</type> </prefix> <gen>2</gen> </tagPattern> </batchPattern>
The Scenario
Describes how the PathItems are connected to each other to simulate a assembly line in a factory.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <scenario id="0"> <pathItem id="0"> <readerEntity> <timeEntity> <random>true</random> <minValue>400</minValue> <maxValue>500</maxValue> </timeEntity> <readerID>0</readerID> </readerEntity> <timeEntity> <random>true</random> <minValue>400</minValue> <maxValue>500</maxValue> </timeEntity> </pathItem> <pathItem id="1"> <gpiListenerEntity> <timeEntity> <random>true</random> <minValue>400</minValue> <maxValue>500</maxValue> </timeEntity> <gpiListenerID>0</gpiListenerID> </gpiListenerEntity> <timeEntity> <random>true</random> <minValue>400</minValue> <maxValue>500</maxValue> </timeEntity> </pathItem> <pathItem id="2"> <readerEntity> <timeEntity> <random>true</random> <minValue>400</minValue> <maxValue>500</maxValue> </timeEntity> <readerID>0</readerID> </readerEntity> <timeEntity> <random>true</random> <minValue>400</minValue> <maxValue>500</maxValue> </timeEntity> </pathItem> <pathItem id="3"> <readerEntity> <timeEntity> <random>true</random> <minValue>400</minValue> <maxValue>500</maxValue> </timeEntity> <readerID>0</readerID> </readerEntity> <timeEntity> <random>true</random> <minValue>400</minValue> <maxValue>500</maxValue> </timeEntity> </pathItem> </scenario>
The Components
Describes the affected devices in the PathItems. That can be RFID readers and in the future some more devices along a assembly line.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <componentList id="0"> <readerComponents id="0"> <reader> <numAntennas>1</numAntennas> <numGPIs>4</numGPIs> <numGPOs>4</numGPOs> <propertiesMap> <entry> <key>servermode</key> <value>true</value> </entry> <entry> <key>inet_address</key> <value>127.0.0.1:10101</value> </entry> <entry> <key>llrp_inet_address</key> <value>127.0.0.1:5084</value> </entry> </propertiesMap> <readerClassName>org.rifidi.emulator.reader.llrp.module.LLRPReaderModule</readerClassName> <readerName>LLRPreader</readerName> <readerType>LLRPReader</readerType> </reader> </readerComponents> <readerComponents id="1"> <reader> <numAntennas>1</numAntennas> <numGPIs>4</numGPIs> <numGPOs>4</numGPOs> <propertiesMap> <entry> <key>servermode</key> <value>true</value> </entry> <entry> <key>inet_address</key> <value>127.0.0.1:10102</value> </entry> <entry> <key>llrp_inet_address</key> <value>127.0.0.1:5085</value> </entry> </propertiesMap> <readerClassName>org.rifidi.emulator.reader.llrp.module.LLRPReaderModule</readerClassName> <readerName>LLRPreader2</readerName> <readerType>LLRPReader</readerType> </reader> </readerComponents> <gpiListenerComponents id="0"> <port>0</port> <readerID>0</readerID> <signalValue>true</signalValue> </gpiListenerComponents> </componentList>
The LoadTestSuite
Describes how the BatchGenerators are connected to the scenarios, the speed new batches are created and how long the wait time will be until it's executed again.
The Controller
The Controller specifies how the input data will be processed. A example "use case" is provided here: TagStreamerSpecification.
As parts of the controller we can identify the following components:
- the BatchGenerator
- the PathItem
- the LoadTestProcessor