diff --git a/AlgebraicDataflowArchitectureModel/models/CustomerOffice.model b/AlgebraicDataflowArchitectureModel/models/CustomerOffice.model new file mode 100644 index 0000000..83112ba --- /dev/null +++ b/AlgebraicDataflowArchitectureModel/models/CustomerOffice.model @@ -0,0 +1,29 @@ +channel C_CustomerAOff_In { + out customerA.off(c, setOff(x)) == x +} + +channel C_CustomerBOff_In { + out customerB.off(c, setOff(x)) == x +} + +channel C_CompanyC1Add_In { + out companyC1.add(a, setAdd(y)) == y +} + +channel C_CompanyC2Add_In { + out companyC2.add(a, setAdd(y)) == y +} + +channel CA { + in customerA.off(c, sync(z, u, v)) == z + in companyC1.add(a1, sync(z, u, v)) == u + in companyC2.add(a2, sync(z, u, v)) == v + out customerA.add(a3, sync(z, u, v)) == if(eq(z, C1), u, if(eq(z, C2), v, nil)) +} + +channel CB { + in customerB.off(c, sync(z, u, v)) == z + in companyC1.add(a1, sync(z, u, v)) == u + in companyC2.add(a2, sync(z, u, v)) == v + out customerB.add(a3, sync(z, u, v)) == if(eq(z, C1), u, if(eq(z, C2), v, nil)) +}