Dynamic Module (DM) is a file containing an object class, especially C++ class, which can be loaded and instantiated by the application. E-Cell Simulation Environment uses this mechanism to provide users a way of defining and adding new classes to appear in simulation models without recompiling the whole system. Because the classes are defined in forms of native codes, this is the most efficient way of adding a new code or object class in terms of space and speed.
In E-Cell Simulation Environment, subclasses of Process, Variable, System and Stepper classes can be dynamically loaded by the system.
In addition to standard DMs distributed with E-Cell Simulation Environment, user-defined DM files can be created from C++ source code files ('.cpp' files) with the ecell3-dmc command. The compiled files usually take a form of shared library ('.so') files.