Adaptive embedded systems (AES) are embedded systems whose behaviour and architecture are adjusted in run time to fulfil changing requirements. Despite the huge effort furnished by researchers to develop design methodologies and their associated tools for AES, we can easily observe that none of the existing approaches provides a complete development process covering all development phases and supporting traceability between their produced artefacts. Furthermore, most existing tools are not interoperable. Thus, a standard or at least a domain-specific methodology will be needed for an effective cost/delay design of AES. In this paper, we review AES modelling techniques and design methodologies. At the end of the paper, we will illustrate the main challenges confronted by AES design and some future perspectives.