Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3264637.3264642acmotherconferencesArticle/Chapter ViewAbstractPublication PagessblpConference Proceedingsconference-collections
research-article

AsyncRFJ: an asynchronous approach to reactive object-oriented programming

Published: 20 September 2018 Publication History

Abstract

While the object-orientation is the most used paradigm for developing general purpose software systems, the use of reactive systems has been growing lately. One of the differences between them is that while the first offers an imperative style, the latter focuses on a functional style. In this paper, we present the semantics for AsyncRFJ, an object-oriented language based on Featherweight Java, created to reason and to develop programs handling reactive data flow in the context of object-oriented programming. Additionally, we provide an interpreter for the proposed semantics and a set of examples designed to illustrate the language.

References

[1]
Marco Bellia and M Eugenia Occhiuto. 2010. Proving Type Safety for Java Simple Closures. In 19th Concurrency, Specification andProgramming-CS&P'2010, Vol. 1. 61--72.
[2]
Stephen Blackheath and Anthony Jones. 2016. Functional Reactive Programming. Manning Publications Company.
[3]
Eric Bodden, Reehan Shaikh, and Laurie Hendren. 2008. Relational aspects as tracematches. In Proceedings of the 7th international conference on Aspect-oriented software development. ACM, 84--95.
[4]
Gregory H Cooper and Shriram Krishnamurthi. 2006. Embedding dynamic dataflow in a call-by-value language. In European Symposium on Programming. Springer, 294--308.
[5]
Evan Czaplicki and Stephen Chong. 2013. Asynchronous functional reactive programming for GUIs. In ACM SIGPLAN Notices, Vol. 48. ACM, 411--422.
[6]
Mohamed A El-Zawawy. 2015. A robust framework for asynchronous operations on a functional object-oriented model. In Cloud Computing (ICCC), 2015 International Conference on. IEEE, 1--6.
[7]
Conal Elliott and Paul Hudak. 1997. Functional reactive animation. In ACM SIGPLAN Notices, Vol. 32. ACM, 263--273.
[8]
Patrick Eugster and KR Jayaram. 2009. EventJava: An extension of Java for event correlation. In European Conference on Object-Oriented Programming. Springer, 570--594.
[9]
Nate Foster, Rob Harrison, Michael J Freedman, Christopher Monsanto, Jennifer Rexford, Alec Story, and David Walker. 2011. Frenetic: A network programming language. ACM Sigplan Notices 46, 9 (2011), 279--291.
[10]
Jan Hannemann and Gregor Kiczales. 2002. Design pattern implementation in Java and AspectJ. In ACM Sigplan Notices, Vol. 37. ACM, 161--173.
[11]
Paul Hudak, Antony Courtney, Henrik Nilsson, and John Peterson. 2002. Arrows, robots, and functional reactive programming. In International School on Advanced Functional Programming. Springer, 159--187.
[12]
Atsushi Igarashi, Benjamin C Pierce, and Philip Wadler. 2001. Featherweight Java: a minimal core calculus for Java and GJ. ACM Transactions on Programming Languages and Systems (TOPLAS) 23, 3 (2001), 396--450.
[13]
Daniel Ignatoff, Gregory H Cooper, and Shriram Krishnamurthi. 2006. Crossing state lines: Adapting object-oriented frameworks to functional reactive languages. In International Symposium on Functional and Logic Programming. Springer, 259--276.
[14]
Neelakantan R Krishnaswami, Nick Benton, and Jan Hoffmann. 2012. Higher-order functional reactive programming in bounded space. In ACM SIGPLAN Notices, Vol. 47. ACM, 45--58.
[15]
Ingo Maier and Martin Odersky. 2012. Deprecating the Observer Pattern with Scala. React. Technical Report.
[16]
Leo A Meyerovich, Arjun Guha, Jacob Baskin, Gregory H Cooper, Michael Greenberg, Aleks Bromfield, and Shriram Krishnamurthi. 2009. Flapjax: a programming language for Ajax applications. In ACM SIGPLAN Notices, Vol. 44. ACM, 1--20.
[17]
Peter D Mosses. 2006. Formal Semantics of Programming Languages: - An Overview. - Electronic Notes in Theoretical Computer Science 148, 1 (2006), 41--73.
[18]
Ryan Newton, Greg Morrisett, and Matt Welsh. 2007. The regiment macroprogramming system. In Information Processing in Sensor Networks, 2007. IPSN 2007. 6th International Symposium on. IEEE, 489--498.
[19]
Henrik Nilsson, Antony Courtney, and John Peterson. 2002. Functional reactive programming, continued. In Proceedings of the 2002 ACM SIGPLAN workshop on Haskell. ACM, 51--64.
[20]
Benjamin C Pierce. 2002. Types and programming languages. MIT press.
[21]
John H Reppy. 2007. Concurrent programming in ML. Cambridge University Press.
[22]
Guido Salvaneschi and Mira Mezini. 2014. Towards reactive programming for object-oriented applications. In Transactions on Aspect-Oriented Software Development XI. Springer, 227--261.
[23]
Thi Mai Thuong Tran and Martin Steffen. 2010. Safe commits for transactional featherweight Java. In International Conference on Integrated Formal Methods. Springer, 290--304.
[24]
Zhanyong Wan, Walid Taha, and Paul Hudak. 2001. Real-time FRP. ACM SIGPLAN Notices 36, 10 (2001), 146--156.
[25]
Zhanyong Wan, Walid Taha, and Paul Hudak. 2002. Event-driven FRP. In International Symposium on Practical Aspects of Declarative Languages. Springer, 155--172.
[26]
Dag Westerståhl. 1998. On mathematical proofs of the vacuity of compositionality. Linguistics and Philosophy 21 (1998), 635--643.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
SBLP '18: Proceedings of the XXII Brazilian Symposium on Programming Languages
September 2018
108 pages
ISBN:9781450364805
DOI:10.1145/3264637
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: 20 September 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. asynchronous
  2. formal semantics
  3. object-oriented programming
  4. reactive programing

Qualifiers

  • Research-article

Funding Sources

  • CNPq - National Council for Scientific and Technological Development, Brazil

Conference

SBLP 2018
SBLP 2018: XXII Brazilian Symposium on Programming Languages
September 20 - 21, 2018
Sao Carlos, Brazil

Acceptance Rates

SBLP '18 Paper Acceptance Rate 12 of 29 submissions, 41%;
Overall Acceptance Rate 22 of 50 submissions, 44%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 55
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Dec 2024

Other Metrics

Citations

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