[concurrency-interest] Concurrency-interest Digest, Vol 138, Issue 1

Sergey Zaytsev comp1986 at gmail.com
Fri Jul 8 16:32:33 EDT 2016


Well, I think I got the whole point, which might be very obvious to lots of people but might also be useful for those who is still looking for precise expiation. I hope Aleksey and Matrin could verify the following:
the reason we use _actions_ judging about program’s possible result is because we care about real execution. When things are going on. Of course, those executions come from program’ statements and here is the connection point. But statements are static.They do nothing until being executed. And ‘cause results only possible after execution we use term _action_ pointing out only those important for discussion, leaving statement behind.

This might sound very simple, but since JMM likes definitions I thought sharing this particular hindsight might be useful ( Of course considering its correctness )


Sergey


> On 08 Jul 2016, at 19:00, concurrency-interest-request at cs.oswego.edu wrote:
> 
> Send Concurrency-interest mailing list submissions to
> 	concurrency-interest at cs.oswego.edu
> 
> To subscribe or unsubscribe via the World Wide Web, visit
> 	http://cs.oswego.edu/mailman/listinfo/concurrency-interest
> or, via email, send a message with subject or body 'help' to
> 	concurrency-interest-request at cs.oswego.edu
> 
> You can reach the person managing the list at
> 	concurrency-interest-owner at cs.oswego.edu
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Concurrency-interest digest..."
> 
> 
> Today's Topics:
> 
>   1. JMM actions to statements transition (Sergey Zaytsev)
>   2. Re: JMM actions to statements transition (Martin Buchholz)
>   3. Re: JMM actions to statements transition (Aleksey Shipilev)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Thu, 7 Jul 2016 19:00:28 +0300
> From: Sergey Zaytsev <comp1986 at gmail.com>
> To: concurrency-interest at cs.oswego.edu
> Subject: [concurrency-interest] JMM actions to statements transition
> Message-ID: <D2E0AC2E-9CF6-4CB8-B863-B0A7CF010771 at gmail.com>
> Content-Type: text/plain;	charset=us-ascii
> 
> Hi all. Can somebody , please, bring some light on JMM actions ? How can one use such abstract term like "action" to argue about correctness or possible results, since there is no strict definition is term "action" ? 
> 
> I mean is volatile read simply equals to var local = va and volatile write action to va = "some value" ?
> 
> Sergey
> 
> ------------------------------
> 
> Message: 2
> Date: Thu, 7 Jul 2016 13:32:22 -0700
> From: Martin Buchholz <martinrb at google.com>
> To: Sergey Zaytsev <comp1986 at gmail.com>
> Cc: concurrency-interest <concurrency-interest at cs.oswego.edu>
> Subject: Re: [concurrency-interest] JMM actions to statements
> 	transition
> Message-ID:
> 	<CA+kOe08MPpr=QpqVDePm0_S+kiZ9rOJLukRv8ua=uH-5Yi-ZAw at mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
> 
> There is an attempt to define them in the jls (but it's hard to understand)
> https://docs.oracle.com/javase/specs/jls/se8/html/jls-17.html#jls-17.4.2
> People don't think about "actions", but do think about "synchronization
> actions".
> 
> On Thu, Jul 7, 2016 at 9:00 AM, Sergey Zaytsev <comp1986 at gmail.com> wrote:
> 
>> Hi all. Can somebody , please, bring some light on JMM actions ? How can
>> one use such abstract term like "action" to argue about correctness or
>> possible results, since there is no strict definition is term "action" ?
>> 
>> I mean is volatile read simply equals to var local = va and volatile write
>> action to va = "some value" ?
>> 
>> Sergey
>> _______________________________________________
>> Concurrency-interest mailing list
>> Concurrency-interest at cs.oswego.edu
>> http://cs.oswego.edu/mailman/listinfo/concurrency-interest
>> 
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://cs.oswego.edu/pipermail/concurrency-interest/attachments/20160707/68114a1d/attachment-0001.html>
> 
> ------------------------------
> 
> Message: 3
> Date: Fri, 8 Jul 2016 13:48:35 +0300
> From: Aleksey Shipilev <aleksey.shipilev at oracle.com>
> To: concurrency-interest at cs.oswego.edu
> Subject: Re: [concurrency-interest] JMM actions to statements
> 	transition
> Message-ID: <577F8503.2040104 at oracle.com>
> Content-Type: text/plain; charset="utf-8"
> 
> On 07/07/2016 07:00 PM, Sergey Zaytsev wrote:
>> Hi all. Can somebody , please, bring some light on JMM actions ? How
>> can one use such abstract term like "action" to argue about
>> correctness or possible results, since there is no strict definition
>> is term "action" ?
> 
> What do you mean "no strict definition"? There is JLS 17.4.2 "Actions"
> that enumerate them.
> 
> 
>> I mean is volatile read simply equals to var local = va and volatile
>> write action to va = "some value" ?
> 
> This is where it gets messy. Actions and program statements are
> connected with program order. More precisely, out of the entire "soup of
> executions" that you may construct with arbitrary actions, you can only
> select those executions where the actions of one particular thread can
> be derived from the original program, to reason about that particular
> program outcomes.
> 
> I thought I explained it here:
>  https://shipilev.net/blog/2014/jmm-pragmatics/#_java_memory_model
> 
> Thanks,
> -Aleksey
> 
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: signature.asc
> Type: application/pgp-signature
> Size: 819 bytes
> Desc: OpenPGP digital signature
> URL: <http://cs.oswego.edu/pipermail/concurrency-interest/attachments/20160708/09cf1a71/attachment-0001.sig>
> 
> ------------------------------
> 
> Subject: Digest Footer
> 
> _______________________________________________
> Concurrency-interest mailing list
> Concurrency-interest at cs.oswego.edu
> http://cs.oswego.edu/mailman/listinfo/concurrency-interest
> 
> 
> ------------------------------
> 
> End of Concurrency-interest Digest, Vol 138, Issue 1
> ****************************************************



More information about the Concurrency-interest mailing list