We describe a (meta) formalism for defining a variety of (object oriented) data models in a unified framework based on a variation of first-order logic. As specific example we use an extended OO model, NORM, involving entities, lexical types, constraints and message passing. We illustrate how essential properties of object orientation such as information hiding, encapsulation, inheritance and behavior may be generically described, as well as the fundamental distinction with object-oriented programming, namely persistence. A formal semantics for these concepts can so be given independently of the chosen data model. The logical meta-modelling framework, called Data Modelling Logic or DM logic, has been demonstrated in earlier work to adequately support "classical" data models such as (E)ER, NIAM, and the Relational Model, and so-called lossless transformations between them. By "programming" an OO data model in DM Logic, it should become possible to arrive at objectiv...