TagStreamerUseCaseScenarios

From RifidiWiki

Jump to: navigation, search

Starting up Tag Streamer alpha 2.0

  1. Follow the instructions to download Rifidi Tag Streamer from source
    1. Download the following packages
  2. Open up the Lauch Configuration wizard by going to run->Open Run Dialog...
    Streamer-setup-osgi.png
  3. Create a new OSGI Framwork launch configuration
    Streamer-setup-plugins.png
    1. Click 'Deselect All'
    2. Click the box next to org.rifidi.streamer
    3. Click 'Add Required Bundles'
    4. Click the boxes next to all the reader bundles (i.e. org.rifidi.emulator.reader.llrp, org.rifidi.emulator.reader.alien, etc)
    5. Click 'Apply'
    6. Click 'Run'
  4. The application should now fail with a FileNotFound Exception. You need to place the four XML files (loadTestSuite.xml, scenario.xml, components.xml, and batch.xml) into this directory

Use Case: Bursts of tags

This use case simulates scenarios when you have short bursts of tags on many readers, such as several dock doors. We define a scenario suite with five scenarios, each having one reader. You can think of this as having five dock doors. Then we define the actual readers in the components.xml. This defines what kind of reader will be used in the scenarios as well as some additional information about the readers, such as their IP address and how many GPIO ports they have. The batchSuite defines the patterns of tags that will be seen by the readers. The first thing that this batch does is wait for a random amount of time so that all batches do not start at the same time. We also define a pattern of 20 tags (number) that represent a burst. Finally a LoadTestSuite is defined that defines a)The path to the xml files that are used (scenario, components, and batch), and b) the execution structure. The execution structure has a number of times to run, a time to wait between loops, and a mapping between scenarios and batches. These mappings, called batchActions, define which batches each scenario should run. All of the batchActions happen in parallel adipex (that is why we put a random wait time at the beginning of the batch -- so that

Scenarios

The following scenario describes how the readers are located. In this special case all scenarios weight loss pills consist of only one reader. Because none of these readers have following readers the traveltime is 0.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<scenarioSuite>
    <scenario id="1">
        <pathItem>
            <readerID>1</readerID>
            <travelTime>0</travelTime>
        </pathItem>
    </scenario>
    <scenario id="2">
        <pathItem>
            <readerID>2</readerID>
            <travelTime>0</travelTime>
        </pathItem>
    </scenario>
     <scenario id="3">
        <pathItem>
            <readerID>3</readerID>
            <travelTime>0</travelTime>
        </pathItem>
    </scenario>
     <scenario id="4">
        <pathItem>
            <readerID>4</readerID>
            <travelTime>0</travelTime>
        </pathItem>
    </scenario>
     <scenario id="5">
        <pathItem>
            <readerID>5</readerID>
            <travelTime>0</travelTime>
        </pathItem>
    </scenario>
</scenarioSuite>

Components

This file describes all the components the streamer should load. In this case we describe 5 LLRP Readers. Wich will be emulated by RifidiEmulator.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<componentSuite>
	<readerComponents id="1">
		<reader>
			<numAntennas>1</numAntennas>
			<numGPIs>4</numGPIs>
			<numGPOs>4</numGPOs>
			<propertiesMap>
				<entry>
					<key>llrp_inet_address</key>
					<value>127.0.0.1:5084</value>
				</entry>
				<entry>
					<key>inet_address</key>
					<value>127.0.0.1:10101</value>
				</entry>
				<entry>
					<key>servermode</key>
					<value>true</value>
				</entry>
			</propertiesMap>
			<readerClassName>
				org.rifidi.emulator.reader.llrp.module.LLRPReaderModule
			</readerClassName>
			<readerName>LLRPReader1</readerName>
		</reader>
	</readerComponents>
	<readerComponents id="2">
		<reader>
			<numAntennas>1</numAntennas>
			<numGPIs>4</numGPIs>
			<numGPOs>4</numGPOs>
			<propertiesMap>
				<entry>
					<key>llrp_inet_address</key>
					<value>127.0.0.1:5085</value>
				</entry>
				<entry>
					<key>inet_address</key>
					<value>127.0.0.1:10102</value>
				</entry>
				<entry>
					<key>servermode</key>
					<value>true</value>
				</entry>
			</propertiesMap>
			<readerClassName>
				org.rifidi.emulator.reader.llrp.module.LLRPReaderModule
			</readerClassName>
			<readerName>LLRPReader2</readerName>
		</reader>
	</readerComponents>
	<readerComponents id="3">
		<reader>
			<numAntennas>1</numAntennas>
			<numGPIs>4</numGPIs>
			<numGPOs>4</numGPOs>
			<propertiesMap>
				<entry>
					<key>llrp_inet_address</key>
					<value>127.0.0.1:5086</value>
				</entry>
				<entry>
					<key>inet_address</key>
					<value>127.0.0.1:10103</value>
				</entry>
				<entry>
					<key>servermode</key>
					<value>true</value>
				</entry>
			</propertiesMap>
			<readerClassName>
				org.rifidi.emulator.reader.llrp.module.LLRPReaderModule
			</readerClassName>
			<readerName>LLRPReader3</readerName>
		</reader>
	</readerComponents>
	<readerComponents id="4">
		<reader>
			<numAntennas>1</numAntennas>
			<numGPIs>4</numGPIs>
			<numGPOs>4</numGPOs>
			<propertiesMap>
				<entry>
					<key>llrp_inet_address</key>
					<value>127.0.0.1:5087</value>
				</entry>
				<entry>
					<key>inet_address</key>
					<value>127.0.0.1:10104</value>
				</entry>
				<entry>
					<key>servermode</key>
					<value>true</value>
				</entry>
			</propertiesMap>
			<readerClassName>
				org.rifidi.emulator.reader.llrp.module.LLRPReaderModule
			</readerClassName>
			<readerName>LLRPReader4</readerName>
		</reader>
	</readerComponents>
	<readerComponents id="5">
		<reader>
			<numAntennas>1</numAntennas>
			<numGPIs>4</numGPIs>
			<numGPOs>4</numGPOs>
			<propertiesMap>
				<entry>
					<key>llrp_inet_address</key>
					<value>127.0.0.1:5088</value>
				</entry>
				<entry>
					<key>inet_address</key>
					<value>127.0.0.1:10104</value>
				</entry>
				<entry>
					<key>servermode</key>
					<value>true</value>
				</entry>
			</propertiesMap>
			<readerClassName>
				org.rifidi.emulator.reader.llrp.module.LLRPReaderModule
			</readerClassName>
			<readerName>LLRPReader5</readerName>
		</reader>
	</readerComponents>
</componentSuite>

Batch

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<batchSuite>
	<batch id="1">
		<waitAction>
			<maxWaitTime>100</maxWaitTime>
			<minWaitTime>200</minWaitTime>
			<random>true</random>
		</waitAction>
		<tagAction>
			<execDuration>200</execDuration>
			<number>20</number>
			<prefix>eef</prefix>
			<regenerate>true</regenerate>
			<tagGen>GEN2</tagGen>
			<tagType>CustomEPC96</tagType>
		</tagAction>
	</batch>
</batchSuite>

LoadTestSuite

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<loadTestSuite>
    <fileUnit>
        <fileName>components.xml</fileName>
        <fileType>COMPONENT</fileType>
    </fileUnit>
    <fileUnit>
        <fileName>batches.xml</fileName>
        <fileType>BATCH</fileType>
    </fileUnit>
    <fileUnit>
        <fileName>scenario.xml</fileName>
        <fileType>SCENARIO</fileType>
    </fileUnit>
    <testUnit iterations="5000">
        <waitAction>
            <maxWaitTime>1000</maxWaitTime>
            <minWaitTime>0000</minWaitTime>
            <random>false</random>
        </waitAction>
        <batchAction>
            <batchID>1</batchID>
            <scenarioID>1</scenarioID>
        </batchAction>
        <batchAction>
            <batchID>1</batchID>
            <scenarioID>2</scenarioID>
        </batchAction>
        <batchAction>
            <batchID>1</batchID>
            <scenarioID>3</scenarioID>
        </batchAction>
        <batchAction>
            <batchID>1</batchID>
            <scenarioID>4</scenarioID>
        </batchAction>
        <batchAction>
            <batchID>1</batchID>
            <scenarioID>5</scenarioID>
        </batchAction>
    </testUnit>
</loadTestSuite>

Personal tools