Basic Meta-Model - object schema framework for Eiffel