Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarification required wrt. use of SendEvent in actions #8

Open
pefribeiro opened this issue Mar 11, 2020 · 1 comment
Open

Clarification required wrt. use of SendEvent in actions #8

pefribeiro opened this issue Mar 11, 2020 · 1 comment
Assignees
Labels
help wanted Extra attention is needed question Further information is requested

Comments

@pefribeiro
Copy link
Contributor

In both RoboSim and RoboChart, a SendEvent is defined by a trigger of type ActualTrigger:

https://github.com/robo-star/circus.robocalc.robosim.textual.parent/blob/e57caada72d3da4c06ef062cc35b799d481e28ce/circus.robocalc.robosim.textual/src/circus/robocalc/robosim/textual/RoboSim.xtext#L164-L167

Firstly, this is slightly counter-intuitive as there is only one kind of Trigger in RoboSim, namely ExecTrigger. Secondly, it isn't clear what the correct treatment should be in the RoboSim semantics. Can this be an input, or is it an output only? For example is action $Out!1 acceptable? (I think so?)

What about input communications as in RoboChart ie. $In?d, is this acceptable? And what is its meaning in an action? Need some guidance here @madielfilho.

@pefribeiro pefribeiro added help wanted Extra attention is needed question Further information is requested labels Mar 11, 2020
@pefribeiro pefribeiro added this to the New RoboSim Semantics milestone Mar 11, 2020
@madielfilho
Copy link
Collaborator

madielfilho commented Mar 12, 2020

As you said, the only possible trigger in RoboSim is ExecTrigger. In an old version, we had OutputCommunication ( ('send'?) '$' event = [Event|QualifiedName] ( ('!'|'.') value=Atomic )?). Later, in order to reuse RoboChart rules, OutputCommunication become SendEvent, which has a similar definition. We only added the symbol $. In the RoboSim Semantics, however, SendEvent means an output communication. Perhaps, to avoid misunderstanding, it would be better to rename the rule {OutputCommunication}, and also change the name of the trigger attribute to event or outputEvent.

Can this be an input, or is it an output only?

I think it is only used as an output.

For example is action $Out!1 acceptable? (I think so?)

Yes

What about input communications as in RoboChart ie. $In?d, is this acceptable? And what is its meaning in an action?

Currently, it is possible. I think, however, RoboSim only allows output communications in actions. Reusing the SendEvend of RoboChart, a validation rule needs to be created to avoid input communications in actions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants