dingo-hunter icon indicating copy to clipboard operation
dingo-hunter copied to clipboard

Actions following the end of a branching get assigned to only one branch.

Open antonis19 opened this issue 7 years ago • 0 comments

Actions after an internal choice or after an external choice (select-case) are assigned to one branch of each choice. (so there is no merge point after the choice).

For example, the file smallexample.go consists of a Sender goroutine that generates a random integer. If that integer is even it sends that integer through an int channel. If that integer is odd it sends a string through a string channel. Then it signals to main that it is done by sending a boolean to a bool channel.

!bool on the end channel (which is used to signal to main that a goroutine is exiting) is added to only one of the branches of the CFSMs (see output_cfsms_a_machines.svg, machines 4 and 5).

antonis19 avatar May 18 '18 09:05 antonis19