MOP = Metaobject Protocol
MOP is actually a pre-defined acronym in the OOP field: Metaobject Protocol. This describes an object oriented protocol which defines how the object system should work. The most prominent example of a MOP is the one that defines the ANSI Common Lisp object system (CLOS). In CLOS classes, slots, methods and so on are just objects. They are called metaobjects because they describe how objects work and therefore live on the „meta layer“. The original book about it is „The Art of the Metaobject Protocol“ by Gregor Kiczales – a very inspiring book with the complete code on how to bootstrap CLOS by implementing a metaobject protocol.
The message passing OOP you describe has its roots in the Actor Model described by Hewitt, Bishop and Steiger (1973). This is indeed one of the basic influences of OOP and nowadays is even more interesting as an idea to model large scale concurrent systems.