{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,3]],"date-time":"2026-10-03T16:50:39Z","timestamp":1791046239775,"version":"4.1.0"},"reference-count":46,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2009,7,1]],"date-time":"2009-07-01T00:00:00Z","timestamp":1246406400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100006754","name":"U.S. Army Research Laboratory","doi-asserted-by":"publisher","award":["W911NF-07-2-0019"],"award-info":[{"award-number":["W911NF-07-2-0019"]}],"id":[{"id":"10.13039\/100006754","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["CCR-00225610"],"award-info":[{"award-number":["CCR-00225610"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2009,7]]},"abstract":"<jats:p>Actor-oriented components emphasize concurrency and temporal semantics and are used for modeling and designing embedded software and hardware. Actors interact with one another through ports via a messaging schema that can follow any of several concurrent semantics. Domain-specific actor-oriented languages and frameworks are common (Simulink, LabVIEW, SystemC, etc.). However, they lack many modularity and abstraction mechanisms that programmers have become accustomed to in object-oriented components, such as classes, inheritance, interfaces, and polymorphism, except as inherited from the host language. This article shows a form that such mechanisms can take in actor-oriented components, gives a formal structure, and describes a prototype implementation. The mechanisms support actor-oriented class definitions, subclassing, inheritance, and overriding. The formal structure imposes structural constraints on a model (mainly the \u201cderivation invariant\u201d) that lead to a policy to govern inheritance. In particular, the structural constraints permit a disciplined form of multiple inheritance with unambiguous inheritance and overriding behavior. The policy is based formally on a generalized ultrametric space with some remarkable properties. In this space, inheritance is favored when actors are \u201ccloser\u201d (in the generalized ultrametric), and we show that when inheritance can occur from multiple sources, one source is always unambiguously closer than the other.<\/jats:p>","DOI":"10.1145\/1550987.1550992","type":"journal-article","created":{"date-parts":[[2009,7,28]],"date-time":"2009-07-28T12:43:55Z","timestamp":1248785035000},"page":"1-26","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":13,"title":["Classes and inheritance in actor-oriented design"],"prefix":"10.1145","volume":"8","author":[{"given":"Edward A.","family":"Lee","sequence":"first","affiliation":[{"name":"University of California, Berkeley, CA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Xiaojun","family":"Liu","sequence":"additional","affiliation":[{"name":"Sun Microsystems"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Stephen","family":"Neuendorffer","sequence":"additional","affiliation":[{"name":"Xilinx Research Labs"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2009,7,24]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.5555\/7929"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/83880.84528"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/88.218170"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1017\/S095679689700261X"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICCAD.2004.1382681"},{"key":"e_1_2_1_6_1","unstructured":"Baccelli F. Cohen G. Olster G. J. and Quadrat J. P. 1992. Synchronization and Linearity: An Algebra for Discrete Event Systems. Wiley New York.  Baccelli F. Cohen G. Olster G. J. and Quadrat J. P. 1992. Synchronization and Linearity: An Algebra for Discrete Event Systems. Wiley New York."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/289423.289440"},{"key":"e_1_2_1_8_1","unstructured":"Brooks C. Lee E. A. Liu X. Neuendorffer S. Zhao Y. and Zheng H. 2004. Heterogeneous concurrent modeling and design in Java. Tech. rep. Technical Memorandum UCB\/ERL M04\/27 University of California.  Brooks C. Lee E. A. Liu X. Neuendorffer S. Zhao Y. and Zheng H. 2004. Heterogeneous concurrent modeling and design in Java. Tech. rep. Technical Memorandum UCB\/ERL M04\/27 University of California."},{"key":"e_1_2_1_9_1","first-page":"155","article-title":"Ptolemy: A framework for simulating and prototyping heterogeneous systems","volume":"4","author":"Buck J. T.","year":"1994","journal-title":"Int. J. Comput. Simul."},{"key":"e_1_2_1_10_1","volume-title":"The Interpretation of Object-Oriented Programming Languages","author":"Craig I."},{"key":"e_1_2_1_12_1","doi-asserted-by":"crossref","unstructured":"Dennis J. B. 1974. First version data flow procedure language. Tech. rep. MAC TM61 MIT Laboratory for Computer Science.  Dennis J. B. 1974. First version data flow procedure language. Tech. rep. MAC TM61 MIT Laboratory for Computer Science.","DOI":"10.1007\/3-540-06859-7_145"},{"key":"e_1_2_1_13_1","unstructured":"Eker J. and Janneck J. W. 2003. Cal language report: Specification of the cal actor language. Tech. rep. UCB\/ERL M03\/48 University of California Berkeley.  Eker J. and Janneck J. W. 2003. Cal language report: Specification of the cal actor language. Tech. rep. UCB\/ERL M03\/48 University of California Berkeley."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2002.805829"},{"key":"e_1_2_1_15_1","unstructured":"Esser R. 1996. Ph.d. thesis.  Esser R. 1996. Ph.d. thesis."},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/985072.985120"},{"key":"e_1_2_1_17_1","volume-title":"Principles of Object-Oriented Modeling and Simulation with Modelica 2.1","author":"Fritzson P."},{"key":"e_1_2_1_18_1","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"Gamma E.","year":"1994"},{"key":"e_1_2_1_19_1","volume-title":"Proceeding of the 2nd International Workshop on Embedded Software (EMSOFT). Springer-Verlag","author":"Goessler G."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2004.05.014"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1146909.1147140"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1016\/0004-3702(77)90033-9"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1176887.1176896"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1049\/ip-cdt:20045098"},{"key":"e_1_2_1_25_1","volume-title":"Proceedings of the USENIX Winter Technical Conference.","author":"Johnson S. C.","year":"1994"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.366147"},{"key":"e_1_2_1_27_1","article-title":"Type hierarchies and composition in modeling and meta-modeling languages","author":"Karsai G.","year":"2003","journal-title":"IEEE Trans. Control Syst. Tech."},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/43.898830"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.5555\/619069.621837"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2006.180"},{"key":"e_1_2_1_31_1","volume-title":"Moml: A modeling markup language in XML. Tech. rep. UCB\/ERL M00\/12","author":"Lee E. A.","year":"2000"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1142\/S0218126603000751"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/266021.266037"},{"key":"e_1_2_1_34_1","volume-title":"Eds. Lecture Notes in Computer Science","volume":"1066","author":"Lynch N."},{"key":"e_1_2_1_35_1","volume-title":"Distributed Algorithms. Morgan Kaufmann","author":"Lynch N. A."},{"key":"e_1_2_1_36_1","volume-title":"Proceedings of the Forum on Design and Specification Languages (FDL). ESCI.","author":"Mathaikutty D. A."},{"key":"e_1_2_1_37_1","unstructured":"Patel H. D. and Shukla S. K. 2004. SystemC Kernel Extensions for Heterogeneous System Modelling. Kluwer Amsterdam The Netherlands.   Patel H. D. and Shukla S. K. 2004. SystemC Kernel Extensions for Heterogeneous System Modelling. Kluwer Amsterdam The Netherlands."},{"key":"e_1_2_1_38_1","doi-asserted-by":"crossref","unstructured":"Priess-Crampe S. and Ribenboim P. 1996. Generalized ultrametric spaces I. Abhandlungen aus dem Mathematischen Seminar der Universit\u00e4t Hamburg. 66 55--73.  Priess-Crampe S. and Ribenboim P. 1996. Generalized ultrametric spaces I. Abhandlungen aus dem Mathematischen Seminar der Universit\u00e4t Hamburg. 66 55--73.","DOI":"10.1007\/BF02940794"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/113446.113470"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2003.819898"},{"key":"e_1_2_1_41_1","unstructured":"Selic B. Gullekson G. and Ward P. 1994. Real-Time Object-Oriented Modeling. John Wiley and Sons New York NY.   Selic B. Gullekson G. and Ward P. 1994. Real-Time Object-Oriented Modeling. John Wiley and Sons New York NY."},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.637390"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/92.931229"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/1461551.1461591"},{"key":"e_1_2_1_45_1","unstructured":"Sutherland W. R. 1966. The on-line graphical specification of computer procedures. Ph.d. thesis. MIT.  Sutherland W. R. 1966. The on-line graphical specification of computer procedures. Ph.d. thesis. MIT."},{"key":"e_1_2_1_46_1","volume-title":"Proceedings of the 11th International Conference on Compiler Construction. Springer-Verlag","author":"Thies W."},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/507546.507654"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1550987.1550992","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1550987.1550992","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T20:22:24Z","timestamp":1750278144000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1550987.1550992"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009,7]]},"references-count":46,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2009,7]]}},"alternative-id":["10.1145\/1550987.1550992"],"URL":"https:\/\/doi.org\/10.1145\/1550987.1550992","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"value":"1539-9087","type":"print"},{"value":"1558-3465","type":"electronic"}],"subject":[],"published":{"date-parts":[[2009,7]]},"assertion":[{"value":"2006-11-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2007-08-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-07-24","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}