GMLC-TDC / HELICS-Examples

Examples for using HELICS with a variety of the supported programming languages
BSD 3-Clause "New" or "Revised" License
20 stars 19 forks source link

pi-exchange examples in different languages have different behavior #30

Open nightlark opened 4 years ago

nightlark commented 4 years ago

Describe the bug The pi-exchange examples for different languages have differences in implementation that make some of them behave differently.

What is the expected behavior? The pi-exchange federates written in different languages should be drop in replacements for each other when running examples. A pisender written in Python should work with a pireceiver written in C.

phlptp commented 4 years ago

I think this is something we need to work on soon. To have the pi exchange example available in all languages and that all of them are interoperable. Meaning you can run the pi sender in any language and the pi receiver in any other language.

phlptp commented 4 years ago

@nightlark @kdheepak @afisher1 This should probably be a priority.

yee29 commented 4 years ago

Experiencing some weird behavior in the piexchange example. The Sender seems to send the data correctly but the receiver never gets the right data. No errors or warnings in the broker that I could see.

SenderFederate0: Helics version = 2.5.0 (2020-04-26)
SenderFederate0: Value federate created
SenderFederate0: Publication registered
SenderFederate0: Entering execution mode
SenderFederate0: Sending value pi = 3.141592653589793 at time 5.0
SenderFederate0: Sending value pi = 3.141592653589793 at time 6.0
SenderFederate0: Sending value pi = 3.141592653589793 at time 7.0
SenderFederate0: Sending value pi = 3.141592653589793 at time 8.0
SenderFederate0: Sending value pi = 3.141592653589793 at time 9.0
SenderFederate0: Federate finalized
ReceiverFederate0: Helics version = 2.5.0 (2020-04-26)
ReceiverFederate0: Value federate created
ReceiverFederate0: Entering execution mode
ReceiverFederate0: Received value = 0.000000 at time 100.0
ReceiverFederate0: Received value = 0.000000 at time 100.01
ReceiverFederate0: Federate finalized