Font Size: a A A

DCPP: A distributed object-oriented programming schem

Posted on:1997-07-07Degree:Ph.DType:Dissertation
University:Northwestern UniversityCandidate:Sheu, Dennis Shih-MinFull Text:PDF
GTID:1468390014984649Subject:Computer Science
Abstract/Summary:
We present a C++ based distributed object-oriented programming scheme--DCPP, (Distributed C Plus Plus). DCPP consists of a high level distributed object specification (DOS) language, a class stub scheme, a set of transformation rules, and a runtime library for interprocess communication and remote object management. DOS allows users to partition C++ objects of the same program among distributed sites. DCPP can then segregate and distribute these specified C++ objects into a set of interoperating programs by using class stubs and the DCPP runtime system. More precisely, the user can either distribute a set of objects among machines interconnected by a local area network (LAN), or partition a singular C++ object into a set of disjoint and cooperative, but with smaller grain size sub-objects for distributed executions. The implementation of distributed executions are transparent to the users. To transform C++ objects into distributed objects, DCPP analyzes the dependence graph of specified classes, scans DOS files to obtain object distribution descriptions, locates object boundaries, generates class stubs, applies transformation rules, and incorporates required runtime structures. To adapt maximal C++ mechanisms, we have developed class stubs to support the binding among distributed objects. Each class stub not only has stubs for remote member functions but also has location and identity of its associated remote object. Class stubs provide both static and dynamic binding between derived parts and base parts of an object residing at different sites and enable partitioned objects to be invoked and accessed by traditional C++ access methods. Class stubs can be automatically generated from DOS files and can be implemented with generic message passing primitives. The generations can be incorporated in a front processor of a C++ compiler, thereby extending C++ to have distributed object capability. One major contribution of DCPP is to provide a distributed object programming model that can shift the development of distributed software from low level implementation of message communications to high level specification of object distributions. We have tested DCPP for explicit concurrency including data parallelism and asynchronous object invocations, and demonstrated DCPP on program visualization.
Keywords/Search Tags:DCPP, Object, Distributed, Programming, Class stubs, DOS
Related items