LARA

LARA Language: Aspect-Oriented Programming paradigm (AOP) tries to solve the programming languages decomposition by separating the secondary concerns with the program’s main logic. There are several AOP languages, such as AspectJ, an aspect-oriented extension for Java, and AspectC++, for C++. Although these languages are pretty useful for their associated programming languages, the aspects cannot be reused between aspect languages. Thus, an aspect created for a certain target language would have to be recoded to be applied to a different target language. Other disadvantages of these languages are the points of interest (join points), that, e.g., do not consider loops and local variables. LARA is a novel aspect-oriented language, developed in Faculdade de Engenharia da Universidade do Porto (FEUP), which allows the development of aspects that can be applied to different programming languages. The MATLAB and C programming languages are two examples of case studies used to which where developed weaving envirnoments using the LARA approach. Another objective of this language is to aid AOP with the possibility to define different types of actions, such as variables type definition and compile optimizations.