A practical guide to method engineering based on metamodeling, with theoretical foundations and case studies, suitable for classroom use or as a reference for practitioners. This text is a guide to the foundations of method engineering, a developing field concerned with the definition of techniques for designing software systems. The approach is based on metamodeling, the construction of a model about a collection of other models...