7

In a test I was asked:

What elements present in the general form of a rendezvous are not present in Ada language?

I was a bit stumbled as I thought Ada fully supported rendezvous. Now it seems it doesn't. Can anyone tell me what are those elements?

ChrisF
  • 38,878
  • 11
  • 125
  • 168
Mosty Mostacho
  • 279
  • 2
  • 8
  • 1
    Have a look at [this Google Book Search](http://books.google.com/books?id=E6wOK8OYBG4C&pg=PA142&lpg=PA142&dq=limitations+of+ada+rendezvous) – Robert Harvey Feb 14 '12 at 21:00
  • Although it is a useful link and clearly states ADA's limitations regarding concurrency, I can't find the answer to the question because there is not a comparison with rendezvous. Or probably I'm missing something – Mosty Mostacho Feb 14 '12 at 21:22
  • 1
    It's a highly obscure test question that's designed to get you to think, and to see if you know your chops. Wikipedia doesn't even list "rendezvous" in the general form. Instead, it redirects to [Barrier (Computer Science)](http://en.wikipedia.org/wiki/Synchronous_rendezvous) – Robert Harvey Feb 14 '12 at 21:23
  • @Robert, well I definitely *don't* know my chops then :( – Benjol Feb 15 '12 at 08:26
  • http://www.engr.mun.ca/~theo/Courses/cp/pub/cp8-rendezvous.pdf here it says on slide 8 Rendezvous in Ada "Conditional acceptance can not depend on parameter values." –  Jun 10 '12 at 07:39

2 Answers2

3

I don't think there's such a thing as a "generalized form of rendezvous." I think the term originated with Ada. The information available in the wild about this so called "generalized form of rendezvous" is seemingly nonexistent.

See Limitations of Ada's Concurrent Programming Facilities, and this Synchronous Rendezvous link on Wikipedia which redirects to Barrier (Computer Science).

Robert Harvey
  • 198,589
  • 55
  • 464
  • 673
3

The Ada rendezvous concept is based on the CSP rendezvous, so reading up on CSP may be a worthwhile.

An Ada rendezvous appears to provide more than a CSP rendezvous, so what you really lose out on is the ability to easily reason formally about the behaviour.

Incidentally, at university we were actually taught CSP using Occam syntax, since we had been taught Occam in our first year. We were also taught the Z notation along with Miranda (a functional language which was the precursor to Haskell).

Together, these provided a solid grounding in formal reasoning for software systems, both distributed and non-distributed.

Mark Booth
  • 14,214
  • 3
  • 40
  • 79