“…In this context, a question arises how to design a component that combined with a known part of the system, called the context, satisfies a given overall specification. The problem is also known as the problem of submodule construction [Mer83], component redesign [Kimn] , [Rh091], [Wat93], controller design [Azi95], equation solving [Par89], [Lar90] , [Qin91], [Che96] or machine factorization [Qin9l]. This problem has many important applications, ranging from hardware optimization to protocol design.…”