{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,10,25]],"date-time":"2023-10-25T17:11:18Z","timestamp":1698253878615},"reference-count":10,"publisher":"Wiley","issue":"8","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":4473,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1994,8]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>In Prolog the flow of control is relatively complex; four counts (which we call currents)\u2014call, fail, succeed and redo\u2014and two intrinsic properties\u2014the failure and the \u2018alternative\u2019 probabilities\u2014can be associated with every literal in a clause body. In this work we describe a new matrix model where those currents and properties are related at the literal, clause and predicate definition levels. This model is useful for predicate classification, execution profiling and program debugging. The application to profilers is discussed in detail.<\/jats:p>","DOI":"10.1002\/spe.4380240804","type":"journal-article","created":{"date-parts":[[2006,11,17]],"date-time":"2006-11-17T17:06:02Z","timestamp":1163783162000},"page":"729-746","source":"Crossref","is-referenced-by-count":1,"title":["A matrix model for the flow of control in prolog programs with applications to profiling"],"prefix":"10.1002","volume":"24","author":[{"given":"Armando B.","family":"Matos","sequence":"first","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"publisher","DOI":"10.1145\/28569.315737"},{"key":"e_1_2_1_3_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380130803"},{"key":"e_1_2_1_4_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380010203"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380020303"},{"key":"e_1_2_1_6_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380211204"},{"key":"e_1_2_1_7_2","unstructured":"M. M.GorlikandC. F.Kesselman \u2018Timing Prolog programs without clocks\u2019 Proc. Fourth IEEE Symposium on Logic Programming San Francisco 1987 pp.426\u2013432."},{"key":"e_1_2_1_8_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380180903"},{"key":"e_1_2_1_9_2","volume-title":"The YAP Compiler","author":"Azevedo R.","year":"1988"},{"key":"e_1_2_1_10_2","unstructured":"J. P.LealandL.Damas \u2018Towards a portable graphic package for Prolog applications\u2019 Technical Report CIUP Porto 1991."},{"key":"e_1_2_1_11_2","unstructured":"A. B.Matos \u2018The X\u2010Profiler\u2014concepts and user manual\u2019 Technical Report CIUP Porto 1992."}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380240804","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380240804","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,24]],"date-time":"2023-10-24T07:48:34Z","timestamp":1698133714000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380240804"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1994,8]]},"references-count":10,"journal-issue":{"issue":"8","published-print":{"date-parts":[[1994,8]]}},"alternative-id":["10.1002\/spe.4380240804"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380240804","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1994,8]]}}}