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

This topic: CSframework > WebHome > CsSequencer > CSSeqProposedSolution
Topic revision: 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 | Legal notice | Privacy Policy (german)