moduledefined
Moduledefined is a concept in software modularity describing a module whose public interface is defined independently from its implementation. In a moduledefined design, a module exposes a contract—often captured in a formal interface or signature—that specifies the names, types, and behavioral invariants of its exports, while the underlying code provides the implementation that satisfies the contract. The separation between interface and implementation supports independent development, verification, and replacement of components.
A moduledefined system typically includes two artifacts: the interface, which may include type signatures, preconditions, postconditions,
Relation and history: The idea aligns with interface-based programming, abstract data types, and modern module systems
See also: interface, module system, abstract data type, plugin architecture, formal verification.