Do I need to define all contexts, projections and agents in the model.score?
It depends. The score file serves several purposes, including parsing of annotations, context building, and providing information to the runtime GUI. Agents and contexts do not need to be defined, but if you leave them out, the simulation runtime won’t pick up annotations for scheduling and watching, and you won’t be able to see omitted objects in the runtime wizards. You can technically omit everything but the root context builder in the model.score and still run a simulation, provided that you do all of the scheduling of actions and watches programmatically and you create custom displays if desired.