Proper Noun
Design principle that states that (1) High- and low-level modules should both depend on abstractions and (2) instead of abstractions depending upon details, details should depend upon abstractions.