New in 3.10.5r: * for random batch test derivation (torx --batch ) remember when all incoming transitions were quiescence; if so, prefer to stimulate instead of observe * changed Trojka to avoid loosing a non-zero random number seed on linux (due to the fact that on linux, but not elsewhere(?), srand and srandom seem to be the same function, and we have two seeds in Trojka, one of which is most often 0, and given to srandom, after the srand() call has already been done New in 3.10.5q: * spex explorer: bugfix: changed some fixed string array sizes to allow for the relatively long strings that are needed to represent large (negative) integers New in 3.10.5p: * in torx (driver) ignore predicates that are passed straight through from the menu, to allow instantiator to attempt to instantiate predicates associated with the event in the menu. special-case to improve user-experience when selecting an input with predicates in the menu and clicking 'selected input' New in 3.10.5o: * made torx more robust w.r.t. events given to 'input' * in spex changed predicate separator from , to ; (like we have elsewhere) * minor changes to spec source to avoid compiler warnings while compiling a primer * added spex-instantiator * made adaptsim more robust: for output only consult instantiator if predicate list of output action that is to be returned is non-empty New in 3.10.5n: * more changes to get working again on cygwin xp * fixed nasty anifsm buglet (invoke function with wrong number of parameters in a place we do not always come, or sometimes we do) New in 3.10.5m: * more changes to get working again on cygwin xp * interprocess communication over tcp; firewalls may mess that up, or so it seems... * TODO: make sure all mcast connections to tmcs are broken so it can exit when no longer needed (add some debugging to get all present connections out?) New in 3.10.5l: * freeze partial changes to get working again on cygwin xp * to be completed in 3.10.5m New in 3.10.5k: * minor fix in xtorx to support callback names containing '-' * changed implementation of random function in primer * disabled lots of debug prints in primer New in 3.10.5j: * changed torx(1): do not say 'verdict pass hit' when we actually only have 'verdict pass' New in 3.10.5i: * changed intersector(1): default value for CHOOSEINPUTS is now 1, which is more likely to be what is wanted -- which means that with this new default it is no longer needed to configure it ourselves. New in 3.10.5h: * fix primer to no longer return IOKIND answers that suggest that it can do things that it actually can not (because they are not in the menu) - earlier attempt at fix in 3.10.5g was incomplete * xtorx now recognizes 'pass' verdicts also without 'hit' * intersector no longer shows funny weird added menu entries in the intersection result when we have only a single attached thing (primer/guide/test) * intersector now distinguishes between empty menu because of inconsistency, and empty menu that is just empty because all constituents are empty New in 3.10.5g: * fix in torx(1): flatten list of INSTFLAGS * added missing dependency in Src/Explorer/spex/Makefile.am * fixed tracker: updated to use new em/tm lib API * in primer: no longer add instantiation result to the menu, because we cannot (currently) remove it from menu, so if instantiation is refused by the adapter it also stays there - but then, when we retry after failed stimulus it might be chosen again, and again, and again... * iokind return value of primer now tells driver to stop when primer menu is empty, intended for execution of batch (offline) derived test cases New in 3.10.5f: * integrated promela spex updates * from primer removed debug print that upset primexp * improved anifsm(1) attribute box resize behaviour New in 3.10.5e: * changed autexp(1) connection matrix output. it was a boolean matrix. now it contains the number of transitions between states. New in 3.10.5d: * fix in primer: omitted em/tm pattern identifier sets New in 3.10.5c: * updated spex promela extension syntax. we now have two main primitives, spexchan and spexio. spexchan declares a named spex channel that is used to communication with the environment. spexio interacts with the environment. it gets a spex channel name and zero or more parameters. we distinguish between 'in' parameters and 'out parameters. 'in' parameters consist of the name of the variable that has to be updated with the value of the parameter exchanged with the environment. optionally, a constraint can be imposed on the value that is exchanged. an 'in' parameter is denoted by a prefix '&' in the spexio parameter list 'out' parameters give the value that is to be communicated. the value is given as literal number, or as mtype, or a variable is given from which the value has to be taken. example: spexchan aap = [0] of { int }; int v; spexio(aap, 5); // communicate 5 on chan aap spexio(aap, v); // communicate value of v on chan aap spexio(aap, &v); // set v to value exchanged in communication * extended Common Tcl libraries em and tm with explicit pattern set handles to be able to have multiple pattern sets * intersector writes errors to standard error instead of standard out * intersector passes on INPUT/OUTPUT attributes that it gets from its connected primers or guides * intersector evenly distributes INPUT/OUTPUT weight attribute that is associated with a label over all events that match the pattern * updated partitioner with command line options to allow simulator mode (traces algorithm), and primer interface commands GOTO, STATEID, GETINPUT, GETOUTPUT, multiline STATS * extended primer to allow labels in which attributes are embedded (as: "label [weight=10,pat=aap]" ) and extract the attributes and explicitly give them on the primer interface * added new component: tracker. it works 'on top of' a primer, and is intended to keep track of where we have been in the primer. it can be configured to recognize a label that resets to the start state, and it tries to avoid going where it has been before, and it uses weights to achieve that. New in 3.10.5b: * in the torx(1) keep track of current super-state in primer to avoid superflous requests to primer to change super-state (via C_GOTO) to the state it already is in * for debugging purposes of torx --suite, state information is written to file /tmp/states. where is the process id of the torx process * added mkprimer(1) support for the CADP-based LOTOS explorer to the distribution (still needs manual page) * additional debugging output in primexp(1) * changed primexp(1) to better deal with long lines it may receive from the primer connected to it * additional debug output + minor fix in allinst * added caching of explorer results to primer(1) * during unfolding the caching code appends new transitions to /tmp/primer.aut such that it contains the automaton that has been explored on-the-fly so far. NOTE: the initial 'des' line is incorrect, however, autexp -d /tmp/primer.aut > /tmp/primer.dot will be able to generate dot output that can be used to analyse the graph * added additional check to avoid adding superflous state to list of states to be expanded to primer(1) * additional debug output in primer(1) New in 3.10.5a: * allinst: new version of instantiator that returns all possible instantiations * other changes in primer for torx --suite * extended autexp(1) with a -e flag to include edge 'names' in the edge labels (so they show up in a visualization) * changed anifsm(1) Open (and Save?) menu commands to use the directory containing the dotfile shown as the initial one in the file selection box New in 3.10.4: * improved (fixed?) intersector(1) GOTO command (used when intersector is used for batch derivation) * improved (fixed?) intersector(1) dealing with var_type fields in events: var_type$nr now works. * bugfix in intersector(1) (debug print referred to non-existing variable) * added (early version of) spex explorer (no man page yet) New in 3.10.3: * so far Trojka (Promela Primer) would put a limit on the number of consecutive internal steps (maximal depth) it would explore (the default used to be 100); now the default is 0 (meaning there is no limit) * fixed -m flag for Trojka-generated primers such that a different maximal depth can be given * minor tweak to torx(1) --suite to output the test cases under construction with pass leaf nodes when the intended depth is reached New in 3.10.2: * changed (enhanced?) the implementation for torx(1) --suite . it now uses files on /tmp to store intermediate levels during expansion. these files tend to be big. * added experimental torx(1) command line option --suite-rec that during expansion detects recursion through the root of the test case (start state of spec) and then in the 'linear form' labels them with a 'R' node type (no support for this in lin2aut yet) * changed torx(1) command line option --batch-automaton to 'include' the --batch option * (kind of) documented --suite and --suite-rec in torx(1) New in 3.10.1.1: * New, much more open License: we distribute TorX now under the Apache License, Version 2.0 * except for the license this version is equivalent to 3.10.1 New in 3.10.1: * added --suite to torx(1) to systematically generate a (prefix of an) exhaustive test suite on standard output in a 'linear form' of a test tree (test tree contains no fail) on standard output. combine with --suite with --depth 3 (or some other depth) to give an upperbound on depth. implementation (naive anyway) is even more naive then already intended (and thus even slower than intended. suggestion for improvement in the code) * added lin2aut(1) (no man page yet) to translate linear test case treee form (read on stdin) to .aut on stdout (use: torx --suite batch.if | lin2aut ) New in 3.10.0: * implemented simulation (-S sim) for promela primers * promela primers no longer print arbitrary messages to standard output (to avoid breaking the primer-driver interface) New in 3.9.4: * fixed torx(1) --batch to generate correct des line at start of generated .aut file New in 3.9.3: * fixed torx(1) such that with --batch we now only have the 'real' label in the generated .aut file (without the 'channel name', 'is_suspension' and 'preds') i.e. this fixes the TODO of 3.9.2 New in 3.9.2: * fixed torx(1) such that --batch now does work (again) (somehow we broke it?) (TODO: have better labels (omit unnecessary stuff) in generated Aldebaran (.aut) files) New in 3.9.1: * made primer(1) slightly more robust against torx-explorer(5) programs that write unexpected messages on their standard output * bugfix in anifsm: added forgotten routine that print warnings * bugfix in mctrlsrv: fixed potential expr error * bugfix in anifsm: autexclude the 'name box' that is created by log2anifsm, and do not use the label of that box when computing the common prefix of the node names, such that when we save to .aut the dynamically generated automaton of the test run the saved automaton does not contain that box, and does contain numeric state names * extended log2aut and log2anifsm to be able to function even when the log does not contain STATEID lines * bugfix in anifsm: catch error message when closing pipe to 'ps' (when used to check if anifsmsrv is already running) * extended anifsm with commands 'ctl render off' and 'ctl render on' to disable/re-enable rendering, to be able to make several dot layout commands appear 'atomic' New in 3.9.0: * minor formatting (troff) fixes in many man pages * in torx-intro(1) reorganised list of commands * in torx-intro(1) added piece about LTS * in torx-intro(1) added piece about external toolkits * added man page mkprimer-jararaca(1) * only build TorxOpen subdirectory (with torx_open(1)) when configure detects the presence of CADP * minor fixes in Trojka to compile on Mac OS X (Darwin) (among others: now include stdlib.h instead malloc.h) * to allow Trojka to allocate more than 4 Mb of memory on Mac OS X (Darwin) we now use malloc instead of our (old spin's) own sbrk-based allocator * fixed xtorx(1) to not loop forever during startup on Mac OS X (Darwin) * fix in anifsm(1) to work correctly when a 'dot ...' command is send for a cloned window. also made the updates happen at the same time when the Render button is pressed (this was already in 3.8.1 but not documented here) * INCOMPATIBLE change in anifsm(1): in the 'dot edge' command we now use a single word for the edgelist (which now consists of a list of node names separated by ->) instead of the two words, one for source and one for dest, that we used previously. so now we use 'dot edge src->dst label l name e0' instead of old 'dot edge src dst label l name e0' This is compatible with anidot(1) which is anifsm(1) extended with editing capabilities copied from GraphViz' doted. * updated log2anifsm(1) to generate above syntax * updated anifsm(1) with graph editing capabilities of anidot. This also allows one to edit a graph and then write it out to file in Aldebaran (.aut) format. * added 'media controls' to mctrl(1) to automatically (re)play an animation * increased (expect) buffer size in adaptor(1) to be able to deal with 'lots' of output, as for example is 'generated' by the confprot iut when coverage data is produced. (to avoid 'buffer full' problems we previously also encountered with xtorx and with torx) (NOTE: the actual buffer size chosen is a wild guess) * in torx(1) changed the way we pass the suspension event received from adapter to spec. So far, if a DELTA label was configured in the .if file we would always use that (even when the adapter gave a different label). From now on we use the label given by the adapter, except when it gives the empty string, only then we use the label configured in the .if file. (documented in torx-config(4)) * added man page torx-hostname(1) * extended torx-explorer(5) with details about fields used in symbolic interface (preds, freevars etc.), and added example with 'i' command and more 'e' commands * changed autexp(1): extended event number of initial state with edge info to be able to highlight initial transition. * for jararaca(1) added dependency in Makefile to trigger generation of version.h when compiling main.c * extended ltsaexp(1) (the ltsa-based explorer for FSP) with a command line option '-d' for dot file generation, and added node/edge animation info in event numbers (one difference with other explorers like autexp(1): there the initial transition is named enil; here it is named e0) (and rewritten som stuff) * in primer(1): removed spurious debugging print statement * in primer(1): only complain about pattern in suspension when suspmode != recognize * in primer(1): when instantiating, treat quiescence as any other action, such that we can instantiate (e.g.) timestamps in it (so far quiescence was treated separately) * updated man page primer(1) with use of '*' in event pattern * updated man page primer(1) with allowed use of patterns in suspension if suspmode == recognize * (IN?)COMPATIBLE change: in primer(1) the matching of events with the patterns given in the configuration file is now done in a case insensitive way. (the change is actually in some 'common' (library) of code, there may be other pieces of TorX that use it too). New in 3.8.1: * fixed configure script to have correct directory names of Src/Explorer/mcrl(2) directories (lowercase instead of uppercase) * in jararacy2anifsm be robust against a problem caused by an incompatible change in expect 5.42.1 * added Explorer for CADP (so far we only had a Primer), mkprimer builds the CADP Primer by default * in CADP Explorer and Primer we now check MAX_FORMAT_LABEL before calling FORMAT_LABEL (to support open/caesar stuff that only supports basic format) * extended mkprimer witha --pmdirs flag to allow giving a list of directories in which to look for .pm files * visualization viewers no longer (send to) multicast step numbers for steps derived from their standard input * mctrl(1) now reads step numbers from standard input and uses these to update the scroll bar (slider) * new log2mctrl(1) derives step numbers from torx-log(4) file * anifsm(1) now allows simulataneous scrolling of clone-d windows: middle-click, or ctrl-middle-drag in one window makes all of its clones show the item under the mouse. * new torx_open(1) provides open/caesar interface to things that implement the torx-explorer(5) interface, so we can run the CADP simulator on them * INCOMPATIBLE change: new primexp(1) is a torx-explorer(5) that gives access to the LTS of a torx-primer(5). So, this allows us to simulate that LTS, e.g. using torx_open(1). NOTE: primexp used to be a shell script wrapper around primer(1) which is a torx-primer(5). New in 3.8.0: * now really included the mkprimer support to connect with mCRL and mCRL2 already mentioned with but accidentally omitted from 3.7.0 * only install the mkprimer support for mCRL if both mcrl and mcrl2 toolkits are there * only install the mkprimer support for mCRL2 if the mcrl2 toolkit is there * extended xtorx(1) with a Guides menu, like we already have Primers and Mutants menus * extended torx(1) with the ability to use the config file entries PRIMERS and PRIMER to select a primer, GUIDES and GUIDE to select a guide (test purpose), MUTANTS and MUTANT to select a mutant. Until now these config file entries were only used by xtorx(1), but now also torx(1) uses them if it is directly invoked by the user (if the --gui flag is not given). * minor fix to generate correct CONFIG INCLUDE torx-log(4) line from INCLUDE torx-config(4) entry. * changed autexp(1), jararaca(1), ltsa(1) to reuse state/event numbers used in their implementation of the torx-explorer(5) interface * fixed jararaca to allow just numbers with its torx-explorer(5) 'e' command. * changed defaults for command-line options of jararaca(1) such that they are more like the other explorers: by default it now runs the explorer interface, by default it uses the action strings instead of the action 'symbols', and by default it now adds an epsilon selfloop on the accept state with label 'EPSILON' * added additional command line options to jararaca(1) to override these new defaults * added mkprimer support for JARARACA primers where we do not add an epsilon selfloop to the accept state. Such jararaca files should have a .jrrc suffix; the suffix .tp is used for JARARACA test purpose files for which we do want the selfloop on the accept state. * added some documentation (mkprimer-aut(1)) * extended log2anifsm(1) with -p command line option (like log2jararacy(1) already had) * log2anifsm(1) now shows the previous 'highlighting state' in grey (like log2jararacy(1) already did) New in 3.7.0: * addded mkprimer support to connect with mCRL and mCRL2. For mCRL files this needs the mcrl command of the mcrl toolkit, and tbf2lpe and lpe2torx from the mcrl2 toolkit. For mCRL2 this needs the commands mcrl2lpe and lpe2torx from the mcrl2 toolkit. * added initial (experimental!) support for batch test generation. torx(1) generates a batch test of a specified depth in Aldebaran (.aut) format on its standard output if it (torx) is invoked with a --batch flag and the depth has been specified (either in the torx config (.if) file or via a --depth flag) -- but only if the primer that is used supports interface commands STATEID and GOTO (see below) The result will be a tree by default; it will be a graph if the --batch-automaton flag is additionally given to torx(1). * extended the torx-primer(5) interface with a GOTO command to 'return' to a superstate which have visited before (i.e. GOTO gets as argument the ''super'' field we have obtained earlier using STATEID) * The GOTO command is now implemented in the CADP primer and in the 'generic' primer. * batch test generation is only partially supported by intersector(1): we can not yet support all cases in the cartesian product of {pass, fail} x {hit, miss}. * cleaned up autexp (and print some messages to standard error instead of standard output to avoid interference with other data written to standard output) * tried to slightly more improve state matching/numbering in primer(1) in the computation of field ``super'' of STATEID * added command line options to log2aut(1) to choose which 'features' (teststep, super state id, edge traversal count) are in the resulting automaton * in log2primer(1) output we include the ''channel'' in case of input or output suspension, because the primers to which we give the out output of log2primer(1) need it New in 3.6.2: * extended anifsm to allow specification of the dot layout via stdin when special filename ``-'' is given (so the thing to animate can be extended ``on-the-fly''). This is intended for animation of the state space of the test run. NOTE: The syntax for this may change in the future -- right now it is a bit different from the syntax in dot input file, to make it easier to parse. However, we may want to make it more identical to the dot file language -- so we may change it. * fix zooming in anifsm to not ``eat'' trailing ``0'' in node names when hiding and then showing again text during zooming out and then zooming in again * new log2anifsm outputs the extended anifsm input * new log2aut generates automaton for explored state space * new aut2fsmview translates .aut to input for FSMview tool * improved state matching/numbering scheme in primer(1) in computation of ``super'' field of STATEID (so far it would also take into account the edge by which we reach the explorer states -- probably this codes dates from before we had edge information with the explorer states) * autexp now has a flag (-m) to write connectivity matrix * made parsing of Aldebaran (.aut) files more robust regarding white-space and quoting (single, double) of labels * added jararaca support for mkprimer * in the installation, use a separate script (subst) that now uses ``config.status'' to edit in configured variables into scripts etc. This could be _much_ slower though, in particular when the disk is not local, as when installing on a file server. (so far we directly used ``sed'' for that). * in the installation, catch error messages from tcl/expect commands to create tclIndex files etc. * tried to make installation more robust when kc is not available and unpacking messed up the time stamps of the files * tried to make installation more robust by having a dummy wish that tells you to install tk if you don't have wish (tk) installed. * to avoid line-length problems with that dummy wish, now we no longer start wish programs using ``#! /path/to/wish'' but using ``#! /bin/sh'' and let the shell restart the script using wish. * removed a line-length limit from jararaca (so far, jararaca input should not contain lines longer than 255 characters) * tried to avoid/soften other parsing related limits in jararaca * fixed batch mode running of torx (would exit immediately on end-of-file on standard input, even when started in batch mode) * when running torx in batch mode, try to avoid unnecessarily starting (and leaving behind when torx dies) tmcs + logclient New in 3.6.1: * updated README to be more explicit about flags for ./configure * once more work around some problems with older C compilers and tcl/tk interpreters, to be able to run ``everywhere'' New in 3.6.0: * mctrl now also gets installed, and has a man page * (ref explorer source actually not in distribution) * changed command language for anifsm(1) to be more general NOTE this is incompatible with the previous version; it is also incompatible with (unchanged) jararacy(1), so anifms's built-in fallback to jararacy (when tcldot not available) will no longer work. Actually, we should deprecate jararacy. * new jararacy2anifsm(1) translation program translates from old to new command language, and is used until we have a log2anifsm instead of (in addition to?) log2jararacy * changed Adapter: we now spawn a pty for each pco program to capture its stderr output separately (this seemed to be necessary to get it running (again) under cygwin) * added (HACK) new expnohup program to ignore HUP signals when anifsmsrv runs in the background * use INADDR_ANY in udp(1), so we can now use localhost instead of the `real' hostname in the examples * if in udp(1) reverse lookup fails for 127.0.0.1 we fall back to hard-coded name localhost (need seen under cygwin) * minor code cleanup in CADP Primer code (avoid compiler warnings) * updated CADP Primer code to be compatible with recent (post v2001) CADP (some CADP API changes had to be taken into account, without them the generated primer would just core dump) * in primer(1) we now return an error if the menu to choose from is empty ( e.g. GETINPUTERROR) * switched off debugging output in torx-stdiomerge TODO: as much as possible revert to not using torx-stdiomerge but instead spawing pty's to capture stderr separately from stdout * some minor bugfixes and silencing of warnings in the client/server- based visualization utilities (we should extract the client/server machinery to common and reuse that for all) New in 3.5.5a: * intermediate release of timed stuff, also contains source, but no man, and no installation, for: * mctrl * explorer/ref (refiner) New in 3.5.4: * disable echo-ing from Driver commands sent to the Adapter (to avoid possible messed-up stderr output from Adapter or SUT) * replaced the sh(1) version of torx-stdiomerge(1) by a perl version (alternative: get rid of torx-stdiomerge altogether, by reverting to the previous way of doing things, before 3.2.0) * in xtorx(1) we now highlight the messages corresponding to the currrent test step (just like we highlight the current test step in the Path pane) * avoid repeated identical error messages when we invoke xtorx(1) with a non-existing config file name * for intersector(1) we reduce the number of messages when it fails to get a STATEID from a spec or guide it stops asking for it (to avoid repeatedly asking for it from a component that does not implement STATEID anyway) * intersector(1) now tries to be better on matching actions that contain '* (to improve the dealing withf wildcards) * a Trojka generated Primer (see mkprimer-trojka(1)) the matching of `mtype' fields in actions received from the Driver is now case-insensitive. TODO: implement a warning to warn for mtype declarations that only differ in case (to avoid surprises) * in anifsm(1), aniwait(1) and mscviewer we now use images on up/down buttons, instead of characters `+' and `-' * added a -[no]delay option to udp(1) to simulate FIFO-buffering channels that incur delays New in 3.5.3: * try to please recent versions of automake (that complain about some of our Makefile.am files accepted by autmake 1.4) by fixing the things it warns about * added depcomp script (from automake 1.9.2), because relatively recent automake (1.7.8) in recent red hat linux misses it, but does not add it by itself (unless 'missing' is also missing, then it does install depcomp) * updated the scripts missing, install-sh, mkinstalldirs, config.guess, config.sub, also from automake 1.9.2 New in 3.5.2: * following fixes, enhancements, were not in local installations of 3.5.1 (so, real 3.5.2 work :-) * reduced number of debug messages, warnings, etc. * strict client/server separation for the visualization tools mscviewer, anifsm, aniwait, where the server no longer can be used as a client, but the client just tries to connect to a server, and if that fails, starts a server, and tries to connect to it * tried to fix race conditions in startup of server part for mscviewer, anifsm, aniwait * rewritten the clients for mscviewer, anifsm, aniwait in tcl, such that they no longer need external programs * adaptsim now knows about the SOURCE config line (skips it) * predicates related bugfixes in torx(1) * fix in xtorx(1) to (again) try to avoid resetting the toggle buttons in the Tools menu unintendedly when we reload primers/mutants * tried (once again) to get the basic TorX stuff running under cygwin/windows, cygwin 1.5.11-1, works for basic (x)torx with .aut files (using autexp) * portability fixes in the promela primer for windows with cygwin also a promela primer now seems to work under windows xp with cygwin 1.5.11-1 * now, when torx(1) fails to get a STATEID from a spec or an adapter it stops asking for it (to avoid repeatedly asking for it from a component that does not implement STATEID anyway) * only pass predicates in C_INPUT and C_OUTPUT messages to Primer when non-empty. New in 3.5.1: * version 3.5.1 was an intermediate one (between 3.5.0 and 3.5.2) for local testing of the installation. Even though that version was not ``frozen'' in the repository (so it is not an exact version) we have installed it on some machines. To avoid confusion of having multiple, different, 3.5.1 versions, we just move on to 3.5.2. * completed the `New in 3.5.0' (ahem) * bugfix in trojka for a problem related to quiescense in combination of internal channels that could block * new dot file animator anifsm(1) (like jararacy, but based on tcldot instead of on dotty), that has a -r command line option and associated toggle button, (to reuse the window) * extended jararacy(1) to accept the same command line options as anifsm(1), such that we can use jararacy(1) as ``fall back'' from anifsm(1), when tcldot is not available. * new visualizer aniwait(1) for `waiting' during the time testing * changed mscviewer(1) to look more like anifsm(1) and aniwait(1) * bug fix in vertical scrolling of mscviewer(1) * extended xtorx(1): the test run step currently shown by visualization tools like jararacy and mscviewer is highlighted, and can be changed using mouse Button-3 * when choosing the test step to visualize in the tools like jararacy(1), anifsm(1), aniwait(1), mscviewer(1) amd xtorx(1) we allow the step number chosen to be one higher than the latest exectuted test step, such that aniwait(1) can switch to the display of the remaining time for the current test step * fix in torx(1) messages about INST-configured instantiator now refer to instantiator instead of `obusim'. New in 3.5.0: * bugfix in jararacy to avoid looping when multiple animators present * new man page tmcs(1), to allow animation of the aut files using jararacy * jararacy can now also highlight edges (not only nodes) while animating * support in jararaca(1) to export the edge (transition) information as part of the state identifiers * updated log2jararacy(1) to support this * added `-p pattern' command line option to log2jararacy(1) * new explorer autexp(1), to allow animation of the aut files using jararacy This aut explorer is now used by default by mkprimer; to use the old CADP-based aut explorer, invoke mkprimer with a flag: -l AUT-CADP * quite some changes to support real time testing (still a bit experimental): * new primer-driver interface command: C_GETOUTPUT (`symmetric' variant of C_OUTPUT, like C_GETINPUT for C_INPUT) * C_GETOUTPUT is implemented by the generic symbolic primer(1), to allow adapters like adaptsim(1) that connect to a simulator, to ask for a symbolic output (observation) that can then be instantiated by a separate tool component, after which the instantiated result can be `committed' using the C_OUTPUT command. * fixes in primer(1), to more completely support predicates * fixes in primer(1), to better visualize edges for quiescent states and `identical' states * change in primer(1), in `sim' mode, to choose the successor state from a set of possible destination states already when we do the `next' transition, such that the next `menu' is computed based on this choice, rather than `delaying' this decision and making the choice more implictly, when we choose a transition from the complete menu of all transistions offered by all possible destination states. This change offers a more interesting animation/visualization, because we now really see when the choice of a particular destination state cuts off (makes unreachable) certain succesor transitions. * in adaptsim(1) more torx-primer(5) interface commands are implemented * new config file (*.if) entries for the instantiator that can now be a `real' component: INST, INSTRUNDIR, INSTFLAGS, both for the driver and the adapter (adaptsim) (also this is a bit experimental, and has only been used for real-time experiments: the existing instantiator(1) has not yet been updated to use this interface) * fixes in torx(1), when dealing with output from the adapter * fixes in torx(1), to more completely support predicates * new user-interface part in xtorx(1) to allow instantiation of predicates (initially hidden, enable via Preferences menu entry) New in 3.4.1: * bugfix in torx-logclient (to use blocking instead of non-blocking io) This improves performance a lot, and makes the msc viewer usable again. * added window title code stuff for jararacy (planned for 3.4.0 but unfortuantely omitted) * bugfix in jararacy, without this it could happen that the jararacy window would disappear 'automatically' at the end of a test run. New in 3.4.0: * View menu entries in xtorx(1) can be taken from the configuration file(s) (new SOURCE keyword) * have slightly more informative window titles for msc and jararacy (using MUTANT and PRIMER configuration file entries) * added tcp multicast service command tmcs(1) (TODO: add manual page for it) * we now use tmcs(1) to allow a msc viewer and jararacy to update each others selection (if you step through an msc, then the selection in the jrararacy for the same test run will be changed too, and the other way around) POTENTIAL PROBLEM: it may be the case that tmcs processes are left running; please cleanup by hand (kill) when necessary. To Be Fixed. Note: there is likely still quite some debugging output for this. To Be Fixed. * updated Trojka (Promela primer generator) to use stdarg.h instead of varargs.h in the generated code (some modern compilers removed support for varargs.h) * slight extension to log2jararacy to deal with more complex (i.e. compound) states (hmm, was this for modest???) * changed the log file format to have CONFIGSTART and CONFIGEND around the CONFIG lines (such that tools can detect the end of the CONFIG section, know no more CONFIG stuff will come, and start doing their thing). We now use this in log2msc. * extended mscviewer(1) to make the start and end of msc update the selection too. New in 3.3.2: * fixed xtorx(1) to find the source files for primers and mutants (broken a while ago) * in primer(1) we now printed slightly more warnings when an explorer reports that predicates were not solved New in 3.3.1: * fixed mscviewer(1) to keep the connection to Bmsc(1) open while files of the Bmsc(1) command are being processed, so mscviewer can report (syntax) errors via Bmsc. New in 3.3.0: * removed ``none'' entries from Primers and Mutants menu * ``bugfix'' in torx-stdiomerge to deal with torx command line options for --log that contain a pipe (|) symbol. We need this in the confprot examples where we start gnuplot or jararacy. This is a HACK to make the example work; a real solution should be implemented someday. And has now be implemented (see below). * added LOGMON configure keyword to torx, to start external tools that monitor (process) the text of the torx log file (see torx-config(4)) * added --logmon command line flag to torx (see torx(1)) With this and LOGMON we have the real solution (see above) to no longer need torx --log command line options containing a pipe (|) symbol. * added a (not to by used by the end user) torx-logclient(1) that is used in the implementation of LOGMON * added a Tools menu to xtorx(1) which will contain a toggle button for each LOGMON entry in the config file(s), to enable/disable the starting of a log monitoring program before starting a test run * implemented log2msc(1), mscviewer(1), Bmsc(1), xtorx-showmsc(1) * removed integrated msc viewer from xtorx(1), now use xtorx-showmsc(1) via the --logmon option of torx(1) * now indicate ``end of file''/``end of MSC'' in mscviewer. * fixed minor bug in the mscviewer(1): it should no longer happen that parts of the labels in the MSC are invisible, to the left ``outside'' the MSC. * the mscviewer(1) now has a ``Save as'' button which pops up a dialog window; if the filename selected/entered in the dialog ends in .(e)ps a postscript file will be saved, otherwise the ``event oriented'' textual representation of the MSC will be saved. * fixed annoyance in the mscviewer(1): the ``instance headers'' now scroll upwards but remain visible, whereas they so far would just scroll off screen * the mscviewer(1) now can highlight messages, and show the message (step) number, and has buttons to move the highlight up/down, and allows a step number to be entered, to highlight it and automatically scroll to make it visible * the mscviewer(1) now has both a Close and a Quit button * the mscviewer(1) now has a ``Reuse'' button to allow reuse of the window when a new MSC has to be displayed * new ``Set MSC Window Reuse Button'' entry in xtorx preferences menu, to set the initial state of Reuse button * now, during a test run the ``Start MSC'' menu entry, ``Set MSC Window Reuse Button'' and the new Tools menu/ menu entries (see above) are disabled, because the new settings will not be taken into account during a test run, but only at the moment that a new test run is started. * imnplemented an 'About' box in xtorx * updated the xtorx(1) manual page * bugfix in configure.in for configuring cpp for Trojka * minor fixes in intersector, to better pass on suspension and channel information. The result of these fixes is that the log/msc info is more informative for experiments where the intersector is used, because the pco names appear in the log files and thus in the msc (previously, they would not be there if the intersector was used). * (potential) fix in the tcp(.expect) program, in the handling of reading from stdin and (via the socket) from the peer * added -w command line option to tcp(1) * small fix in the tkgnats code (Src/third_party/tkgnats) to make it work with tcl/tk 8.4 * extended tkgnats code (Src/third_party/tkgnats) to be able to fill in the Release number automatically, so we now do that in torx-querypr and torx-sendpr * fixed tcp(1) by disabling an event handler that would take up more and more cpu cycles * added silly command torx-hostname(1) to (sort of) hack around host name confusion that we may have when we run in windows via cygwin; basically, it's only there to make the confprot example work in windows/cygwin * found a problem when using a promela-based primer in windows/cygwin that crashed when the A_STATS answer tried to print the memusage which is a double. We don't understand why this happens; for now, we print a questionmark (?) for the memusage field in A_STATS. * use tcl/tk logical font names to specify fonts for xtorx and mscviewer, so they look more the same (wrt font size) across platforms * in xtorx the Primers, Mutants and Tools menu buttons are now no longer disabled during a test run (whether they are disabled or enabled now solely depends on whether or not a primers or mutants file is loaded, resp. whether there are entries in the Tools menu) * The xtorx ``Path'' pane is now named ``Executed test steps'' New in 3.2.0: * removed Trojka binary distribution support * removed configure script flag --enable-trojka-src * simplified ltsa configure support * added configure script checks to avoid building/installing primer components for which support is not available in the build environment (e.g. missing interpreter) * modified autoconfigure cpp path for trojka (needed for cygwin) * ported most TorX components to cygwin (not ported: partitioner, iochooser, campaign) * for cygwin, from tcl/tk/expect scripts, in many cases we now ``exec'' programs by explicitly calling exec /bin/sh -c "command line for the program" * rewritten xtorx in tcl/tk, thus removed need for expectk * added a --gui command line flag for torx (to make synchronisation in xtorx easier) Potential bug: the torx prompt ends with a space. If this space does not make it to xtorx, i.e. if xtorx sees the prompt but without the trailing space character, it will not recognize it. * tried to make adaptor and adaptsim a bit more robust * changed the way we deal with stdout and stderr output from TorX components (in some cases we now merge them and forward them over a single channel, instead of keeping them separate) with the result that in some cases the stderr output of a component will not appear to be independently continiously updated in xtorx * extended the mkprimer interface to the *.pm primer-language dependent scripts to deal with the .exe suffix * changed the configuration for generic Primer (primer(1)), both w.r.t. command line options and configuration file * as a side effect, this primer now knows about suspension (quiescense) even when run in ``traces'' mode; therefore the intersector has been slightly modified * fixed non-portability issue in CADP and Trojka Primer New in 3.1.5: * fixed buffer full problem in xtorx * added mkprimer support for FSP (via ltsaexp(1)) * added --list and --config options to mkprimer * now autoconfigure cpp path for trojka (needed for cygwin) New in 3.1.4: * fixed pco name extraction for msc display in xtorx * minor textual updates to torx-primer(5) and torx-explorer(5) manual pages * fixed expect regular expression patterns for end-of-line such that exp_internal debugging output of torx is now visible in xtorx. New in 3.1.3: * updates to some manual pages * added PURL for torx web pages to torx-intro(1) man page * added PURL and email contact address in README New in 3.1.2: * added a VERSION file, and updated LICENSE to reflect that New in 3.1.1: * bugfix in Adaptor to make old adaptor work again (needed for e.g. confprot example) New in 3.1.0: * Trojka now implements Tarjan algorithm * integrated LICENSE file * updated CONTRIBUTORS New in 3.0.0: * new primer-driver interface command: C_GETINPUT * now primer does not do C_INPUT before the adapter does it, but after the adapter does it, where the adapter may change or extend the action that it is given (e.g. to fill in timestamp) * lots of other things most certainly New in 2.12.0: * fixed the intersector to correctly handle commands un-implemented in the primers (etc.) that it controls * added a preference menu option in xtorx to switch to bigger fonts * changed the wording of '(Suspension)' back to '(Quiescence)' * added a configure option to keep LTSA out of the distribution New in 2.11.0: * extended the generic primer with support for the ioct relation (in which the presence of tau transitions in a state is no reason to not add a delta transition). This support can be enabled with the -T flag of primexp * added simple-minded support to allow the generic primer to do as if the thing it is exploring is input and or output complete, _not_ by extending the menu, but just by accepting an event that is not in the menu, telling that it has been accepted, and at the same time staying in the (same) super-state. (NOTE: this does not help if the current super-state contains more than one state, and the event that is asked for is in the menu for one the states, but not for all of them) This can be enabled with the primexp flag: -C input,output. * fixed the generic primer: finally added the routine 'fatal' New in 2.10.3: * fixed the adaptsim adapter to receive the simulator stderr output separately * fixed the generic primer: fixed the supension history heuristic for the IOKIND command so it will no longer forever avoid output once it has observed suspension * fixed the generic primer: add 'identical state' information when a suspension transition is added to the 'menu' (without this fix we might not longer know that the current state has an 'identical' one, once we have gone through the 'suspension action' loop). In a way, we fixed a 'superstate-state-id' leak (without the fix the superstate-id number would grow and grow and grow) New in 2.10.2: * bugfix in the generic primer extension New in 2.10.1: * extended the generic primer such that we can also use it as simulator (at least for non-symbolic explorers), i.e. it implements also the 'sim' 'strategy' (algorithm) New in 2.10.0: * integrated a new LTSA-based Explorer. It can be accessed in two ways: 1) using the command 'ltsa' under the Check/Torx menu, which starts a telnet server on which the Explorer-Primer interface is offered, and 2) using the command 'ltsaexp file.lts' which offers the Explorer-Primer interface on standard input and output. No manual pages yet. NOTE: LTSA needs java to run (javac to build from source, if provided). New in 2.9.1: * extended jararaca: we now also print the test-purpose expression in the dot file generated with jararaca's -r option * extended jararaca: slightly optimised the generated automaton, by avoiding to unnecessarily increment a counter for the [n..] repeat operator (at the cost of adding one state and two transitions for each such operator) * slightly rephrased part of the jararaca man page * updated server name of problem report tracking system gnats in torx-sendpr and torx-querypr * fix in msc window, to disallow 'Save in:' of empty msc window (which would fail with a tcl/tk error trace) New in 2.9.0: * extended jararaca: added a denotation for the 'number' 'infinity' in the recursion operator of the regular expression language: keyword: infinity New in 2.8.4: * changed STATEID answer in the primer-driver interface, to no longer contain the field 'all', and to always the field 'id' to 'super' * updated the CADP primer, the generic symbolic primer and the intersector to handle the new interface * updated the torx-primer.1 manual page w.r.t. this change New in 2.8.3: * bug fix in intersector (combinator) to complete the primer-driver interface code for STATEID, introduced in previous version * added multi-lie STATETD answer to torx-primer.1 manual page New in 2.8.2: * now deal with STATEID and combinators in (sort of) the same way as we do with STATS: the intersector passes the STATEID info of its controlled primers etc. to its driver * to do that, we extended the primer-driver interface for the STATEID command, to include the 'id,role' information * changed the logging format for the STATEID lines: we now print them like the STATS lines as whitespace separated list of whitespace separated fields of name and value, and the first fields will be id and role, for tool components connected via a (or more) combinators (intersectors) * bug fix in generic symbolic primer, to correctly give the superstate number representation (prevoiously, we always got the number '0') New in 2.8.1: * bug fix in intersector, to report 'unknown [primer-driver interface] command' in the right way (such that the driver understands it) * bug fix in driver, to remove superflous 'end of test' message that is given even before/while we are really starting New in 2.8.0: * new STATEID information in the log files generated by torx * new STATEID command in the primer-driver interface, implemented in the CADP primer and the 'generic' primer * bug fix to in the parsing of log files as traces, to make the follow-trace feature work again * made jararaca input language accept optional ',' after last action in a set * jararaca error messages now mention filename:lineno * robustness improvement: torx (and other programs that use the io.tcl library for the primer-driver interface) can now better cope with long lines in the interface * added manual pages: torx-explorer.1, smileexp.1, pui.1 * bug fix in generic symbolic primer: reimplemented its menu representation module (which was too complex, and contained and error which caused it to loose menu elements) * bug fix in jararaca: removed the workaround that we needed to work around the error in the menu representation in the generic symbolic primer New in 2.7.0: * new jararaca explorer that derives traces from regular expressions * bug fix in LOTOS and Promela primers, to write all interface messages, including error messages, to standard output, because in 2.6.0 we separated treatment in the driver of (explorer-) primer standard output and standard error (so, without this change we could deadlock becayse the driver would not see an A_ERROR message from the explorer/primer) * extended configure script with a --with-litedir=... flag to allow specification of the path to the lite distribution (for tksmile, which can be used as symbolic explorer) * slightly changed the generic symbolic primer to allow setting of environment variables to specify its explorer program, and the directory in which this explorer should be run. * the gui (xtorx), now recognizes the (extended = including hit,miss) Verdict reported by torx, and displays it in the Verdict pane, and changes color accordingly * small bugfixes in gui (xtorx), in particular to handle events coming from torx using the combinator (intersector) that do not contain channel or pco fields, but just the event 'label' and an indication of input or output. New in 2.6.0: * bug fix in partitioner (error when C_INPUT was given with event) * bug fix in campaign (requesting 'recursive' field of 'recursive' block types; e.g. requesting the 'partitioner' field of a partitioner block) * bug fix in driver in torx user interface, allow ':' in channel+event argument of 'input' cmd (to allow copy-paste of output of menu cmd) * bug fix in driver to support '$' symbols in events (used in free variables in symbolic events of the Smile explorer (in spec_get_input, where the (symbolic) event is used in a tcl list context) * bugfix in instantiator to support '$number' variable suffixes in the symbolic events of the smile explorer * updated driver to capture and pass on stderr output of primer/explorer * updated explorer-primer to capture and pass on stderr output of explorer (this symbolic primer is used with the smile explorer) * added command (and man-page for) torx-root that prints the torx (distribution) installation directory * bug fix in mksmileexp: generate call smileexp instead of utsmile * minor tcl bug fix in smile explorer * update msc displayer in xtorx, to automatically scroll the window when events are appended to the msc (i.e. to keep the 'end' visible) * bugfix in iochooser: updated to 'new' tool interface where messages consist of list of name=value tuples New in 2.5.1: * bug fix in preprocmkprimer (for m4mkprimer and cppmkprimer) * bug fix in driver and gui for logging to program instead of file New in 2.5.0: * bug fixes in generated campaign Makefiles to continue with next run when a torx execution ends with an error (instead of stopping campaign) * updated combinator with the 'name-value tuple' interfaces * updated combinator (intersector) to latest theory (singular observation objectives; the existing prototype code for plural observation objectives has to be checked once theory is complete) * when used with a combinator (intersector), torx's verdict now is of the form <{pass,fail}, {hit,miss}>. * torx now also prints a verdict on stderr * on fatal error in torx, if the last input/output command sent to the adapter was not successful, add this command to the log New in 2.4.0: * enhanced adapter to recognize LOG lines in stderr of implementation * bug fixes in adapter to better handle eof of implementation * extended driver to allow logging to a program instead of to a file * extended campaign config with new fields * bugfix in partitioner to correctly interface (use event and channel fields in the INPUT command) * added a telnet-like script 'tcp' (like the script udp) * removed some debugging print statements from adapter * minor code cleanup in driver New in 2.3.0: * bug fixes in driver, adapter and hexcontext to give tcov-ed programs a chance to write out the coverage info when we stop New in 2.2.1: * verbosity flag (-v) added to partitioner command * bug fixes in partitioner New in 2.2.0: * first version of tool component named partitioner, that can be use to partition the input menu taken from a 'sub' command (a primer, or another partitioner) using patterns over events (labels), and assign weights to the events using those partitions, such that it can select the next input using the weights. * added partitioner support to the test-campaing code * experimental primer user interface: pui usage: pui primer-program [arguments...] * fixed some bugs (among other in the test-campaing .if file generator) New in 2.1.3: * bug fixes New in 2.1.2: * added milli-second timestamps (not very precise!) * indicate the exeuction mode (auto/manual) in torx log New in 2.1.1: * fixed handling of xtorx command line argument. * fixed recognition of primer(s) and mutant(s) config file entries in adapter and driver (so they no longer complain about them) New in 2.1.0: * minor improvements to campaign support, to generate more entries in the generated torx config files, to allow xtorx to display more information * minor improvements in xtorx, to make it easier to use settings from a test campaign directory, and to be able to specify primers and mutants files in the torx configuration file. * xtorx now can be given one config file as argument * a few bugfixes (esp. in the routine that compares events when a trace is followed) New in 2.0.2: * fixed distribution problem (Src/Explorer subdir Makefile* missing). New in 2.0.1: * Initial test campaign support (man page still missing). * a number of bugfixes. New in 2.0.0: * Interfaces are more symmetric (p-d, d-a) * separate adaptor module * added man pages * configuration files extended New in 1.4.2: * mkprimer now also generates a SOURCEREL setting in the generated outputfile.torx file. * CHANGED the handling of the SOURCESPEC and SOURCEIUT keuwords in xtorx: if they refer to specs using relative paths, these relative paths are now interpreted relative to the location of the config file that contains it. * we make now a clearer distinction in the output produced by torx: error/debug/diagnostic messages that need not be interpreted by xtorx (but should simply be appended to the message pane) are now send to standard error; only things that are ``important'' are send to standard output. * a number of bugfixes. New in 1.4.1: * xtorx now has a Specs menu, with entries to open (view) the current spec or mutant (implementation). * CHANGED torx now will by default always invoke a spec or iut such that the spawned subprocess will first 'cd' to the directory in which the spec/iut is, and then invoke the spec or iut. We have done this to make it easier to work with BCG files: primers that are build with bcg_io contain hard- coded pathnames that refer to the bcg file. The idea is that this change allows it to invoke mkprimer from within the directory containing the bcg file, with a relative path to the file (./spec.bcg or ./spec.aut) and then have it working correctly by default. * CHANGED to overrule the default 'cd' behaviour mentioned above, two new config keywords have been introduced: SPECRUNDIR and IUTRUNDIR, which define the directory in which the SPEC resp. the IUT should be started; if the SPEC and/or the IUT program given has a relative path, then it is to be interpreted from SPECRUNDIR resp. IUTRUNDIR when these are given, otherwise they will be interpreted from the directory containing the config file. (POTENTIAL FUTURE CHANGE: we can also decide to interpret these program paths _always_ from the directory containing the config file, and just use the *RUNDIR config entries to specify where it has to be run) * CHANGED the config file format: added two new keywords: SOURCESPEC and SOURCEIUT that can be used to specify where the specification resp. the spec or source of the iut can be found. * mkprimer now always generates a outputfile.torx file containing a SOURCEABS setting, that can be used to locate the source, i.e. to set the SOURCESPEC or SOURCEIUT in a .primers or .mutants file. We also want to add a SOURCEREL setting, but it is not yet completely clear how to compute the relative path to a source file in the general case, i.e. to a file in a different subtree. * mkprimer now has support to build a primer from an fc2 file (using bcg_io to read/translate the fc2 file) * improved/generalised sim.primers/sim.mutants files in the Examples/Simulator directory, that use the .torx files. * added a preference item to allow the user to say that the msc window should not be opened. * a number of bugfixes. New in 1.4.0: * GCI support integrated in the torx distribution, in Src/EnDeCoding/GciGeneric. * added the adapter for the primer/simulator to the torx distribution, in Src/EnDeCoding/GciSimulator. This directory has been set-up such that it can be build/installed as part of TorX, and also separately. So, hopefully, it can be used as a kind of example of how an adapter can be built for TorX, using the GciGeneric code. * changed mkprimer script: the default primer name is now based on the specification file name, and this name can be overridden with a -o flag. * Some fixes in the Makefiles to fix support for building outside the source directories. * The GUI now has a Primers menu, just like for the mutants. * The primers and mutants files can be reopened. * CHANGED torx now accepts multiple config files on the command line. * CHANGED the calling interface with which the primer/mutant 'constructor' and 'destructor' routines are called: they are now always invoked with two arguments: the names of the variables that can be set (using thc tcl upvar command)to add things to the command line of torx: the first variable is expanded at the end of the flags for torx, the second variable at the end of the config file arguments. New in 1.3.3: * torx now has new command line flags --no-log --no-trace --no-seed --no-depth to overrule the corresp. config file and use the default (in-program) values instead (--no-seed means: use default seed). * torx now has a --help flag, and a more elaborate usage message * xtorx now disables the seed entry during a test run (but this is almost invisible for the user: the entry does not look any different!) * xtorx now invokes torx such that it will not use a log- or trace-file unless specified in the gui -- it will _always_ overrule the config file in this respect -- we still have to see how intuitive this is! It does this by using the new --no-log --no-trace --no-seed flags. New in 1.3.2: * xtorx now has a 'message' pane instead of a 'log' pane -- all user-interface pieces related to it now refer to 'messages' * xtorx now has menu-entries to set/unset the log-file name A chosen log filename is displayed in the window-title, and passed on to torx when torx is started. New in 1.3.1: * torx command-line flags now overrule config file entries * xtorx now has a 'Seed' entry field; if non-empty when a test-run is started (i.e. when torx is started), the seed will be passed on to torx (if non-empty, it is supposed to be a number, but this is _not_ checked) New in 1.3.0: * new code in Intersector (should be renamed 'combinator') to be able to handle TGV-generated test-cases (and also test-graphs) by specifying them as a 'TEST' 'primer' in the config file of the intersector. * addition to the mkprimer cadp.pm 'script module' to allow generation of a primer from a .aut file or a .bcg file (in case of the .aut file generated by TGV, it is necessary to rename the labels to get rid of TGV's input/output annotations, and to provide the verdict-information in a slightly different way; in case of a bcg file it should contain 'normal' LOTOS-like labels, because we don't have a script to rename the labels in/from a .bcg file. These renamings should be done _before_ mkprimer is called, i.e. mkprimer should be called on a .aut or .bcg file with nice 'LOTOS-like' labels!) * fixed (worked around) installation problem with tkgnats lib dir creation New in 1.2.1: * symbolic stuff in Trojka * GCI support in the Driver New in 1.2.0: * menubar * integrated tkgnats to query and/or report problems (in Help menu) * mutants menu (user-controlled), to allow easy choice of mutants New in 1.1.4: * Portability fixes for Linux and ecgs. * Standard convention for distribution names. New in 1.1.3: * Portability fixes for Linux. New in 1.1.2: * Portability fixes for HP-UX. We no longer need nawk. New in 1.1.1: * Bugfix in the configure script. Slightly more robust scripts to invoke Trojka. New in 1.1.0: * Added Trojka to the distribution (in binary form, for sparc/solaris and i86/linux). New in 1.0.4: * Renamed ``tester'' to ``torx'' and ``xtester'' to ``xtorx''. * Finally fixed the problem with ``make'' that caused some parts of the system not to be built. * the ``auto-Refresh'' toggle is now by default enabled. New in 1.0.3: * The tester program now outputs all diagnostics from the IUT (instead of sometimes not showing the last lines before terminating) * We now have a mkprimer program to build Primer programs for arbitrary specification languages (for now only supporting CADP to compile LOTOS). * Now also tested (a bit) on Linux. New in 1.0.1: * It should now also install without CADP being available (LOTOS Primer will then not be installed New in 1.0: * First version to be distributed New in 0.3 (or so): * First version to taken outside UT for demo at Natlab