def generate(context=None, param={}, seed=None):
    """Generate the sample data.

        Runs the generate functions of all plugins in an order such that
        the dependencies are all generated before the dependents.

        In essence, this function performs a topological sort in a
        directed acyclic graph.

        Raises a CyclicDependencyError if the dependency graph has a cycle.

        Returns a dict with names of plugins run as keys and CPU times as
        values.

        context:
            The context to be used to generate the sample data.
        param:
            A mapping containing the parameters for the generator plugins.
            The key is the name of the plugin.
        """
