uu.seUppsala University Publications
Change search
Link to record
Permanent link

Direct link
BETA
Fernandez-Reyes, Kiko
Publications (7 of 7) Show all publications
Castegren, E., Clarke, D., Fernandez-Reyes, K., Wrigstad, T. & Yang, A. M. (2018). Attached and Detached Closures in Actors. In: Proceedings of the 8th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control: . Paper presented at AGERE'18 (8th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control), Boston, MA, USA, November 05, 2018 (pp. 54-61). ACM Digital Library
Open this publication in new window or tab >>Attached and Detached Closures in Actors
Show others...
2018 (English)In: Proceedings of the 8th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control, ACM Digital Library, 2018, p. 54-61Conference paper, Published paper (Refereed)
Abstract [en]

Expressive actor models combine aspects of functional programming into the pure actor model enriched with futures. Such functional features include first-class closures which can be passed between actors and chained on futures. Combined with mutable objects, this opens the door to race conditions. In some situations, closures may not be evaluated by the actor that created them yet may access fields or objects owned by that actor. In other situations, closures may be safely fired off to run as a separate task.

This paper discusses the problem of who can safely evaluate a closure to avoid race conditions, and presents the current solution to the problem adopted by the Encore language. The solution integrates with Encore's capability type system, which influences whether a closure is attached and must be evaluated by the creating actor, or whether it can be detached and evaluated independently of its creator.

Encore's current solution to this problem is not final or optimal. We conclude by discussing a number of open problems related to dealing with closures in the actor model.

Place, publisher, year, edition, pages
ACM Digital Library, 2018
Keywords
closures, parallel programming, concurrent programming, type systems
National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-367318 (URN)10.1145/3281366.3281371 (DOI)000458146800006 ()978-1-4503-6066-1 (ISBN)
Conference
AGERE'18 (8th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control), Boston, MA, USA, November 05, 2018
Funder
Swedish Research Council, 2012-4967Swedish Research Council, 2014-05545
Available from: 2018-11-29 Created: 2018-11-29 Last updated: 2019-02-28Bibliographically approved
Fernandez-Reyes, K., Clarke, D., Castegren, E. & Vo, H.-P. (2018). Forward to a Promising Future. In: Conference proceedings COORDINATION 2018: . Paper presented at COORDINATION - 20th International Conference on Coordination Models and Languages, Madrid, June 18-21, 2018..
Open this publication in new window or tab >>Forward to a Promising Future
2018 (English)In: Conference proceedings COORDINATION 2018, 2018Conference paper, Published paper (Refereed)
Abstract [en]

In many actor-based programming models, asynchronous method calls communicate their results using futures, where the fulfilment occurs under-the-hood. Promises play a similar role to futures, except that they must be explicitly created and explicitly fulfilled; this makes promises more flexible than futures, though promises lack fulfilment guarantees: they can be fulfilled once, multiple times or not at all. Unfortunately, futures are too rigid to exploit many available concurrent and parallel patterns. For instance, many computations block on a future to get its result only to return that result immediately (to fulfil their own future). To make futures more flexible, we explore a construct, forward, that delegates the responsibility for fulfilling the current implicit future to another computation. Forward reduces synchronisation and gives futures promise-like capabilities. This paper presents a formalisation of the forward construct, defined in a high-level source language, and a compilation strategy from the high-level language to a low-level, promised-based target language. The translation is shown to preserve semantics. Based on this foundation, we describe the implementation of forward in the parallel, actor-based language Encore, which compiles to C.

Keywords
parallel, concurrency, futures, actors, tasks
National Category
Computer Systems
Identifiers
urn:nbn:se:uu:diva-351352 (URN)
Conference
COORDINATION - 20th International Conference on Coordination Models and Languages, Madrid, June 18-21, 2018.
Available from: 2018-05-23 Created: 2018-05-23 Last updated: 2018-05-24Bibliographically approved
Fernandez-Reyes, K., Clarke, D. & Hornbach, J. (2018). The impact of opt-in gamification on students' grades in a software design course. In: Proceedings of the 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings: . Paper presented at EduSymp MODELS ’18 Companion, October 14–19, 2018, Copenhagen, Denmark. New York, NY, USA: ACM Publications
Open this publication in new window or tab >>The impact of opt-in gamification on students' grades in a software design course
2018 (English)In: Proceedings of the 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings, New York, NY, USA: ACM Publications, 2018, p. -97Conference paper, Published paper (Refereed)
Abstract [en]

