If you need to call a server action from another module you have to add a dependency to it and then you can call it
Now you say that the core module has to call a module from the other module, and that the other module is also dependent on the core module. This sounds like a circular dependency, which you should try to avoid.
Circular Dependencies occurs when Module A consumes part or Module B while Module B consumes part of Module A. To fix this you should check if A and B are strongly link together. If No, then just move the part being consumes to the proper module. If Yes, you should get all the parts that are strongly link together and but them on a new Module e.g Module AB then link the A and B to that module.
You can also try and use web services to fix circular dependencies but be aware of the pros and cons of using it.
Here is some relevant documenation on OutSystems architecture:
https://success.outsystems.com/Support/Enterprise_Customers/Maintenance_and_Operations/Designing_the_architecture_of_your_OutSystems_applications/03_Validating_your_application_architecture
It is Rule 3 in the document, and it explains how to fix it.