def initialize_simulation_from_model_specification(model_specification_file: str) -> InteractiveContext:
    """Construct a simulation from a model specification file.

    The simulation context returned by this method still needs to be setup by
    calling its setup method. It is mostly useful for testing and debugging.

    Parameters
    ----------
    model_specification_file
        The path to a model specification file.

    Returns
    -------
        An initialized (but not set up) simulation context.
    """
    model_specification = build_model_specification(model_specification_file)

    plugin_config = model_specification.plugins
    component_config = model_specification.components
    simulation_config = model_specification.configuration

    plugin_manager = PluginManager(plugin_config)
    component_config_parser = plugin_manager.get_plugin('component_configuration_parser')
    components = component_config_parser.get_components(component_config)

    return InteractiveContext(simulation_config, components, plugin_manager)