This Article 
 Bibliographic References 
 Add to: 
Performance Properties of Vertically Partitioned Object-Oriented Systems
August 1989 (vol. 15 no. 8)
pp. 935-946

A vertically partitioned structure for the design and implementation of object-oriented systems is proposed, and their performance is demonstrated. It is shown that the application-independent portion of the execution overheads in object-oriented systems can be less than the application-independent overheads in conventionally organized systems built on layered structures. Vertical partitioning implements objects through extended type managers. Two key design concepts result in performance improvement: object semantics can be used in the state management functions of an object type and atomicity is maintained at the type manager boundaries providing efficient recovery points. The performance evaluation is based on a case study of a simple but nontrivial distributed real-time system application.

[1] G. T. Almes, A. P. Black, E. D. Lazowska, and J. D. Noe, "The EDEN system: A technical review,"IEEE Trans. Software Eng., vol. SE-11, pp. 43-49, Jan. 1985.
[2] P. America, "POOL-T: A Parallel Object-Oriented Language," inResearch Directions in Object-Oriented Programming, B.D. Shriver and P. Wegner, eds., MIT Press, Cambridge, Mass., 1987, pp. 199-220.
[3] J. C. Browne, J. Dutton, V. Fernandes, J. Silverman, A. Tripathi, and P. Wang, "Zeus: An object-oriented distributed operating system," inProc. ACM Nat. Conf., San Francisco, CA, 1984.
[4] J. C. Browne, "Vertically partitioned object-oriented system architecture for reliable high performance parallel distributed systems," inProc. XP 7.52 Workshop Data Base Theory, Austin, TX, IEEE&ACM, Aug. 1986.
[5] L. Cardelli and P. Wegner, "On understanding types, data abstraction, and polymorphism,"ACM Comput. Surveys, vol. 17, pp. 472-522, Dec. 1985.
[6] E. Cohen and D. Jefferson, "Protection in the Hydra operating system," inProc. 5th Symp. Oper. Syst. Principles, vol. 9, no. 5, 1976.
[7] F. Cristian, "Exception handling and software fault tolerance,"IEEE Trans. Comput., vol. C-31, no. 6, pp. 531-540, June 1982.
[8] S. Danforth and C. Tomlinson, "Type theories and object-oriented programming,"Comput. Surveys, vol. 20, no. 1, pp. 29-72, Mar. 1988.
[9] H. Garcia-Molina, "Using semantic knowledge for transaction processing in a distributed database,"ACM Trans. Database Syst., vol. 8, no. 2, June 1983.
[10] A. Goldberg,Smalltalk-80: The Language and Its Implementation, Reading, MA Addison-Wesley, 1984.
[11] C. A. R. Hoare, "Monitors: an operating system structuring concept,"Commun. ACM, vol. 17, no. 10, pp. 549-557, Oct. 1974.
[12] S. P. Hufnagel, "Vertically partitioned object-oriented software design for high dependability and good performance," Ph.D. dissertation, Univ. Texas at Austin, May 1987: also Tech. Rep. TR-87-02, Dep. Comput. Sci., Univ. Texas at Austin, Jan. 1987.
[13] J. C. Laprie, "Dependable computing and fault tolerance: basic concepts and terminology," inProc. 15th Int. IEEE Symp. on Fault Tolerant Computing (FTCS-15)(Ann Arbor, MI), June 1985, pp. 2-11.
[14] B. Meyers,Object Oriented Software Construction. Englewood Cliffs, NJ: Prentice-Hall, 1988.
[15] E. B. Moss, "Nested transactions and reliable distributed computing," inProc. Second Conf. Reliability in Distributed Systems, IEEE, 1982, pp. 33-39.
[16] Parnas, D.L., "A Technique for Software Module Specification with Examples,"Comm. ACM, Vol. 15, No. 5, May 1972, pp. 330-336.
[17] G. A. Pascoe, "Elements of object-oriented programming,"Byte, pp. 139-144, Aug. 1986.
[18] A. Silberschatz, R. B. Kieburtz, and A. J. Bernstein, "Extending concurrent Pascal to allow dynamic resource management,"IEEE Trans. Software Eng., vol. SE-3, no. 3, pp. 210-217, May 1977.
[19] A. R. Tripathi and J. O. Richard, "C2 environment and functional requirements," inScientific Rep. to Rome Air Development Center Distributed C**2 System Recovery Mechanism, Honeywell, Inc., Contract F30602-82-C-0154, 1983.
[20] W. A. Wulf, "Overview of the Hydra operating system," inProc. 5th Symp. Operating System Principles, ACM, Nov. 1975, pp. 122- 131.

Index Terms:
object-oriented system design; object-oriented system implementation; vertical partitioning; vertically partitioned structure; object-oriented systems; application-independent overheads; conventionally organized systems; layered structures; extended type managers; design concepts; performance improvement; object semantics; state management functions; object type; atomicity; type manager boundaries; recovery points; performance evaluation; distributed real-time system application; object-oriented programming; performance evaluation; software engineering
S.P. Hufnagel, J.C. Browne, "Performance Properties of Vertically Partitioned Object-Oriented Systems," IEEE Transactions on Software Engineering, vol. 15, no. 8, pp. 935-946, Aug. 1989, doi:10.1109/32.31351
Usage of this product signifies your acceptance of the Terms of Use.