<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TLA+ &#124; The way to specify&#187; Tools</title>
	<atom:link href="http://www.tlaplus.net/topics/tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tlaplus.net</link>
	<description>The TLA+ and PlusCal Resource</description>
	<lastBuildDate>Fri, 20 Jan 2012 20:26:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Toolbox Version 1.3.1 Released</title>
		<link>http://www.tlaplus.net/posts/2011/04/toolbox-version-1-3-1-released/</link>
		<comments>http://www.tlaplus.net/posts/2011/04/toolbox-version-1-3-1-released/#comments</comments>
		<pubDate>Tue, 05 Apr 2011 21:53:31 +0000</pubDate>
		<dc:creator>Leslie Lamport</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[PlusCal]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.tlaplus.net/?p=608</guid>
		<description><![CDATA[The major change is PlusCal Version 1.5, which allows specification of an algorithm&#8217;s fairness properties. There have also been a number of minor bug fixes.]]></description>
			<content:encoded><![CDATA[<p>The major change is PlusCal Version 1.5, which allows specification of an algorithm&#8217;s fairness properties. There have also been a number of minor bug fixes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tlaplus.net/posts/2011/04/toolbox-version-1-3-1-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TLA Toolbox 1.2.1 released</title>
		<link>http://www.tlaplus.net/posts/2011/04/tla-toolbox-1-2-1-released/</link>
		<comments>http://www.tlaplus.net/posts/2011/04/tla-toolbox-1-2-1-released/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 20:55:03 +0000</pubDate>
		<dc:creator>Simon Zambrovski</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[TLA Toolbox]]></category>

		<guid isPermaLink="false">http://www.tlaplus.net/?p=602</guid>
		<description><![CDATA[After the initial release of TLA Toolbox followed by a several maintenance releases a version containing a new tool has been released. TLA Toolbox now supports TLAPS, the TLA Proof Checker. Check the Tools Section]]></description>
			<content:encoded><![CDATA[<p>After the initial release of TLA Toolbox followed by a several maintenance releases a version containing a new tool has been released. TLA Toolbox now supports TLAPS, the TLA Proof Checker. Check the <a href="http://www.tlaplus.net/tools/tla-toolbox/">Tools Section</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.tlaplus.net/posts/2011/04/tla-toolbox-1-2-1-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TLA Toolbox Released</title>
		<link>http://www.tlaplus.net/posts/2010/02/tla-toolbox-released/</link>
		<comments>http://www.tlaplus.net/posts/2010/02/tla-toolbox-released/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 10:36:05 +0000</pubDate>
		<dc:creator>Simon Zambrovski</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[TLA+]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[algorithm]]></category>
		<category><![CDATA[graphical user interface]]></category>
		<category><![CDATA[model checker]]></category>
		<category><![CDATA[model checking]]></category>
		<category><![CDATA[syntax analysis]]></category>
		<category><![CDATA[tlc]]></category>
		<category><![CDATA[toolbox]]></category>

		<guid isPermaLink="false">http://www.tlaplus.net/?p=551</guid>
		<description><![CDATA[There are various tools available for the TLA+ specification language and PlusCal algorithm language, as described in the TLA Tools section in more detail. These command-line tools are now integrated in a full-featured IDE, called the TLA Toolbox, for writing and debugging TLA+ specifications and PlusCal algorithms. It combines editors for specifications and TLC models [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/wp-content/uploads/2009/08/toolbox-screenshot-350x200.png" style="float:right;" width="350" height="200" /><br />
There are various tools available for the TLA+ specification language and PlusCal algorithm language, as described in the <a href="/tools/tla-tools">TLA Tools section</a> in more detail. These command-line tools are now integrated in a full-featured IDE, called the <b>TLA Toolbox</b>, for writing and debugging TLA+ specifications and PlusCal algorithms.  It combines editors for specifications and TLC models with already existing TLA+ tools for syntax analysis, PlusCal translation, model checking, and pretty-printing  in one application. It includes the console-based TLA+ Tools and enables the use of their whole functionality through a rich graphical user interface.<br />
<span id="more-551"></span></p>
<p>The IDE provides the following functionality with a simple graphical<br />
interface:</p>
<ul>
<li>Managing specifications</li>
<li>A TLA+ specification editor with features like:
<ul>
<li>SANY integration</li>
<li>Syntax Highlighting</li>
<li>Basic content assist</li>
<li>Error markers</li>
</ul>
</li>
<li>PlusCal translation</li>
<li>Displaying a pretty-printed PDF version using TLATeX</li>
<li>The TLC Model Checker, with:
<ul>
<li>A simple interface for managing models</li>
<li>A rich model editor</li>
<li>An extended TLC result display</li>
<li>A cool trace explorer</li>
</ul>
<li>The TLAPS proof system, with features for:
<ul>
<li>Viewing and editing hierarchical proofs
<li>Running the prover (soon to be released)
<li>Displaying the status of proofs (soon to be released)
</ul>
</li>
</ul>
<p>See the <a href="/tools/tla-toolbox/">TLA Toolbox</a> page for more details.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tlaplus.net/posts/2010/02/tla-toolbox-released/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Coming soon: TLA+ Toolbox</title>
		<link>http://www.tlaplus.net/posts/2009/08/coming-soon-tla-toolbox/</link>
		<comments>http://www.tlaplus.net/posts/2009/08/coming-soon-tla-toolbox/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 01:07:17 +0000</pubDate>
		<dc:creator>Simon Zambrovski</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[TLA+]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[toolbox]]></category>

		<guid isPermaLink="false">http://www.tlaplus.net/?p=302</guid>
		<description><![CDATA[There are various tools available for the TLA+ specification language and PlusCal algorithm language, as described in the Tools section in more detail. An additional tool is coming soon: the TLA+ Toolbox. In order to enhance the user experience with the tools and simplify the access to the languages some improvements are being developed in [...]]]></description>
			<content:encoded><![CDATA[<p>There are various tools available for the TLA+ specification language and PlusCal algorithm language, as described in the <a href="/tools/">Tools section</a> in more detail. An additional tool is coming soon: the TLA+ Toolbox.<span id="more-302"></span></p>
<p>In order to enhance the user experience with the tools and simplify the access to the languages some improvements are being developed in the scope of <a href="/posts/2009/08/tools-and-methods-for-formal-specs-and-for-proofs/">the project</a> run by Microsoft Research and INRIA. Along with the focus on the proof aspect of TLA+, the development of a complete Integrated Development Environment (IDE) for writing and debugging of specifications has been identified as a project goal. The IDE unifies the editors for specifications and models with already existing TLA+ tools for syntax analyze, PlusCal translation and model checking in one application. It includes the console-based TLA+ Tools and enables the use of their whole functionality via rich graphical user interface.</p>
<p>The IDE is currently being finalized and will be available soon. It will include:</p>
<ul>
<li>Simple interface for managing specifications</li>
<li>Integrated TLA+ specification editor with features like:
<ul>
<li>SANY integration</li>
<li>Syntax Highlighting</li>
<li>Basic content assist</li>
<li>Error marker support</li>
<li>and others</li>
</ul>
</li>
<li>PlusCal Translator integration</li>
<li>TLC Model Checker integration
<ul>
<li>Simple interface for managing models</li>
<li>Rich model editor</li>
<li>Extended TLC result display</li>
<li>Trace Explorer</li>
<li>and others&#8230;</li>
</ul>
</li>
</ul>
<p><strong>Stay tuned for the TLA+ Toolbox release&#8230;</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tlaplus.net/posts/2009/08/coming-soon-tla-toolbox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Command Line Switches</title>
		<link>http://www.tlaplus.net/posts/2009/08/command-line-switches/</link>
		<comments>http://www.tlaplus.net/posts/2009/08/command-line-switches/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 08:11:25 +0000</pubDate>
		<dc:creator>Simon Zambrovski</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[argument]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[PlusCal]]></category>
		<category><![CDATA[sany]]></category>
		<category><![CDATA[switch]]></category>
		<category><![CDATA[tlatex]]></category>
		<category><![CDATA[tlc]]></category>

		<guid isPermaLink="false">http://www.tlaplus.net/?p=116</guid>
		<description><![CDATA[This tutorial describes the command line switches accepted by the console-based TLA+ Tools: SANY, TLC, and the PlusCal Translator. Most users will run the tools from the Toolbox, in which case the switches for SANY and TLC are irrelevant. When running the Toolbox, command line switches for the PlusCal translator can be provided in a [...]]]></description>
			<content:encoded><![CDATA[<p><img style="float: left; margin: 10px;" title="Command Line Switches" src="/wp-content/uploads/2009/08/switch-150x150.jpg" alt="Command Line Switches" width="100" height="100" /><br />
This tutorial describes the command line switches accepted by the console-based TLA+ Tools: SANY, TLC, and the PlusCal Translator.  Most users will run the tools from the Toolbox, in which case the switches for SANY and TLC are irrelevant.  When running the Toolbox, command line switches for the PlusCal translator can be provided in a specification&#8217;s <code>Preferences</code> menu.  However, starting with Version 1.5 of the translator, the most useful options can be specified in the module containing the algorithm.  (See the language manual.)</p>
<p>The command line switches are detected, by the fact that they begin with a &#8216;-&#8217; character. Once the first command line element that is not a switch is encountered, the rest are presumed to be file names.<span id="more-116"></span></p>
<h3>SANY, the Syntax Analyzer</h3>
<pre class="brush: bash; title: ; notranslate">
java tla2sany.SANY [-S] [-L] [-D] [-STAT] FILES
</pre>
<p>where <code>FILES</code> is a list of modules separated by spaces and</p>
<ul>
<li><code>-S</code>: disable semantic analysis</li>
<li><code>-L</code>: disable level checking</li>
<li><code>-D</code>: enable debugging</li>
<li><code>-STAT</code>: print statistics</li>
</ul>
<p>The switches are useful for finding errors in SANY ony and are not providing particular helpful features for the user.</p>
<h3>TLC, the Model Checker</h3>
<p>The model checker (TLC) provides the following functionalities:</p>
<ul>
<li>Model checking of TLA+ specs</li>
<li>Simulation of TLA+ specs</li>
</ul>
<p>The program can be executed by typing the following to the console</p>
<pre class="brush: bash; title: ; notranslate">
java tlc2.TLC [GENERAL-SWITCHES] [MODE-SWITCHES] SPEC
</pre>
<p>where <code>SPEC</code> is the name of the specification&#8217;s root module (the .tla extension can be omitted) and the optional <code>GENERAL-SWITCHES</code> are:</p>
<ul>
<li><code>-cleanup</code>: clean up the states directory</li>
<li><code>-config file</code>: provide the config file. Defaults to .cfg if not provided.</li>
<li><code>-continue</code>: continue running even when invariant is violated. Defaults to stop at the first violation if not specified.</li>
<li><code>-coverage minutes</code>: collect coverage information on the spec, print out the information every minutes. Defaults to no coverage if not specified.</li>
<li><code>-deadlock</code>: do not check for deadlock. Defaults to checking deadlock if not specified.</li>
<li><code>-difftrace</code>: when printing trace, show only the differences between successive states. Defaults to printing full state descriptions if not specified.</li>
<li><code>-dump file</code>: dump all the states into file</li>
<li><code>-fp num</code>: use the num&#8217;th irreducible polynomial from the list stored in the class FP64.</li>
<li><code>-gzip</code>: control if gzip is applied to value input/output stream. Defaults to use gzip.</li>
<li><code>-metadir path</code>: store metadata in the directory at path. Defaults to specdir/states if not specified.</li>
<li><code>-nowarning</code>: disable all the warnings. Defaults to report warnings if not specified</li>
<li><code>-recover path</code>: recover from the checkpoint at path. Defaults to scratch run if not specified.</li>
<li><code>-terse</code>: do not expand values in Print statement. Defaults to expand value if not specified.</li>
<li><code>-workers num</code>: the number of TLC worker threads. Defaults to 1.</li>
</ul>
<p>By default TLC starts in the model checking mode using breadth-first approach for state space exploration. This can be changed using the <code>MODE-SWITCHES</code>. In contrast to the <code>GENERAL-SWITCHES</code> these can be used if applied in certain combinations only:</p>
<pre class="brush: bash; title: ; notranslate">
{[-dfid num][ -view]|-simulate[ -depth num][ -aril num][ -seed num]}
</pre>
<ul>
<li><code>-modelcheck</code>: run model checking and explore the state space in breadth first manner. This is a default mode.</li>
<li><code>-dfid num</code>: run model checking and use depth-first iterative deepening with initial depth num</li>
<li><code>-view</code>: apply <code>VIEW</code> (if provided) when printing out states. Applicable only in model checking mode.</li>
<li><code>-simulate</code>: run simulation</li>
<li><code>-depth num</code>: specify the depth of random simulation. Defaults to 100 if not specified, relevant for simulation mode only.</li>
<li><code>-seed num</code>: provide the seed for random simulation. Defaults to a random seed if not specified, relevant for simulation mode only.</li>
<li><code>-aril num</code>: adjust the seed for random simulation. Defaults to 0 if not specified, relevant for simulation mode only.</li>
</ul>
<h2>PlusCal, the Translator</h2>
<p>The PlusCal translator translates a PlusCal algorithm into a TLA+ specification. The translator is called by typing</p>
<pre class="brush: bash; title: ; notranslate">
java pcal.trans [SWITCHES] SPEC
</pre>
<p>where SPEC is a TLA+ file (the extension .tla need not be typed)<br />
containing the algorithm. See the PlusCal manual for an explanation of<br />
what the TLA+ file must contain. The possible options are</p>
<ul>
<li><code>-help</code>: Prints out the usage instead of running the translator.</li>
<li><code>-wf</code>: Conjoin to formula <code>Spec</code> weak fairness of each process&#8217;s next-state action</li>
<li><code>-sf</code>: Conjoin to formula <code>Spec</code> strong fairness of each process&#8217;s next-state action</li>
<li><code>-wfNext</code>: Conjoin to formula <code>Spec</code> weak fairness of the entire next-state action</li>
<li><code>-nof</code>: Conjoin no fairness formula to <code>Spec</code>. This is the default, except when the <code>-termination</code> option is chosen.</li>
<li><code>-termination</code>: Add to the .cfg file the command <code>PROPERTY Termination</code> With this option, the default fairness option becomes <code>-wf</code>.</li>
<li><code>-nocfg</code>: Suppress writing of the .cfg file.</li>
<li><code>-label</code>: Tells the translator to add missing labels. This is the default only for a uniprocess algorithm in which the user has typed no labels.</li>
<li><code>-reportLabels</code>: True if the translator should print the names and locations of all labels it adds. Like <code>-label</code>, it tells the translator to add missing labels.</li>
<li><code>-labelRoot name</code>: If the translator adds missing labels, it names them name1, name2, etc. The default value is &#8220;Lbl_&#8221;.</li>
<li><code>-unixEOL</code>: Forces the use of Unix end-of-line convention, regardless of the system&#8217;s default. Without this, when run on Windows, the files it writes seem to have a &#8220;^M&#8221; at the end of every line when viewed with Emacs.</li>
<li><code>-debug</code>: This is useful only for maintainers of the program and has no effect on normal execution.</li>
<li><code>-reportLabels</code>: True if the translator should print the names and locations of all labels it adds.  Like -label, it tells the translator to add missing labels.</li>
<li><code>-lineWidth</code>: The translation tries to perform the translation so lines have this maximum width.  (It will often fail.)  Default is 78, minimum value is 60.</li>
<li><code>-version</code>: The version of PlusCal for which this algorithm is written.  If the language is ever changed to make algorithms written for earlier versions no longer legal, then the translator should do the appropriate thing when the earlier version number is specified.</li>
</ul>
<p>Starting with Version 1.5, the following options no longer work.  They can be used only if the <code>-version 1.4</code> option is also used.  Moreover, the <code>-writeAST</code> option does not work from the Toolbox.  If there is any demand, these options may be made to work again in later versions.</p>
<ul>
<li><code>-spec name</code>: Uses TLC and the TLA+ specification name.tla to do the translation. It copies the files name.tla and name.cfg from the directory containing the translator&#8217;s Java source files to the current directory; it writes in the current director the file AST.tla that defines `fairness&#8217; to equal the fairness option and `ast&#8217; to equal the the AST data structure representing the algorithm; and it runs TLC on name.tla to produce the translation.</li>
<li><code>-myspec name</code>: Like <code>-spec</code>, except it finds the files names.tla and names.cfg in the current directory, instead of writing them there.</li>
<li><code>-spec2 name</code>: Like <code>-spec</code>, except it uses TLC2 insead of the old version of TLC (aka TLC1).</li>
<li><code>-myspec2 name</code>: Like <code>-myspec</code>, except it uses TLC2 instead of TLC (aka TLC1).</li>
<li><code>-writeAST</code>: Writes the AST file as in the <code>-spec</code> option, but does not perform the translation.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.tlaplus.net/posts/2009/08/command-line-switches/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>How to install TLA+ Tools</title>
		<link>http://www.tlaplus.net/posts/2009/08/how-to-install-tla-tools/</link>
		<comments>http://www.tlaplus.net/posts/2009/08/how-to-install-tla-tools/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 07:48:46 +0000</pubDate>
		<dc:creator>Simon Zambrovski</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[instruction]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tla+ tools]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.tlaplus.net/?p=113</guid>
		<description><![CDATA[This tutorial provides a description of the installation procedure of the console-based version of TLA+ Tools. Separate directions for completing the installation on Windows and on Unix are provided. Please download the latest copy of the TLA+ Tools in the Tools Section. Also make sure that the Java Runtime Environment (at least version 1.4) is [...]]]></description>
			<content:encoded><![CDATA[<p><img style="float: left; margin: 10px;" title="How to install TLA+ Tools" src="/wp-content/uploads/2009/08/wrench-150x150.jpg" alt="How to install TLA+ Tools" width="100" height="100" /><br />
This tutorial provides a description of the installation procedure of the console-based version of TLA+ Tools. Separate directions for completing the installation on Windows and on Unix are provided.<span id="more-113"></span><br />
Please download the latest copy of the TLA+ Tools in the <a href="/tools/tla-tools">Tools Section</a>. Also make sure that the Java Runtime Environment (at least version 1.4) is installed on your machine. You can download a version from the <a href="http://java.sun.com/javase/downloads/index.jsp">homepage of Sun Microsystems</a>.</p>
<h3>Installation on Windows</h3>
<p>Choose (or create) a folder into which you want to put the tools and unzip the downloaded file into it. Suppose your folder is <code>c:\user\myfolder</code>, the sub folder named <code>tla</code> will be created in it, which contains the tools. Add <code>c:\user\myfolder\tla</code> to your CLASSPATH environment variable. How you do that depends on what version of Windows you&#8217;re using:</p>
<h4>Non-Ancient Versions of Windows</h4>
<p>Open <em>Start &gt; Settings &gt; ControlPanel</em>. On the <em>Control Panel</em>, open <em>System</em>, click on <em>Advanced</em> tab and open the <em>Environment Variables</em>, then look for the <code>CLASSPATH</code> variable among user or system variables.  If it exists, append <code>;c:\user\myfolder\tla</code> to the end of its value. If not, create a new <code>CLASSPATH</code> variable whose value is <code>c:\user\myfolder\tla</code>.</p>
<h4>Windows 95 (and MS-DOS)</h4>
<p>Modify your AUTOEXEC.BAT file. If there is a command<br />
<code>set CLASSPATH = c:\foo\bar;d:\myjava\files</code><br />
then change it to<br />
<code>set CLASSPATH = c:\foo\bar;d:\myjava\files;c:\user\myfolder\tla</code><br />
If there is no such command in the file, then add<br />
<code>set CLASSPATH = c:\user\myfolder\tla</code><br />
to your AUTOEXEC.BAT file.</p>
<h3>Installation on UNIX</h3>
<p>Choose (or create) a directory into which you want to put the tools and unzip the downloaded file into that directory. Suppose that your directory is <code>/udir/user/mydir</code>, the sub directory named <code>tla</code> will be created in it, which contains the tools. Add <code>/udir/user/mydir/tla</code> to the <code>CLASSPATH</code> environment variable. Assuming you&#8217;re running the C-shell or some derivative, you do this by typing<br />
<code>setenv CLASSPATH /udir/user/mydir/tla</code><br />
However, you&#8217;ll probably want to have the <code>CLASSPATH</code> variable set automatically when you login.  To do this, your <code>.login</code> or <code>.csh</code> file must contain a command to set that variable.  If a command<br />
<code>setenv CLASSPATH ...</code><br />
already exists in your <code>.login</code> or <code>.csh</code> file, just add the command<br />
<code>setenv CLASSPATH $CLASSPATH":/udir/user/mydir/tla"</code><br />
after it. Otherwise, just add the command<br />
<code>setenv CLASSPATH /udir/user/mydir/tla</code></p>
<h3>Validation of the installation</h3>
<p>In order to validate if the TLA+ tools has been successfully installed, first create a file <code>test.tla</code> and paste the following content into it:</p>
<pre class="brush: bash; title: ; notranslate">
---- MODULE test ----
====
</pre>
<p>Then open the console (<em>Start</em> &gt; <em>Run</em> &gt; <code>cmd</code> on Windows) in the directory, the file is located in and type: <code>java tla2sany.SANY test</code>. If you did everything right, you should see:</p>
<pre class="brush: bash; title: ; notranslate">
****** SANY2 Version .91 created 10 April 2008
Parsing file test.tla
Semantic processing of module test
</pre>
<p>If you see</p>
<pre class="brush: bash; title: ; notranslate">
Exception in thread &quot;main&quot; java.lang.NoClassDefFoundError: tla2sany/SANY
Caused by: java.lang.ClassNotFoundException: tla2sany.SANY
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: tla2sany.SANY.  Program will exit.
</pre>
<p>you probably misspelled the <code>CLASSPATH</code>. If you see something like:</p>
<pre class="brush: bash; title: ; notranslate">
'java' is not recognized as an internal or external command,
operable program or batch file.
</pre>
<p>you are missing the JRE.</p>
<h3>Running from a script</h3>
<p>In some scenarios, setting up the global CLASSPATH variable is not desirable. In this case it is possible to create scripts for each tool which set the CLASSPATH only for the execution. Here is an example script for calling SANY on Windows:</p>
<pre class="brush: bash; title: ; notranslate">
set TLA_PATH=c:/tools/tla2
java -cp %TLA_PATH% tla2sany.SANY %1 %2 %3 %4
</pre>
<p>The script should be invoked with the name of the TLA file.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tlaplus.net/posts/2009/08/how-to-install-tla-tools/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