An achievement-driven methodology strives to give students more control of their learning with enough flexibility to engage them in deeper learning.

We observed in the course Advanced Software Design, which uses the achievement-driven methodology, that students fail to get high grades, which may hamper deeper learning. To motivate students to pursue and get higher grades we added gamification elements to the course.

To measure the success of our gamification implementation, students filled out a questionaire rating the enjoyment and motivation produced by the game. We built a statistical regression model where enjoyment and motivation explain 55% of the variation in grades. However, only the relationship between motivation and grade is significant, which implies that notivation drives the overall effect of the model. The results suggest that the more the students were motivated by the game, the higher their grades on the course (and vice versa). This implies that if gamification indeed motivates students, then it makes them go beyond what is expected.

Place, publisher, year, edition, pages
New York, NY, USA: ACM Publications, 2018
Keywords
software engineering, uml
National Category
Computer Systems
Research subject
Computer Science with specialization in Computer Science Education Research
Identifiers
urn:nbn:se:uu:diva-363142 (URN)10.1145/3270112.3270118 (DOI)978-1-4503-5965-8 (ISBN)
Conference
EduSymp MODELS ’18 Companion, October 14–19, 2018, Copenhagen, Denmark
Available from: 2018-10-14 Created: 2018-10-14 Last updated: 2018-10-15Bibliographically approved
De Boer, F., Serbanescu, V., Hähnle, R., Henrio, L., Rochas, J., Din, C. C., . . . Yang, A. M. (2017). A survey of active object languages. ACM Computing Surveys, 50(5), Article ID 76.
Open this publication in new window or tab >>A survey of active object languages
Show others...
2017 (English)In: ACM Computing Surveys, ISSN 0360-0300, E-ISSN 1557-7341, Vol. 50, no 5, article id 76Article in journal (Refereed) Published
Abstract [en]

To program parallel systems efficiently and easily, a wide range of programming models have been proposed, eachwith different choices concerning synchronization and communication between parallel entities. Among them, the actor model is based on loosely coupled parallel entities that communicate by means of asynchronous messages and mailboxes. Some actor languages provide a strong integration with object-oriented concepts; these are often called active object languages. This article reviews four major actor and active object languages and compares them according to carefully chosen dimensions that cover central aspects of the programming paradigms and their implementation.

Place, publisher, year, edition, pages
Association for Computing Machinery (ACM), 2017
National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-333991 (URN)10.1145/3122848 (DOI)000418294100015 ()
Available from: 2017-11-13 Created: 2017-11-20 Last updated: 2018-01-29Bibliographically approved
Fernandez-Reyes, K. & Clarke, D. (2017). Affine killing: Semantics for stopping the ParT. In: Proc. 2nd International Workshop on Type-Driven Development: . Paper presented at TyDe 2017, September 3, Oxford, UK. New York: ACM Press
Open this publication in new window or tab >>Affine killing: Semantics for stopping the ParT
2017 (English)In: Proc. 2nd International Workshop on Type-Driven Development, New York: ACM Press, 2017Conference paper, Oral presentation with published abstract (Refereed)
Abstract [en]

Speculative, parallel abstractions allow that, once a result is computed, the remaining (unnecessary) speculative computations can be safely stopped. However, it is difficult to know when it is safe to stop an ongoing computation. This paper presents a refinement of the parallel speculative ParT abstraction with an affine type system that allows in-place updates, and killing speculative computations using thread-local reasoning. There is ongoing work to prove the soundness of the calculus and implement it in the Encore language.

