Adding a learning companion, a computer simulated social agent, to a computer based learning system can enhance its educational value by enriching the way in which the computer and the user interact. This paper presents a novel simulation approach, named General Companion Modeling (referred to hereinafter as GCM), to implement learning companions in a general problemsolving domain. DwestAgent, a learning companion system, is also implemented using the GCM approach to demonstrate the feasibility of the proposed approach. In addition, the approach can help developers of learning companions clarify implementation issues and requirements involved in simulating 1) domain competencies, 2) learning competencies, 3) behaviors as a peer tutor, and 4) behaviors as a peer tutee of a learning companion. Using GCM, one can simulate learning companions with various characteristics by adjusting parameters within the proposed simulation framework.