Ein Programm-Modul beginnt in Modula 2 mit dem Schlüsselwort "MODULE"
Zu einem Bibliotheks-Modul gehören zwei Komponenten, ein Definitions-Modul und ein Implementierungs-Modul. Das Definitions-Modul ist eine Beschreibungsdatei, in der die Schnittstelle beschrieben ist; dort sind alle exportierten Modula-Objekte und Dienste aufgeführt samt allen zu ihrer Verwendung nötigen Informationen, also ihr Kontrakt. Die Beschreibungsdatei beginnt mit den Modula-Schlüsselwörtern "DEFINITION MODULE"; sie muß durch das Modula-System in eine maschinenlesbare interne Form überführt werden, um dann für "IMPORT" verfügbar zu sein.
Das Implementierungs-Modul enthält die Programmteile, die alle in der Schnittstelle angebotenen Objekte und Dienste realisieren. Es beginnt mit den Schlüsselwörtern "IMPLEMENTATION MODULE" und wird in ausführbaren Code übersetzt, der später mit den Aufrufern zusammen zu einem ausführbaren Programm zusammengebunden wird. Das Implementierungs-Modul bezieht sich implizit auf die Schnittstelle und kann geändert werden, ohne daß die es aufrufenden Programmteile davon wissen müssen, solange die Schnittstelle, und also der Kontrakt, gleich bleibt.