Conclusion

In this book, the concepts underlying object oriented distributed programming were presented. They were illustrated through SRC Modula-3, a modern, clean and efficient programming environment which supports nicely graphical distributed object oriented applications. A distinctive feature of this environment is the emphasis on simplicity and the pervasive use of multi threading. Multi threading brings simple and efficient solutions to applications such as network objects receiving asynchronous requests from clients, or graphical objects receiving keyboard or mouse events.

A number of new developments may be expected in the coming years. Time will tell which ones will actually be widely used. One could hope that safety and garbage collection, offered by almost all newer languages, will be taken for granted. It is possible that new tools such as LARCH may be able to statically verify safety properties and thus obviate the need for some of the run time checks. Similarly, some synchronization errors between threads may be detected statically. Assertions, to be verified by such tools, are incorporated on an experimental basis in some of the modules in the SRC Modula-3 programming environment.

Distributed applications are inherently difficult to build. Facilities such as network objects and Obliq greatly facilitate the development of such applications. Further developments in this area may consider the problems of authentication and access control.

Object oriented databases, persistent objects, query languages, embedded interpreters and distributed objects have a lot in common. Eventually these features may be available in a coherent framework, using a few orthogonal mechanisms instead of the current proliferation of systems and libraries offering mostly overlapping services.


Copyright 1995 Michel Dagenais, dagenais@vlsi.polymtl.ca, Wed Mar 8 14:41:03 EST 1995