Distributed active objects: A methodological proposal and tool for distributed programming with transputer systems

M. Capel, J.M. Troya, A. Palma
1993 Microprocessing and Microprogramming  
bDpt. Lenguajes y Ciencias de la Computaci6n. Universidad de M::ilaga. El Ejido, s/n. 29013 M,'ilaga. SPAIN. This work mainly addresses the development of a methodology for programming distributed algorithms and applications in multicomputers, based on the specification and implementation of global shared ADTs separate from the sequential algorithmic code. To represent instances of the global ADTs and global control operations, a class of distributed objects is proposed. The specifications of
more » ... gh-level user-defined lopologies along with the implementation of ADT operations are carried out for each distributed object in a proposed language, precompiled on top of Occam. Distribuled Active Objects. In the SPMD scheme, global data could appear and should be distributed. The encapsulation of these data and Ihcir operations is achieved by defining global ADTs in lhe distributed applications. Each global ADT of an object is implemented in the proposed methodology by an Active Distributed Object (ODA) module. The specification of an ODA mainly addresses two aspects: Specification of the represented object, which will be finally distributed by replication in the nodes of the network (ODA-replicas). The global data represented by each ODA is interpreted as a domain to be partitioned. One logical topology, defined by the user, is included in the specification of each ODA module. This software topology simplifies the implementation communication code in the whole application. Communication Schemes in ODAs. Two communication schemes appear in the application programming based on ODAs, Communication relationships between applicationprocesses and ODA-replicas. When an application process calls on an operation defined on the ODA interface, it sends a message to the ODA-replica coresident in the same processor. This interaction defines a client-server relationship between each application-process and its ODA-replica. The methods invoked in this way by the application process are named server methods. Communication relationships between ODAreplicas. The ODA defines some operations which involve communication between different ODAreplicas. These operations are performed following a message diffusion communicatio[} scheme, according to the logical topology defined by the user. In this case, the methods invoked are called diffJ~sion methods. Examples of these operations are those which maintain the consistency between the local data in the ODA-replicas, or those which define a data movement between the ODA-replicas. ODA description language. A description language has been defined to specify ODAs. This language is intended to address the methodological aspects of ODAs. We distinguish two main parts in the description of an ODA module: of the ODA, in which the logical communication structure of the ODA is specified, and implementation of the ODA, which deals with the procedural aspects of the implementation of the ODA.description ::= ODA.definition ODA.i~plementation ODA.definition::= ODA.DEFINITION name(REP name, NODES name [,("formal}])
doi:10.1016/0165-6074(93)90144-a fatcat:47o5sf5j5fesnjtzinm5d4xcla