This paper introduces a software programming environment for an extended Prolog language, called ALPES. The purpose of ALPES is to enable a logic programming paradigm to become a software engineering tool to design, develop and prototype traditional software systems, as well as artificial intelligence applications. The key structuring concepts for programs, as well as for the system architecture as a whole are those of contexts, processes and communication. The software design and development methodologies induced by the use of the Alpes-Prolog language have been incrementally used to develop the environment itself. This research was conducted under the Esprit projects P973 (ALPES).