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

Direct link
BETA
Wrigstad, Tobias
Publications (10 of 42) 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
Castegren, E., Wallin, J. & Wrigstad, T. (2018). Bestow and Atomic: Concurrent programming using isolation, delegation and grouping. The Journal of logical and algebraic methods in programming, 100, 130-151
Open this publication in new window or tab >>Bestow and Atomic: Concurrent programming using isolation, delegation and grouping
2018 (English)In: The Journal of logical and algebraic methods in programming, ISSN 2352-2208, E-ISSN 2352-2216, Vol. 100, p. 130-151Article in journal (Refereed) Published
Abstract [en]

Any non-trivial concurrent system warrants synchronisation, regardless of the concurrency model. Actor-based concurrency serialises all computations in an actor through asynchronous message passing. In contrast, lock-based concurrency serialises some computations by following a lock-unlock protocol for accessing certain data. Both systems require sound reasoning about pointers and aliasing to exclude data-races. If actor isolation is broken, so is the single-thread-of-control abstraction. Similarly for locks, if a datum is accessible outside of the scope of the lock, the datum is not governed by the lock. In this paper we discuss how to balance aliasing and synchronisation. In previous work, we defined a type system that guarantees data-race freedom of actor-based concurrency and lock-based concurrency. This paper extends this work by the introduction of two programming constructs; one for decoupling isolation and synchronisation and one for constructing higher-level atomicity guarantees from lower-level synchronisation. We focus predominantly on actors, and in particular the Encore programming language, but our ultimate goal is to define our constructs in such a way that they can be used both with locks and actors, given that combinations of both models occur frequently in actual systems. We discuss the design space, provide several formalisations of different semantics and discuss their properties, and connect them to case studies showing how our proposed constructs can be useful. We also report on an on-going implementation of our proposed constructs in Encore. 

National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-336020 (URN)10.1016/j.jlamp.2018.06.007 (DOI)000444363000008 ()
Projects
UPMARC
Funder
EU, FP7, Seventh Framework Programme, 612985Swedish Research Council, 2012-4967
Available from: 2018-06-30 Created: 2017-12-11 Last updated: 2018-11-14Bibliographically approved
Brandauer, S., Castegren, E. & Wrigstad, T. (2018). C♭: A New Modular Approach to Implementing Efficient and Tunable Collections. In: Proceedings of the 2018 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward! 2018): . Paper presented at SPLASH 2018 - Systems, Programming, Languages and Applications: Software for Humanity, Boston, 4-9 November, 2018 (pp. 57-71). ACM
Open this publication in new window or tab >>C♭: A New Modular Approach to Implementing Efficient and Tunable Collections
2018 (English)In: Proceedings of the 2018 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward! 2018), ACM , 2018, p. 57-71Conference paper, Published paper (Refereed)
Place, publisher, year, edition, pages
ACM, 2018
Keywords
data structure design, domain specific language, performance tuning
National Category
Computer Sciences
Research subject
Computer Science
Identifiers
urn:nbn:se:uu:diva-366812 (URN)10.1145/3276954.3276956 (DOI)000455805700005 ()
Conference
SPLASH 2018 - Systems, Programming, Languages and Applications: Software for Humanity, Boston, 4-9 November, 2018
Projects
UPMARC2012-04867 Structured Aliasing
Funder
Swedish Research Council, 2012-04967
Available from: 2018-11-26 Created: 2018-11-26 Last updated: 2019-02-04Bibliographically approved
Franco, J., Clebsch, S., Drossopoulou, S., Vitek, J. & Wrigstad, T. (2018). Correctness of a concurrent object collector for actor languages. In: Programming Languages and Systems: . Paper presented at ESOP 2018, April 14–20, Thessaloniki, Greece (pp. 885-911). Springer
Open this publication in new window or tab >>Correctness of a concurrent object collector for actor languages
Show others...
2018 (English)In: Programming Languages and Systems, Springer, 2018, p. 885-911Conference paper, Published paper (Refereed)
Place, publisher, year, edition, pages
Springer, 2018
Series
Lecture Notes in Computer Science ; 10801
National Category
Computer Systems Computer Sciences
Identifiers
urn:nbn:se:uu:diva-357240 (URN)10.1007/978-3-319-89884-1_31 (DOI)978-3-319-89883-4 (ISBN)
Conference
ESOP 2018, April 14–20, Thessaloniki, Greece
Projects
UPMARC
Available from: 2018-04-14 Created: 2018-08-14 Last updated: 2018-08-19Bibliographically approved
Tasos, A., Franco, J., Wrigstad, T., Drossopoulou, S. & Eisenbach, S. (2018). Extending SHAPES for SIMD Architectures –: An approach to native support for Struct of Arrays in languages. In: 13th Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems Workshop: . Paper presented at European Conference on Object-Oriented Programming, July 19th to 21st 2018, Amsterdam.
Open this publication in new window or tab >>Extending SHAPES for SIMD Architectures –: An approach to native support for Struct of Arrays in languages
Show others...
2018 (English)In: 13th Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems Workshop, 2018Conference paper, Oral presentation with published abstract (Refereed)
National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-357242 (URN)
Conference
European Conference on Object-Oriented Programming, July 19th to 21st 2018, Amsterdam
Projects
UPMARC
Available from: 2018-08-14 Created: 2018-08-14 Last updated: 2019-01-04Bibliographically approved
Castegren, E. & Wrigstad, T. (2018). OOlong: An Extensible Concurrent Object Calculus. In: Proceedings of SAC 2018: Symposium on Applied Computing. Paper presented at 33rd Annual ACM Symposium on Applied Computing (ACM SAC), Pau, France, April 9–13, 2018. (pp. 1022-1029).
Open this publication in new window or tab >>OOlong: An Extensible Concurrent Object Calculus
2018 (English)In: Proceedings of SAC 2018: Symposium on Applied Computing, 2018, p. 1022-1029Conference paper, Published paper (Refereed)
Abstract [en]

