This is one example of numerous similar errors that says my topology violates the rules.

I have port out->port in, consistent data types. This seems to accord with the restrictions and examples in section 4.3.2 Port Connections in the SLIM language specification document.

What could be wrong?

/home/compasseval/Documents/.../xxx.slim:29:
(G-9) Port Connection is invalid, because it violates the rules for possible connection topologies.
  data port pumpGrn.pressure -> isol.hyd_in; -- hydraulics

pumpGrn is instance of device pump
isol.hyd is instance of device valve

device pump
 features
  pressure: out data port bool default false;
end pump;
device implementation pump.impl
end pump.impl;

device valve
 features
  cmd: in data port bool;
  hyd_in: in data port bool;
  hyd_out: out data port bool;
end valve;
device implementation valve.impl
 flows
  hyd_out:= hyd_in and cmd;
end valve.impl;

Regards
Chris Wilkinson