Simulation models are becoming increasingly complex, large and more difficult to deal with. Existing simulation software does not seem to cope well with these models. Future simulation software should encourage modelling with modular, reusable blocks structured in a hierarchy. In component-based software engineering (CBSE) applications are assembled from components that are self-contained, relatively context-independent pieces of software. The objective of this thesis is to demonstrate that it is possible and useful to apply component technologies to simulation approaches. Existing component-based simulation approaches are studied to learn from their strong and weak points. This thesis then introduces the COSIMA component-based simulation architecture, which was developed to provide an approach that is not over complicated but is still flexible and useful. The use of COSIMA is demonstrated with an example.