An algebraic modelling language (AML) is a domain-specific computer programming language for describing and solving mathematical programming models. We propose extending AMLs so that solution algorithms that are based on iteratively manipulating, modifying and solving a model are supported at a high abstraction level. We specifically focus on stochastic programming models with random parameters formulated as discrete scenarios and mathematical decomposition algorithms, which are commonly applied to solve such models. We identify the necessary language constructs and develop a design based on the open-source modelling software APLEpy. The proposed design, although specifically addressing decomposition algorithms, proves useful for implementing heuristic solution algorithms as well. The object-oriented nature of the design enables the algorithms that are coded with the proposed extensions to work with any other model that satisfies the assumptions of the initial model. This flexible and robust design helps inexperienced modellers to easily apply an advanced solution algorithm, and experienced modellers to build sophisticated algorithms quickly within the same development environment that is used to describe the model under consideration.