comp.lang.ada
 help / color / mirror / Atom feed
* Reactive Systems in Ada?
@ 2009-04-07  8:25 Dimonax
  2009-04-07  8:34 ` Martin
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Dimonax @ 2009-04-07  8:25 UTC (permalink / raw)


I've been experimenting with the Ravenscar profile and the various 
tasking facilities available in Ada.

I'm curious, has anyone written any Reactive Systems of any sort using 
the Concurrency features in Ada?

How does it compare to Reactive Languages such as Esterel, or Lustre, 
etc...?

My curiosity is piqued.

Dimonax




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Reactive Systems in Ada?
  2009-04-07  8:25 Reactive Systems in Ada? Dimonax
@ 2009-04-07  8:34 ` Martin
  2009-04-07  9:18 ` Dmitry A. Kazakov
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Martin @ 2009-04-07  8:34 UTC (permalink / raw)


On 7 Apr, 09:25, Dimonax <dimo...@nospam.net> wrote:
> I've been experimenting with the Ravenscar profile and the various
> tasking facilities available in Ada.
>
> I'm curious, has anyone written any Reactive Systems of any sort using
> the Concurrency features in Ada?
>
> How does it compare to Reactive Languages such as Esterel, or Lustre,
> etc...?
>
> My curiosity is piqued.
>
> Dimonax

Do you mean "event driven" systems? (http://en.wikipedia.org/wiki/
Automata-based_programming_(Shalyto%27s_approach)#State-
Based_Programming)

If so, then "yes" and I suspect the majority of Ada systems ever
written will fall into this category.

Cheers
-- Martin



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Reactive Systems in Ada?
  2009-04-07  8:25 Reactive Systems in Ada? Dimonax
  2009-04-07  8:34 ` Martin
@ 2009-04-07  9:18 ` Dmitry A. Kazakov
  2009-04-07 11:51 ` Ivan Levashew
  2009-04-07 12:04 ` Matteo Bordin
  3 siblings, 0 replies; 5+ messages in thread
From: Dmitry A. Kazakov @ 2009-04-07  9:18 UTC (permalink / raw)


On Tue, 07 Apr 2009 08:25:02 GMT, Dimonax wrote:

> I've been experimenting with the Ravenscar profile and the various 
> tasking facilities available in Ada.
> 
> I'm curious, has anyone written any Reactive Systems of any sort using 
> the Concurrency features in Ada?

Yes, we do. Our system (a middleware for distributed SCADA etc) is largely
event-driven.

> How does it compare to Reactive Languages such as Esterel, or Lustre, 
> etc...?

I cannot tell, we didn't evaluate these language as candidates for our
system.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Reactive Systems in Ada?
  2009-04-07  8:25 Reactive Systems in Ada? Dimonax
  2009-04-07  8:34 ` Martin
  2009-04-07  9:18 ` Dmitry A. Kazakov
@ 2009-04-07 11:51 ` Ivan Levashew
  2009-04-07 12:04 ` Matteo Bordin
  3 siblings, 0 replies; 5+ messages in thread
From: Ivan Levashew @ 2009-04-07 11:51 UTC (permalink / raw)


Dimonax wrote:
> 
> How does it compare to Reactive Languages such as Esterel
> 
Esterel has an option to generate either hardware or software 
implementation. It might make sense to make software implementation in 
Ada so that one can easily attach Ada handlers.

Esterel has some "parallel" features, but since Esterel targets FSMs, 
parallel execution is precisely determined. When an execution forks, 
every new thread progress with exactly the same speed as the others, 
something that's unthinkable for Ada threads.

-- 
If you want to get to the top, you have to start at the bottom



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Reactive Systems in Ada?
  2009-04-07  8:25 Reactive Systems in Ada? Dimonax
                   ` (2 preceding siblings ...)
  2009-04-07 11:51 ` Ivan Levashew
@ 2009-04-07 12:04 ` Matteo Bordin
  3 siblings, 0 replies; 5+ messages in thread
From: Matteo Bordin @ 2009-04-07 12:04 UTC (permalink / raw)


On Apr 7, 10:25 am, Dimonax <dimo...@nospam.net> wrote:
> I've been experimenting with the Ravenscar profile and the various
> tasking facilities available in Ada.
>
> I'm curious, has anyone written any Reactive Systems of any sort using
> the Concurrency features in Ada?
>
> How does it compare to Reactive Languages such as Esterel, or Lustre,
> etc...?

Both Esterel and Lustre are domain-specific, formal modeling
technologies and thus have a completely different scope/goal than a
general-purpose programming language such as Ada. From a computational
model point-of-view, they employ the synchronous execution model and,
if they target source code, they generate purely sequential code (no
threading). Ada on the other side employs the asynchronous/parallel
model. The main advantage of asynchronous model is that it can easily
scale to multi-core (or multi-processors) systems and is easier to
compile. However, synchronous systems are usually much simpler to
analyse for their timing behaviour, information/data flow and to prove
properties on the system state.

It is possible to imagine a concurrent system whose concurrency/
synchronization architecture is implemented in Ada (possibly using
Ravenscar) and executing in (pseudo)parallelism a set of SCADE blocks.
Take a look at "A verifiable architecture for multi-task, multi-rate
synchronous software" (http://www.esterel-technologies.com/technology/
WhitePapers/).


>
> My curiosity is piqued.
>
> Dimonax




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-04-07 12:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-07  8:25 Reactive Systems in Ada? Dimonax
2009-04-07  8:34 ` Martin
2009-04-07  9:18 ` Dmitry A. Kazakov
2009-04-07 11:51 ` Ivan Levashew
2009-04-07 12:04 ` Matteo Bordin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox