next up previous
Next: Activities Up: Dealing with EPOS compatibility Previous: Goals

Motivation

In order to be effective as regards of complexity management, software engineering strategies usually rely on language constructs and tools. Indeed, the lack of proper language support was probably the reason why Family-Based Design could not achieve in the 70's what its niece, Software Product Lines [6], is achieving nowadays. For this work, the language and tool support behind the main techniques of Generative Programming, i.e. Aspect-Oriented Programming (AOP) [4] and Static Metaprogramming (SMP) [5], are those of greater interest.

As of today, there is no single tool capable of supporting AOP and SMP techniques at the same time: ASPECT-J is reaching maturity, but JAVA does not support SMP; C++ has full support to SMP, but ASPECT-C++ is rather restrict when the subject is weaving templates.

An additional complication regarding the deployment of SMP and AOP techniques pertains the realm of embedded system. Many of the $\mu$-controllers available today are distributed without any object-oriented language support, usually restricting developers to the features of the C programming language and consequently preventing the use of advanced software engineering techniques. This is a major constraint in a field of every-growing complexity.

The above stated problems are the main target of this work that proposes a solution on the application of ASPECTC++ along with SMP, a combination that would be profitable for EPOS. Also the use of the EPOS into the LANai processor that are integrated in SNOW'S network system is desirable in order to extend the benefits of EPOS software engineering to other portions of the SNOW cluster.


next up previous
Next: Activities Up: Dealing with EPOS compatibility Previous: Goals
Tiago Stein D'Agostini 2004-04-19