A Probabilistic Framework for Object-Oriented Modeling and Analysis of Distributed Systems
Creol is an executable, formally defined modeling language with advanced object-oriented features, tailored for modeling software systems consisting of physically distributed components, each running on its own processor and communicating by means of asynchronous method calls. Creol is oriented towards qualitative analysis, abstracting away from underlying software and hardware system properties. In this paper we propose a probabilistic extension of Creol, oriented towards quantitative analysis, called PCreol, and give its operational semantics by means of probabilistic rewrite theories. This extension is motivated by the need to model a) communication over networks of different quality, b) software components running randomized algorithms, c) independent processor speeds, d) process scheduling, and e) an open environment exhibiting probabilistic behavior. The syntax of PCreol therefore includes means for modeling random expressions, a probabilistic choice operator, random assignment, call statements with priorities, and object creation statements that set an object’s computation speed, as well as its quality of communication with other objects. We give details on the implementation of a prototype PCreol interpreter—on top of the existing one for Creol—which is executable in Maude. Furthermore, we integrate PCreol with the VeStA tool, to support probabilistic reasoning of PCreol models by statistical model checking and quantitative analysis. By probabilistic modeling of independent processor speeds, representative runs of a PCreol model are obtained using discrete-event simulation, and the model checking problem of large models becomes feasible. We provide concrete examples of PCreol models and show how VeStA can be used to reason about them.
Unable to display preview. Download preview PDF.
- 2.Agha, G.: Actors: A model of concurrent computation in distributed systems. MIT Press, Cambridge (1986)Google Scholar
- 6.Baier, C., Ciesinski, F., Grosser, M.: PROBMELA: A modeling language for communicating probabilistic processes. In: Proc. 2nd ACM and IEEE Intl. Conference on Formal Methods and Models for Co-Design (MEMOCODE 2004), pp. 57–66 (2004)Google Scholar
- 7.Bentea, L., Owe, O.: Towards an object-oriented modeling language for probabilistic open distributed systems. Technical Report 397, Univ. of Oslo (2010), http://www.ifi.uio.no/~lucianb/publications/2010/pcreol.pdf
- 10.den Hartog, J.: Probabilistic Extensions of Semantical Models. Ph.D. thesis, Vrije Univ., Amsterdam (2002)Google Scholar
- 11.Holzmann, G.: The Spin model checker: Primer and reference manual, 1st edn. Addison-Wesley Professional (2003)Google Scholar
- 13.Johnsen, E.B., Blanchette, J.C., Kyas, M., Owe, O.: Intra-object versus inter-object: Concurrency and reasoning in Creol. In: Proc. 2nd Intl. Workshop on Harnessing Theories for Tool Support in Software (TTSS 2008). Electronic Notes in Theoretical Computer Science, vol. 243, pp. 89–103. Elsevier (2009)Google Scholar
- 14.Johnsen, E.B., Owe, O., Axelsen, E.W.: A run-time environment for concurrent objects with asynchronous method calls. In: Martí-Oliet, N. (ed.) Proc. 5th Intl. Workshop on Rewriting Logic and its Applications (WRLA 2004). Electronic Notes in Theoretical Computer Science, vol. 117, pp. 375–392. Elsevier (January 2005)Google Scholar
- 15.Kim, M., Stehr, M.O., Talcott, C., Dutt, N., Venkatasubramanian, N.: A Probabilistic Formal Analysis Approach to Cross Layer Optimization in Distributed Embedded Systems. In: Bonsangue, M.M., Johnsen, E.B. (eds.) FMOODS 2007. LNCS, vol. 4468, pp. 285–300. Springer, Heidelberg (2007)CrossRefGoogle Scholar
- 16.Kumar, N., Sen, K., Meseguer, J., Agha, G.: Probabilistic rewrite theories: Unifying models, logics and tools. Technical report UIUCDCS-R-2003-2347, Department of Computer Science, Univ. of Illinois at Urbana-Champaign (2003)Google Scholar
- 22.Sen, K., Viswanathan, M., Agha, G.A.: VESTA: A statistical model-checker and analyzer for probabilistic systems. In: Proc. 2nd Intl. Conf. on the Quantitative Evaluation of Systems (QEST 2005), pp. 251–252. IEEE Computer Society (2005)Google Scholar