Abstract
The actor model is a concurrent object-based computational model in which event-driven and asynchronously communicating actors are units of concurrency. Actors are widely used in modeling real-time and distributed systems. Floating-Time Transition System (FTTS) is proposed as an alternative semantics for timed actors, and schedulability and deadlock-freedom analysis techniques have been developed for it. The absence of shared variables and blocking send or receive, and the presence of single-threaded actors along with non-preemptive execution of each message server, ensure that the execution of message servers do not interfere with each other. The Floating-Time Transition System semantics exploits this by executing message servers in isolation, and by relaxing the synchronization of progress of time among actors, and thereby has fewer states in the transition system. Considering an actor-based language, we prove a weak bisimulation relation between FTTS and Timed Transition System, which is generally the standard semantic framework for discrete-time systems. Thus, the FTTS semantics preserves event-based branching-time properties. Our experimental results show a significant reduction in the state space for most of the examples we have studied.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
The latest version of the toolset (version 2.5.0) is accessible from http://www.rebeca-lang.org/wiki/pmwiki.php/Tools/RMC
References
Rebeca Home Page. http://www.rebeca-lang.org
Agha, G., Mason, I.A., Smith, S.F., Talcott, C.L.: A foundation for actor computation. J. Funct. Program. 7(1), 1–72 (1997)
Agha, G.A.: ACTORS - A Model of Concurrent Computation in Distributed Systems. MIT Press series in artificial intelligence. MIT Press, Cambridge (1990)
Alur, R., Dill, D.L.: A theory of timed automata. Theor. Comput. Sci. 126(2), 183–235 (1994)
Armstrong, J.: A history of Erlang. In: Ryder, B.G., Hailpern, B. (eds.) HOPL, pp. 1–26. ACM (2007)
Baier, C., Katoen, J.P.: Principles of Model Checking. MIT Press, Cambridge (2008)
Bultan, T., Ouederni, M., Basu, S.: Synchronizability for verification of asynchronously communicating systems. In: Kuncak, V., Rybalchenko, A. (eds.) VMCAI 2012. LNCS, vol. 7148, pp. 56–71. Springer, Heidelberg (2012)
Bengtsson, J., Larsen, K.G., Larsson, F., Pettersson, P., Yi, W.: UPPAAL - a tool suite for automatic verification of real-time systems. In: Alur, R., Henzinger, T.A., Sontag, E.D. (eds.) Hybrid Systems. LNCS, vol. 1066, pp. 232–243. Springer, Heidelberg (1995)
Bozga, M., Maler, O., Tripakis, S.: Efficient verification of timed automata using dense and discrete time semantics. In: Pierre, L., Kropf, T. (eds.) CHARME 1999. LNCS, vol. 1703, pp. 125–141. Springer, Heidelberg (1999)
Cho, B., Rahman, M., Chajed, T., Gupta, I., Abad, C., Roberts, N., Lin, P.: Natjam: design and evaluation of eviction policies for supporting priorities and deadlines in mapreduce clusters. In: Lohman, G.M. (ed.) SoCC, p. 6. ACM (2013)
Desai, A., Garg, P., Madhusudan, P.: Natural proofs for asynchronous programs using almost-synchronous reductions. In: Black, A.P., Millstein, T.D. (eds.) Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications, OOPSLA 2014, part of SPLASH 2014, 20–24 October 2014, Portland, OR, USA, pp. 709–725. ACM (2014)
Fredlund, L.Å., Earle, C.B.: Verification of timed Erlang programs using McErlang. In: Giese, H., Rosu, G. (eds.) FORTE 2012 and FMOODS 2012. LNCS, vol. 7273, pp. 251–267. Springer, Heidelberg (2012)
Ibarra, O.H., Su, J.: Generalizing the discrete timed automaton. In: Yu, S., Păun, A. (eds.) CIAA 2000. LNCS, vol. 2088, p. 157. Springer, Heidelberg (2001)
Khamespanah, E., Khosravi, R., Sirjani, M.: Efficient TCTL model checking algorithm for timed actors. In: Boix, E.G., Haller, P., Ricci, A., Varela, C. (eds.) Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control, AGERE! 2014, 20 October 2014, Portland, OR, USA, pp. 55–66. ACM (2014)
Khamespanah, E., Sirjani, M., Sabahi-Kaviani, Z., Khosravi, R., Izadi, M.: Timed Rebeca schedulability and deadlock freedom analysis using bounded floating time transition system. Sci. Comput. Program. 98, 184–204 (2015)
Lepri, D., Ábrahám, E., Ölveczky, P.C.: Timed CTL model checking in real-time Maude. In: Durán, F. (ed.) WRLA 2012. LNCS, vol. 7571, pp. 182–200. Springer, Heidelberg (2012)
Linderman, L.E., Mechitov, K., Spencer, B.F.: TinyOS-based real-time wireless data acquisition framework for structural health monitoring and control. Struct. Control Health Monit. 20(6), 1007–1020 (2013)
Manohar, R., Martin, A.J.: Slack elasticity in concurrent computing. In: Jeuring, J. (ed.) MPC 1998. LNCS, vol. 1422, p. 272. Springer, Heidelberg (1998)
Mechitov, K.A., Khamespanah, E., Sirjani, M., Agha, G.: A Model Checking Approach for Schedulability Analysis of Distributed Real-Time Sensor Network Applications (2015). Submitted for Publication
Ölveczky, P.C., Meseguer, J.: Specification and analysis of real-time systems using real-time Maude. In: Wermelinger, M., Margaria-Steffen, T. (eds.) FASE 2004. LNCS, vol. 2984, pp. 354–358. Springer, Heidelberg (2004)
Ölveczky, P.C., Meseguer, J.: Real-time Maude 2.1. Electr. Notes Theor. Comput. Sci. 117, 285–314 (2005)
Reynisson, A.H., Sirjani, M., Aceto, L., Cimini, M., Jafari, A., Ingólfsdóttir, A., Sigurdarson, S.H.: Modelling and simulation of asynchronous real-time systems using timed Rebeca. Sci. Comput. Program. 89, 41–68 (2014)
Khamespanah, E., Ölveczky, P.C., Sirjani, M., Khosravi, R., Sabahi-Kaviani, Z.: Formal semantics and analysis of timed Rebeca in real-time Maude. In: Artho, C., Ölveczky, P.C. (eds.) FTSCS 2013. CCIS, vol. 419, pp. 178–194. Springer, Heidelberg (2014)
Sharifi, Z., Mohammadi, S., Sirjani, M.: Comparison of NoC routing algorithms using formal methods. In: PDPTA (2013)
Sharifi, Z., Mosaffa, M., Mohammadi, S., Sirjani, M.: Functional and performance analysis of network-on-chips using actor-based modeling and formal verification. ECEASST 66 (2013)
Sirjani, M., Movaghar, A., Shali, A., de Boer, F.S.: Modeling and verification of reactive systems using Rebeca. Fundam. Inform. 63(4), 385–410 (2004)
Sprenger, C.: A verified model checker for the modal \(\mu \)-Calculus in Coq. In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, p. 167. Springer, Heidelberg (1998)
Acknowledgements
This work has been partially supported by the project “Timed Asynchronous Reactive Objects in Distributed Systems: TARO” (nr. 110020021) of the Icelandic Research Fund.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
A Proof of Theorem 1
A Proof of Theorem 1
To prove that the first condition of action-based weak bismulation holds for \(\mathcal {R}\), based on the type of tmsg the following two cases are possible.
-
\(\mathbf {s \mathop {\rightarrow }\limits ^{tmsg} t}\): Based on the definition of relation \(\mathcal {R}\), in this case projection function for all the rebecs in s and t return the same value except for the sender and receiver of tmsg. For the sender rebec (assume that it is \(r_i\)) the difference is in the bag of sent messages, results in \(sent_{t,i}=sent_{s,i}-tmsg\). On the other hand, projection function in \(s'\) and \(t'\) have the same value for all the rebecs except the sender and receiver of tmsg. For the sender rebec (assume that it is \(r_i\)) the difference is in the bag of sent messages, results in \(sent_{t',i}=sent_{s',i}-tmsg\). For the receiver rebec (assume that it is \(r_j\)), there is a completing trace \(CT_{t,j}\) such that Proj(t, j) returns valuation of state variables of \(r_j\) from the target state of \(CT_{t,j}\) and messages which are sent by \(r_j\) in t in union with messages which are sent during \(CT_{t,j}\). In FTTS state \(t'\), projection function returns valuation of state variables and the sent messages of \(r_j\) after the execution of all the statements of tmsg (i.e. doing transition tmsg in FTTS) which is the same as what projection function returns in t. Therefore, there is \(t~\mathcal {R}~t'\) as the results of projection function in t and \(t'\) are the same for all the rebecs.
-
\(\mathbf {s \mathop {\rightarrow }\limits ^{\tau } t}\): As transition from s to t is not observable, we have to show that there is relation \(\mathcal {R}\) between t and \(s'\). This way, doing a \(\tau \) transition from s results in stuttering in \(s'\) as one of the properties of action-based weak bisimulation relations.
Assume that \(\tau \) transition belongs to rebec \(r_i\). Doing \(\tau \) transition by \(r_i\) makes projection function return the same result in s and t for all the rebecs except \(r_i\). It is because of the fact that only \(r_i\) has progress which may result in changing the valuation of its state variables or sending a message to other rebec. For \(r_i\) in state s one of the completing traces is a trace which contains \(\tau \) transition from s to t as its first transition. Therefore, completing traces of \(r_i\) which are started from s and t are ended in the same target state, results in \(Proj(s,i)=Proj(t,i)\). Therefore, result of projection function for all the rebecs in TTS and FTTS are the same and t is in relation \(\mathcal {R}\) with \(s'\).
To prove the second condition, as all the transitions in FTTS are taking-event transitions, tmsg must be taking-event transition. On the other hand, transition tmsg is enabled in s as we discussed in Proposition 2. Now we can prove that t and \(t'\) are in relation \(\mathcal {R}\) with the argument the same as what we did in case \(s \mathop {\rightarrow }\limits ^{tmsg} t\) of condition one.
Finally, we have to show that the initial states of the transitions systems are in relation \(\mathcal {R}\). As the program counter of all of the rebecs in \(s_0\) is set to null, the completing traces started from \(s_0\) are \(\epsilon \). So, for any given rebec \(r_i\), \(state_i(CT_{s,i})=state(s,i)=state(s',i)\), \(sent(CT_{s,i}) = \emptyset \rightarrow sent(s_0, i) = sent(s'_0, i)\), and \(now(CT_{s,i}) = now(s) = now(s',i) = 0\), results in \(s_0~\mathcal {R}~s'_0\). \(\square \)
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Khamespanah, E., Sirjani, M., Viswanathan, M., Khosravi, R. (2016). Floating Time Transition System: More Efficient Analysis of Timed Actors. In: Braga, C., Ölveczky, P. (eds) Formal Aspects of Component Software. FACS 2015. Lecture Notes in Computer Science(), vol 9539. Springer, Cham. https://doi.org/10.1007/978-3-319-28934-2_13
Download citation
DOI: https://doi.org/10.1007/978-3-319-28934-2_13
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-28933-5
Online ISBN: 978-3-319-28934-2
eBook Packages: Computer ScienceComputer Science (R0)