<?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>Simon Zambrovski &#187; Simon Zambrovski | Tags : leslie lamport</title>
	<atom:link href="http://simon.zambrovski.org/tag/leslie-lamport/feed/" rel="self" type="application/rss+xml" />
	<link>http://simon.zambrovski.org</link>
	<description>&#34;One Cannot Not Communicate&#34; - Watzlawick</description>
	<lastBuildDate>Tue, 15 Nov 2011 00:15:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>Blogging Culture</title>
		<link>http://simon.zambrovski.org/2011/01/blogging-culture/</link>
		<comments>http://simon.zambrovski.org/2011/01/blogging-culture/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 00:14:44 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[off-topic]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[culture]]></category>
		<category><![CDATA[digital experiment]]></category>
		<category><![CDATA[dokuwiki]]></category>
		<category><![CDATA[holisticon]]></category>
		<category><![CDATA[leslie lamport]]></category>
		<category><![CDATA[page]]></category>
		<category><![CDATA[pluscal]]></category>
		<category><![CDATA[techjava]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[tla+]]></category>

		<guid isPermaLink="false">http://simon.zambrovski.org/?p=308</guid>
		<description><![CDATA[Web technology and web design were and remain important subjects of my interest. Facing hundreds of horrible-designed pages and my many different interests fostered the creation of many different web pages, for which I played a role of a web designer, a system administrator or a hosting provider. One of the reasons for that, was [...]]]></description>
			<content:encoded><![CDATA[<p><img style="margin: 5px; float: right;" title="www" src="http://simon.zambrovski.org/wp-content/uploads/2011/01/www-300x300.jpg" alt="www" width="150" height="150" /><br />
Web technology and web design were and remain important subjects of my interest. Facing hundreds of horrible-designed pages and my many different interests fostered the creation of many different web pages, for which I played a role of a web designer, a system administrator or a hosting provider. One of the reasons for that, was my hope to become a supporter or and contributor of an active community. To shorten the story &#8211; I failed and I&#8217;ll try to explain why. <span id="more-308"></span></p>
<p>Several years I attempted to create a local, German photo-community page, a PHP and Web Design site and some other web pages. Why did I do that? Because I believed to understand something about how the pages should be designed. Maybe I was mistaken, but probably there is another important reason, that I was neglecting. <strong>Communities are not built around good-looking, convenient, user-friendly platforms, but much more around a unique idea, which I never had.</strong> There are hundreds of web-technology pages and journals, and many German local photo pages. And the fact that I know five web-interested people and fifteen hobby photographers seems to be not enough to maintain and fill the page.</p>
<p>I had an interesting discussion with 
<a  href="http://alexander.holbreich.org" onclick="javascript:pageTracker._trackPageview('/external/alexander.holbreich.org');" >Alex</a> regarding the fact, if it is a good idea to create several, narrow-topic pages or one blog with all topics. My opinion was that a clear-addressed page will attract more people, than one page reporting about all subjects. I must concede that in theory I still believe that, but in practice it doesn&#8217;t work if you are the only person posting. And sorry to say that, but in the end I was the only one writing. In the same time, I already have a page on which I&#8217;m the only writer &#8211; this one.</p>
<p>A further reason of separating pages is the language of writing. I&#8217;m writing English and German (my Russian writing went never so far, that it would be not possible to write them in one of the already mentioned languages) and it seems that it is not a good idea to mix different languages on the same page. 
<a  href="http://noart.wordpress.com/" onclick="javascript:pageTracker._trackPageview('/external/noart.wordpress.com/');" >Bojidar</a> gave me an advice to write English, since most people using Internet like I do, understand English. On the other hand, it seems stupid to write English for Germans living in the same German city, so my photo page was in German. Surprisingly, after I started to write this post (and decided to close the 
<a  href="http://www.digitalexperiment.de/" onclick="javascript:pageTracker._trackPageview('/external/www.digitalexperiment.de/');" >DigitalExperiement site</a>), there is a new idea and justification for letting it online. I never finished the gallery section of the page and found out that this is probably the most important part. I&#8217;m posting my best photographs in different photo community sites, mostly for the reasons of getting feedback. In fact I don&#8217;t like any of the pages seriously, so I will re-post the best pictures on 
<a  href="http://www.digitalexperiment.de/" onclick="javascript:pageTracker._trackPageview('/external/www.digitalexperiment.de/');" >Digital Experiment</a> someday. In fact I found at least two other people who are interested in putting their high-gloss pictures into the gallery. But as long as it is not ready, I just cleaned up the content and removed the unneeded content from the page.</p>
<p>An additional reason for creating pages, was my interest in small PHP projects. I&#8217;m a big fan of WordPress and Dokuwiki, so I spend a reasonable amount of time integrating these two systems. This included designing templates/themes which look the same on both platforms to allow for a seamless integration of the two systems into one web page. My 
<a  href="http://www.techjava.de/" onclick="javascript:pageTracker._trackPageview('/external/www.techjava.de/');" >TechJava Journal</a> uses that, the 
<a  href="http://www.digitalexperiment.de/" onclick="javascript:pageTracker._trackPageview('/external/www.digitalexperiment.de/');" >Digital Experiment</a> used it too. 
<a  href="http://www.techphp.net/" onclick="javascript:pageTracker._trackPageview('/external/www.techphp.net/');" >TechPHP</a> was a kind of project home for all templates and plug-ins. In the end, WordPress 3 break the API completely and didn&#8217;t describe the login procedure in detail, so I didn&#8217;t want to reverse-engineer it again. Since the page was not hosted by me alone (but Alex participated in the project too), we decided to take the page offline.</p>
<p>The same will happen with 
<a  href="http://www.techlinux.de/" onclick="javascript:pageTracker._trackPageview('/external/www.techlinux.de/');" >TechLinux</a>, a site produced to be an place to post about experiences in Linux administration and usage. It was never really useful, even if the page was a case study of how to program dynamic pages in PHP. It was a kind of own-written CMS with structure and content stored in the database.</p>
<p>Finally, I&#8217;m not taking all pages offline. I still host my high-school class homepage and the homepage of my first band. Probably, my most successful page is 
<a  href="http://www.techjava.de" onclick="javascript:pageTracker._trackPageview('/external/www.techjava.de');" >TechJava</a>. I&#8217;m continuously posting on it and its 
<a  href="http://www.techjava.de/topics/category/eclipse/" onclick="javascript:pageTracker._trackPageview('/external/www.techjava.de/topics/category/eclipse/');" >Eclipse Category</a> is aggregated on some important community sites. The 
<a  href="http://www.tlaplus.net/" onclick="javascript:pageTracker._trackPageview('/external/www.tlaplus.net/');" >official TLA+ Page</a> is also doing well and become more and more attention by people interested in Temporal Logic of Action and PlusCal by 
<a  href="http://www.lamport.org/" onclick="javascript:pageTracker._trackPageview('/external/www.lamport.org/');" >Leslie Lamport</a>. I decided to create some new content there about the history of TLA+. Since my employment at 
<a  href="http://www.holisticon.de" onclick="javascript:pageTracker._trackPageview('/external/www.holisticon.de');" >Holisticon AG</a> I started to post on its 
<a  href="http://blog.holisticon.de/" onclick="javascript:pageTracker._trackPageview('/external/blog.holisticon.de/');" >blog</a>. The blog is in German and discusses topics like 
<a  href="http://blog.holisticon.de/category/architektur/" onclick="javascript:pageTracker._trackPageview('/external/blog.holisticon.de/category/architektur/');" >software architecture</a>, 
<a  href="http://blog.holisticon.de/category/projektmanagement/" onclick="javascript:pageTracker._trackPageview('/external/blog.holisticon.de/category/projektmanagement/');" >agile project management</a> and 
<a  href="http://blog.holisticon.de/category/allgemein/" onclick="javascript:pageTracker._trackPageview('/external/blog.holisticon.de/category/allgemein/');" >other</a> and I post regularly.</p>
<p>So, less is more on the web too&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://simon.zambrovski.org/2011/01/blogging-culture/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tools for TLA+</title>
		<link>http://simon.zambrovski.org/2009/02/tools-for-tla/</link>
		<comments>http://simon.zambrovski.org/2009/02/tools-for-tla/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 07:16:04 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[software engineering]]></category>
		<category><![CDATA[tla+]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[dsl]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[leslie lamport]]></category>
		<category><![CDATA[sany]]></category>
		<category><![CDATA[tlatex]]></category>
		<category><![CDATA[tlc]]></category>

		<guid isPermaLink="false">http://simon.zambrovski.org/?p=151</guid>
		<description><![CDATA[As mentioned in the previous post on Fowlers DSL example,there are some tools available for the TLA+ specification language. In the following a short overview of currently available tools for TLA+ is given. The described tools are and are part of the TLA+ toolset available from the website. SANY &#8211; Syntax Analyser for TLA+ specifications [...]]]></description>
			<content:encoded><![CDATA[<p><img style="margin-left: 10px; margin-bottom: 10px; float:right;" title="werkzeug_small" src="http://simon.zambrovski.org/wp-content/uploads/2009/02/werkzeug_small.jpg" alt="werkzeug_small" width="200" height="162" />As mentioned in the 
<a  href="http://simon.zambrovski.org/2009/02/fowler%e2%80%99s-dsl-example-with-tla/">previous post</a> on 
<a  href="http://martinfowler.com/dslwip/Intro.html#TheStateMachineFramework" onclick="javascript:pageTracker._trackPageview('/external/martinfowler.com/dslwip/Intro.html?TheStateMachineFramework');" >Fowlers DSL example</a>,there are some tools available for the TLA+ specification language. In the following a short overview of currently available tools for TLA+ is given. The described tools are and are part of the TLA+ toolset available from the 
<a  href="http://research.microsoft.com/en-us/um/people/lamport/tla/tools.html" onclick="javascript:pageTracker._trackPageview('/external/research.microsoft.com/en-us/um/people/lamport/tla/tools.html');" >website</a>.</p>
<ul>
<li><strong>SANY</strong> &#8211; Syntax Analyser for TLA+ specifications</li>
<li><strong>TLC</strong> &#8211; A modelchecker / simulator for TLA+ specifications</li>
<li><strong>TLATeX</strong> &#8211; LaTeX typesetter for TLA+</li>
</ul>
<p>The <strong>PCal Translator</strong> is not covered in this post and will be introduced in a separate post, together with PCal language.</p>
<h2>SANY</h2>
<p>SANY is a syntax analyser for the TLA+ language. The purpose of it is to check the syntax of the specifications (including some static semantics) and provide the errors to the user. As all of the TLA+ Tools currently available, SANY is a command line tool and reports the errors back to the console. In fact SANY is a front-end of the compiler (lexer, parser, semantic analyser). In order to invoke it call:</p>
<pre class="brush: bash; title: ; notranslate">
java -cp %TLA_CLASSPATH% tla2sany.SANY fowler.tla
</pre>
<p>SANY is currently the only official way to find out, if the specification complies to the rules of the TLA+ language. It is absolutely a non-trivial program, basically because of the complexity of the TLA+ grammar. Especially, the parts responsible for precedence-checking and level-checking are use complex algorithms.</p>
<h2>TLATeX</h2>
<p>As noticed by 
<a  href="http://www.peterfriese.de/" onclick="javascript:pageTracker._trackPageview('/external/www.peterfriese.de/');" >Peter</a>, the language has a special notation, which could appear cryptic to someone who see them for the first time. The reason for this is pretty simple: TLA+ is a mathematical language and the ASCII version TLA+ is very close to LaTeX notation of the corresponding mathematical symbols. Everyone, who is aware of LaTeX can read and write TLA+ easily. For others, the ASCII specification can be translated into a TeX file and rendered to a DVI, PS or PDF. A piece of specification of the secret compartment (
<a  href="http://simon.zambrovski.org/wp-content/uploads/2009/02/fowler.tla">download full TLA file</a>), looks as follows rendered as PDF (
<a  href="http://simon.zambrovski.org/wp-content/uploads/2009/02/fowler.pdf" onclick="javascript:pageTracker._trackPageview('/downloads/wp-content/uploads/2009/02/fowler.pdf');" >download as PDF</a>).<br />
<img style="margin: 10px 30px;" title="rendered_tla" src="http://simon.zambrovski.org/wp-content/uploads/2009/02/rendered_tla.png" alt="rendered_tla" width="393" height="346" /><br />
The question of WYSIWYG editor support involves not only rendering of the symbols (that is the easiest part), but the input of these symbols by the user. Therefor, the ASCII version of TLA (we could also speak about ASCII encoding), which uses at least in certain areas know LaTeX-like encoding is a convenient way for editing specs. There are attempts to create WYSIWYG formula editors, which work pretty good, but the these have to be used with a mouse and the input speed is not comparable with the typing plain LaTeX. </p>
<p>The usage of TLATeX is simple. After the installation of TLA Tools, the TLATeX is invoked from the command line:</p>
<pre class="brush: bash; title: ; notranslate">
java -cp %TLA_CLASSPATH% tla2tex.TLA -shade fowler.tla
</pre>
<p>The tool produces a .tex file which can be included in the existing document. It also can be rendered directly if LaTeX is installed on machine.</p>
<h2>TLC</h2>
<p>TLC is a model checker for TLA+ specifications. It&#8217;s main purpose is to find bugs in specifications. For this purpose it creates the state-space described in the specification and checks the properties (safety and liveness). In contrast to SANY which is responsible for syntax and static semantics check TLC is checking the dynamic semantics of the specification. At this point  I only want to mention, how TLC is invoked. I&#8217;ll cover some advanced TLC topics in the later posts:</p>
<pre class="brush: bash; title: ; notranslate">
java -cp %TLA_CLASSPATH% tlc2.TLC fowler.tla
</pre>
<p>In addition to the TLA file, containing the specification itself, TLC requires a CFG file, which describes the model, that has to be checked. This fact appears unusual to the TLA beginners, but is easy to clarify. The specification of the system is a description of systems behavior. To a given behavior, several models can be constructed. In addition, specifications can be combined resulting in bigger specifications. In the specification, there are no real differencies between actions: (<code>Init</code>, <code>TypeInv</code>, <code>CloseDoor</code> or <code>Spec</code>). Thus, the user has to specify which of these actions are actulally the parts to check.</p>
]]></content:encoded>
			<wfw:commentRss>http://simon.zambrovski.org/2009/02/tools-for-tla/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Symposium at TUHH</title>
		<link>http://simon.zambrovski.org/2008/07/computer-science-symposium/</link>
		<comments>http://simon.zambrovski.org/2008/07/computer-science-symposium/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 11:23:28 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[event]]></category>
		<category><![CDATA[+cal]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[leslie lamport]]></category>
		<category><![CDATA[manfred broy]]></category>
		<category><![CDATA[quality]]></category>
		<category><![CDATA[requirement]]></category>
		<category><![CDATA[symposium]]></category>
		<category><![CDATA[tla+]]></category>
		<category><![CDATA[vogt]]></category>

		<guid isPermaLink="false">http://simon.zambrovski.org/2008/07/computer-science-symposium/</guid>
		<description><![CDATA[Since Prof. Dr. Vogt is going to retirement and leaves his position as head of the Institute of Telematics of Hamburg University of Technology a small farewell party has been organized. The most to prominent guests from the computer science community were Leslie Lamport and Manfred Broy. Leslie spoke about the benefits of usage of [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.ti5.tu-harburg.de/graphic/photos/symposium/content/bin/images/large/_MG_5996.jpg" alt="Manfred Broy" style="border: 1px solid black; margin: 4px" align="left" width="150" height="100" /> <img src="http://www.ti5.tu-harburg.de/graphic/photos/symposium/content/bin/images/large/_MG_5984.jpg" alt="Friedrich H. Vogt" style="border: 1px solid black; margin: 4px" align="left" width="150" height="100" /> <img src="http://www.ti5.tu-harburg.de/graphic/photos/symposium/content/bin/images/large/_MG_6014.jpg" alt="Leslie Lamport" style="border: 1px solid black; margin: 4px" align="texttop" width="150" height="100" /></p>
<p>Since Prof. Dr. Vogt is going to retirement and leaves his position as head of the 
<a  href="http://www.ti5.tu-harburg.de/" onclick="javascript:pageTracker._trackPageview('/external/www.ti5.tu-harburg.de/');" >Institute of Telematics</a> of 
<a  href="http://www.tuhh.de/" title="TUHH" onclick="javascript:pageTracker._trackPageview('/external/www.tuhh.de/');" >Hamburg University of Technology</a> a small farewell party has been organized. The most to prominent guests from the computer science community were Leslie Lamport and Manfred Broy. Leslie spoke about the benefits of usage of +CAL, a language for algorithm specification built on top of TLA+. Manfred spoke about requirements engineering and the utmost important of requirements for the quality of the software. The event has been finalized by a delicious buffet.</p>
<p>The  pictures are available at 
<a  href="http://www.ti5.tu-harburg.de/graphic/photos/symposium/" title="Webpage of Institute of Telematics" onclick="javascript:pageTracker._trackPageview('/external/www.ti5.tu-harburg.de/graphic/photos/symposium/');" >http://www.ti5.tu-harburg.de/graphic/photos/symposium/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://simon.zambrovski.org/2008/07/computer-science-symposium/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

