Advances in pervasive technology have made it possible to consider large-scale application types that potentially span heterogeneous organisations, technologies and device types. This class of application will have a multi-layer architecture, where each layer is likely to use languages and technologies appropriate to its own concerns. An example application is a geographically-large-scale crisis management system. Typically, such applications are required to dynamically adapt their behaviour based on current circumstances, with adaptations potentially affecting all layers of the application. The complexities involved in dynamically adapting multi-layer applications will significantly benefit from formal approaches to its specification. This paper presents a new methodology for flexible, multi-layer application adaptation, with layer-specific adaptation solution templates bound to application mismatches that are organised into hierarchical taxonomies. Templates can be linked either through direct invocations or through adaptation events, supporting flexible cross-layer adaptation. The methodology illustrates the use of different formalisms for different elements of its specification. In particular, we combine semi-formal metamodelling techniques for the system model specification with formal Petri nets, which are used to capture template matchmaking using reachability analysis. This work demonstrates how existing formalisms can be used for the specification of a generic adaptation model for pervasive applications.