In this paper we present a global approach for programming distributed
multiprocessor systems. In this approach, applications are developed
as a global parallel program that is independent of the particular har
dware architecture, and is represented through an extended Petri net m
odel. The building blocks for the global program are tasks that are im
plemented using standard programming languages. A highly automated too
l is used to allocate the different tasks to processing nodes in a nea
r-optimum way, minimizing message traffic in the interconnection netwo
rk and balancing the execution workload in the different nodes. The co
mbined use of this tool with analysis and simulation tools for Petri n
ets allows us to obtain information about the performance and behavior
of the global program. The tool divides the original extended Petri n
et into several subnets that are distributed among the different nodes
, and provides for the installation, execution, and monitoring of the
program. An example is presented in which our programming strategy is
compared to PVM, which is a widely extended software tool for the dist
ribution of programs in a network of computers.