Author Topic: EMS NG Troubleshooting Checker - Open Source Software for checking TS Links  (Read 2259 times)

Tamara Harpster

  • Administrator
  • Newbie
  • *****
  • Posts: 28
    • View Profile
    • VDL-5 Technologies, Inc.
Attached is an open source software tool that can be used for to check link references and variables in an EMS NG troublshooting file. It can also produce a report of the sections of a troubleshooting track that make it easier to check that logic paths. The software can perform the following functions:

  • EMS NG Troubleshooting Checker - This function checks the internal links and variables within each testwithstate and reports if there are differences in the links. It also checks the top level WP attribute to make sure it matches the filename and can provide a report of the diagnostic tests for ADM that are used within the troubleshooting track.
  • Generate Track Flow Report - This tool generates a report of the questions and  and choices for each testwithstate in a troublshooting track. The report can be printed and used to trace the logic of the track when testing it within the EMS NG viewer.


The source code is provided and is released as a stand alone web application using PHP files. The application is run using the open source software Wapache, the files could potentially be hosted on a central web server with PHP support. You are free to modify the source to fit your project needs. We do ask that if you make bug fixes or implement features that could help other authors that you provide a copy of the file(s) here for possible incorporation in future releases.

The software is provided as is and there is no warranty or guarantees for how this software will function on you systems. If you have issues post them in this thread for help.

(Click this link to download the zip file)
Director of Information Technology Services
VDL-5 Technologies, Inc
http://www.vdl5tech.com/

Tamara Harpster

  • Administrator
  • Newbie
  • *****
  • Posts: 28
    • View Profile
    • VDL-5 Technologies, Inc.
Known bugs - 8/8/2014

  • Does not work correctly with dynamic troubleshooting files - The software tool does not support checking of features enabled by the MADS functionality for the EMS NG software.
  • Chokes on some invalid XML - The software does not do enough checks for areas where there is invalid XML, i.e. missing tag sets, missing attributes

Currently looking at these issues, may issue an updated release in the next few weeks.
Director of Information Technology Services
VDL-5 Technologies, Inc
http://www.vdl5tech.com/

drdiesel

  • Newbie
  • *
  • Posts: 1
    • View Profile
By "Dynamic Troubleshooting" do you mean Test With State as opposed to Test Without State?

Thank you

Jorge Guerrero

Tamara Harpster

  • Administrator
  • Newbie
  • *****
  • Posts: 28
    • View Profile
    • VDL-5 Technologies, Inc.
In this case, dynamic troubleshooting refers to the inclusion of the tags <statemanipulation> tag as part of the initialization of the track or as part of the <testwithstate> blocks in order to record information used within the knowledge model of EMS NG. The tool makes the checks listed below:

  • wpno matches file name - Checks to see if the value in the wpno for the file matches the first part of the file name
  • internal links for <testwithstate> blocks - A check is done on internal links to verify that a <testwithstate> with a matching ID exists and to identify <testwithstate> blocks that don't have a link to them.
  • check of variables - When a variable is used within an <interaction> block, it is searched for in an <evaluate> block within that <testwithstate> block
  • report of ADM values - when a <diagnostic_group> block is used, the software pulls out the data that is used to start the test within the ADM. There is currently no check of the data, it is only reported in order to provide one place to check for data during a QA cycle.

There is additional functionality that could be added, but I have not had a project or time in order to complete that work. Implementing the above functionality provided us a large gain in reducing common errors in a short amount of time when we needed it. I hope my long explanation answers your question.  :)
Director of Information Technology Services
VDL-5 Technologies, Inc
http://www.vdl5tech.com/