{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,4]],"date-time":"2026-04-04T10:27:25Z","timestamp":1775298445514,"version":"3.50.1"},"reference-count":0,"publisher":"EasyChair","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"abstract":"<jats:p>The refinement-based approach to developing software is based on the<\/jats:p><jats:p>correct-by-construction paradigm were software systems are constructed via the step-by-step refinement of an initial high-level specification into a final concrete specification. Proof obligations, generated during this process are discharged to ensure the consistency between refinement levels and hence the system's overall correctness.<\/jats:p><jats:p>Here, we are concerned with the refinement of specifications using the Event B modelling language and its associated toolset, the Rodin platform. In particular, we focus on the final steps of the process where the final concrete specification is transformed into an executable algorithm. The transformations involved are (a) the transformation from an  Event B specification into a concrete recursive algorithm and (b) the transformation from the  recursive algorithm into its equivalent iterative version. We prove both transformations correct and verify the correctness of the final code in a static programme verification environment for C# programs, namely the Spec# programming system.<\/jats:p>","DOI":"10.29007\/9wm9","type":"proceedings-article","created":{"date-parts":[[2018,1,23]],"date-time":"2018-01-23T18:02:53Z","timestamp":1516730573000},"page":"57-39","source":"Crossref","is-referenced-by-count":3,"title":["Transforming Event B Models into Verified C# Implementations"],"prefix":"10.29007","volume":"16","author":[{"given":"Dominique","family":"Mery","sequence":"first","affiliation":[]},{"given":"Rosemary","family":"Monahan","sequence":"additional","affiliation":[]}],"member":"11545","event":{"name":"VPT 2013. First International Workshop on Verification and Program Transformation"},"container-title":["EPiC Series in Computing"],"original-title":[],"deposited":{"date-parts":[[2018,1,23]],"date-time":"2018-01-23T18:02:53Z","timestamp":1516730573000},"score":1,"resource":{"primary":{"URL":"https:\/\/easychair.org\/publications\/paper\/kmrz"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[null]]},"references-count":0,"URL":"https:\/\/doi.org\/10.29007\/9wm9","relation":{},"ISSN":["2398-7340"],"issn-type":[{"value":"2398-7340","type":"print"}],"subject":[]}}