diff --git a/AlgebraicDataflowArchitectureModel/models/SSDStore.model b/AlgebraicDataflowArchitectureModel/models/SSDStore.model new file mode 100644 index 0000000..ced0165 --- /dev/null +++ b/AlgebraicDataflowArchitectureModel/models/SSDStore.model @@ -0,0 +1,23 @@ +channel capacityIn { + out capacity(cap:int, setCapacity(cap2)) == cap2 +} + +channel priceIn { + out price(pri:int, setPrice(pri2)) == pri2 +} + +channel siteAIn { + out siteAProducts(pro:List, addProduct(price:Int, capacity:Int)) == cons({"price": price, "capacity": capacity}, pro) +} + +channel capacityUpdate { + in siteAProducts(pro:List, updateList(pro2, cap2)) == pro2 + in capacity(cap:int, updateList(pro2, cap2)) == cap2 + out itemsByCapacity(items:List, updateList(pro2, cap2)) == selectGE(pro2, "capacity", cap2) +} + +channel priceUpdate { + in siteAProducts(pro:List, updateList(pro2, pri2)) == pro2 + in price(pri:int, updateList(pro2, pri2)) == pri2 + out itemsByPrice(items:List, updateList(pro2, pri2)) == selectLE(pro2, "price", pri2) +} \ No newline at end of file