Currently I am working on a problem which is implemented as a combination of different modules. Each module is written in C# and is supposed to run as separate Process. I have an Interface I, and a class, Let's call it X, which implements this I. This class encapsulates information that is required by all the modules.
Now what would be the best way to go about implementing it. Is there a novel way of Sharing this interface between different modules?
EDIT:
Each module kicks of at different time.
M1 (t1) ---> x instances of M2 (time t2) ---->...
Let's say we have an interface Machine and an Implementation VirtualMachine. Currently each module define their own Interface and class. Before dying, the module write the object to storage and the next module, right after coming to life, forms the object in memory from stored information. I am looking for a way where I don't have to redefine the Interface in each Module.