
| Location | Amsterdam, the Netherlands |
|---|---|
| Function types | Postdoc positions, IT |
| Scientific fields | Engineering |
| Hours | 38.0 hours per week |
| Salary | € 2037 |
| Education | University Graduate |
| Job number | 2509 - SE4MCP/QoSDDSC |
| Translations | en zh |
Position Description (SE4MCP)
Large-scale multi-core processors enable massively concurrent execution of coarse-grain code and require software abstractions for the coordination of interactions among rival and cooperating concurrent processes, as well as between processing and storage units. Effective utilization of this computing power requires the development of advanced programming languages based on new models of concurrency (e.g., Software Transactional Memory) and new methods to adapt existing programs to the new computational models. While concurrency has a long history in Computer Science, the classical context for the study of concurrency differs from that provided by parallel multi-core chips because the scale of concurrency offered by multi-core chips lies orders of magnitude beyond what contemporary concurrent programming models can comprehensibly express. Multi-threading, for example, is today's most popular concurrency model because it requires little syntactic changes for a programming language to support it. However, such a model is of little benefit for programming of multi-core processors because it makes specification of massive coarse-grain concurrency and keeping a reasonable balance of work to achieve scalability across multiple cores immensely complex.
Providing programmers with tools to harness the power of multi-core systems is at the moment a key concern. A promising approach involves developing new programming models along with new synthesis, analysis, and verification methods for high-level models and languages for programmers to express concurrency as explicit, tangible, compositional artifacts, and from which platform-dependent executable code can subsequently be generated. The research directions in this project are:
1. New compositional programming models and paradigms that allow to explicitly specify interaction protocols at a high level of abstraction.
2. Compositional, scalable verification, analysis, and testing techniques for reasoning about correctness and quality of service properties based on formal methods.
Position Description (QoSDDSC)
All concurrent distributed applications share two main conceptual issues that set them apart from sequential non-distributed applications: (1) coordination and (2) deployment. Coordination deals with how the individual activities of multiple concurrent processes or actors involved in such an application coalesce together to yield a coherent whole. Deployment involves a (static or dynamic) specification of where each process or actor runs and what (other) resources it gets to use, such that the running application satisfies a desired set of functional and quality of service (QoS) constraints.
Reo is an expressive exogenous coordination language for compositional construction of sophisticated concurrent systems that consist of disparate, distributed components and services. Various semantic models for Reo have been developed, each serving a different purpose. A growing collection of tools, from graphical editors, to visual animation, model-checkers, code generators, etc., have been built based on these models, comprising a set of Eclipse plug-ins called the Eclipse Coordination Tools (ECT).
Deployment needs a coherent formal model of the architectural, functional, and QoS requirements of an application, a corresponding model of the available computational resources and their properties, and a mapping between the two that involves a suitable solution to a typically underspecified constraint satisfaction problem. In reality, varying the QoS parameters of a system can and does affect its functionality in significant ways. An integrated approach to the modeling and construction of distributed systems calls for new formal analysis techniques that consider both functional and QoS aspects of a system simultaneously in the same model.
The candidates for these positions must have at least a master degree in computer science, mathematics, or related fields, with a strong background in formal methods, software engineering, concurrency and distributed systems. Additional preferable qualifications for candidates include advanced programming skills, practical experience with systems, and software tool development.
The PhD students will be employed full time (38 hours per week) by CWI for the duration of their respective projects and will receive a salary. The salary amount is in accordance with the "CAO-onderzoekinstellingen" and is commensurate with experience. For instance, the current starting salary for a first year PhD student is around 2037 Euros/month. This salary will include an incremental raise for each subsequent year. Besides the salary, CWI offers very attractive and flexible terms of employment, like a collective health insurance, pension-fund, etc.
Centrum Wiskunde & Informatica (CWI)
CWI is an internationally renowned research institute in mathematics and computer science, located in Amsterdam, The Netherlands. The focus is on fundamental research problems, derived from societal needs. Research is carried out in 18 research themes. More information about these themes can be found on the website where you can also find the Annual Reports of the institute. A substantial part of this research is carried out in the framework of national or international programs.
CWI maintains excellent relations with industry and the academic world, both in the Netherlands as well as abroad. After their research careers at CWI, an increasing number of young staff members find employment in these sectors, for example in spin-off companies that are based on research results from CWI. Of course, library and computing facilities are first-rate. CWI's non-scientific services to its personnel include career planning, training and courses, assistance in finding housing, and tailor-made solutions to problems that may occasionally arise.
SEN3 at CWI is a dynamic group of internationally recognized researchers who work on coordination models and languages, concurrent and distributed systems, service-oriented and component-based software engineering, and software composition. The activity in SEN3 is a productive, healthy mix of theoretical, foundational, and experimental work in Computer Science, ranging in a spectrum covering mathematical foundations of models of computation, formal methods and semantics, implementation of advanced research software systems, as well as their real-life applications.
For more technical information about these positions please contact:
More information about employer Centrum Wiskunde en Informatica (CWI) on AcademicTransfer. Direct link to this job opening: www.academictransfer.com/4627
