A coordination model for the systematic construction of distributed applications
暂无分享,去创建一个
In recent years, with the accelerating progress in the technology of distributed and Internet architectures (e.g., CORBA, WWW), we have seen the emergence of distributed applications of a larger size and of greater complexity. Some of these applications, such as groupware and applications for e-commerce, are computerized tasks that have been conducted by human beings.
Distributed applications typically consist of some kind of distributed objects that communicate with one another to achieve a collective goal. The difficulty in developing such complex applications is the increased complexity in the coordination of objects. The programming languages (such as C++ and Java) and distributed and networking architectures (for example CORBA and DCOM) that are in use today do not address this well because: (1) their coordination mechanisms are not sufficient for the level of control that is required, and (2) codes for computation and those for coordination are typically intermixed, thus making codes for coordination hard to understand, maintain, and reuse.
The objective of this research is to provide a solution to overcome these two problems and relax the difficulties in software development they introduce. This research provides a way to precisely describe coordination in distributed applications in a modular and hierarchical way, and also develops some methods to construct distributed applications in an organized fashion.
In this solution, we will define an object-oriented coordination model that (1) supports various coordination mechanisms, (2) separates coordination codes from computation codes, and (3) allows construction of distributed applications in various granularity. In addition, we will define software development methods for the systematic construction of distributed applications. Based on the model and methods, an integrated development system consisting of a runtime environment and a CASE tool can be developed.
Our approach will be examined and evaluated by putting it into practice in constructing a distributed application.