Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1352678.1352693acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicdlConference Proceedingsconference-collections
research-article

Linguistic symbiosis between actors and threads

Published: 25 August 2007 Publication History

Abstract

We describe a linguistic symbiosis between AmbientTalk, a flexible, domain-specific language for writing distributed programs and Java, a conventional object-oriented language. This symbiosis allows concerns related to distribution (service discovery, asynchronous communication, failure handling) to be handled in the domain-specific language, while still enabling the reuse of existing software components written in a conventional language. The symbiosis is novel in the sense that a mapping is defined between the concurrency models of both languages. AmbientTalk employs an inherently event-driven model based on actors, while conventional object-oriented languages employ a concurrency model based on threads. The contribution of this paper is a linguistic symbiosis which ensures that the invariants of the event-driven concurrency model are not violated by engaging in symbiosis with multi-threaded programs.

References

[1]
Dedecker, J., Van Cutsem, T., Mostinckx, S., D'Hondt, T., De Meuter, W.: Ambient-oriented Programming in Ambienttalk. In Thomas, D., ed.: Proceedings of the 20th European Conference on Object-oriented Programming (ECOOP). Volume 4067 of Lecture Notes in Computer Science., Springer (2006) 230--254
[2]
Dedecker, J., Van Belle, W.: Actors for mobile ad-hoc networks. In Yang, L., Guo, M., Gao, J., Jha, N., eds.: Embedded and Ubiquitous Computing. Volume 3207 of Lecture Notes in Computer Science., Springer-Verlag (2004) 482--494
[3]
Lieberman, H.: Using prototypical objects to implement shared behavior in object-oriented systems. In: Conference proceedings on Object-oriented Programming Systems, Languages and Applications, ACM Press (1986) 214--223
[4]
Agha, G.: Actors: a Model of Concurrent Computation in Distributed Systems. MIT Press (1986)
[5]
Lieberman, H.: Concurrent object-oriented programming in ACT 1. In Yonezawa, A., Tokoro, M., eds.: Object-Oriented Concurrent Programming. MIT Press (1987) 9--36
[6]
Yonezawa, A., Briot, J. P., Shibayama, E.: Object-oriented concurrent programming in ABCL/1. In: Conference proceedings on Object-oriented programming systems, languages and applications, ACM Press (1986) 258--268
[7]
Briot, J. P.: From objects to actors: study of a limited symbiosis in smalltalk-80. In: Proceedings of the 1988 ACM SIGPLAN workshop on Object-based concurrent programming, New York, NY, USA, ACM Press (1988) 69--72
[8]
Miller, M., Tribble, E. D., Shapiro, J.: Concurrency among strangers: Programming in E as plan coordination. In Nicola, R. D., Sangiorgi, D., eds.: Symposium on Trustworthy Global Computing. Volume 3705 of LNCS., Springer (2005) 195--229
[9]
Gybels, K., Wuyts, R., Ducasse, S., D'Hondt, M.: Inter-language reflection: A conceptual model and its implementation. Computer Languages, Systems & Structures 32(2--3) (2006) 109--124
[10]
Ungar, D., Chambers, C., Chang, B. W., Hölzle, U.: Organizing programs without classes. Lisp Symb. Comput. 4(3) (1991) 223--242
[11]
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley (1995)
[12]
Steyaert, P.: Open Design of Object-Oriented Languages, A Foundation for Specialisable Reflective Language Frameworks. PhD thesis, Vrije Universiteit Brussel (1994)
[13]
Wuyts, R., Ducasse, S.: Symbiotic reflection between an object-oriented and a logic programming language. In: ECOOP 2001 International Workshop on Multi-Paradigm Programming with Object-Oriented Languages. (2001)
[14]
Achermann, F., Nierstrasz, O.: Applications = Components + Scripts -- a tour of Piccola. Software Architectures and Component Technology (2001) 261--292
[15]
Haller, P., Odersky, M.: Event-based programming without inversion of control. In: Proc. Joint Modular Languages Conference. Springer LNCS (2006)
[16]
Haller, P., Odersky, M.: Actors that Unify Threads and Events. In: International Conference on Coordination Models and Languages. Lecture Notes in Computer Science (LNCS) (2007)
[17]
Li, P., Zdancewic, S.: Combining events and threads for scalable network services. In: ACM SIGPLAN Conference on Programming Languages Design and Implementation (PLDI), ACM Press (2007)
[18]
Baker Jr., H. G., Hewitt, C.: The incremental garbage collection of processes. In: Proceedings of Symposium on AI and Programming Languages. Volume 8 of ACM Sigplan Notices. (1977) 55--59
[19]
Liskov, B., Shrira, L.: Promises: linguistic support for efficient asynchronous procedure calls in distributed systems. In: Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation, ACM Press (1988) 260--267
[20]
Caromel, D.: Towards a method of object-oriented concurrent programming. Communications of the ACM 36(9) (1993) 90--102

Cited By

View all
  • (2012)Bringing Scheme programming to the iPhone-ExperienceSoftware: Practice and Experience10.1002/spe.107342:3(331-356)Online publication date: 15-Feb-2012
  • (2010)Virtual Machine Support for Many-Core Architectures: Decoupling Abstract from Concrete Concurrency ModelsElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.17.617(63-77)Online publication date: 6-Feb-2010

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ICDL '07: Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007
August 2007
254 pages
ISBN:9781605580845
DOI:10.1145/1352678
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 August 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. AmbientTalk
  2. actors
  3. events
  4. linguistic symbiosis
  5. threads

Qualifiers

  • Research-article

Conference

ICDL '07

Acceptance Rates

ICDL '07 Paper Acceptance Rate 11 of 16 submissions, 69%;
Overall Acceptance Rate 11 of 16 submissions, 69%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2012)Bringing Scheme programming to the iPhone-ExperienceSoftware: Practice and Experience10.1002/spe.107342:3(331-356)Online publication date: 15-Feb-2012
  • (2010)Virtual Machine Support for Many-Core Architectures: Decoupling Abstract from Concrete Concurrency ModelsElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.17.617(63-77)Online publication date: 6-Feb-2010

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media