Wat is een module?

Ed Hagen
Institute for Theoretical Biology, Humboldt-Universität zu Berlin
Constantijn Vermaut

Deze tekst werd vertaald met toestemming van de auteur. De oorspronkelijke Engelse versie is te vinden op http://www.anth.ucsb.edu/projects/human/epfaq/evpsychfaq_full.html
Een module is een psychologische aanpassing. Merk op dat het gebruik van de term 'module' verschilt van de definitie die cognitieve psychologen geven aan 'module'. Voor hen die bekend zijn met het debat inzake de 'modulariteit' volgt hier een korte opmerking: Fodor maakt een onderscheid tussen cognitieve modulariteit met, en zonder, informatie-inkapseling.(Fodor 2000, p. 56-58). Indien, bij het uitvoeren van de berekeningen, modules enkel toegang zouden hebben tot de informatie die alleen in de module zelf is opgeslagen, en de informatie in andere modules niet rechtstreeks kan gebruiken, dan is de module met betrekking tot informatie ingekapseld. Als begrip is inkapseling van informatie echter zo weinig bruikbaar dat men zich afvraagt of de overname in de cognitieve wetenschap van de term vanuit computerwetenschappen geen vergissing was. Waarom, tenzij bij zoeken naar verwerkingssnelheid, of mogelijks robuustheid, zouden modules geen toegang kunnen hebben tot data in ander modules? De meeste modules communiceren reeds met vele (maar zeker niet alle) andere modules wanneer ze hun functie uitoefenen, inclusief deze van het zoeken naar informatie in databanken, of het selecteren van modules.
Het concept van inkapseling dat oorspronkelijk in de computerwetenschap ontwikkeld werd, is krachtig: ingekapselde data hebben toegang tot de inhoud van de gegevens van talrijke andere modules, en kunnen die aanpassen, wanneer ze hun functies vervullen, maar alleen via welbepaalde interfaces. Dit betekent ruwweg dat modules op gestandaardiseerde wijze met elkaar communiceren en dat de toegang tot de data en de functionaliteit van een module geregeld wordt door de module zelf. Zolang de interface tussen modules niet wijzigt, kunnen programmeurs modules aanpassen zonder andere modules te hinderen. In de computerwetenschap is het de functionaliteit van een module die ingekapseld wordt, en daarom niet per se de data zelf. (De gestandaardiseerde manier waarmee hersencellen communiceren is een voorbeeld (op zeer elementair niveau) van inkapseling in de hersenen. Het feit of natuurlijke selectie deze nuttige structuur naar een hoger niveau van neurale netwerken in de hersenen kon laten evolueren is een open vraag, maar zeker is dat ze het zou mogelijk maken dat individuele modules kunnen evolueren zonder interferentie van andere modules.)