Section: Overall Objectives
Constructs for modular and secure programming
Programming languages traditionally assume that the world is consistent. Although different parts of a complex system may only have access to restricted views of the system, the system as a whole is assumed to be globally consistent. Unfortunately, this means that unanticipated changes may have far-reached, harmful consequences for the global health of the system. With the pressure to have more secure systems, a modular system is the foundation to support secure applications. However, in the context of dynamic languages, there is a definitive tension between security (confidentiality and integrity) and language flexibility and openness. The language construct challenge tackled by RMoD is formulated as follows:
What are the language modularity constructs to support reuse and security?
We are going to continue our research effort on traits (Traits are groups of methods that can be composed orthogonally to simple inheritance. However contrary to mixin, the class has the control of the composition and conflict management.) by assessing trait scalability and reuse on a large case study and developing a pure trait-based language. In addition, some efforts will be dedicated to remodularizing a meta-level architecture in the context of the design of a secure dynamic language. Indeed at the extreme, modules and structural control of reflective features are the first steps towards flexible, dynamic, yet secure, languages. As a result, we expect to demonstrate that having adequate composable units and scoping units will help the evolution and recomposition of an application.