{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,4,27]],"date-time":"2024-04-27T17:54:31Z","timestamp":1714240471405},"reference-count":49,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2004,8,1]],"date-time":"2004-08-01T00:00:00Z","timestamp":1091318400000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Form. Asp. Comput."],"published-print":{"date-parts":[[2004,8]]},"abstract":"<jats:title>Abstract.<\/jats:title>\n          <jats:p>Interface automata [deH01] have been introduced as an interface theory [deH01a] capable of functioning as a behavioral type system. Behavioral type systems describe dynamic properties of components and their compositions. Like traditional (data) type systems, behavioral type systems can be used to check compatibility of components. In this paper, we use interface automata to devise a behavioral type system for Ptolemy II, leveraging the contravariant and optimistic properties of interface automata to achieve behavioral subtyping and polymorphism. Ptolemy II is a software framework supporting concurrent component composition according to diverse models of computation. In this paper, we focus on representing the communication protocols used in component communication within the behavioral type system. In building this type system, we identify two key limitations in interface automata formalisms; we overcome these limitations with two extensions, transient states and projection automata. In addition to static type checking, we also propose to extend the use of interface automata to the on-line reflection of component states and to run-time type checking, which enable dynamic component creation, morphing application structure, and admission control. We discuss the trade-offs in the design of behavioral type systems.<\/jats:p>","DOI":"10.1007\/s00165-004-0043-8","type":"journal-article","created":{"date-parts":[[2004,5,9]],"date-time":"2004-05-09T05:48:59Z","timestamp":1084081739000},"page":"210-237","source":"Crossref","is-referenced-by-count":46,"title":["A behavioral type system and its application in Ptolemy II"],"prefix":"10.1145","volume":"16","author":[{"given":"Edward A.","family":"Lee","sequence":"first","affiliation":[{"name":"Department of Electrical Engineering and Computer Sciences, EECS, University of California, CA 94720, Berkeley, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yuhong","family":"Xiong","sequence":"additional","affiliation":[{"name":"Hewlett-Packard Laboratories, Palo Alto, CA, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","reference":[{"key":"p_1","doi-asserted-by":"crossref","DOI":"10.7551\/mitpress\/1086.001.0001","volume-title":"Actors: a model of concurrent computation in distributed systems","author":"Agh GA","year":"1986"},{"key":"p_2","volume-title":"Proceedings of the second workshop on the principles and practice of constraint programming, Orcas Island","author":"Aik A","year":"1994"},{"key":"p_3","volume-title":"ACM Trans Software Eng. Methodology 6(3)","author":"Al R","year":"1997"},{"key":"p_4","volume-title":"EECS","author":"Bhattacharyya SS","year":"2002"},{"key":"p_5","volume-title":"Proceedings of international conference on computer aided design (ICCAD), San Jose","author":"Borriello G","year":"1998"},{"key":"p_6","volume-title":"The computer science and engineering handbook","author":"Cardelli L","year":"1997"},{"key":"p_7","volume-title":"ACM computing surveys 17(4)","author":"Ca L","year":"1985"},{"key":"p_8","first-page":"488","volume-title":"Proceedings of ICCAD","author":"Chou P","year":"1992"},{"key":"p_9","volume-title":"Proceedings of the international conference on computer aided design","author":"Chou P","year":"1995"},{"key":"p_10","volume-title":"International workshop on formal methods for open object-based distributed systems, Canterbur, UK","author":"Colaco J-L","year":"1997"},{"key":"p_11","volume-title":"Introduction to lattices and order","author":"Da BA","year":"1990"},{"key":"p_12","volume-title":"Proceedings of the joint 8th European software engineering conference and 9th ACM SIGSOFT international symposium on the foundations of software engineering (ESEC\/FSE 01)","author":"de Alfaro L","year":"2001"},{"key":"p_13","first-page":"148","volume-title":"Proceedings of the first international workshop on embedded software (EMSOFT), Lecture notes in computer science, vol 2211","author":"de Alfaro L","year":"2001"},{"key":"p_14","volume-title":"IEE Proc Comput Digit Tech 147(3)","author":"Ei M","year":"2000"},{"key":"p_15","volume-title":"Proceedings 31st annual hawaii international conference on system sciences","author":"Eisenring M","year":"1998"},{"key":"p_16","volume-title":"ACM SIGPLAN conference on programming language design and implementation, PLDI","author":"Fl C","year":"2000"},{"key":"p_17","volume-title":"Compositional Modeling in Metropolis","author":"Go G","year":"2002"},{"key":"p_18","volume-title":"Commun ACM 28(8)","author":"Hoa CAR","year":"1978"},{"key":"p_19","volume-title":"28th annual ACM SIGPLAN - SIGACT symposium on principles of programming languages (POPL 2001)","author":"Ig A","year":"2001"},{"key":"p_20","volume-title":"ACM Trans Software Eng. Methodol 9(3)","author":"Inverardi P","year":"2000"},{"key":"p_21","volume-title":"The semantics of a simple language for parallel programming","author":"Kah G","year":"1974"},{"key":"p_22","volume-title":"Coroutines and networks of parallel processes","author":"Ka G","year":"1977"},{"key":"p_23","volume-title":"ACM symposium on principles of programming languages","author":"Kobayashi N","year":"1996"},{"key":"p_24","volume-title":"11th international conference on concurrency theory, CONCUR 2000","author":"Kobayashi N","year":"1877"},{"key":"p_25","first-page":"113","volume-title":"Concepts of behavioral subtyping and a sketch of their extension to component-based systems","author":"Le GT","year":"2000"},{"key":"p_27","volume-title":"Advances in computers Zelkowitz M (ed) vol 56","author":"Lee EA","year":"2002"},{"key":"p_28","volume-title":"Proceedings of the IEEE, 75(9)","author":"Le EA","year":"1987"},{"key":"p_29","volume-title":"Structure and interpretation of signals and systems","author":"Le EA","year":"2003"},{"key":"p_30","volume-title":"First workshop on embedded software, EMSOFT2001","author":"Le EA","year":"2001"},{"key":"p_31","volume-title":"Technical Note 2000-002","author":"Rustan K","year":"2000"},{"key":"p_32","volume-title":"ACM Trans Programming Lang Syst 16(6)","author":"Li BH","year":"1994"},{"key":"p_33","first-page":"137","volume-title":"Proceedings 6th ACM symposium principles of distributed computing","author":"Ly N","year":"1981"},{"key":"p_35","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1016\/0890-5401(92)90008-4","article-title":"A calculus of mobile processes (Part I and part II)","volume":"100","author":"Milner R","year":"1992","journal-title":"Inf Comput"},{"key":"p_36","first-page":"175","volume-title":"11th annual ACM symposium on principles of programming languages","author":"Mit JC","year":"1984"},{"key":"p_37","volume-title":"ECOOP'99 Workshop","author":"Na E","year":"1999"},{"key":"p_38","volume-title":"Third IFIP conference on formal methods for open object-based distributed systems (FMOODS'99)","author":"Najm E","year":"1999"},{"key":"p_39","volume-title":"ACM Comput Surveys 28(2)","author":"Nie F","year":"1996"},{"key":"p_40","volume-title":"ACM Symposium on principles of programming languages","author":"Ni HR","year":"1994"},{"key":"p_41","volume-title":"ACM Comput Surveys 28(4)","author":"Ode M","year":"1996"},{"key":"p_42","volume-title":"Proceedings of the 5th international workshop on hardware\/software co-design (Codes\/CASHE'97)","author":"Or RB","year":"1997"},{"key":"p_43","volume-title":"Automatic synthesis of interfaces between incompatible protocols, 35th design automation conference","author":"Passerone R","year":"1998"},{"key":"p_44","volume-title":"Typing and subtyping for mobile processes","author":"Pi B","year":"1993"},{"key":"p_45","volume-title":"Proceedings of the workshop on formal methods for open object-oriented distributed systems (FMOODS'96)","author":"Pun F","year":"1996"},{"key":"p_46","volume-title":"Proceedings of the ACM symposium on applied computing (SAC'99)","author":"Pu F","year":"1999"},{"key":"p_47","volume-title":"Conference on computer aided verification, CAV2002","author":"Ra SK","year":"2002"},{"key":"p_48","first-page":"554","article-title":"Behavioural types for a calculus of concurrent objects, In: 3rd international euro-par conference","volume":"1300","author":"Ra A","year":"1997","journal-title":"LNCS"},{"key":"p_49","volume-title":"Detecting format-string vulnerabilities with type qualifiers, 10th USENIX security symposium","author":"Shankar U","year":"2001"},{"key":"p_50","first-page":"249","volume-title":"Proceedings of ACM SIGPLAN Conference on programming language design and implementation (PLDI '98)","author":"Xi H","year":"1998"},{"key":"p_52","volume-title":"6th international conference on tools and algorithms for the construction and analysis of systems, LNCS 1785","author":"Xi Y","year":"2000"}],"container-title":["Formal Aspects of Computing"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s00165-004-0043-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s00165-004-0043-8\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1007\/s00165-004-0043-8","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,1,6]],"date-time":"2022-01-06T15:41:58Z","timestamp":1641483718000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1007\/s00165-004-0043-8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2004,8]]},"references-count":49,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2004,8]]}},"alternative-id":["10.1007\/s00165-004-0043-8"],"URL":"https:\/\/doi.org\/10.1007\/s00165-004-0043-8","relation":{},"ISSN":["0934-5043","1433-299X"],"issn-type":[{"value":"0934-5043","type":"print"},{"value":"1433-299X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2004,8]]}}}