AVS-Module sind Unterprogramme oder Funktionen zur Eingabe, Ausgabe oder Manipulation von Daten. Eingaben können von der Tastatur, aus Dateien oder von einem Socket geschehen. Die Ausgabe der Daten kann auf den Bildschirm oder in Dateien vorgenommen werden. Module bilden den Hauptbestandteil des Programms AVS. Über In- und Outputports können die Module untereinander kommunizieren. Die Datentypen der Ports sind durch AVS vorgegeben. So sind Ports für 1D-, 2D- und 3D-Datenfelder vorgesehen sowie In- und Outputports für spezielle Anwendungen, wie z.B. Elementstrukturen, Unsigned Cell Data (UCD).
AVS unterscheidet zwischen zwei Arten von Modulen: Subroutine Modules und Coroutine Modules. Der Unterschied zwischen den beiden liegt im Startverhalten der Module. Subroutine Modules starten ihre Arbeit nur dann, wenn an einer Eingabeschnittstelle Daten ankommen oder wenn sich Parameter durch das Control Panel ändern. Coroutine Modules starten ihre Arbeit immer dann, wenn sie es selbst erfordern, z.B. wenn sie über einen Socket Informationen bekommen.
Die AVS-Module bilden auch die Programmierschnittstelle von AVS. Eigene Module können während des Programmablaufs eingebunden werden. Hierfür kann man diese in eigenen Bibliotheken zusammenfassen oder in schon bestehende einfügen. Als Programmiersprachen stehen C und FORTRAN zur Verfügung. Bei der Verwendung von In- und Outputports müssen die vorgegebenen Datentypen von AVS eingehalten werden. Dies wird durch AVS-Bibliotheken erleichtert, die beide Programmiersprachen unterstützen.