Design space exploration is introduced as one of the major tasks in embedded system design. After reviewing existing exploration methods at various layers of abstraction, a generic approach is described based on multi-objective decision making, black-box optimisation and randomised search strategies. The interface between problem-specific and generic parts of the exploration framework is made explicit by defining an interface called PISA. This specification and implementation interface, and the availability of a wide range of randomised multi-objective search methods, makes the proposed framework accessible to a wide range of exploration problems. It resolves the problem that existing optimisation methods cannot be coupled easily to the problem-specific part of a design exploration tool.