Skip to main content
    • Aa
    • Aa

A modular formal semantics for Ptolemy


Ptolemy 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.

Hide All

This work was partially supported by NSF project ExCAPE: Expeditions in Computer Augmented Program Engineering, and by the Center for Hybrid and Embedded Software Systems (CHESS) at UC Berkeley, which receives support from the National Science Foundation (NSF awards #0720882 (CSR-EHS: PRET) and #0931843 (ActionWebs), the U.S. Army Research Office (ARO #W911NF-11-2-0038), the Air Force Research Lab (AFRL), the Multiscale Systems Center (MuSyC) (which is one of six research centres funded under the Focus Center Research Program), a Semiconductor Research Corporation program and the following companies: Bosch, National Instruments, Thales and Toyota.

Hide All
R. Alur et al. (1995) The algorithmic analysis of hybrid systems. Theoretical Computer Science 138 334.

R. Alur and D. L. Dill (1994) A theory of timed automata. Theoretical Computer Science 126 (2) 183235.

K. Bae , P. Csaba Ölveczky , T. H. Feng , E. A. Lee and S. Tripakis (2012) Verifying Hierarchical Ptolemy II Discrete-Event Models using Real-Time Maude. Science of Computer Programming 77 (12) 12351271.

C. Baier and M. E. Majster-Cederbaum (1994) Denotational semantics in the CPO and metric approach. Theoretical Computer Science 135 (2) 171220.

F. Balarin , H. Hsieh , L. Lavagno , C. Passerone , A. L. Sangiovanni-Vincentelli and Y. Watanabe (2003) Metropolis: an integrated electronic system design environment. Computer 36 (4).

A. Basu , M. Bozga and J. Sifakis (2006) Modeling heterogeneous real-time components in BIP. In: International Conference on Software Engineering and Formal Methods (SEFM 06), IEEE Computer Society312.

M. von der Beeck (1994) A comparison of Statecharts variants. In: H. Langmaack , W. P. de Roever and J. Vytopil (eds.) 3rd International Symposium Formal Techniques in Real-Time and Fault-Tolerant Systems. Springer-Verlag Lecture Notes in Computer Science 863 128148.

A. Benveniste and G. Berry (1991) The synchronous approach to reactive and real-time systems. Proceedings of the IEEE 79 (9) 12701282.

A. Benveniste , P. Caspi , S. Edwards , N. Halbwachs , P. Le Guernic and R. de Simone (2003) The synchronous languages 12 years later. Proceedings of the IEEE 91 (1) 6483.

S. Bliudze and J. Sifakis (2008a) The algebra of connectors – structuring interaction in BIP. IEEE Transactions on Computers 57 (10) 13151330.

S. Bliudze and J. Sifakis (2008b) A notion of glue expressiveness for component-based systems. In: F. van Breugel and M. Chechik (eds.) CONCUR 2008. Springer-Verlag Lecture Notes in Computer Science 5201 508522.

F. Boulanger , C. Hardebolle , C. Jacquet and D. Marcadet (2011) Semantic Adaptation for Models of Computation. In: Proceedings of ACSD 2011 (Application of Concurrency to System Design), IEEE Computer Society153162.

M. Bozga , V. Sfyrla and J. Sifakis (2009) Modeling synchronous systems in BIP. In: S. Chakraborty and N. Halbwachs (eds.) EMSOFT '09: Proceedings of the 9th ACM International Conference on Embedded Software, ACM7786.

M. Broy and K. Stolen (2001) Specification and Development of Interactive Systems, Monographs in Computer Science 62, Springer-Verlag.

J. R. Burch , R. Passerone and A. L. Sangiovanni-Vincentelli (2001) Overcoming heterophobia: Modeling concurrency in heterogeneous systems. In: ACSD '01 Proceedings of the Second International Conference on Application of Concurrency to System Design, IEEE Computer Society 13.

W. Damm , B. Josko , H. Hungar and A. Pnueli (1998) A Compositional Real-time Semantics of STATEMATE Designs. In: W.-P. de Roever , H. Langmaack and A. Pnueli (eds.) Compositionality: The Significant Difference – Revised Lectures, International Symposium, COMPOS'97. Springer-Verlag Lecture Notes in Computer Science 1536 186238.

B. A. Davey and H. A. Priestley (2002) Introduction to Lattices and Order, 2nd edition, Cambridge University Press.

S. A. Edwards and E. A. Lee (2003) The semantics and execution of a synchronous block-diagram language. Science of Computer Programming 48 (1).

J. Eker et al. (2003) Taming heterogeneity – the Ptolemy approach. Proceedings of the IEEE 91 (2) 127144.

R. Eshuis (2009) Reconciling statechart semantics. Science of Computer Programming 74 (3) 6599.

M. Feredj , F. Boulanger and A. M. Mbobi (2009) A model of domain-polymorph component for heterogeneous system design. The Journal of Systems and Software 82 112120.

R. W. Floyd (1967) Assigning meaning to programs. In Proceedings of Symposium on Applied Mathematics 19, AMS1932.

M. Geilen and T. Basten (2003) Requirements on the execution of Kahn process networks. In: P. Degano (ed.) Programming Languages and Systems: 12th European Symposium on Programming, ESOP 2003. Springer-Verlag Lecture Notes in Computer Science 2618 319334.

M. Geilen and T. Basten (2004) Reactive process networks. In: EMSOFT '04: Proceedings of the 4th ACM International Conference on Embedded Software, ACM137146.

A. Goderis , C. Brooks , I. Altintas , E. A. Lee and C. Goble (2009) Heterogeneous composition of models of computation. Future Generation Computer Systems 25 (5) 552560.

G. Goessler and A. Sangiovanni-Vincentelli (2002) Compositional modeling in Metropolis. In: A. Sangiovanni-Vincentelli and J. Sifakis (eds.) Embedded Software: Proceedings Second International Conference, EMSOFT 2002. Springer-Verlag Lecture Notes in Computer Science 2491 93107.

S. Graf , I. Ober and I. Ober (2006) A real-time profile for UML. Software Tools for Technology Transfer 8 (2) 113127.

Y. Gurevich (1993) Evolving algebras: An attempt to discover semantics. In: G. Rozenberg and A. Salomaa (eds.) Current Trends in Theoretical Computer Science, World Scientific266292.

N. Halbwachs , P. Caspi , P. Raymond and D. Pilaud (1991) The synchronous data flow programming language LUSTRE. Proceedings of the IEEE 79 (9) 13051319.

G. Hamon (2005) A denotational semantics for stateflow. In: EMSOFT '05: Proceedings of the 5th ACM International Conference on Embedded Software, ACM164172.

G. Hamon and J. Rushby (2004) An operational semantics for Stateflow. In: M. Wermelinger and T. Margaria-Steffen (eds.) Fundamental Approaches to Software Engineering: 7th International Conference, FASE 2004. Springer-Verlag Lecture Notes in Computer Science 2984 229243.

C. Hardebolle , F. Boulanger , D. Marcadet and G. Vidal-Naquet (2007) A generic execution framework for models of computation. In: Proceedings of the Fourth International Workshop on Model-Based Methodologies for Pervasive and Embedded Software: MOMPES '07, IEEE Computer Society4554.

D. Harel (1987) Statecharts: A visual formalism for complex systems. Science of Computer Programming 8 231274.

F. Herrera and E. Villar (2006) A framework for embedded system specification under different models of computation in SystemC. In: DAC '06: Proceedings of the 43rd annual Design Automation Conference, ACM.

A. Jantsch (2003) Modeling Embedded Systems and SoCs – Concurrency and Time in Models of Computation, Morgan Kaufmann.

A. Ledeczi et al. (2001) Composing domain-specific design environments. IEEE Computer 34 (11) 4451.

E. A. Lee (1999) Modeling concurrent real-time processes using discrete events. Annals of Software Engineering 7 2545.

E. A. Lee (2010) Disciplined heterogeneous modeling. In: D. C. Petriu , N. Rouquette and Ø. Haugen (eds.) Model Driven Engineering Languages and Systems, 13th International Conference, MODELS 2010: Proceedings, Part II. Springer-Verlag Lecture Notes in Computer Science 6395 273287.

E. A. Lee and E. Matsikoudis (2009) The semantics of dataflow with firing. In: G. Huet , G. Plotkin , J.-J. Lévy and Y. Bertot (eds.) From Semantics to Computer Science: Essays in memory of Gilles Kahn, Cambridge University Press.

E. A. Lee and D. G. Messerschmitt (1987) Synchronous data flow. Proceedings of the IEEE 75 (9) 12351245.

E. A. Lee and T. M. Parks (1995) Dataflow process networks. Proceedings of the IEEE 83 (5) 773801.

E. A. Lee and A. Sangiovanni-Vincentelli (1998) A framework for comparing models of computation. IEEE Transactions on Computer-Aided Design of Circuits and Systems 17 (12) 12171229.

E. A. Lee and H. Zheng (2005) Operational semantics of hybrid systems. In: M. Morari and L. Thiele (eds.) Hybrid Systems: Computation and Control – 8th International Workshop, HSCC 2005. Springer-Verlag Lecture Notes in Computer Science 3414 2553.

E. A. Lee and H. Zheng (2007) Leveraging synchronous language principles for heterogeneous modeling and design of embedded systems. In: EMSOFT '07: Proceedings of the 7th ACM and IEEE International Conference on Embedded Software, ACM.

J. Liu and E. A. Lee (2003) On the causality of mixed-signal and hybrid models. In: O. Maler and A. Pnueli (eds.) Hybrid Systems: Computation and Control 6th International Workshop, HSCC 2003. Springer-Verlag Lecture Notes in Computer Science 2623 328342.

X. Liu and E. A. Lee (2008) CPO semantics of timed interactive actor networks. Theoretical Computer Science 409 (1) 110125.

X. Liu , E. Matsikoudis and E. A. Lee (2006) Modeling timed concurrent systems. In: C. Baier and H. Hermanns (eds.) Concurrency Theory: 17th International Conference, CONCUR 2006. Springer-Verlag Lecture Notes in Computer Science 4137 115.

S. Malik (1994) Analysis of cyclic combinational circuits. IEEE Transactions on Computer-Aided Design 13 (7) 950956.

F. Maraninchi and T. Bhouhadiba (2007) 42: Programmable models of computation for a component-based approach to heterogeneous embedded systems. In: GPCE '07: Proceedings of the 6th International Conference on Generative Programming and Component Engineering, ACM5362.

F. Maraninchi and Y. Rémond (2003) Mode-automata: a new domain-specific construct for the development of safe critical systems. Science of Computer Programming 46 219254.

B. Meyer (1992) Applying ‘design by contract’. Computer 25 (10) 4051.

G. M. Reed and A. W. Roscoe (1988) Metric spaces as models for real-time concurrency. In: M. Main , A. Melton , M. Mislove and D. Schmidt (eds.) Mathematical Foundations of Programming Language Semantics: Proceedings 3rd Workshop, Tulane University, New Orleans. Springer-Verlag Lecture Notes in Computer Science 298 331343.

I. Sander and A. Jantsch (2004) System modeling and transformational design refinement in ForSyDe. IEEE Transactions on Computer-Aided Design of Circuits and Systems 23 (1) 1732.

N. Scaife , C. Sofronis , P. Caspi , S. Tripakis and F. Maraninchi (2004) Defining and Translating a ‘Safe’ Subset of Simulink/Stateflow into Lustre. In: EMSOFT '04: Proceedings of the 4th ACM International Conference on Embedded Software, ACM259268.

T. Shiple , G. Berry and H. Touati (1996) Constructive analysis of cyclic circuits. In: European Design and Test Conference (EDTC'96), IEEE Computer Society.

G. Simon , T. Kovácsházy and G. Péceli (2001) Transient management in reconfigurable systems. In: P. Robertson , H. Shrobe and R. Laddaga (eds.) Self-Adaptive Software: First International Workshop, IWSAS 2000: Revised Papers. Springer-Verlag Lecture Notes in Computer Science 1936 9098.

J. Sztipanovits , D. Wilkes , G. Karsai , C. Biegl and L. Lynd (1993) The multigraph and structural adaptivity. IEEE Transactions on Signal Processing 41 (8) 26952716.

R. K. Yates (1993) Networks of real-time processes. In: E. Best (ed.) Proceedings of the 4th International Conference on Concurrency Theory (CONCUR). Springer-Verlag Lecture Notes in Computer Science 715 384397.

Y. Zhu et al. (2010) Mathematical equations as executable models of mechanical systems. In: ICCPS '10: Proceedings of the 1st ACM/IEEE International Conference on Cyber-Physical Systems, ACM111.

Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Mathematical Structures in Computer Science
  • ISSN: 0960-1295
  • EISSN: 1469-8072
  • URL: /core/journals/mathematical-structures-in-computer-science
Please enter your name
Please enter a valid email address
Who would you like to send this to? *


Full text views

Total number of HTML views: 0
Total number of PDF views: 18 *
Loading metrics...

Abstract views

Total abstract views: 231 *
Loading metrics...

* Views captured on Cambridge Core between September 2016 - 16th October 2017. This data will be updated every 24 hours.