# Heterogeneous DAG

Term type: Concept

A dependency graph containing different kinds of nodes, such as application projects, containers, cloud resources, and parameters.

Also known as: heterogeneous directed acyclic graph

Heterogeneous means that the graph's nodes are not all the same type. Aspire's model includes executable workloads as well as configuration values and cloud infrastructure.

Dependencies can describe both orchestration relationships and structured values passed between resources. This lets tools understand a database connection's endpoint and parameter references rather than treating the connection as opaque text.

## Practical example

One application model connects an API project, a database container, and a password parameter instead of treating all nodes as processes.

## Learn more

- [Understand resource relationships and hierarchies](https://aspire.dev/architecture/resource-hierarchies/)

## Related terms

- [DAG](https://aspire.dev/hub/glossary/dag/)

- [ReferenceExpression](https://aspire.dev/hub/glossary/referenceexpression/)

- [Resource](https://aspire.dev/hub/glossary/resource/)