A discrete event system is a dynamic system which can only have discrete and finite states which can be changed at any instance of time and the duration of a state is irregular. This system can not be described by ordinary or partial differential equations and there is not a common formalism for modeling. Examples of such system are computer and communication networks, traffic systems, production or assembly lines, etc.. Zeigler's DEVS (Discrete Event Systems Specification) formalism supports specification of discrete event models in a hierarchical, modular manner. The formalism makes it possible to design new simulation languages/environments with better understood and sounder semantics. Zeigler also defined the abstract simulator associated with the formalism, which is a conceptual device capable of interpreting the dynamics of DEVS models. This thesis describes an object-oriented modeling and simulation environment, called DEVSIM++, which realizes the DEVS formalism and the associated abstract simulator concepts in C++. Thus, DEVSIM++ exploits sound semantics from the DEVS formalism and object-oriented expressive power and execution speed from C++. The DEVSIM++ environment supports users to develop hierarchical, modular discrete event models within the DEVS formalism. It also provides users with a tool to analyze input data and simulation output data. To show the effectiveness of the environment, the modeling and simulation methodology within the environment is presented using an example of modeling a multiple-bus multiprocessors system with external common memories. This example shows fitting of statistical distribution function for input data and analyzing simulation output data.