CSSequencer Proposed Solution

The following class descriptions represent a first design approach for the CSSequencer package:
  • CSListObj
    • Handles hierarchical structured list elements
    • Each list element defines, for example, one test step
    • List Elements could also handle sequences instead of single test steps
    • List Elements can be restructured for editing the order of sequential execution
  • CSSeqExec
    • Querries CSListObj for Test Steps
    • Triggers Test Step and waits for result
    • Controls order of execution depending on test step result:
      • loops, break conditions and branches (structural elements)
      • editable via scripting tool
    • Easy to replace sequence of test steps by connecting CSSeqExec to another List object
  • CSProxy
    • locks and unlocks any BaseProcess object for exclusive access via event – driven communication
    • avoids the interaction of parallel running sequencers that use the same device object
  • CSDuT (Device under Test)
    • Each HW device that belongs to a single test step can be connected additionally to a DUT object:
      • Defining sequence of events for device object
      • Using CSProxy class for locking mechanism
      • Defining test Input and expected reaction
      • Defining ways for analysis
      • Defining conditions for test result (failed/successful)
  • class diagramm:
    class diagramm

more detailled class definitions

  • CSDuT
    • serves as parent class for any DuT object
    • inludes the following functionality for the developer
      • classname.ProcStimulate.vi: defines how to stimulate the device object
        • data types of data to sent
      • classname.ProcRespond.vi: defines how to work its respond
        • data types of received data
        • next step in sequence
        • finish test if desired
        • decision for test result (successful or failed?)
      • classname.ProcSequence.vi: defines sequence
        • multiple sequences possible
        • groups events into event arrays
        • defines order of execution for event arrays
        • loop function for event array
        • defines call type for each event
    • handles locking mechanism (CSProxy)

  • class diagramm
After discussing several possible test scenarios during the last meetings a first approach concerning the design of the CSSequencer basic classes has been accomplished. The following UML diagramms should present the outcome of these discussions.

  • interface between any device process and CSSequencer classes:
    interface between any device process and CSSequencer classes

  • multiple DuTs in one elementary sequence:
    multiple DuTs in one elementary sequence

  • USB Interface Test Scenario:
    USB Interface Test Scenario

-- MaximilianKugler - 23 Mar 2006
Topic revision: r3 - 2006-04-11, MaximilianKugler
 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding GSI Wiki? Send feedback
Imprint (in German)
Privacy Policy (in German)