From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,590b710e61b9ddf8 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,UTF8 Received: by 10.68.241.37 with SMTP id wf5mr10899256pbc.4.1329171049134; Mon, 13 Feb 2012 14:10:49 -0800 (PST) Path: wr5ni21601pbc.0!nntp.google.com!news1.google.com!eweka.nl!lightspeed.eweka.nl!194.109.133.84.MISMATCH!newsfeed.xs4all.nl!newsfeed5.news.xs4all.nl!xs4all!news.stack.nl!eternal-september.org!feeder.eternal-september.org!mx04.eternal-september.org!.POSTED!not-for-mail From: Brian Drummond Newsgroups: comp.lang.ada Subject: Re: Concurrency always is non-deterministic? Date: Mon, 13 Feb 2012 22:10:48 +0000 (UTC) Organization: A noiseless patient Spider Message-ID: References: <3721724.784.1329154891821.JavaMail.geo-discussion-forums@pbcwt9> Mime-Version: 1.0 Injection-Date: Mon, 13 Feb 2012 22:10:48 +0000 (UTC) Injection-Info: mx04.eternal-september.org; posting-host="DkTdSjxOCm6DqG+Uf7eArg"; logging-data="29541"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/VmnBKXS4nriVknFH4M5jbch56M445ipA=" User-Agent: Pan/0.134 (Wait for Me; GIT cb32159 master) Cancel-Lock: sha1:YUQlwDHomjrt1CyPhY5/ca5gtF4= Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Date: 2012-02-13T22:10:48+00:00 List-Id: On Mon, 13 Feb 2012 09:41:31 -0800, Long Hoàng Đình wrote: > The author of this post said so. If Ada were non-deterministic at > concurrency, I guess it couldn't be real-time, right? > > http://ghcmutterings.wordpress.com/2009/10/06/parallelism-concurrency/ > > Please let me know your opinions about that post. As a counterexample, the VHDL language's model of concurrency is deterministic. (In the terms of the article, it is a side-effecty language, but there is a two-stage execution model where the side effects happen as "postponed assignments" which are scheduled after all the concurrent processes have suspended. It follows that the processes have to have well defined suspend intervals; these are guaranteed in hardware by static timing analysis. After the assignments, the next scheduling event restarts some or all processes) So I can't entirely agree with the article. - Brian