Newer
Older
AlgebraicDataflowArchitectureModel / AlgebraicDataflowArchitectureModel / models / POS.model
channel CIO {
	out payment(p:Int, purchase(x:Int)) == x
}

channel C1 {
	in payment(p, update1(y)) == y
	out points(l:Int, update1(y)) == floor(y * 0.05)
}

channel C2 {
	in payment(p, update2(z)) == z
	out history(h:List, update2(z)) == cons(z, h)
}

channel C3 {
	in history(h, update3(u)) == u
	out total(t:Int, update3(u)) == sum(u)
}