Abstract
Numerous modeling and simulation software products have been developed in the last decades. Most of them havebeen created from scratch, often dedicated to single formalisms, single simulation algorithms, hardware platforms, or applications. But nevertheless each of these software products has to follow principles, and it has to contain techniques and elements to be usable for modeling and simulation. We identify these principles, and techniques as well as a list of essential elementswhich is accompanied by a list of additional elements. These lists can be used as guidance on creating a software product for M&S, and they can be used as a base to compare products on.