Difference between revisions of "TagStreamerArchitecture"

From RifidiWiki

Jump to: navigation, search
(class PathItems)
Line 1: Line 1:
==Load XML Handler==
+
= Tag Streamer 2.0 =
This is loading the needed Information form the XML Files. This consists of three different Files:
+
* The Scenario,
+
* The Components
+
* The InputData
+
  
It will have a main load-method() taking in three filenames
+
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 programm.
  
==Component Manager==
+
* the Viewer
The ComponentManager is a universal Class for creating the Components and keeping track of them. You can get the instances of the readers by asking the componentManager. He will create the reader if needed or returning a connected instance to the reader.
+
* the Model
 +
* the Controller
  
==Processor==
+
== the Viewer ==
Is the executing part. It runs the Scenarios by calling the processdata methods and doing the timing coming along with the pathItems. For doing that it needs to be a thread which can be interrupted at certain points.
+
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.  
  
==Command Interface==
+
== the Model ==
This is providing the user with the commands
+
The Model represents the input data. In Tag Streamer we can identify 3 parts.
  
* start
+
* the Batch
* stop
+
* the Scenario
* pause (implement later on)
+
* the Components
* resume (implement later on)
+
* the LoadTestSuite
* clean
+
* load
+
  
==Data Objects==
+
=== the Batch ===
===class Scenario===
+
=== the Scenario ===
* field ID
+
=== the Components ===
* field numOfRuns
+
=== the LoadTestSuite ===
* ArrayList of PathItems
+
  
===class PathItem===
 
* field ID (tells the position of this PathItem in the array)
 
* class TimeObject
 
* PathEntity Object
 
  
===abstract class PathEntity===
+
== the Controller ==
* reference TimeObject
+
The Controller specifies how the input data will be processed.A example "use case" is provided here:  [[TagStreamerSpecification]]
* method processdata(batchitem)
+
  
===class ReaderEntitiy extend PathEntity===
+
As parts of the controller we can identify the following components:
* reference to the UIReader
+
* override the processdata() method
+
  
===class GPIListernEntity extend PathEntity ===
+
* the BatchGenerator
* reference to the UIReader
+
* the PathItem
* override the processdata() method
+
* the LoadTestProcessor
  
===class timeObject implements observer===
+
=== the BatchGenerator ===
*Reference to SuspendableTimer
+
=== the PathItem ===
*method start
+
=== the LoadTestProcessor ===
*method stop
+
*method suspend
+
*method resume
+
*field min value
+
*field max value
+
*field (boolean) random
+
*set Observer
+
 
+
===class InputData===
+
* list of BatchItems
+
 
+
===class BatchItem===
+
* field ID
+
* field trigger (boolean)
+
* field time (think about that)
+
* list of tags
+

Revision as of 19:55, 29 January 2008

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 programm.

  • 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 3 parts.

  • the Batch
  • the Scenario
  • the Components
  • the LoadTestSuite

the Batch

the Scenario

the Components

the LoadTestSuite

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

the BatchGenerator

the PathItem

the LoadTestProcessor

Personal tools