rule { include log from "socket://localhost:8002" include getTime from "socket://localhost:8003" newRoles: logger location@logger: "socket://localhost:15000" on { N.scopename == "success-notification" } do { r@client = show( "Object shipped" ) | { log: seller( sel_product + " " + payment ) -> logger( entry ); time@logger = getTime(); log_entry@logger = time + ": " + entry; { r1@logger = log( log_entry ) | r2@logger = show( log_entry ) } } } } rule { on { N.scopename == "transaction-execution" and E.delayed_payment_threshold < price } do { issuePayment: bank( amount / 2 ) -> seller( first_payment ); r@seller = show( "Received first instalment: " + first_payment + ". Sending product." ); objectSent: seller() -> client(); issuePayment: bank( amount / 2 ) -> seller( second_payment ); r@seller = show( "Received second instalment. " ); payment@seller = first_payment + second_payment } }