programmable [adjective] + system [noun]