We present OOlong, an object calculus with interface inheritance, structured concurrency and locks. The goal of the calculus is extensibility and reuse. The semantics are therefore available in a version for LaTeX typesetting (written in Ott), and a mechanised version for doing rigorous proofs in Coq.

Series
33RD ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING
Keywords
Object Calculi, Semantics, Mechanisation, Concurrency
National Category
Computer Sciences
Research subject
Computer Science
Identifiers
urn:nbn:se:uu:diva-335174 (URN)10.1145/3167132.3167243 (DOI)000455180700147 ()978-1-4503-5191-1 (ISBN)
Conference
33rd Annual ACM Symposium on Applied Computing (ACM SAC), Pau, France, April 9–13, 2018.
Note

Book Group Author(s): Assoc Comp Machinery

Available from: 2017-12-01 Created: 2017-12-01 Last updated: 2019-06-27Bibliographically approved
Åkerblom, B., Castegren, E. & Wrigstad, T. (2018). Parallel Programming With Arrays in Kappa. In: 5th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming: . Paper presented at PLDI, 18-22 June, 2018,Philadelphia, USA.
Open this publication in new window or tab >>Parallel Programming With Arrays in Kappa
2018 (English)In: 5th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming, 2018Conference paper, Oral presentation with published abstract (Refereed)
National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-357241 (URN)
Conference
PLDI, 18-22 June, 2018,Philadelphia, USA
Projects
UPMARC
Available from: 2018-08-14 Created: 2018-08-14 Last updated: 2019-01-09Bibliographically approved
Franco, J., Tasos, A., Drossopoulou, S., Wrigstad, T. & Eisenbach, S. (2018). Safely Abstracting Memory Layouts. In: 20th Workshop on Formal Techniques for Java-like Programs: . Paper presented at European Conference on Object-Oriented Programming, 15-21 July, Amsterdam, NL.
Open this publication in new window or tab >>Safely Abstracting Memory Layouts
Show others...
2018 (English)In: 20th Workshop on Formal Techniques for Java-like Programs, 2018Conference paper, Oral presentation with published abstract (Refereed)
Abstract [en]

Modern architectures require applications to make effective use of caches to achieve high performance and hide memory latency. This in turn requires careful consideration of placement of data in memory to exploit spatial locality, leverage hardware prefetching and conserve memory bandwidth. In unmanaged languages like C++, memory optimisations are common, but at the cost of losing object abstraction and memory safety. In managed languages like Java and C#, the abstract view of memory and proliferation of moving compacting garbage collection does not provide enough control over placement and layout. We have proposed SHAPES, a type-driven abstract placement specification that can be integrated with object-oriented languages to enable memory optimisations. SHAPES preserves both memory and object abstraction. In this paper, we formally specify the SHAPES semantics and describe its memory safety model.

National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-357243 (URN)
Conference
European Conference on Object-Oriented Programming, 15-21 July, Amsterdam, NL
Projects
UPMARC
Available from: 2018-08-14 Created: 2018-08-14 Last updated: 2019-01-09Bibliographically approved
Castegren, E. & Wrigstad, T. (2017). Actors without Borders: Amnesty for Imprisoned State. In: : . Paper presented at Programming Language Approaches to Concurrency- and Communication-cEntric Software (pp. 10-20). (246)
Open this publication in new window or tab >>Actors without Borders: Amnesty for Imprisoned State
2017 (English)Conference paper, Published paper (Refereed)
Abstract [en]

In concurrent systems, some form of synchronisation is typically needed to achieve data-race freedom, which is important for correctness and safety. In actor-based systems, messages are exchanged concurrently but executed sequentially by the receiving actor. By relying on isolation and non-sharing, an actor can access its own state without fear of data-races, and the internal behavior of an actor can be reasoned about sequentially. However, actor isolation is sometimes too strong to express useful patterns. For example, letting the iterator of a data-collection alias the internal structure of the collection allows a more efficient implementation than if each access requires going through the interface of the collection. With full isolation, in order to maintain sequential reasoning the iterator must be made part of the collection, which bloats the interface of the collection and means that a client must have access to the whole data-collection in order to use the iterator. In this paper, we propose a programming language construct that enables a relaxation of isolation but without sacrificing sequential reasoning. We formalise the mechanism in a simple lambda calculus with actors and passive objects, and show how an actor may leak parts of its internal state while ensuring that any interaction with this data is still synchronised.

National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-331909 (URN)10.4204/EPTCS.246.4 (DOI)000405454500003 ()
Conference
Programming Language Approaches to Concurrency- and Communication-cEntric Software
Available from: 2017-10-20 Created: 2017-10-20 Last updated: 2018-01-13Bibliographically approved
Wrigstad, T. & Castegren, E. (2017). Mastery Learning-Like Teaching with Achievements. In: : . Paper presented at SPLASH 2017, October 22-27, 2017, Vancouver..
Open this publication in new window or tab >>Mastery Learning-Like Teaching with Achievements
2017 (English)Conference paper, Published paper (Refereed)
National Category
Educational Sciences Computer Sciences
Identifiers
urn:nbn:se:uu:diva-333724 (URN)
Conference
SPLASH 2017, October 22-27, 2017, Vancouver.
Available from: 2017-11-16 Created: 2017-11-16 Last updated: 2018-01-13Bibliographically approved
Organisations

Search in DiVA

Show all publications