1. A method for consistency checking of a request model and a metamodel comprising the steps of: receiving input data; if a context is not already created, creating the context, storing the input data in the context, and storing the context in a context database; if the context database is created, and the context is not already retrieved, retrieving at least one of the contexts from the context database according to the input data; if one of a set of data databases matches the input data, if the input data are related to the retrieved context, and if the input data satisfy a set of data rules associated with the matching data database, allowing the input data; said set of data rules associated with the matching data database being obtained from the metamodel; if the input data modify the matching data database, and if the input data are allowed, determining an optimal location to store the input data in the matching data database according to a preselected rule from the set of data rules associated with the matching data database, and storing the input data in the matching data database in the optimal location, thereby updating the request model; if one of a set of relationship databases matches the input data, if the input data is related to the retrieved context, and if the input data satisfies a set of relationship rules associated with the matching relationship database, allowing the input data; if the input data modify the matching relationship database, and if the input data are allowed, determining the optimal location to store the input data in the matching relationship database according to another preselected rule from the set of relationship rules associated with the matching relationship database, and storing the input data in the matching relationship database in the optimal location, thereby updating the request model; said set of relationship rules associated with the matching relationship database being obtained from the metamodel; if the input data are datatypes or relationship types, updating the metamodel with the input data; verifying and validating, using a simulator, said request model by navigating said request model according to information generated by said simulator, or according to said input data, or according to said request model; and monitoring, using an abstractor, said data databases and said relationship databases to detect patterns that can be transformed, to propose possible transformations, and to transform said patterns in said data databases and said relationship databases according to said metamodel.