noun: (software architecture) Abstract principle describing an aspect of some software architecture designs in which the flow of control of a system is inverted in comparison to the traditional architecture, getting the flow of control from a generic code part.