You are here: Home / About Upscale / Abstract & Factsheet

Abstract & Factsheet

EU Seventh Framework Programme: FP7-ICT-2013-X , Project Number : 612985

Upscale develops a new programming language based on the concurrent objects which integrates in the compilation process extended static analysis techniques targeted towards optimizing the deployment of concurrent objects unto multi-core architectures. One of the main challenges in the design of the programming language involves leveraging deployment related issues while maintaining a suitable level of abstraction which allows for automated analysis.

The main outcome of the Upscale Project is develop a new programming language that analyses the program to enhance the deployment of software architecture based on ownership types to express the structure, encapsulation and sharing among actors, and session types to express the interaction protocols between various actors. The most important innovation will the the integration of these two technologies, which will be used to express the hand of uniquely references data structures from one party to another along with the exclusive access to shared data structures. In particular, such protocols will involve multiple interaction steps, beyond a simple method call, which justifies  the more advanced typing machinery. Extensions to ownership and session type approaches based on lightweight assertions, which can either be checked at run-time or using different verification techniques.

Further static analysis techniques based on these technologies will be used in the deployment of actors to cores. More specfically, ownership types will be used for locality, session types will be used in making scheduling decisions, their combination will be used for load balancing. In addition, these type-based techniques will be used to ensure that data races do not occur on shared data structures, all the while reducing the need for costly synchronisation operations. An experimental prototype implementation of the language, compiler and run-time will be made to explore the benefits of each the optimisations developed and to guide future research. The language will be active object based, but it will be designed so that facets that are difficult to analyse (such as aliasing of mutable state) are made more explicit.

Related content
File PDF document factsheet1.pdf