This thesis developes computer modelling techniques, and their use in the investigation of biochemical systems, principally the photosynthetic Calvin cycle. A set of metabolic modelling software tools, "Scampi", constructed as part of this project is presented. A unique feature of Scampi is that it allows the user to make a particular model the subject of arbitrary algorithms. This provides a much greater flexibility than is available with other metabolic modelling software, and is necessary for work on models of (or approaching) realistic complexity. A detailed model of the Calvin cycle is introduced. It differs from previously published models of this system in that all reactions are assigned explicit rate equations (no equilibrium assumptions are made), and it includes the degradation, as well as the synthesis, of starch. The model is later extended to include aspects of the thioredoxin system, and oxidative pentose phosphate pathway. Much of the observed behaviour is consistent with experimental observation. In particular, Metabolic Control Analysis of the model shows that control of assimilation flux is likely to be shared between two enzymes, rubisco and sedoheptulose bisphosphotase (SBPase), and can readily be transferred between them. This appears to offer an explanation of experimental evidence, obtained by genetic manipulation, that both of these enzymes can exert high control over assimilation. A further finding is that the output fluxes from the cycle (to starch and the cytosol), show markedly different patterns of control from assimilation, and from each other. An novel observation in behaviour of the Calvin cycle model is that, under certain circumstances, particularly at low light levels, the model has two steady-states and can be induced to switch between them. Although this exact behaviour has not been described experimentally, published results show charecteristics suggesting the potential is there in vivo. An explanation of all the observed behaviour is proposed, based upon the topology of the model. If this is correct then it may be concluded that the qualitative behaviour observed in the model is to be expected in vivo, although the quantitative detail may vary considerably.