Place, publisher, year, edition, pages
New York: ACM Press, 2017
National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-326193 (URN)
Conference
TyDe 2017, September 3, Oxford, UK
Available from: 2017-07-04 Created: 2017-07-04 Last updated: 2018-01-13Bibliographically approved
Fernandez-Reyes, K., Clarke, D. & McCain, D. S. (2016). ParT: An asynchronous parallel abstraction for speculative pipeline computations. In: Lafuente, AL; Proenca, J (Ed.), Coordination Models and Languages: . Paper presented at COORDINATION 2016 (pp. 101-120). Springer
Open this publication in new window or tab >>ParT: An asynchronous parallel abstraction for speculative pipeline computations
2016 (English)In: Coordination Models and Languages / [ed] Lafuente, AL; Proenca, J, Springer, 2016, p. 101-120Conference paper, Published paper (Refereed)
Abstract [en]

The ubiquity of multicore computers has forced programming language designers to rethink how languages express parallelism and concurrency. This has resulted in new language constructs and new combinations or revisions of existing constructs. In this line, we extended the programming languages Encore (actor-based), and Clojure (functional) with an asynchronous parallel abstraction called ParT, a data structure that can dually be seen as a collection of asynchronous values (integrating with futures) or a handle to a parallel computation, plus a collection of combinators for manipulating the data structure. The combinators can express parallel pipelines and speculative parallelism. This paper presents a typed calculus capturing the essence of ParT, abstracting away from details of the Encore and Clojure programming languages. The calculus includes tasks, futures, and combinators similar to those of Orc but implemented in a non-blocking fashion. Furthermore, the calculus strongly mimics how ParT is implemented, and it can serve as the basis for adaptation of ParT into different languages and for further extensions.

Place, publisher, year, edition, pages
Springer, 2016
Series
Lecture Notes in Computer Science, ISSN 0302-9743 ; 9686
National Category
Computer Systems
Identifiers
urn:nbn:se:uu:diva-309764 (URN)10.1007/978-3-319-39519-7_7 (DOI)000388794200007 ()9783319395180 (ISBN)
Conference
COORDINATION 2016
Projects
UpScaleUPMARC
Funder
EU, FP7, Seventh Framework Programme, FP7-612985
Available from: 2016-05-24 Created: 2016-12-07 Last updated: 2016-12-23Bibliographically approved
Brandauer, S., Castegren, E., Clarke, D., Fernandez-Reyes, K., Johnsen, E. B., Pun, K. I., . . . Yang, A. M. (2015). Parallel Objects for Multicores: A Glimpse at the Parallel Language ENCORE. In: Formal Methods for Multicore Programming: . Paper presented at 15th International School on Formal Methods for the Design of Computer, Communication, and Software Systems (SFM), JUN 15-19, 2015, Bertinoro, ITALY (pp. 1-56).
Open this publication in new window or tab >>Parallel Objects for Multicores: A Glimpse at the Parallel Language ENCORE
Show others...
2015 (English)In: Formal Methods for Multicore Programming, 2015, p. 1-56Conference paper, Published paper (Refereed)
Abstract [en]

The age of multi-core computers is upon us, yet current programming languages, typically designed for single-core computers and adapted post hoc for multi-cores, remain tied to the constraints of a sequential mindset and are thus in many ways inadequate. New programming language designs are required that break away from this old-fashioned mindset. To address this need, we have been developing a new programming language called Encore, in the context of the European Project UpScale. The paper presents a motivation for the Encore language, examples of its main constructs, several larger programs, a formalisation of its core, and a discussion of some future directions our work will take. The work is ongoing and we started more or less from scratch. That means that a lot of work has to be done, but also that we need not be tied to decisions made for sequential language designs. Any design decision can be made in favour of good performance and scalability. For this reason, Encore offers an interesting platform for future exploration into object-oriented parallel programming.

Series
Lecture Notes in Computer Science, ISSN 0302-9743 ; 9104
National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-267514 (URN)10.1007/978-3-319-18941-3_1 (DOI)000362511600001 ()978-3-319-18941-3; 978-3-319-18940-6 (ISBN)
Conference
15th International School on Formal Methods for the Design of Computer, Communication, and Software Systems (SFM), JUN 15-19, 2015, Bertinoro, ITALY
Available from: 2015-12-08 Created: 2015-11-24 Last updated: 2018-01-10Bibliographically approved
Organisations

Search in DiVA

Show all publications