digraph target{
	rankdir=LR
	subgraph cluster_0 {
		label="symbol in the\nconcrete model"
		shape=box
		attr [label="symbol attributes" shape=plain]
		term [label="terminal in the\nconcrete model" shape=box]
	}
	std_devmap [label="engine plugin:\nstd_devmap"]
	target_pcb [label="engine plugin:\ntarget_pcb"]
	abstract1 [label="port in the\nabstract model\n(model version 1)" shape="box"]
	abstract2 [label="port in the\nabstract model\n(model version 2)" shape="box"]

	term -> abstract1 [style=dashed]
	attr -> std_devmap [label="portmap[]"]
	std_devmap -> abstract1 [label="pcb/pinnum"]
	abstract1 -> target_pcb [label="pcb/pinnum"]
	target_pcb -> abstract2 [label="display/name"]
}