Eli Tilevich, Virginia Tech (X10 team contact: Igor Peshansky)
The stated design goal for X10 is to improve development productivity for parallel applications. When it comes to constructing advanced cloud applications, X10 must provide facilities to systematically express essential non-functional concerns, including persistence, transactions, distribution, and security. In a cloud-based application, non-functional concerns may constitute intrinsic functionality, but implementing them in X10 can be non-trivial. To streamline the implementation of non-functional concerns, the Java development ecosystem features standardized, customizable, and reusable abstractions called frameworks. Java frameworks are a result of a concerted, cooperative, and multi-year effort of multiple stakeholders in the Java technology, which has been tested and proven effective by billions of lines of production code. This project will explore how Java frameworks can be automatically adapted for use by X10 programmers. The proposed approach will help avoid duplicating the effort expended on creating Java frameworks to provide equivalent facilities for X10. By enabling X10 programmers to leverage the collective expertise of the developers and users of Java frameworks, this project aims at improving programmer productivity.