[Haskell-cafe] Re: Timing and Atom

Neil Davies semanticphilosopher at googlemail.com
Tue Dec 1 03:58:51 EST 2009

On 1 Dec 2009, at 05:44, Tom Hawkins wrote:


> I never considered running Atom generated functions in an asynchronous
> loop until you posted your "Atomic Fibonacci Server" example
> (http://leepike.wordpress.com/2009/05/05/an-atomic-fibonacci-server-exploring-the-atom-haskell-dsl/ 
> ).
> I'm curious how such a system would behave if it referenced a
> hardware clock to enable and disable rules.  I can see how this could
> be problematic for hard real-time, safety critical stuff.  But there
> is a wide field of applications where this approach would work just
> fine -- not having to worry about meeting a hard loop time would
> certainly simplify the design.  Could some form of static analysis be
> applied to provide the timing guarantees?

Yes this is possible. I work with Stochastic Process Algebras that  
have these properties.
With them it is possible to get strong probabilistic guarantees and,  
when combined with carefully
chosen priority and preemption model, you can have both 'hard' (i.e  
response within a given time with
probability 1) and softer guarantees (yet with known time CDF).

The really nice property is that, given that your problem will permit  
it, you can even create systems that
can go into saturation (arrival rate exceeds processing rate) and  
define how they will gracefully degrade.

We use this for constructing and analysing large scale distributed  
systems and reasoning about,
and controlling, their emergent properties including under overload  
and when the communications is lossy.


More information about the Haskell-Cafe mailing list