Goal Oriented Modelling (GOM) has proved very useful in Software Engineering. KAOS is a popular language for GOM, and has been applied in requirement analysis, specification, and elicitation. Model Based Software Engineering (MBSE) technologies have traditionally addressed the what and how of systems but have offered little support for why. A solution is to extend MBSE languages with GOM, and KAOS in particular, thereby allowing goals to take part in model transformation and analysis. However, there is no complete Meta-Model for KAOS that would be suitable for such an integration. This paper analyses existing work on KAOS language definition and consolidates it into a single Meta-Model, defined in Ecore, that is suitable as a basis for MBSE; and then implements a Graphical Editor for the Meta-Model using MBSE Techniques. The Graphical Editor is applied to model a case study described in the paper. Our Meta-Model is validated by showing how OCL can be used to encode the definition of the completeness of a KAOS model.