This article describes the functional architecture of the software environment defined in the MARS project. The aim is to design an open software environment allowing the user successively to specify, validate and finally generate code. The architecture we suggest is the result of the study of the main components of an software engineering environment and of the careful analysis of the user's needs. This article will focus on the system architecture. Our architecture is based on a multi-session multi-user management in a distributed environment. We will describe the first prototype : the AMI software environment composed of a set of tools from graphical modeling to code generation from Petri net specifications. The Macao user interface is based on a graph meta-model. It allows the graphical data input and the results display