<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments for StateWORKS Blog</title>
	<atom:link href="http://www.stateworks.net/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.stateworks.net</link>
	<description>StateWORKS blog about software engineering using virtual finite state machines</description>
	<lastBuildDate>Mon, 15 Feb 2010 08:02:50 +0100</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on Introducing &#8220;Questions&#8221; by ferdinand</title>
		<link>http://www.stateworks.net/2009/03/introducing-questions/comment-page-1/#comment-933</link>
		<dc:creator>ferdinand</dc:creator>
		<pubDate>Mon, 15 Feb 2010 08:02:50 +0000</pubDate>
		<guid isPermaLink="false">http://stateworksnet.cmarc.net/2009/03/introducing-questions/#comment-933</guid>
		<description>Exactly. The changes of the virtual input can be done by the I/O Handler and by the outputs of the executed state machine.</description>
		<content:encoded><![CDATA[<p>Exactly. The changes of the virtual input can be done by the I/O Handler and by the outputs of the executed state machine.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing &#8220;Questions&#8221; by John M</title>
		<link>http://www.stateworks.net/2009/03/introducing-questions/comment-page-1/#comment-930</link>
		<dc:creator>John M</dc:creator>
		<pubDate>Mon, 15 Feb 2010 03:37:54 +0000</pubDate>
		<guid isPermaLink="false">http://stateworksnet.cmarc.net/2009/03/introducing-questions/#comment-930</guid>
		<description>Thanks - must confess I was thinking single state machine only.  I suppose in any case one needs to be aware of the principle of *continuous* monitoring of inputs?  The input values to even a single state machine could change in the middle of control logic execution - yes?</description>
		<content:encoded><![CDATA[<p>Thanks &#8211; must confess I was thinking single state machine only.  I suppose in any case one needs to be aware of the principle of *continuous* monitoring of inputs?  The input values to even a single state machine could change in the middle of control logic execution &#8211; yes?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing &#8220;Questions&#8221; by ferdinand</title>
		<link>http://www.stateworks.net/2009/03/introducing-questions/comment-page-1/#comment-888</link>
		<dc:creator>ferdinand</dc:creator>
		<pubDate>Wed, 10 Feb 2010 12:54:56 +0000</pubDate>
		<guid isPermaLink="false">http://stateworksnet.cmarc.net/2009/03/introducing-questions/#comment-888</guid>
		<description>John,
Yes, there is a reason for this solution. While the Executor is processing a state machine the virtual input of this state machine may change. Thus this state machine will be put into Executor queue. If the Executor uses the virtual input (and not the copy) the situation will be ambiguous. For a single state machine it is irrelevant. For a system of a state machine we get a different behavior.
Thank you for a comment to this quite sophisticated issue.</description>
		<content:encoded><![CDATA[<p>John,<br />
Yes, there is a reason for this solution. While the Executor is processing a state machine the virtual input of this state machine may change. Thus this state machine will be put into Executor queue. If the Executor uses the virtual input (and not the copy) the situation will be ambiguous. For a single state machine it is irrelevant. For a system of a state machine we get a different behavior.<br />
Thank you for a comment to this quite sophisticated issue.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing &#8220;Questions&#8221; by John M</title>
		<link>http://www.stateworks.net/2009/03/introducing-questions/comment-page-1/#comment-885</link>
		<dc:creator>John M</dc:creator>
		<pubDate>Wed, 10 Feb 2010 01:12:02 +0000</pubDate>
		<guid isPermaLink="false">http://stateworksnet.cmarc.net/2009/03/introducing-questions/#comment-885</guid>
		<description>Ferdinand - 
Wrt comments 1 &amp; 2 (Gustavo &amp; your response in March &#039;09 re control logic execution sequences and &#039;break states&#039;) : is there an inherent and strong reason that a copy of the VI with values at entry is used throughout the whole sequence of execution to &quot;no more transitions&quot;?

Sure the alternatives beg the question of when a control values change where to loop back to in the condition evaluation sequence (and doubtless would allow for creation of nasty little in-state loops).  Possibly there is no good answer to this question?</description>
		<content:encoded><![CDATA[<p>Ferdinand &#8211;<br />
Wrt comments 1 &amp; 2 (Gustavo &amp; your response in March &#8216;09 re control logic execution sequences and &#8216;break states&#8217;) : is there an inherent and strong reason that a copy of the VI with values at entry is used throughout the whole sequence of execution to &#8220;no more transitions&#8221;?</p>
<p>Sure the alternatives beg the question of when a control values change where to loop back to in the condition evaluation sequence (and doubtless would allow for creation of nasty little in-state loops).  Possibly there is no good answer to this question?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing &#8220;Questions&#8221; by Dominique</title>
		<link>http://www.stateworks.net/2009/03/introducing-questions/comment-page-1/#comment-331</link>
		<dc:creator>Dominique</dc:creator>
		<pubDate>Wed, 16 Sep 2009 12:35:53 +0000</pubDate>
		<guid isPermaLink="false">http://stateworksnet.cmarc.net/2009/03/introducing-questions/#comment-331</guid>
		<description>Mike, Ferdinand,
Thanks for the quick reaction.
That&#039;s what I was hoping for, we could run the exe on our hosted server.
I guess now we have to finish reading the book and download the software to test it. I will probably contact you then if we have any questions.</description>
		<content:encoded><![CDATA[<p>Mike, Ferdinand,<br />
Thanks for the quick reaction.<br />
That&#8217;s what I was hoping for, we could run the exe on our hosted server.<br />
I guess now we have to finish reading the book and download the software to test it. I will probably contact you then if we have any questions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing &#8220;Questions&#8221; by Mike Tommasi STATEWORKS</title>
		<link>http://www.stateworks.net/2009/03/introducing-questions/comment-page-1/#comment-323</link>
		<dc:creator>Mike Tommasi STATEWORKS</dc:creator>
		<pubDate>Tue, 15 Sep 2009 12:58:30 +0000</pubDate>
		<guid isPermaLink="false">http://stateworksnet.cmarc.net/2009/03/introducing-questions/#comment-323</guid>
		<description>Ferdinand, thinking out loud: maybe it could work like this: Dominique defines behaviour of web application using Stateworks, obtains the executable data file, uploads it to a server , then we make a PHP class that he can run on his host to send via TCP/IP all requests (page and HTML object state), and get the result.

The Stateworks server could even be a dedicated remote server that we could host, something secure in a suitable colocation rack, maybe on our stateworks.com hosting service. This avoids him having to worry about how to run an exe somewhere.</description>
		<content:encoded><![CDATA[<p>Ferdinand, thinking out loud: maybe it could work like this: Dominique defines behaviour of web application using Stateworks, obtains the executable data file, uploads it to a server , then we make a PHP class that he can run on his host to send via TCP/IP all requests (page and HTML object state), and get the result.</p>
<p>The Stateworks server could even be a dedicated remote server that we could host, something secure in a suitable colocation rack, maybe on our stateworks.com hosting service. This avoids him having to worry about how to run an exe somewhere.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing &#8220;Questions&#8221; by ferdinand</title>
		<link>http://www.stateworks.net/2009/03/introducing-questions/comment-page-1/#comment-322</link>
		<dc:creator>ferdinand</dc:creator>
		<pubDate>Tue, 15 Sep 2009 12:42:57 +0000</pubDate>
		<guid isPermaLink="false">http://stateworksnet.cmarc.net/2009/03/introducing-questions/#comment-322</guid>
		<description>It is obvious that you can use StateWORKS development tools to specify your control problem and to test it. The answer to the “implementation in the web environment” question is more difficult. Our run-time system is an EXE running under Windows (or Linux) operating system. The communication with the system is done using tcp/ip as the run-time system is a tcp/ip server. So writing a client you can access the system. Originally the client server application has been developed for User Interfaces and other monitoring purposes. “Classical” industrial control applications need I/O handler to communicate with the run-time system. A web application is a kind of User Interface. You can have a look at our case study &quot;Calculator&quot; that shows this kind of example (which is probably even more complex due to the calculations that require Output Functions).
As you can access all object in the run-time system you can realize a control using our standard executor without writing I/O Handler or Output Functions. The question is where will the EXE run?</description>
		<content:encoded><![CDATA[<p>It is obvious that you can use StateWORKS development tools to specify your control problem and to test it. The answer to the “implementation in the web environment” question is more difficult. Our run-time system is an EXE running under Windows (or Linux) operating system. The communication with the system is done using tcp/ip as the run-time system is a tcp/ip server. So writing a client you can access the system. Originally the client server application has been developed for User Interfaces and other monitoring purposes. “Classical” industrial control applications need I/O handler to communicate with the run-time system. A web application is a kind of User Interface. You can have a look at our case study &#8220;Calculator&#8221; that shows this kind of example (which is probably even more complex due to the calculations that require Output Functions).<br />
As you can access all object in the run-time system you can realize a control using our standard executor without writing I/O Handler or Output Functions. The question is where will the EXE run?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing &#8220;Questions&#8221; by Dominique</title>
		<link>http://www.stateworks.net/2009/03/introducing-questions/comment-page-1/#comment-320</link>
		<dc:creator>Dominique</dc:creator>
		<pubDate>Tue, 15 Sep 2009 11:22:27 +0000</pubDate>
		<guid isPermaLink="false">http://stateworksnet.cmarc.net/2009/03/introducing-questions/#comment-320</guid>
		<description>Hello,
I just bought the book because we are currently implementing FSM in our project for handling HTML objects in a web based application: behaviour of picklist/buttons/search fields on clic depending on the current state of the page (editing, viewing, inserting...)
I bought the book for the metodology and found that you have a complete development platform. Is it conceivable to integrate it in an application where those webpage-UI elements are developped in objectoriented PHP/Javascript/MySQL ?
That would be very usefull to us as the higher level behaviour of the application is &quot;process like&quot; and is not coded yet. Thus the hierarchical behaviour of the machines you describe is exactly what we are looking for.
Your Client/server communication, from what I understand, is for &quot;internal networks&quot; using TCP/IP. How does it translate in a web-based environment?

Thanks.</description>
		<content:encoded><![CDATA[<p>Hello,<br />
I just bought the book because we are currently implementing FSM in our project for handling HTML objects in a web based application: behaviour of picklist/buttons/search fields on clic depending on the current state of the page (editing, viewing, inserting&#8230;)<br />
I bought the book for the metodology and found that you have a complete development platform. Is it conceivable to integrate it in an application where those webpage-UI elements are developped in objectoriented PHP/Javascript/MySQL ?<br />
That would be very usefull to us as the higher level behaviour of the application is &#8220;process like&#8221; and is not coded yet. Thus the hierarchical behaviour of the machines you describe is exactly what we are looking for.<br />
Your Client/server communication, from what I understand, is for &#8220;internal networks&#8221; using TCP/IP. How does it translate in a web-based environment?</p>
<p>Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing &#8220;Questions&#8221; by ferdinand</title>
		<link>http://www.stateworks.net/2009/03/introducing-questions/comment-page-1/#comment-110</link>
		<dc:creator>ferdinand</dc:creator>
		<pubDate>Tue, 09 Jun 2009 17:41:12 +0000</pubDate>
		<guid isPermaLink="false">http://stateworksnet.cmarc.net/2009/03/introducing-questions/#comment-110</guid>
		<description>Answers:

1. Yes, the run-time system executes the specification which contains a pure control (decision) logic, no data handling. Data parts are processed in separate threads. Ideally, you should extract the complete control logic from data processing that are realized in I/O-Handlers and Output Functions. In practice, in a demo or slow application simple operations like for instance to switch on/off a lamp can be done of course directly but in a serious application the vfsm executor must not be loosing time hanging in some time consuming output functions.

2. Yes, formally vfsm has contradiction with OOP. But actually these are different levels having little in common: StateWORKS operates at a higher level of abstraction than any programming language. Note that states can not be altered by any external software, but must obey the rules built into the FSM specifications.
If you try to implement fsm on object level you just add this functionality to the class. It may help you to implement better a behavior of objects of that type. Unfortunately you have no chance to build a large control system containing several state machines. This explains a rather hesitant usage of state machines (mostly in the form of statechart) in object oriented design. There are a lot of discussions about this topic but if you are in such a project you will see the reality: some separated use of state machines to and fro but no concept of the entire control. The VFSM concept is based on a separation between control and data flow in the software and both flows can be programmed as a nice object oriented software. The VFSM run-time system is written in C++ and in consequence the application dependent IO-handlers and Output Functions are written also in C++.

3. Yes, I used LabView but many years ago. So, my opinion (a nice graphical toy for student exercises) is rather irrelevant. It may have changed a lot since then.</description>
		<content:encoded><![CDATA[<p>Answers:</p>
<p>1. Yes, the run-time system executes the specification which contains a pure control (decision) logic, no data handling. Data parts are processed in separate threads. Ideally, you should extract the complete control logic from data processing that are realized in I/O-Handlers and Output Functions. In practice, in a demo or slow application simple operations like for instance to switch on/off a lamp can be done of course directly but in a serious application the vfsm executor must not be loosing time hanging in some time consuming output functions.</p>
<p>2. Yes, formally vfsm has contradiction with OOP. But actually these are different levels having little in common: StateWORKS operates at a higher level of abstraction than any programming language. Note that states can not be altered by any external software, but must obey the rules built into the FSM specifications.<br />
If you try to implement fsm on object level you just add this functionality to the class. It may help you to implement better a behavior of objects of that type. Unfortunately you have no chance to build a large control system containing several state machines. This explains a rather hesitant usage of state machines (mostly in the form of statechart) in object oriented design. There are a lot of discussions about this topic but if you are in such a project you will see the reality: some separated use of state machines to and fro but no concept of the entire control. The VFSM concept is based on a separation between control and data flow in the software and both flows can be programmed as a nice object oriented software. The VFSM run-time system is written in C++ and in consequence the application dependent IO-handlers and Output Functions are written also in C++.</p>
<p>3. Yes, I used LabView but many years ago. So, my opinion (a nice graphical toy for student exercises) is rather irrelevant. It may have changed a lot since then.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing &#8220;Questions&#8221; by Joe</title>
		<link>http://www.stateworks.net/2009/03/introducing-questions/comment-page-1/#comment-109</link>
		<dc:creator>Joe</dc:creator>
		<pubDate>Tue, 09 Jun 2009 14:53:53 +0000</pubDate>
		<guid isPermaLink="false">http://stateworksnet.cmarc.net/2009/03/introducing-questions/#comment-109</guid>
		<description>1. Vfsm run-time system executes the specification. And I guess it&#039;s some sort of abstract control logic centralization, right? In order to have fast running vfsm, I think time-consuming data-processing parts must be handled in separate running processes. Then, to what degree should I extract the control logic from data-processing processes to the specification if I use vfsm?

2. Similar as above. Object oriented programming seems to have data and it&#039;s related actions bundled together. And the vfsm idea seems to have some contradiction with OOP?

3. Have you ever used Labview? I have not. How do you think of Labview?</description>
		<content:encoded><![CDATA[<p>1. Vfsm run-time system executes the specification. And I guess it&#8217;s some sort of abstract control logic centralization, right? In order to have fast running vfsm, I think time-consuming data-processing parts must be handled in separate running processes. Then, to what degree should I extract the control logic from data-processing processes to the specification if I use vfsm?</p>
<p>2. Similar as above. Object oriented programming seems to have data and it&#8217;s related actions bundled together. And the vfsm idea seems to have some contradiction with OOP?</p>
<p>3. Have you ever used Labview? I have not. How do you think of Labview?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
