[Seaside] Postdoctoral position in Smalltalk on Language Design

stephane ducasse stephane.ducasse at free.fr
Fri Feb 20 08:02:22 UTC 2009

The INRIA RMoD Team led by S. Ducasse has an open position on traits.


End of the campaign : May 4, 2009
Beginning of the positions: from September to December 2009


INRIA, the national institute for research in computer science and  
control, is dedicated to fundamental
and applied research in information and communication science and  
technology (ICST). The Institute has a
workforce of 3,700, 2,900 of whom are scientists from INRIA and its  
partner organizations. INRIA has
an annual budget of 162 million euros, 20% of which comes from its own  
research contracts and
development products. INRIA develops many partnerships with industry  
and fosters technology transfer
  and company foundations in the field of ICST - some eighty companies  
have been funded. Startups are
financed in particular by INRIA Transfert, a subsidiary of INRIA that  
supports four startup funds.
The international collaborations are based on an incentive strategy of  
welcoming and recruiting foreign
students as well as developing strong exchanges between research  
scientists. Priority is given to geographic
zones with strong growth: Europe, Asia and North America while  
maintaining reasonable
cooperation with South America, Africa and Middle-East.

from http://www.inria.fr/lille/scientific-research/research-teams/RMOD_page 
The goal of RMoD is to support remodularization of object-oriented  
applications. This objective
is tackled from two complementary perspectives: reengineering and  
modularity constructs for
programming languages. In the reengineering perspective we will  
propose new analyses to understand
and restructure existing large applications (specialized package  
metrics, adapted visualizations, layer
identifications). In the modularity construct context we will work on  
a pure trait-based language and
new modular abstractions. We will also propose the definition of  
dedicated secure language constructs
based on a modular and layered kernel as one direct application of  
modularization. These programming
language constructs will be experimented on Pharo, a platform for  
dynamic web development. Pharo
will be used as a testbed for a pure-traits language, which will be  
used to assess the impact of modular
classes in terms of reuse orthogonally to inheritance.

Recently, traits have been proposed as a single inheritance backward  
compatible solution in which the
composing entity has the control over the trait composition. Traits  
are fine-grained units used to
compose classes, while avoiding many of inheritance and mixin-based  
approaches. To evaluate the
expressiveness of traits, some hierarchies were refactored, showing  
code reuse. However, such large
refactorings, while valuable, may not be facing all the problems,  
since the hierarchies were previously
expressed within single inheritance and following certain patterns. In  
addition traits have always been
considered in addition to class inheritance but not as the main  
composition and reuse mechanism.

We are in the process of designing a pure traits based language. We  
want to evaluate the impact of
having only traits as building blocks and removing inheritance from an  
object-oriented language.

We expect the candidate to take part of the design of a pure traits- 
based programming language,
to perform analysis on large piece of software for remodularisation  
purposes and redesign a library.
We expect the candidate to implement the core of a pure trait-based  
language and some representative

Expected Skills

-have good skills in interpretation of object-oriented programming  
languages (classbased, prototypes, mixins...)
- have an expertise in object-oriented programming languages outside  
Java, C++ and C#
- be fluent in English

Bilbiographical References:
1 Alexandre Bergel, Stéphane Ducasse, Oscar Nierstrasz and Roel Wuyts,  
Stateful Traits and their Formalization,
Journal of Computer Languages, Systems and Structures, 2008.
2 Damien Cassou, Stphane Ducasse and Roel Wuyts, Redesigning with  
Traits: the Nile Stream trait-based Library,
International Conference on Dynamic Languages 2007, 2007, pp. 50-79.
3 Stéphane Ducasse, Oscar Nierstrasz, Nathanael Schaerli, Roel Wuyts  
and Andrew Black, Traits: A Mechanism for
fine-grained Reuse, ACM Transactions on Programming Languages and  
Systems (TOPLAS), vol. 28, no. 2, March 2006, pp. 331-388.
4 Luigi Liquori and Arnaud Spiwack, FeatherTrait: A Modest Extension  
of Featherweight Java, ACM Transactions on
Programming Languages and Systems (TOPLAS), 2007, To appear.
5 Nathanael Schaerli, Stéphane Ducasse, Oscar Nierstrasz and Andrew  
Black, Traits: Composable Units of Behavior,
Proceedings of European Conference on Object-Oriented Programming  
(ECOOP'03), LNCS, vol. 2743, Springer Verlag, July 2003, pp. 248-274.

Applicant should have held a doctorate or Ph.D. for less than one year
or you are about to obtain one and you would like to carry out a
fulfilling research activity in the field of ICST (information and
communication science and technology) or in a related field.

2,357.30 EUR gross per month (Social security already payed)

- Entitled to unemployment benefit at the end of the contract;
- Affiliated to the French social security system.

Thank you for applying directly on the institute's website, by
following this link: =

More information about the seaside mailing list