The aim of this doctoral thesis was to study the implications of having a concurrent-by-default pro-gramming language. This includes language design, runtime system, performance and software engineering considerations. We conduct our study through the design of the concurrent-by-default AEminium programming language. ÆMINIUM leverages the permission flow of object and group permissions through the program to validate the program’s correctness and to automatically infer a possible parallelization strategy via a dataflow graph. ÆMINIUM supports regular parallelism (such as fork-join parallelism) as well as irregular parallelism (e.g., as dataflow). In this thesis we present a formal system, called µÆMINIUM, modeling the core concepts of ÆMINI...
Abstract. Implementing correct and deterministic parallel programs is challenging. Even though concu...
This paper describes the evolution of language features for multiprogramming from event queues and s...
Concurrency is often an optimisation, rather than intrinsic to the functional behaviour of a program...
Writing concurrent applications is extremely challenging, not only in terms of producing bug-free an...
Writing concurrent applications is extremely challenging, not only in terms of producing bug-free an...
Abstract. When using today’s common shared-memory parallel pro-gramming models, subtle errors can le...
Safe languages provide programming abstractions, like type and memory safety, to improve programmer ...
Safe languages provide programming abstractions, like type and memory safety, to improve programmer ...
This thesis presents the design, implementation, and evaluation of Flow Java, a programming language...
This thesis presents the design, implementation, and evaluation of Flow Java, a programming language...
Abstract. In this paper we introduce the Concurrent Collections pro-gramming model, which builds on ...
Concurrency is ubiquitous in modern software. The computing base of systems software, including oper...
The performance of parallel code significantly depends on the parallel task granularity (PTG). If th...
This thesis presents a new, Java-based object-oriented parallel language called Deterministic Paral...
This paper describes the evolution of language features for multiprogramming from event queues and s...
Abstract. Implementing correct and deterministic parallel programs is challenging. Even though concu...
This paper describes the evolution of language features for multiprogramming from event queues and s...
Concurrency is often an optimisation, rather than intrinsic to the functional behaviour of a program...
Writing concurrent applications is extremely challenging, not only in terms of producing bug-free an...
Writing concurrent applications is extremely challenging, not only in terms of producing bug-free an...
Abstract. When using today’s common shared-memory parallel pro-gramming models, subtle errors can le...
Safe languages provide programming abstractions, like type and memory safety, to improve programmer ...
Safe languages provide programming abstractions, like type and memory safety, to improve programmer ...
This thesis presents the design, implementation, and evaluation of Flow Java, a programming language...
This thesis presents the design, implementation, and evaluation of Flow Java, a programming language...
Abstract. In this paper we introduce the Concurrent Collections pro-gramming model, which builds on ...
Concurrency is ubiquitous in modern software. The computing base of systems software, including oper...
The performance of parallel code significantly depends on the parallel task granularity (PTG). If th...
This thesis presents a new, Java-based object-oriented parallel language called Deterministic Paral...
This paper describes the evolution of language features for multiprogramming from event queues and s...
Abstract. Implementing correct and deterministic parallel programs is challenging. Even though concu...
This paper describes the evolution of language features for multiprogramming from event queues and s...
Concurrency is often an optimisation, rather than intrinsic to the functional behaviour of a program...