Abstract
Event-B is one of the most commonly used rigorous methods that has proven its value in many applications. To support the development of cyber-physical systems (CPS) continuous extensions to the method have already been proposed and extensions to supporting tools are under development. In this paper further extensions are proposed addressing the need to support asynchronous behaviour of autonomous components in CPS. This can be accomplished by multiple Event-B machines with a semantics defined by concurrent runs, which preserve the semantics of single Event-B machines. This makes only sense, if shared locations are supported as well. A third extension covers partial updates, by means of which conflicting updates to shared locations with bulk data values such as sets or relations that are predominant in Event-B are avoided.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
See [24] for a survey on foundations of CPS.
- 2.
In this paper we disregard extensions concerning unbounded parallelism [16] that is supported by parallel ASMs and can be integrated with concurrency. Unbounded parallelism is not supported by Event-B.
- 3.
This implies further that parallel assignments are sufficient, and every sequential ASM can be normalised in a way that the bounded parallel constructor only applies to assignments. It further gives a theoretical underpinning for the translations between Event-B machines and sequential ASMs investigated in [21].
- 4.
For details and concrete syntax we refer to [2].
- 5.
Usually, the resulting state should not depend on the chosen state, so we could use a state, in which all state variables are undefined.
- 6.
Note that there is a slight discrepancy between the intended reactive semantics of Event-B and the fact that only a single enabled event is selected for execution. One might argue that by observing the guards of events, an event should always be executed once it becomes enabled. However, this requires to deal with synchronous or asynchronous parallelism, which is deliberately avoided in Event-B. In this paper we do not intend to question fundamental decisions concerning the semantics of Event-B, but we provide extensions that will address some of the issues, while the semantics of single Event-B machines will be preserved.
- 7.
Mathematically speaking this requires the set of states to carry the structure of a topological space.
- 8.
Note that terms of the form \(@ x. \varphi \) denoting an arbitrary value x satisfying \(\varphi \) are already present in Event-B. Both kinds of terms were originally introduced by David Hilbert—using j instead of \(\mathbf {I}\) and \(\epsilon \) instead of @. Our change of notation is in accordance with the use of \(\mathbf {I}\) in Fourman’s formalisation of higher-order intuitionistic logic and the use of ANY in Event-B.
- 9.
Actually, in doing so Banach extends Event-B without defining the semantics of the extension.
- 10.
It has been argued that simultaneous access to shared locations by different machines is physically impossible. Consequently, the set \(\hat{I}_i \subseteq I\) of indices of those machines that finish their step in \(S_{i+1}\) should always contain only one element j.
- 11.
- 12.
However, if concurrent runs are restricted to permit only a single machine \(\mathcal {M}_j\) to finalise its latest step in state \(S_{i+1}\), then it is impossible to have clashes.
- 13.
In fact, interleaving expresses parallelism by sequentialisation, which is not exactly what happens in reality. For systems with a sequential implementation—this includes all those built at the time the notion of interleaving was invented—this may be acceptable, for truly asynchronous systems—this includes all distributed systems with multiple processors spread over a network—this workaround is not needed, but in contrast counter-productive.
References
Abrial, J.-R.: The B-book - Assigning Programs to Meanings. Cambridge University Press, Cambridge (2005)
Abrial, J.-R.: Modeling in Event-B - System and Software Engineering. Cambridge University Press, New York (2010)
Abrial, J.-R., Butler, M., Hallerstede, S., Leuschel, M., Schmalz, M., Voisin, L.: Proposals for mathematical extensions for Event-B. Technical report (2010). http://deploy-eprints.ecs.soton.ac.uk/216/
Banach, R.: Issues in automated urban train control: ‘Tackling’ the rugby club problem. In: Butler, M., Raschke, A., Hoang, T.S., Reichl, K. (eds.) ABZ 2018. LNCS, vol. 10817, pp. 171–186. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-91271-4_12
Banach, R.: Core hybrid event-B I: single hybrid event-B machines. Sci. Comput. Program. 105, 92–123 (2015)
Banach, R., Zhu, H., Su, W., Wu, X.: ASM, controller synthesis, and complete refinement. Sci. Comp. Progr. 94, 109–129 (2014)
Boniol, F., Wiels, V.: The landing gear system case study. In: Boniol, F., Wiels, V., Ait Ameur, Y., Schewe, K.-D. (eds.) ABZ 2014. CCIS, vol. 433, pp. 1–18. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-07512-9_1
Börger, E., Schewe, K.-D.: Concurrent abstract state machines. Acta Informatica 53(5), 469–492 (2016)
Börger, E., Schewe, K.-D.: Communication in abstract state machines. J. Univ. Comp. Sci. 23(2), 129–145 (2017)
Börger, E., Stärk, R.: Abstract State Machines. Springer, Heidelberg, New York (2003)
Buga, A., Mashkoor, A., Nemeş, S.T., Schewe, K.-D., Songprasop, P.: Conceptual modelling of hybrid systems. In: Ouhammou, Y., Ivanovic, M., Abelló, A., Bellatreche, L. (eds.) MEDI 2017. LNCS, vol. 10563, pp. 277–290. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66854-3_21
Buga, A., Mashkoor, A., NemeÅŸ, S.T., Schewe, K.-D., Songprasop, P.: An Event-B-based approach to hybrid systems engineering and its application to a hemodialysis machine case study. In: Computer Languages - Systems and Structures (2018, to appear)
Buga, A., Nemeş, S.T., Schewe, K.-D., Songprasop, P.: A conceptual model for systems engineering and its formal foundation. In: Sornlertlamvanich, V., et al. (eds.) Information Modelling and Knowledge Bases XXIX (EJC 2017). Frontiers in Artificial Intelligence and Applications, vol. 301, pp. 1–20. IOS Press (2017)
Dupont, G., Aït-Ameur, Y., Pantel, M., Singh, N.K.: Proof-based approach to hybrid systems development: dynamic logic and event-B. In: Butler, M., Raschke, A., Hoang, T.S., Reichl, K. (eds.) ABZ 2018. LNCS, vol. 10817, pp. 155–170. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-91271-4_11
Farahbod, R., Gervasi, V., Glässer, U.: CoreASM: an extensible ASM execution engine. Fundamenta Informaticae 77(1–2), 71–103 (2007)
Ferrarotti, F., Schewe, K.-D., Tec, L., Wang, Q.: A new thesis concerning synchronised parallel computing - simplified parallel ASM thesis. Theor. Comput. Sci. 649, 25–53 (2016)
Gargantini, A., Riccobene, E., Scandurra, P.: A metamodel-based language and a simulation engine for Abstract State Machines. J. Univ. Comp. Sci. 14(12), 1949–1983 (2008)
Gurevich, Y.: Sequential abstract state machines capture sequential algorithms. ACM Trans. Comput. Logic 1(1), 77–111 (2000)
Lamport, L.: Specifying Systems, the TLA\(^+\) Language and Tools for Hardware and Software Engineers. Addison-Wesley, Boston (2002)
Lecomte, T., Deharbe, D., Prun, E., Mottin, E.: Applying a formal method in industry: a 25-year trajectory. In: Cavalheiro, S., Fiadeiro, J. (eds.) SBMF 2017. LNCS, vol. 10623, pp. 70–87. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-70848-5_6
Leuschel, M., Börger, E.: A compact encoding of sequential ASMs in event-B. In: Butler, M., Schewe, K.-D., Mashkoor, A., Biro, M. (eds.) ABZ 2016. LNCS, vol. 9675, pp. 119–134. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-33600-8_7
Leuschel, M., Butler, M.J.: ProB: an automated analysis toolset for the B method. STTT 10(2), 185–203 (2008)
Mashkoor, A.: The hemodialysis machine case study. In: Butler, M., Schewe, K.-D., Mashkoor, A., Biro, M. (eds.) ABZ 2016. LNCS, vol. 9675, pp. 329–343. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-33600-8_29
Platzer, A.: Analog and hybrid computation: dynamical systems and programming languages. Bull. EATCS 114, 152–199 (2014)
Schellhorn, G., Ernst, G., Pfähler, J., Bodenmüller, S., Reif, W.: Symbolic execution for a clash-free subset of ASMs. Sci. Comput. Program. 158, 21–40 (2018)
Schewe, K.-D., Ferrarotti, F., Tec, L., Wang, Q.: Towards a behavioural theory for random parallel computing. In: Beierle, C., Brewka, G., Thimm, M. (eds.) Computational Models of Rationality - Essays Dedicated to Gabriele Kern-Isberner on the Occasion of her 60th Birthday, Tributes, vol. 29, pp. 365–373. College Publications (2016)
Schewe, K.-D., Wang, Q.: Partial updates in complex-value databases. In: Heimbürger, A., et al., (eds.) Information and Knowledge Bases XXII. Frontiers in Artificial Intelligence and Applications, vol. 225, pp. 37–56. IOS Press (2011)
Su, W., Abrial, J.-R., Zhu, H.: Formalizing hybrid systems with event-B and the Rodin platform. Sci. Comput. Program. 94, 164–202 (2014)
Thalheim, B.: Entity-Relationship Modeling - Foundations of Database Technology. Springer, Heidelberg (2000)
Voisin, L., Abrial, J.R.: The Rodin platform has turned ten. In: Ait Ameur, Y., Schewe, K.D. (eds.) Abstract State Machines, Alloy, B, TLA, VDM, and Z. ABZ 2014. Lecture Notes in Computer Science, vol. 8477, pp. 1–8. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-662-43652-3_1
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Schewe, KD. (2018). Extensions to Hybrid Event-B to Support Concurrency in Cyber-Physical Systems. In: Abdelwahed, E., Bellatreche, L., Golfarelli, M., Méry, D., Ordonez, C. (eds) Model and Data Engineering. MEDI 2018. Lecture Notes in Computer Science(), vol 11163. Springer, Cham. https://doi.org/10.1007/978-3-030-00856-7_28
Download citation
DOI: https://doi.org/10.1007/978-3-030-00856-7_28
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-00855-0
Online ISBN: 978-3-030-00856-7
eBook Packages: Computer ScienceComputer Science (R0)