But reading the comments, people are still confused.
First of all: DO NOT MIX VERSION ONE AND VERSION TWO DOCUMENTATION.
Version one is based on one executable (gw.exe) which injects classes from DLL's (a configuration file has to be supplied). Modules are just classes in the DLL's.
Version two is based on Docker Containers, each module is a separate container and therefore each module is a separate executable. These modules share the same logic to connect to a message bus which provides the routing. This 'runtime' has to be installed on the Edge machine, next to/outside the Docker containers.
Note: the good thing is that the architecture still stands, multiple modules on top of a messagebus and messages are routed. The better thing is that the routing is now far more intelligent. And Microsoft has provided some guidance for migration
After that, work your way through the documentation provided above, and check out my recent blogs: