A Model Oriented Programming Language