Type of computer architecture or software architecture intended to make adding, upgrading, and swapping components easy