An approach to module distribution for the design of embedded distributed software systems