Now, when you specify that the implementation is a 'real program that is started via given TorX adapter' the configuration that you enter in JTorX is treated like for 'real program that communicates via labels on standard input and standard output'.
This means that you can specify a program (with optional arguments), and as long as the program can be found (via your PATH, I guess) it all works.
Before, JTorX would expect just a single program (without arguments) to be given, and check whether this program was specified with or without an absolute path, and make the path absolute when it seemed to be relative, by prefixing it with the path to the directory in which JTorX was started.
This made it impossible to use a configuration like:
java -jar /path/to/adapter.jar java -jar /path/to/implentation.jar arg1 arg2 arg3
Changes w.r.t. v1.10.0-beta2:
- integrated .graphml support from v1.9.2
jtorxsascript to write suspension automaton to file, e.g. in .aut format
- changed writers to no longer be recursive (without this we run quickly out of heap space)
- reduced debug print statements
Completed update of .graphml support:
- recognize invisible node that points to start state, when it has
- a Line Color of 'No Color',
- a Fill Color of 'No Color', and
- a label of which Visible is not checked.
Earlier versions of JTorX did not look at Line and Fill color, but looked whether node attribute Transparent was set; yEd no longer seems to offer the possibility to set that node attribute.
- speed-up presentation of long lists of actions in menu-pane
at the cost of increased memory usage (caching of actions of labels)
- use natural ordering for sorting of these lists of actions
- speed-up of use of coverage as guidance (more to win there)
This version is marked '-beta' because it introduces new features that are under development and have not been extensively tested.
- save/load of configuration via File menu commands
- gui-less command line version, started via
- initial experimental coverage support, enable via 'Guide use coverage' checkbox in Config pane and/or 'show cov' checkbox in Test run pane
- when enabled, a test run starts with generating the state space of the model, which may take a long time
- when 'show cov' checkbox in Test run pane is enabled, JTorX keeps track of visited states/transitions and reports this in Coverage pane
- when Guidance 'use coverage' checkbox in Config pane is enabled, JTorX uses its information about visited states/transitions to try to visit transitions that have not yet been visited; when all states/transitions of the suspension automaton have been visited it reports 'pass/hit' (because the current implementation 'misuses' the guidance feature to guide the test run based on coverage information)
- coverage information is kept for a combination of model + system-under-test
- the Reset button in the coverage pane resets the coverage information for a particular model-SUT combination
- slightly more robust STS support (to be able to handle guards that contain an '||' operator)
Updated .graphml support to deal with graphml files written by recent yEd versions (e.g. yEd 3.9)
- handle new files containing XML label elements
- handle presence of multiple node- and edge-labels
the first label encountered for a node or edge label is used in the LTS, the others are ignored
- special characters in node and edge labels are escaped when LTS labels are constructed for them
this holds for newline (\n), carriage return (\r), tab (\t), backslash, double-quote
this may affect how JTorX treats existing models, when they contain one or more of these characters
- added timestamps to interaction results (used internally, but also shown as TIMESTAMP lines in log)
- show interaction 'kind' (stimulus or response) via KIND lines in log
Other Bug fixes
- more extensive reporting of errors and warnings when graphml file is read
- fixes to the History reordering mechanism in the Driver
- show reordering in log
- changed timestamping of actions to (try to) use monotonic time, because History mechanism gets upset when system time is changed when e.g. ntpd decides that it has to set the clock slightly more than one second back in time
unfortunately, this seems not to work (timestamps still reflect system time and system time changes)
- on mac dock icon is shown again for anidot (was broken since 184.108.40.206)
- added Log lines NODENAME and EDGENAME that contains node/edge information from the model.
In particular, for STSes this contains identifiers for the locations and switches
(whereas for STSes the STATELABEL lines contain identifiers for states (unique numbers, different for each different <location,valuation>)
Configpane now contains a separate
Seedentry field for a simulated model that is used as implementation.
Initially this field is empty, and it will automatically be filled with the value of the
Seedentry in the
Seedfield in the
Configpane contains a value, this value is not automatically changed when the user changes the value of the
the value of the
Seedfield in the
Configpane has to be explcitly changed by the user.
- now contains the shell scripts from the JTorX 1.8.0 shell/bat script updates
- contains the
anidot.kitfrom JTorX 220.127.116.11 for mac that works on Mac OS 10.7 (Lion)
- now correctly stop testing when we reach end of test run, when implementation kind is: re-run of a saved test run log
- now we visualize the log that is-re-run (when implementation kind is: re-run of a saved test run log) (when the Impl toggle is checked)
- in the STS code: fixed the code that extracts name-value bindings for interaction variables from constraints
(as before, for found such bindings, in the label that is generated the value is shown and not the interaction variable)
- this code now works on the AST of the constraint expression, instead of on a string representation of it
- this code now works correctly when the constraint expression contains boolean
- for STS: fix to be able to highlight multiple switches between two locations
See also the changes overview.
It is identical to v1.8.0 except:
- anidot has been patched to work also on Mac OS X 10.7 (Lion).
(see issue #546 for details)
This JTorX will show as version number v1.8.0.
Updated versions of the bat and shell scripts for JTorX 1.8.0 have been added to the Files section.
(I didn't want to create a new JTorX distribution only for them).
To 'install' them, copy the contents of
jtorx-1.8.0-scripts-win into the corresponding JTorX 1.8.0 folder.
For Linux, the updated scripts (
jtorxio) allow creation of a symbolic link (symlink) to them from within a directory that is on the PATH.
For windows, the updated bat scripts (
jtorxio.bat) allow running them from a different folder.
It is now possible to add the JTorX 1.8.0 windows folder to the path, and run
jtorxio from a command window.
Moreover, shell scripts
jtorxio have been added - they are intended to be used from cygwin.
It should be possible to created a symbolic link (symlink) to them from within a directory that is on the cygwin PATH.
- initial support to use GraphViz input files (*.dot, *.gv) as model, provided the initial state can be identified.
This means: there must be an invisible node that has a visible edge (with as label: empty string) that points to the initial state.
- new script: jtorxio (jtorxio.bat on windows) that can be used to transform models from one file format to another.
jtorxio -aut file.graphml > file.autor
jtorxio -trace file.log > file.trace
(On mac, the script is
- avoid having white textfields on white background in config pane (problem we had on windows 7)
- try to avoid crash in anidot (automaton visualizer) due to "... looks like invalid octal number"
- when saving log of test run that has not yet ended, also write label of last interaction
- included a much more recent version of the graphical toolkit (swt), version 3.6.2,
hopefully this fixes some GUI issues.
on mac, the new version is a "cocoa" version instead of a "carbon" version
(for more info about SWT see http://www.eclipse.org/swt/)
Also available in: Atom