IRIS is a software architecture for cognitive radio networking testbeds that allows researchers to develop, test, and validate reconfigurable network designs. The architecture supports full runtime reconfiguration of radio system parameters. It uses a component-based approach where discrete signal processing functions are linked together to build receiver and transmitter chains. These components are contained within engines that manage their execution and reconfiguration. The example application shows how IRIS can be used to dynamically change modulation schemes based on channel conditions.