Cannot map translation ports on other components
Submitted by Botond Baranyi
Link to original bug (#534266)
Description
Mapping ports in translation mode does not work if they are on a different component, than the one the map statement is initiated from.
Example: type port P5 message { in integer out charstring } with { extension "provider" }
type port PT3 message map to P5 { in integer from integer with int_to_int() out charstring to charstring with char_to_char() }
type component MyComp { port PT3 pt3; }
type component System { port P5 p5; }
function f_map() runs on MyComp2 system System { var MyComp ct := MyComp.create alive; map(ct:pt3, system:p5); }
Currently this causes a DTE, stating that port p5 does not exist. This is because the ports of the system component have not been initialized and started on the newly created PTC's (ct's) process. Unmapping similarly doesn't work, but it doesn't display a DTE (the MC only sends the unmap request to the PTC if the mapping is actually found in the MC's database).
Version: 6.3.1