Stephen,
Yes, I believe this model is used in large tax systems as it is to process 
large "queueing" systems. We used it because it is flexible and we used to call 
it "Dynamic Jump-pad"  programming used when memory is at a premium and the 
coding you start off with in a process isn't necessarily the coding you end up 
with because the code in te State responses actually can modify an existing set 
of response code.

At the time this really opened my eyes on two fronts.
a. The strength and versatility of assembler coding
b. The ability of a "program" to effectively "learn" by modifying itself. This 
was necessary because we only had 8K of core in those days and so to operate 
efficiently we didn't want to overlay code from disk back into memory so we 
dynamically altered code whilst it was in memory. 

The project was to write an operating system that supported Point of Sale Tills 
as external nodes, each of which was firing transactions back to a mainframe at 
any time so the mainframe had to be able to queue the events/transactions 
effectively. Using conventional if...else topdown technology would never have 
worked and would have become too large anyway.

We ended up streaming 4 FSM program models together in parallel in order to 
process the transactions which effectively did away with the conventional 
"polling technique" that most people would have used to create a solution. 
Funnily enough, OOP was only a glimmer in the sky at that stage but to all 
intents and purposes we were using all the OOP techniques in creating a 
solution to the problem.

It must have worked as it was only decommissioned 5 years ago after 25 years of 
operation on the same hardware!!!

Dave


-----Original Message-----
From: ProFox [mailto:profox-boun...@leafe.com] On Behalf Of Stephen Russell
Sent: 19 December 2013 16:17
To: ProFox Email List
Subject: Re: Finite State Machine

On Thu, Dec 19, 2013 at 4:09 AM, Dave Crozier <da...@flexipol.co.uk> wrote:

>
> The biggest difficulty in writing software this way is not the 
> programming, it is actually defining the finite number of events, 
> states and combinations of the two that will generate a state change 
> that may or may not affect the actual state of the thread that is 
> currently processing the change.
>
> -----------------


I see Taxation at Sales following this methodology.  Rigid rules for physical 
locations all over and you have to charge different rates depending on your 
customer because you do drop ships for them.




--
Stephen Russell
Sr. Analyst
Ring Container Technology
Oakland TN

901.246-0159 cell


--- StripMime Report -- processed MIME parts --- multipart/alternative
  text/plain (text body -- kept)
  text/html
---

[excessive quoting removed by server]

_______________________________________________
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/18725b8cd2d5d247873a2baf401d4ab22a477...@ex2010-a-fpl.fpl.LOCAL
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to