Graph-based execution