To understand how the system should automatically react to changes in the context we borrow the concept of “schema” from cognitive psychology [6], [28] that represents a fundamental element to facilitate understanding and to provide a basis for tacking action: a schema, in fact, can be seen as the tacit knowledge that is used to impose structure and impart meaning of ambiguous information. Referring to software systems, tacit knowledge is the information and the structures exploited by the system in order to interpret ambiguous situational and environmental information. Tacit knowledge is therefore of fundamental importance for regulating the (self-)adaptation of systems. Taking inspiration from cognitive psychology the schema of a system contains the properties that the system has to maintain despite of adaptation together with the metaobjects for accessing and maintaining the changeable part of the system.