self-configurable computer systems