IEEE Transactions on Software Engineering
Modern structured analysis
An object-oriented requirements specifications method
Communications of the ACM
PROOF: a parallel object-oriented functional computation model
Journal of Parallel and Distributed Computing
Software design methods for distributed computing systems
Computer Communications - Special issue on software aspects of future trends in distributed systems
Petri Net Theory and the Modeling of Systems
Petri Net Theory and the Modeling of Systems
A Requirements Engineering Methodology for Real-Time Processing Requirements
IEEE Transactions on Software Engineering
An Approach to Distributed Computing System Software Design
IEEE Transactions on Software Engineering
Object-oriented and functional software design for distributed real-time systems
Computer Communications
Hi-index | 0.24 |
Compared with programming sequential computers, programming distributed parallel computing systems has additional complexity due to the considerations of parallelism, synchronization, the network configuration of the distributed computing system, and the topology of the parallel processors. Current programming practices, however, are not sufficient to make effective use of such computing systems. In this paper, an approach to software development for distributed parallel processing systems which is architecture transparent is presented. This approach is based on the object-oriented concept, and facilitates the design and coding of software by separating the architecture-dependent issues from the semantics of the software. This makes the software system independent of the target machine or the network configuration, and easily portable to other machines. In our approach, the parallelism is implicit in the program, and the programmer does not need to be concerned with issues such as synchronization, network configuration or the topology of the parallel processors. Our approach can reduce the communication and synchronization errors caused by the programmer by automatically embedding the proper codes during the translation and allocation phases of the software development cycle.