From b79d5358b26a4fcf3163dd91856b742ee31624b2 Mon Sep 17 00:00:00 2001 From: Johannes Theiner Date: Tue, 14 Apr 2020 17:29:33 +0200 Subject: [PATCH] + mcrl2 files --- .../EWD123}/controller/controller.go | 0 {EWD123 => go/EWD123}/ewd123.go | 0 {EWD123 => go/EWD123}/ewd123a/ewd123a.go | 0 {EWD123 => go/EWD123}/ewd123b/ewd123b.go | 0 {EWD123 => go/EWD123}/ewd123c/ewd123c.go | 0 {EWD123 => go/EWD123}/ewd123d/ewd123d.go | 0 .../EWD123}/ewd123dekker/ewd123dekker.go | 0 mCRL2/TrafiicLights/TrafficLights v1_spec.lts | Bin 0 -> 11733 bytes mCRL2/TrafiicLights/TrafficLights v2_spec.lts | Bin 0 -> 19619 bytes mCRL2/TrafiicLights/TrafficLights v3_spec.lts | Bin 0 -> 5610 bytes mCRL2/TrafiicLights/TrafficLights v4_spec.lts | Bin 0 -> 2028 bytes .../TrafficLights v4_spec_bb.lts | Bin 0 -> 1838 bytes mCRL2/VendingMachine/02_VM bounded.lps | Bin 0 -> 2806 bytes mCRL2/VendingMachine/02_VM bounded.lts | Bin 0 -> 12231 bytes mCRL2/VendingMachine/VendingMachine.mcrl2proj | 4 + .../VendingMachine/VendingMachine_spec.mcrl2 | 80 ++++++++++++++++++ 16 files changed, 84 insertions(+) rename {EWD123 => go/EWD123}/controller/controller.go (100%) rename {EWD123 => go/EWD123}/ewd123.go (100%) rename {EWD123 => go/EWD123}/ewd123a/ewd123a.go (100%) rename {EWD123 => go/EWD123}/ewd123b/ewd123b.go (100%) rename {EWD123 => go/EWD123}/ewd123c/ewd123c.go (100%) rename {EWD123 => go/EWD123}/ewd123d/ewd123d.go (100%) rename {EWD123 => go/EWD123}/ewd123dekker/ewd123dekker.go (100%) create mode 100644 mCRL2/TrafiicLights/TrafficLights v1_spec.lts create mode 100644 mCRL2/TrafiicLights/TrafficLights v2_spec.lts create mode 100644 mCRL2/TrafiicLights/TrafficLights v3_spec.lts create mode 100644 mCRL2/TrafiicLights/TrafficLights v4_spec.lts create mode 100644 mCRL2/TrafiicLights/TrafficLights v4_spec_bb.lts create mode 100644 mCRL2/VendingMachine/02_VM bounded.lps create mode 100644 mCRL2/VendingMachine/02_VM bounded.lts create mode 100644 mCRL2/VendingMachine/VendingMachine.mcrl2proj create mode 100644 mCRL2/VendingMachine/VendingMachine_spec.mcrl2 diff --git a/EWD123/controller/controller.go b/go/EWD123/controller/controller.go similarity index 100% rename from EWD123/controller/controller.go rename to go/EWD123/controller/controller.go diff --git a/EWD123/ewd123.go b/go/EWD123/ewd123.go similarity index 100% rename from EWD123/ewd123.go rename to go/EWD123/ewd123.go diff --git a/EWD123/ewd123a/ewd123a.go b/go/EWD123/ewd123a/ewd123a.go similarity index 100% rename from EWD123/ewd123a/ewd123a.go rename to go/EWD123/ewd123a/ewd123a.go diff --git a/EWD123/ewd123b/ewd123b.go b/go/EWD123/ewd123b/ewd123b.go similarity index 100% rename from EWD123/ewd123b/ewd123b.go rename to go/EWD123/ewd123b/ewd123b.go diff --git a/EWD123/ewd123c/ewd123c.go b/go/EWD123/ewd123c/ewd123c.go similarity index 100% rename from EWD123/ewd123c/ewd123c.go rename to go/EWD123/ewd123c/ewd123c.go diff --git a/EWD123/ewd123d/ewd123d.go b/go/EWD123/ewd123d/ewd123d.go similarity index 100% rename from EWD123/ewd123d/ewd123d.go rename to go/EWD123/ewd123d/ewd123d.go diff --git a/EWD123/ewd123dekker/ewd123dekker.go b/go/EWD123/ewd123dekker/ewd123dekker.go similarity index 100% rename from EWD123/ewd123dekker/ewd123dekker.go rename to go/EWD123/ewd123dekker/ewd123dekker.go diff --git a/mCRL2/TrafiicLights/TrafficLights v1_spec.lts b/mCRL2/TrafiicLights/TrafficLights v1_spec.lts new file mode 100644 index 0000000000000000000000000000000000000000..bc62f41f25494d755521bd97bb9b6a0442885992 GIT binary patch literal 11733 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 D-Vp-p literal 0 HcmV?d00001 diff --git a/mCRL2/TrafiicLights/TrafficLights v2_spec.lts b/mCRL2/TrafiicLights/TrafficLights v2_spec.lts new file mode 100644 index 0000000000000000000000000000000000000000..ff183e6cca4866a4be9b0ecd0f67aaae11ed0287 GIT binary patch literal 19619 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 A!vFvP literal 0 HcmV?d00001 diff --git a/mCRL2/TrafiicLights/TrafficLights v3_spec.lts b/mCRL2/TrafiicLights/TrafficLights v3_spec.lts new file mode 100644 index 0000000000000000000000000000000000000000..750d28a3cede7e3133253804c3daf4e1c6e705e9 GIT binary patch literal 5610 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 tXNYdZ@zv>FS5nMr{{%|NKA!*p literal 0 HcmV?d00001 diff --git a/mCRL2/TrafiicLights/TrafficLights v4_spec.lts b/mCRL2/TrafiicLights/TrafficLights v4_spec.lts new file mode 100644 index 0000000000000000000000000000000000000000..c4422c5c21d720316ac78bd0b21b3180da77cd5d GIT binary patch literal 2028 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 Qu5s0SiMxi6-YwqyUuMc}VE_OC literal 0 HcmV?d00001 diff --git a/mCRL2/VendingMachine/02_VM bounded.lts b/mCRL2/VendingMachine/02_VM bounded.lts new file mode 100644 index 0000000000000000000000000000000000000000..dcd93c980ad29bbe709abb8b76b30272d090c8aa GIT binary patch literal 12231 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 literal 0 HcmV?d00001 diff --git a/mCRL2/VendingMachine/VendingMachine.mcrl2proj b/mCRL2/VendingMachine/VendingMachine.mcrl2proj new file mode 100644 index 0000000..6bb9ccb --- /dev/null +++ b/mCRL2/VendingMachine/VendingMachine.mcrl2proj @@ -0,0 +1,4 @@ + + VendingMachine_spec.mcrl2 + + diff --git a/mCRL2/VendingMachine/VendingMachine_spec.mcrl2 b/mCRL2/VendingMachine/VendingMachine_spec.mcrl2 new file mode 100644 index 0000000..cc5bbaf --- /dev/null +++ b/mCRL2/VendingMachine/VendingMachine_spec.mcrl2 @@ -0,0 +1,80 @@ +% +% VM.mcrl2 +% +% A Simple Vending Machine. +% +% Copyright (c) 2019-2019 HS Emden-Leer +% All Rights Reserved. +% +% @version 1.00 - 01 Apr 2019 - GJV - initial version +% + +% ----------------------------------------------------------------------------------------------------------------------- +% +% Definition of the coins +% +sort + Coin = struct _5c | _10c | _20c | _50c | Euro; + +map + value: Coin -> Int; % the value of a coin as an integer + +eqn + value(_5c) = 5; + value(_10c) = 10; + value(_20c) = 20; + value(_50c) = 50; + value(Euro) = 100; + + +% ----------------------------------------------------------------------------------------------------------------------- +% +% Definition of the products +% +sort + Product = struct tea | coffee | cake | apple; + +map + price: Product -> Int; % the price of a product as an integer + +eqn + value(tea) = 10; + value(coffee) = 25; + value(cake) = 60; + value(apple) = 80; + +% ----------------------------------------------------------------------------------------------------------------------- +% +% Definition of the actions +% +act + accept: Coin; % accept a coin inserted into the machine + return: Coin; % returns change + offer: Product; % offer the possibility to order a certain product + serve: Product; % serve a certain product + returnChange: Int; % request to return the current credit as change + +% +% Definition of the processes +% +proc + VendingMachine = VM(0); + + VM(credit : Int) = + (credit < 200) -> sum c : Coin.accept(c).VM(credit + value(c)) + + sum p : Product.( + (credit > 0) -> returnChange(credit).ReturnChange(credit + price(p)) + ) + + (credit > 0) -> returnChange(credit).ReturnChange(credit); + + + ReturnChange(credit : Int) = + sum c : Coin.((credit >= value(c) && credit < next(c)) -> return(c).( + ((credit - value(c)) >0) -> ReturnChange(credit - value(c)) <> VM(credit - value(c)) + )); + +% ----------------------------------------------------------------------------------------------------------------------- + +init + VendingMachine +;