{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,19]],"date-time":"2026-03-19T06:26:21Z","timestamp":1773901581347,"version":"3.50.1"},"reference-count":85,"publisher":"Cambridge University Press (CUP)","issue":"4","license":[{"start":{"date-parts":[[2013,7,8]],"date-time":"2013-07-08T00:00:00Z","timestamp":1373241600000},"content-version":"unspecified","delay-in-days":0,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Math. Struct. Comp. Sci."],"published-print":{"date-parts":[[2013,8]]},"abstract":"<jats:p>Ptolemy<jats:sup>\u2021<\/jats:sup>is an open-source and extensible modelling and simulation framework. It offers heterogeneous modeling capabilities by allowing different models of computation, both untimed and timed, to be composed hierarchically in an arbitrary fashion. This paper proposes a formal semantics for Ptolemy that is modular in the sense that atomic actors and their compositions are treated in a unified way. In particular, all actors conform to an executable interface that contains four functions: fire (produce outputs given current state and inputs); postfire (update state instantaneously); deadline (how much time the actor is willing to let elapse); and time-update (update the state with the passage of time). Composite actors are obtained using composition operators that in Ptolemy are called directors. Different directors realise different models of computation. In this paper, we formally define the directors for the following models of computation: synchronous- reactive, discrete event, continuous time, process networks and modal models.<\/jats:p>","DOI":"10.1017\/s0960129512000278","type":"journal-article","created":{"date-parts":[[2013,7,8]],"date-time":"2013-07-08T11:28:01Z","timestamp":1373282881000},"page":"834-881","source":"Crossref","is-referenced-by-count":29,"title":["A modular formal semantics for Ptolemy"],"prefix":"10.1017","volume":"23","author":[{"given":"STAVROS","family":"TRIPAKIS","sequence":"first","affiliation":[]},{"given":"CHRISTOS","family":"STERGIOU","sequence":"additional","affiliation":[]},{"given":"CHRIS","family":"SHAVER","sequence":"additional","affiliation":[]},{"given":"EDWARD A.","family":"LEE","sequence":"additional","affiliation":[]}],"member":"56","published-online":{"date-parts":[[2013,7,8]]},"reference":[{"key":"S0960129512000278_ref26","volume-title":"ACSD '01 Proceedings of the Second International Conference on Application of Concurrency to System Design","author":"Burch","year":"2001"},{"key":"S0960129512000278_ref62","volume-title":"EOOLT 2010 \u2013 3rd International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools","author":"Lee","year":"2010"},{"key":"S0960129512000278_ref72","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-6423(02)00093-X"},{"key":"S0960129512000278_ref1","first-page":"8039","article-title":"Modeling of Complex Systems II: A minimalist and unified semantics for heterogeneous integrated systems","volume":"218","author":"Aiguier","year":"2011","journal-title":"Applied Mathematics and Computation"},{"key":"S0960129512000278_ref73","doi-asserted-by":"publisher","DOI":"10.1109\/2.161279"},{"key":"S0960129512000278_ref85","first-page":"1","volume-title":"ICCPS '10: Proceedings of the 1st ACM\/IEEE International Conference on Cyber-Physical Systems","author":"Zhu","year":"2010"},{"key":"S0960129512000278_ref59","doi-asserted-by":"publisher","DOI":"10.1109\/PROC.1987.13876"},{"key":"S0960129512000278_ref54","doi-asserted-by":"publisher","DOI":"10.1109\/2.963443"},{"key":"S0960129512000278_ref13","doi-asserted-by":"publisher","DOI":"10.1109\/5.97297"},{"key":"S0960129512000278_ref64","volume-title":"EMSOFT '07: Proceedings of the 7th ACM and IEEE International Conference on Embedded Software","author":"Lee","year":"2007"},{"key":"S0960129512000278_ref4","unstructured":"Andr\u00e9 C. (1996) SyncCharts: A visual representation of reactive behaviors. Technical Report RR 95\u201352, rev. RR (96\u201356), I3S."},{"key":"S0960129512000278_ref40","doi-asserted-by":"publisher","DOI":"10.1016\/j.future.2008.06.014"},{"key":"S0960129512000278_ref3","doi-asserted-by":"publisher","DOI":"10.1016\/0304-3975(94)90010-8"},{"key":"S0960129512000278_ref58","volume-title":"From Semantics to Computer Science: Essays in memory of Gilles Kahn","author":"Lee","year":"2009"},{"key":"S0960129512000278_ref35","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2008.09.001"},{"key":"S0960129512000278_ref41","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45828-X_8"},{"key":"S0960129512000278_ref63","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-31954-2_2"},{"key":"S0960129512000278_ref7","first-page":"181","article-title":"Metric interpretations of infinite trees and semantics of non-deterministic recursive programs.","volume":"11","author":"Arnold","year":"1980","journal-title":"Fundamenta Informaticae"},{"key":"S0960129512000278_ref45","doi-asserted-by":"publisher","DOI":"10.1145\/1086228.1086260"},{"key":"S0960129512000278_ref18","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2008.26"},{"key":"S0960129512000278_ref24","doi-asserted-by":"crossref","unstructured":"Buck J. T. (1993) Scheduling Dynamic Dataflow Graphs with Bounded Memory Using the Token Flow Model, Ph.D. thesis, University of California, Berkeley.","DOI":"10.1109\/ICASSP.1993.319147"},{"key":"S0960129512000278_ref77","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2003.819898"},{"key":"S0960129512000278_ref74","first-page":"68","volume-title":"ECBS'99: Proceedings of the 1999 IEEE Conference on Engineering of Computer-Based Systems","author":"Nordstrom","year":"1999"},{"key":"S0960129512000278_ref17","doi-asserted-by":"crossref","first-page":"251","DOI":"10.3233\/FI-2009-0043","article-title":"Modelling of complex systems: Systems as dataflow machines.","volume":"91","author":"Bliudze","year":"2009","journal-title":"Fundamenta Informaticae"},{"key":"S0960129512000278_ref67","doi-asserted-by":"publisher","DOI":"10.1007\/11817949_1"},{"key":"S0960129512000278_ref82","doi-asserted-by":"publisher","DOI":"10.1109\/78.229900"},{"key":"S0960129512000278_ref60","doi-asserted-by":"publisher","DOI":"10.1109\/5.381846"},{"key":"S0960129512000278_ref34","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2002.805829"},{"key":"S0960129512000278_ref38","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-36575-3_22"},{"key":"S0960129512000278_ref66","doi-asserted-by":"publisher","DOI":"10.1016\/j.tcs.2008.08.044"},{"key":"S0960129512000278_ref22","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4613-0091-5"},{"key":"S0960129512000278_ref32","doi-asserted-by":"crossref","unstructured":"Dill D. L. (1988) Trace theory for automatic hierarchical verification of speed-independent circuits, Ph.D., Carnegie-Mellon University.","DOI":"10.7551\/mitpress\/6874.001.0001"},{"key":"S0960129512000278_ref44","doi-asserted-by":"crossref","first-page":"1305","DOI":"10.1109\/5.97300","article-title":"The synchronous data flow programming language LUSTRE.","volume":"79","author":"Halbwachs","year":"1991","journal-title":"Proceedings of the IEEE"},{"key":"S0960129512000278_ref14","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2002.805826"},{"key":"S0960129512000278_ref65","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-36580-X_25"},{"key":"S0960129512000278_ref68","doi-asserted-by":"crossref","first-page":"78","DOI":"10.1145\/1480881.1480893","volume-title":"36th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'09)","author":"Lublinerman","year":"2009"},{"key":"S0960129512000278_ref61","doi-asserted-by":"publisher","DOI":"10.1109\/43.736561"},{"key":"S0960129512000278_ref52","doi-asserted-by":"publisher","DOI":"10.1109\/2.366147"},{"key":"S0960129512000278_ref78","doi-asserted-by":"publisher","DOI":"10.1145\/1017753.1017795"},{"key":"S0960129512000278_ref6","doi-asserted-by":"publisher","DOI":"10.1017\/S0960129504004153"},{"key":"S0960129512000278_ref28","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-49213-5_8"},{"key":"S0960129512000278_ref2","doi-asserted-by":"publisher","DOI":"10.1016\/0304-3975(94)00202-T"},{"key":"S0960129512000278_ref33","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-6423(02)00096-5"},{"key":"S0960129512000278_ref5","unstructured":"Andr\u00e9 C. (2003) Semantics of S.S.M (Safe State Machine). Technical report, Esterel Technologies."},{"key":"S0960129512000278_ref43","doi-asserted-by":"publisher","DOI":"10.1142\/9789812794499_0021"},{"key":"S0960129512000278_ref8","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2010.10.002"},{"key":"S0960129512000278_ref9","doi-asserted-by":"publisher","DOI":"10.1016\/0304-3975(94)00046-8"},{"key":"S0960129512000278_ref10","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2003.1193228"},{"key":"S0960129512000278_ref23","first-page":"1257","article-title":"The FRACTAL component model and its support in Java.","volume":"36","author":"Bruneton","year":"2006","journal-title":"Software: Practice and Experience"},{"key":"S0960129512000278_ref11","doi-asserted-by":"publisher","DOI":"10.1109\/SEFM.2006.27"},{"key":"S0960129512000278_ref25","first-page":"155","article-title":"Ptolemy: A framework for simulating and prototyping heterogeneous systems","volume":"4","author":"Buck","year":"1994","journal-title":"International Journal of Computer Simulation (special issue on \u2018Simulation Software Development\u2019)"},{"key":"S0960129512000278_ref12","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-58468-4_163"},{"key":"S0960129512000278_ref15","doi-asserted-by":"crossref","first-page":"46","DOI":"10.1007\/978-3-642-00602-9_4","article-title":"Actors without directors: a Kahnian view of heterogeneous systems","volume":"5469","author":"Benveniste","year":"2009","journal-title":"Springer-Verlag Lecture Notes in Computer Science"},{"key":"S0960129512000278_ref16","unstructured":"Berry G. (1996) The Constructive Semantics of Pure Esterel (book draft)."},{"key":"S0960129512000278_ref83","unstructured":"Tripakis S. , Bui D. , Geilen M. , Rodiers B. and Lee E. A. (2010). Compositionality in Synchronous Data Flow: Modular Code Generation from Hierarchical SDF Graphs. Preprint available as a technical report from http:\/\/www.eecs.berkeley.edu\/Pubs\/TechRpts\/2009\/EECS-2009-143.html."},{"key":"S0960129512000278_ref19","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-85361-9_39"},{"key":"S0960129512000278_ref29","doi-asserted-by":"publisher","DOI":"10.1017\/CBO9780511809088"},{"key":"S0960129512000278_ref20","doi-asserted-by":"publisher","DOI":"10.1109\/ACSD.2011.17"},{"key":"S0960129512000278_ref71","doi-asserted-by":"publisher","DOI":"10.1145\/1289971.1289981"},{"key":"S0960129512000278_ref21","doi-asserted-by":"publisher","DOI":"10.1145\/1629335.1629347"},{"key":"S0960129512000278_ref69","doi-asserted-by":"publisher","DOI":"10.1109\/43.293952"},{"key":"S0960129512000278_ref27","volume-title":"Proceedings of the 8th International Workshop on Discrete-Event Systems (WODES'06)","author":"Cataldo","year":"2006"},{"key":"S0960129512000278_ref30","doi-asserted-by":"crossref","unstructured":"Denckla B. and Mosterman P. (2008) Stream- and state-based semantics of hierarchy in block diagrams. In: Proceedings 17th IFAC World Congress 7955\u20137960.","DOI":"10.3182\/20080706-5-KR-1001.01344"},{"key":"S0960129512000278_ref31","volume-title":"A Discipline of Programming","author":"Dijkstra","year":"1976"},{"key":"S0960129512000278_ref81","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-44584-6_8"},{"key":"S0960129512000278_ref36","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2008.05.031"},{"key":"S0960129512000278_ref79","volume-title":"European Design and Test Conference (EDTC'96)","author":"Shiple","year":"1996"},{"key":"S0960129512000278_ref37","first-page":"19","volume-title":"Proceedings of Symposium on Applied Mathematics 19","author":"Floyd","year":"1967"},{"key":"S0960129512000278_ref42","doi-asserted-by":"publisher","DOI":"10.1007\/s10009-005-0213-x"},{"key":"S0960129512000278_ref46","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-24721-0_17"},{"key":"S0960129512000278_ref47","doi-asserted-by":"publisher","DOI":"10.1109\/MOMPES.2007.1"},{"key":"S0960129512000278_ref39","doi-asserted-by":"publisher","DOI":"10.1145\/1017753.1017778"},{"key":"S0960129512000278_ref48","doi-asserted-by":"crossref","first-page":"231","DOI":"10.1016\/0167-6423(87)90035-9","article-title":"Statecharts: A visual formalism for complex systems.","volume":"8","author":"Harel","year":"1987","journal-title":"Science of Computer Programming"},{"key":"S0960129512000278_ref55","doi-asserted-by":"publisher","DOI":"10.1023\/A:1018998524196"},{"key":"S0960129512000278_ref49","volume-title":"DAC '06: Proceedings of the 43rd annual Design Automation Conference","author":"Herrera","year":"2006"},{"key":"S0960129512000278_ref50","volume-title":"Modeling Embedded Systems and SoCs \u2013 Concurrency and Time in Models of Computation","author":"Jantsch","year":"2003"},{"key":"S0960129512000278_ref51","volume-title":"Proceedings of the IFIP Congress 74","author":"Kahn","year":"1974"},{"key":"S0960129512000278_ref53","volume-title":"Switching and finite automata theory","author":"Kohavi","year":"1978"},{"key":"S0960129512000278_ref56","doi-asserted-by":"crossref","unstructured":"Lee E. A. (2009) Finite State Machines and Modal Models in Ptolemy II. Technical Report UCB\/EECS-2009-151, EECS Department, University of California, Berkeley.","DOI":"10.21236\/ADA538760"},{"key":"S0960129512000278_ref57","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-16129-2_20"},{"key":"S0960129512000278_ref70","unstructured":"Manna Z. and Pnueli A. (1992) Verifying hybrid systems. Hybrid Systems 4\u201335."},{"key":"S0960129512000278_ref75","volume-title":"SystemC Kernel Extensions for Heterogeneous System Modelling","author":"Patel","year":"2004"},{"key":"S0960129512000278_ref76","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-19020-1_17"},{"key":"S0960129512000278_ref80","first-page":"75","volume-title":"Measuring, modelling and evaluating computer systems","author":"Sifakis","year":"1977"},{"key":"S0960129512000278_ref84","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-57208-2_27"}],"container-title":["Mathematical Structures in Computer Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S0960129512000278","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,7,2]],"date-time":"2023-07-02T23:24:30Z","timestamp":1688340270000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S0960129512000278\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013,7,8]]},"references-count":85,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2013,8]]}},"alternative-id":["S0960129512000278"],"URL":"https:\/\/doi.org\/10.1017\/s0960129512000278","relation":{},"ISSN":["0960-1295","1469-8072"],"issn-type":[{"value":"0960-1295","type":"print"},{"value":"1469-8072","type":"electronic"}],"subject":[],"published":{"date-parts":[[2013,7,8]]}}}