On behavioral descriptions in object-oriented modeling

In the past decade, object-oriented programming has come to be considered a panacea for all computing headaches. We view object orientation as a modeling paradigm, first and foremost. We attempt to provide a formal characterization of objects' behaviors as a step toward the formal analysis and validation of object-oriented systems. In particular, we address the following questions: (1) what should be the scope of objects' behavior? (2) what are the desirable functional properties of behaviors? and (3) what implicit and explicit behavioral composition paradigms need to be supported by an object-oriented model? Unfortunately, but expectedly, the answers to these questions rely on some formal proofs, but also on common sense and general software engineering principles. In particular, we argue that all that an object-oriented model needs to support for behavioral specifications are (1) purely functional behaviors, with no side-effects on the objects implementing them; (2) purely side-effectal behaviors, whose effects are restricted to the implementer and its components; and (3) constraints (between objects). An object-oriented model based on these principles has proven valuable for predicting the behavioral properties of object-oriented systems. The model is briefly discussed.

[1]  Carl Hewitt,et al.  Actors: A Conceptual Foundation for Concurrent Object-Oriented Programming , 1987, Research Directions in Object-Oriented Programming.

[2]  Roger King,et al.  My Cat Is Object-Oriented , 1989, Object-Oriented Concepts, Databases, and Applications.

[3]  Won Kim,et al.  Object-Oriented Concepts, Databases, and Applications , 1989 .

[4]  L. Darden,et al.  Hypothesis Formation Using Part-Whole Interrelations , 1988 .

[5]  Hafedh Mili,et al.  An object-oriented model based on relations , 1990, J. Syst. Softw..

[6]  Bruce D. Shriver,et al.  Research Directions in Object-Oriented Programming , 1987 .

[7]  Mitchell Kapor,et al.  Agenda: a personal information manager , 1990, CACM.

[8]  Chris F. Kemerer,et al.  Object-oriented and conventional analysis and design methodologies , 1992, Computer.

[9]  C. Reutenauer The Mathematics of Petri Nets , 1990 .

[10]  Van Nguyen,et al.  A Model for Object-Based Inheritance , 1987, Research Directions in Object-Oriented Programming.

[11]  David Maier,et al.  The GemStone Data Management System , 1989, Object-Oriented Concepts, Databases, and Applications.

[12]  Ralph E. Johnson,et al.  Surveying current research in object-oriented design , 1990, CACM.

[13]  Mehmet Aksit,et al.  Obstacles in object-oriented software development , 1992, OOPSLA 1992.

[14]  Adele Goldberg,et al.  Smalltalk-80 - the interactive programming environment , 1984 .

[15]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[16]  Alan Borning,et al.  Constraint-Based Tools for Building User Interfaces , 1986, ACM Trans. Graph..