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,1a44c40a66c293f3 X-Google-Thread: 1089ad,7e78f469a06e6516 X-Google-Attributes: gid103376,gid1089ad,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!news.glorb.com!newsfeed2.telusplanet.net!newsfeed.telus.net!edtnps90.POSTED!53ab2750!not-for-mail Sender: blaak@METROID Newsgroups: comp.lang.ada,comp.lang.vhdl Subject: Re: Embedded languages based on early Ada (from "Re: Preferred OS, processor family for running embedded Ada?") References: <1172192349.419694.274670@k78g2000cwa.googlegroups.com> <1172239820.896603.222120@k78g2000cwa.googlegroups.com> <113ls6wugt43q$.cwaeexcj166j$.dlg@40tude.net> <1i3drcyut9aaw.isde6utlv6iq.dlg@40tude.net> <1c61jqeqo68w$.2irtg70stnsa.dlg@40tude.net> From: Ray Blaak Organization: The Transcend Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sat, 03 Mar 2007 21:13:26 GMT NNTP-Posting-Host: 154.20.94.243 X-Trace: edtnps90 1172956406 154.20.94.243 (Sat, 03 Mar 2007 14:13:26 MST) NNTP-Posting-Date: Sat, 03 Mar 2007 14:13:26 MST Xref: g2news2.google.com comp.lang.ada:9662 comp.lang.vhdl:7626 Date: 2007-03-03T21:13:26+00:00 List-Id: "Dmitry A. Kazakov" writes: > On Sat, 03 Mar 2007 01:58:35 GMT, Ray Blaak wrote: > > I am somewhat rusty on my Ada tasking knowledge, but why can't Thing be a > > protected object? > > I tried to explain it in my previous post. > > When Thing is a protected object, then the procedures and entries of, > called from the concurrent alternatives are all mutually exclusive. This is > not the semantics expected from PAR. Probably it would be better to rewrite > as: PAR only says that all of its statements run in parallel, nothing more nothing less (e.g. equivalent to the task bodys you had around each statement before). Those statements can themselves access synchronization and blockin controls that affect their execution patterns. > No. The implied semantics of PAR is such that Thing should be accessed from > alternatives without interlocking because one *suggests* that the updates > are mutually independent. The updates are independent only if their behaviour truly is independent. If they access a shared synchronization control then by definition they are mutually dependent. It is not PAR that dictates this, but rather the statements themselves. PAR would only be convenience shorthand for writing task bodies around each statement. > When Thing is visible from outside it should be > blocked by PAR for everyone else. This is not the behaviour of a protected > object. It is rather a "hierarchical" mutex. The behaviour of a protected object is defined by its entries and how it is used. -- Cheers, The Rhythm is around me, The Rhythm has control. Ray Blaak The Rhythm is inside me, rAYblaaK@STRIPCAPStelus.net The Rhythm has my soul.