SAM is designed to be flexible, modular and extensible. While you can take advantages of its flexibility and molecularity without fully understanding its underlying implementation; when you decide to expand its functionality, e.g., adding a new Hacking Strategy, you need to dive deeper into the framework itself and familiar yourself with its design and constructs.

Here, you are presented with the Doxygen documentation of SAM's C++ code, e.g., the classes and module groups. Before starting to navigate the code, we highly recommend that you study the Design and Configuration sections thoroughly. While they do not discretely talk about the API, they will help you understand the structure of SAM framework in great details.


You do not need to understand SAM's API to use SAM. Head to Design and Configuration sections if you only wants to use SAM to design and run a simulation based on currently available methods and strategies. However, if you cannot find everything you need, and you have a good understanding of C++ programming language, this section comes handy when you want to implement your own methods.

Last update: 2021-09-18