Enhancing Object Communication Mechanisms Tansel Ersavas RASE Inc. tansel@rase.com Abstract This paper elaborates on the object communication mechanisms as defined in the Fuzzy Object and Behavior Modeling (FOBM) technique. In traditional object oriented systems, communication between objects is achieved by applying operations on objects as an analogy to message sending. FOBM enhances inter-object communication by emphasizing messages and events and supporting broader message dispatch and resolution mechanisms, message and event weighing and attenuation, sensors, indicators, emitters, and constraints to form a powerful set of mechanisms for object interaction and manipulation. Using these mechanisms, new generation systems such as virtual reality environments, complex 3D modeling and animation, and non-linear systems can be represented and implemented with significantly less effort than traditional object oriented approaches. A simple FOBM construct is used to illustrate some of the concepts. 1. Introduction One of the most powerful contributions of the object-oriented paradigm to software engineering is the message based object interaction. Alan Kay, one of the founders of the object oriented paradigm and the person who introduced the term object oriented programming, describes object interaction as follows[1]: "Instead of having one computer, now we have small, autonomous, cell like entities communicating with each other via messages. In a way, we have many tiny computers interacting with each other" The mainstream object oriented approach fell behind Kay’s vision by adapting Abstract Data Types (ADTs)[2] as a generally accepted representation of an object. Utilization of ADTs map messages to operations, which are essentially beefed up procedure calls. Using procedure calls instead of messages profoundly influences system design as it tightly couples the sender and the receiver. According to Alan Kay [3], original ideas introduced by Smalltalk 72 did not require objects sending messages to wait for an answer. The idea was to mimic the needs of the ARPAnet, and it was influenced by Dave Fisher’s work [4] A Control Definition Language. Smalltalk 72 inspired many researchers, and among them Agha proposed actors[5], or active objects, and a whole new group of concurrent object-oriented languages emerged. These languages are closer to the initial vision of Kay than most of today’s object oriented systems and languages including Smalltalk. Concurrent object oriented languages could not be mainstream and are not likely to be mainstream in the near future, however systems development for the Internet, or indeed any peer to peer or client-server system development is far more actor-like than the traditional object oriented style. In an actor-based environment actors can transparently send messages over networks to objects that are on other systems. The Internet’s explosive growth and move to componentware started stretching boundaries of the accepted object oriented notions such as synchronous operations and the concept of an ADT based serial object. There