{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T10:41:43Z","timestamp":1740134503367,"version":"3.37.3"},"reference-count":53,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2018,1,23]],"date-time":"2018-01-23T00:00:00Z","timestamp":1516665600000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"EU FET-Proactive programme through QUANTICOL","award":["600708"]},{"name":"European Research Council","award":["MLCS306999"]},{"name":"Microsoft Research through its PhD Scholarship Programme"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Model. Comput. Simul."],"published-print":{"date-parts":[[2018,1,31]]},"abstract":"Formal languages like process algebras have been shown to be effective tools in modelling a wide range of dynamic systems, providing a high-level description that is readily transformed into an executable model. However, their application is sometimes hampered because the quantitative details of many real-world systems of interest are not fully known. In contrast, in machine learning, there has been work to develop probabilistic programming languages, which provide system descriptions that incorporate uncertainty and leverage advanced statistical techniques to infer unknown parameters from observed data. Unfortunately, current probabilistic programming languages are typically too low-level to be suitable for complex modelling.<\/jats:p>\n In this article, we present a Probabilistic Programming Process Algebra (ProPPA), the first instance of the probabilistic programming paradigm being applied to a high-level, formal language, and its supporting tool suite. We explain the semantics of the language in terms of a quantitative generalisation of Constraint Markov Chains and describe the implementation of the language, discussing in some detail the different inference algorithms available and their domain of applicability. We conclude by illustrating the use of the language on simple but non-trivial case studies: here, ProPPA is shown to combine the elegance and simplicity of high-level formal modelling languages with an effective way of incorporating data, making it a promising tool for modelling studies.<\/jats:p>","DOI":"10.1145\/3154392","type":"journal-article","created":{"date-parts":[[2018,1,26]],"date-time":"2018-01-26T13:05:50Z","timestamp":1516971950000},"page":"1-23","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":4,"title":["ProPPA"],"prefix":"10.1145","volume":"28","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-7187-5443","authenticated-orcid":false,"given":"Anastasis","family":"Georgoulas","sequence":"first","affiliation":[{"name":"University College London, London, United Kingdom"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4914-9255","authenticated-orcid":false,"given":"Jane","family":"Hillston","sequence":"additional","affiliation":[{"name":"University of Edinburgh, Edinburgh, United Kingdom"}]},{"given":"Guid","family":"Sanguinetti","sequence":"additional","affiliation":[{"name":"University of Edinburgh, Edinburgh, United Kingdom"}]}],"member":"320","published-online":{"date-parts":[[2018,1,23]]},"reference":[{"volume-title":"A Process Algebraic Approach to Software Architecture Design","author":"Aldini Alessandro","key":"e_1_2_1_1_1"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.ijar.2015.06.003"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1214\/07-AOS574"},{"key":"e_1_2_1_4_1","volume-title":"LNCS","volume":"1102","author":"Aziz Adnan","year":"1996"},{"key":"e_1_2_1_5_1","volume-title":"LNCS","volume":"4545","author":"Baldan Paolo","year":"2007"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.5555\/1987211.1987216"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2016.34"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-40196-1_7"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11222-007-9043-x"},{"key":"e_1_2_1_10_1","doi-asserted-by":"crossref","unstructured":"Lubo\u0161 Brim Milan \u010ce\u0161ka Sven Dra\u017ean and David \u0160afr\u00e1nek. 2013. Exploring parameter space of stochastic biochemical systems using quantitative model checking. In Computer Aided Verification. 107--123. http:\/\/link.springer.com\/chapter\/10.1007\/978-3-642-39799-8_7 Lubo\u0161 Brim Milan \u010ce\u0161ka Sven Dra\u017ean and David \u0160afr\u00e1nek. 2013. Exploring parameter space of stochastic biochemical systems using quantitative model checking. In Computer Aided Verification. 107--123. http:\/\/link.springer.com\/chapter\/10.1007\/978-3-642-39799-8_7","DOI":"10.1007\/978-3-642-39799-8_7"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.tcs.2011.05.010"},{"key":"e_1_2_1_12_1","volume-title":"LNCS","volume":"4220","author":"Calzone Laurence","year":"2006"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.tcs.2009.02.037"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/5397.5399"},{"volume-title":"Kendall","year":"1964","author":"Daley Daryl J.","key":"e_1_2_1_15_1"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1111\/biom.12152"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.tcs.2011.07.006"},{"volume-title":"Quantitative Evaluation of Systems, Gethin Norman and William Sanders (Eds.)","series-title":"Lecture Notes in Computer Science","author":"Georgoulas Anastasis","key":"e_1_2_1_18_1"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-40708-6_12"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11222-016-9667-9"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00236-016-0278-x"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1021\/j100540a008"},{"volume-title":"Tenenbaum","year":"2008","author":"Goodman Noah D.","key":"e_1_2_1_23_1"},{"volume-title":"Goodman and Andreas Stuhlm\u00fcller","year":"2014","author":"Noah","key":"e_1_2_1_24_1"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/2535838.2535850"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/2593882.2593900"},{"volume-title":"Interactive Markov Chains: The Quest for Quantified Quality","author":"Hermanns Holger","key":"e_1_2_1_27_1"},{"key":"e_1_2_1_28_1","doi-asserted-by":"crossref","unstructured":"Jane Hillston. 1996. A Compositional Approach to Performance Modelling. CUP. http:\/\/dl.acm.org\/citation.cfm?id=236373 Jane Hillston. 1996. A Compositional Approach to Performance Modelling. CUP. http:\/\/dl.acm.org\/citation.cfm?id=236373","DOI":"10.1017\/CBO9780511569951"},{"volume-title":"Monte Carlo Strategies in Scientific Computing","author":"Liu Jun S.","key":"e_1_2_1_29_1"},{"volume-title":"On Russian roulette estimates for Bayesian inference with doubly-intractable likelihoods. Statist. Sci. 30, 4 (11","year":"2015","author":"Lyne Anne-Marie","key":"e_1_2_1_30_1"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/CEC.2011.5949765"},{"volume-title":"Computational Methods in Systems Biology, David Gilbert and Monika Heiner (Eds.)","series-title":"Lecture Notes in Computer Science","author":"Marco David","key":"e_1_2_1_32_1"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/2330163.2330189"},{"key":"e_1_2_1_34_1","doi-asserted-by":"crossref","unstructured":"J. Mart\u00ednez and M. Silva. 1982. A Simple and Fast Algorithm to Obtain All Invariants of a Generalised Petri Net. Springer Berlin Germany 301--310. J. Mart\u00ednez and M. Silva. 1982. A Simple and Fast Algorithm to Obtain All Invariants of a Generalised Petri Net. Springer Berlin Germany 301--310.","DOI":"10.1007\/978-3-642-68353-4_47"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00165-011-0188-1"},{"volume-title":"Knowles","year":"2012","author":"Minka Tom","key":"e_1_2_1_36_1"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2522968.2522973"},{"volume-title":"AAAI Conference on Artificial Intelligence. AAAI. http:\/\/research.microsoft.com\/apps\/pubs\/default.aspx?id=211941","year":"2014","author":"Nori Aditya V.","key":"e_1_2_1_38_1"},{"volume-title":"Advances in Neural Information Processing Systems 20","author":"Opper Manfred","key":"e_1_2_1_39_1"},{"volume-title":"Introduction to Statistical Relational Learning","author":"Pfeffer Avi","key":"e_1_2_1_40_1"},{"volume-title":"CTPPL: A continuous time probabilistic programming language. In IJCAI. 1943--1950.","year":"2009","author":"Pfeffer Avi","key":"e_1_2_1_41_1"},{"key":"e_1_2_1_42_1","first-page":"3207","article-title":"Fast MCMC sampling for Markov jump processes and extensions","volume":"14","author":"Rao Vinayak","year":"2013","journal-title":"Journal of Machine Learning Research"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1093\/bioinformatics\/btp200"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.tcs.2010.05.008"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/1569901.1570044"},{"volume-title":"Proceedings of the 15th International Joint Conference on Artificial Intelligence (IJCAI\u201997)","year":"1997","author":"Sato Taisuke","key":"e_1_2_1_46_1"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.entcs.2013.02.020"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1007\/11691372_26"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1098\/rsif.2008.0172"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2010.82"},{"volume-title":"Stochastic Processes in Physics and Chemistry","author":"Van Kampen Nicolaas Godfried","key":"e_1_2_1_51_1"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.entcs.2014.12.018"},{"volume-title":"Williams and Jane Hillston","year":"2014","author":"Christopher","key":"e_1_2_1_53_1"}],"container-title":["ACM Transactions on Modeling and Computer Simulation"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3154392","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,31]],"date-time":"2022-12-31T20:32:35Z","timestamp":1672518755000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3154392"}},"subtitle":["Probabilistic Programming for Stochastic Dynamical Systems"],"short-title":[],"issued":{"date-parts":[[2018,1,23]]},"references-count":53,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2018,1,31]]}},"alternative-id":["10.1145\/3154392"],"URL":"https:\/\/doi.org\/10.1145\/3154392","relation":{},"ISSN":["1049-3301","1558-1195"],"issn-type":[{"type":"print","value":"1049-3301"},{"type":"electronic","value":"1558-1195"}],"subject":[],"published":{"date-parts":[[2018,1,23]]},"assertion":[{"value":"2017-02-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-09-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2018-01-23","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}