Event-B is a refinement-based formal method that is used for system-level modeling and analysis of concurrent and distributed systems. Work has been done to extend Event-B with discrete time constraints. However the previous work does not capture the communication and competition between concurrent processes. In this paper, we distinguish task-based timing properties with scheduler-based timing properties from the perspective of different system design phases. To refine task-based timing properties with scheduler-based timing properties based on existing trigger-response patterns, we introduce a nondeterministic queue based scheduling framework to schedule processes under concurrent circumstances, which addresses the problems of refining deadline constraint under concurrent situations. Additional gluing invariants are provided to this refinement. To demonstrate the usability of the framework, we provide approaches to refine this framework with FIFO scheduling policy as well as deferrable priority based scheduling policy with aging technique. We demonstrate our framework and refinement with a timed mutual exclusion case study. The model is proved using the Rodin tool.
If you cannot see the document below, the PDF document is most likely not freely accessible. In this case, please try to access the document via this link.
% BibTex
@inproceedings{ZhuBC18,
author = {Chenyang Zhu and
Michael J. Butler and
Corina C{\^{\i}}rstea},
editor = {Michael J. Butler and
Alexander Raschke and
Thai Son Hoang and
Klaus Reichl},
title = {Refinement of Timing Constraints for Concurrent Tasks with Scheduling},
booktitle = {Abstract State Machines, Alloy, B, TLA, VDM, and {Z} - 6th International
Conference, {ABZ} 2018, Southampton, UK, June 5-8, 2018, Proceedings},
series = {Lecture Notes in Computer Science},
volume = {10817},
pages = {219--233},
publisher = {Springer},
year = {2018},
url = {https://doi.org/10.1007/978-3-319-91271-4\_15},
doi = {10.1007/978-3-319-91271-4\_15},
timestamp = {Wed, 14 Aug 2019 12:01:55 +0200},
biburl = {https://dblp.org/rec/conf/asm/ZhuBC18.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}