Zur besseren Lesbarkeit und Strukturierung ist WARM vollständig in Pakete aufgeteilt. Die Pakete gliedern sich in Datenbankzugriff, GUI und Eventhandling - entsprechend dem MVC-Muster. Im Folgenden werden die einzelnen Programmteile näher beleuchtet.