This Article 
 Bibliographic References 
 Add to: 
Introducing Object Orientation into Large and Complex Systems
November 1994 (vol. 20 no. 11)
pp. 840-848

The paper investigates the applicability of the object-oriented technique to large and complex systems as exemplified by the operating system BS2000 which has been under constant development for a number of years. The proposed system architecture ensures the harmonious coexistence of procedural and object-oriented parts of the system. New domains, which are implemented using the object-oriented paradigm, can be smoothly embedded in the existing system. The parallel usage of different implementation languages is rendered economically viable. In our framework some representative parts of the system were redesigned and implemented in a prototype. The extensibility of the design was checked by including further parts into this scheme. The results are encouraging, so that the object-oriented technique will be used in the further development process. The proposed technique can also be applied to systems with a different structure, even a monolithic one.

[1] B. Meyers,Object Oriented Software Construction. Englewood Cliffs, NJ: Prentice-Hall, 1988.
[2] G. Booth,Object-Oriented Design with Applications. Redwood City, CA: Benjamin Cummings, 1991.
[3] T. Korson and J. McGregor, "Understanding object-oriented: A unifying paradigm,"Commun. ACM, vol. 33, no. 9, pp. 40-60, 1990.
[4] M. Nagl,Softwaretechnik: Methodisches Programmieren im Grossen. Berlin-Heidelberg, Germany: Springer, 1990.
[5] H. H. Deubler, "Restrukturierung grosser Software-Systeme am Beispiel des Betriebssystems BS2000,"Informatik-Spektrum, vol. 15, no. 4, pp. 209-217, 1992.
[6] H. H. Deubler and M. Koestler, "Object oriented restructuring of the general purpose operating system BS2000," inProc. TOOLS USA '93, Santa Barbara, CA, 1993, pp. 21-30.
[7] I. Jacobson and F. Lindstroem, "Reengineering of old systems to an object-oriented architecture," inProc. ACM OOPSLA'91, 1991, pp. 340-350.
[8] E. Yourdon,Decline and Fall of the American Programmer. Englewood Cliffs, NJ: Prentice-Hall, 1993.
[9] D. A. Moon, "Genera retrospective," presented at Int. Workshop on Object-Orientation in Operating Syst., Palo Alto, CA, 1991.
[10] G. Hamilton and P. Kougiouris, "The Spring nucleus: A microkernel for objects," inProc. 1993 Summer USENIX Conf., Cincinnati, OH, 1993, pp. 147-159.
[11] G. Hamilton, M. L. Powell, and J. G. Mitchell, "Subcontract: A flexible base for distributed programming," inProc. 14th ACM Symp. Operating Syst. Principles, Asheville, NC, 1993, pp. 69-79.
[12] R. H. Campbell, V. Russo, and G. Johnston, "Choices: The design of a multiprocessor operating system," inProc. USENIXC++Workshop, Santa Fe, NM, 1987, pp. 109-123.
[13] R. H. Campbell, N. Islam, D. Raila, and P. Madany, "Designing and implementing Choices: An object-oriented system in C++,"Commun. ACM, vol. 36, no. 9, 1993, pp. 117-126.
[14] R. H. Campbell and N. Islam, "Choices: A parallel object-oriented operating system," inResearch Directions in Concurrent Object-Oriented Programming, G. Agha, P. Wegner, and A. Yonezawa, ed. Cambridge, MA: MIT Press, 1993, pp. 393-451.
[15] Y. Yokote, F. Teraoka, A. Mitsuzawa, N. Fujinami, and M. Tokoro, "The Muse object architecture: A new operating system structuring concept,"Operating Syst. Rev., vol. 25, no. 2, 1991, pp. 22-46.
[16] Y. Yokote, "The Apertos reflective operating system: The concept and its implementation," inProc. ACM OOPSLA '92, 1992, pp. 414-434.
[17] M. Shapiro, "Soul: An object-oriented OS framework for object support," inOperating Systems of the 90s and Beyond, A. Karshmer and J. Nehmer, Ed. Berlin-Heidelberg, Germany: Springer LNCS 563, 1991, pp. 251-255.
[18] R. Rashid, R. Baron, A. Forin, D. Golub, M. Jones, D. Julin, D. Orr, and R. Sanzi, "Mach: A foundation for open systems," inProc. 2nd Workshop on Workstation Operating Syst., 1989, pp. 109-113.
[19] P. Guedes and D. P. Julin, "Object-oriented interfaces in the Mach 3 multi-server system," presented at Int. Workshop on Object-Orientation in Operating Syst., Palo Alto, CA, 1991.
[20] F. Herrman, F. Armand, M. Rozier, M. Gien, V. Abrossimov, I. Boule, M. Guillemont, P. Leonard, S. Langlois, and W. Neuhauser, "Chorus, a new technology for building UNIX systems," inProc. EUUG, Cascais, Portugal, Autumn, 1988.
[21] M. Rozier, V. Abrossimov, F. Armand, I. Boule, M. Gien, M. Guillermont, F. Herrman, C. Kaiser, S. Langlois, P. Leonard, and W. Neuhauser, "Overview of the Chorus distributed operating system," inProc. USENIX Workshop on Micro-Kernels and Other Kernel Architectures, Seattle, WA, 1992.
[22] A. S. Tanenbaum,Modern Operating Systems. Englewood Cliffs, NJ: Prentice Hall, Inc., 1992.
[23] P. Wegner, "Dimensions of Object-Based Language Design,"SIGPLAN Notices, vol. 22, no. 5, 1987, pp. 168-182.
[24] H. H. Deubler, "A homogeneous system architecture for large software systems," to be published.
[25] Parnas, D.L. 1972. On the Criteria to be Used in Decomposing Systems into Modules,Communications of the ACM, Vol.15, pp. 1053-1058.
[26] M. Shapiro, "Structure and encapsulation in distributed systems: The proxy principle," inProc. 6th IEEE Int. Conf. Distributed Computing Syst., Cambridge, MA, 1986, pp. 198-204.
[27] M. A. Ellis and B. Stroustrup,The Annotated C++ Reference Manual. Reading, MA: Addison-Wesley, 1992.
[28] B. Meyer,Eiffel: The Language. Englewood Cliffs, NJ: Prentice-Hall, 1991.
[29] A. Goldberg and D. Robson,Smalltalk-80: The Language. Reading, MA: Addison-Wesley, 1989.
[30] B. Meyer, "From structured programming to object-oriented design: The road to Eiffel,"Structured Program., vol. 10, no. 1, pp. 19-39, 1989.
[31] D. Batory and S. O'Malley, "The design and implementation of hierarchical software systems with reusable components,"ACM Trans. Sw Eng. and Methods, vol. 1, no. 4, 1992, pp. 355-398.
[32] "The common object request broker: Architecture and specification," Object Management Group, OMG Document 91. 12. 1, Rev. 1. 1, 1991.
[33] G. Dedie, ed., "BS2000 Nucleus," Tech. Description, Siemens AG, Munich, Germany, 1988.
[34] Y. A. Khalidi and M. N. Nelson, "The Spring virtual memory system," Sun Microsystems Lab. Tech. Rep. SMLI93-9, 1993.
[35] H. Custer,Inside WINDOWS NT. Redmond, WA: Microsoft Press, 1993.
[36] V. F. Russo, "An object-oriented operating system," Ph. D. dissertation, Univ. of Illinois at Urbana-Champaign, Urbana, IL, 1991.
[37] S. Gerlach, "Objektorientiertes Redesign des Slot Management im BS2000," Diploma thesis, Technical University Dresden, Germany, 1993.
[38] B. J. Cox,Object-oriented Programming. Reading, MA: Addison-Wesley, 1987.
[39] IBM SOMobjects Developer Toolkit, "Users guide," Version 2.0. IBM Publication S59G-5464-00, 1993.
[40] S. Danforth and I. Forman, "Derived metaclasses in SOM," inProc. TOOLS EUROPE'94, Versailles, France, 1994, pp. 63-73.
[41] D. Jordan, "Implementation benefits of C++ language mechanisms,"Commun. ACM, vol. 33, no. 9, 1990, pp. 61-64.

Index Terms:
object-oriented programming; operating systems (computers); structured programming; object orientation; complex systems; object-oriented technique; operating system BS2000; system architecture; object-oriented parts; object-oriented paradigm; parallel usage; implementation languages; monolithic structure; large software systems; systems architecture; OOP
H.-H. Deubler, M. Koestler, "Introducing Object Orientation into Large and Complex Systems," IEEE Transactions on Software Engineering, vol. 20, no. 11, pp. 840-848, Nov. 1994, doi:10.1109/32.368124
Usage of this product signifies your acceptance of the Terms of Use.