feasiPLe Logo

Forschungsprojekt feasiPLe

Feature-getriebene, aspektorientierte und modellgetriebene Produktlinienentwicklung


CaesarJ is a new Java based programming language, which facilitates better modularity and development of reusable components. The components are collaborations of classes, but they can modularize crosscutting features or non-functional concerns. Caesar language features help to implement, abstract and integrate such components. Caesar can be used in combination with plain Java. Tool support is available in the form of an Eclipse plugin.

Language Features of CaesarJ

  • Virtual classes
  • Mixin-based inheritance
  • Language support for adapters
  • Aspect-oriented language

CaesarJ in particular can be used to modularize software into features to achieve better extensibility and reusability. Relevant topics are:

  • Feature modularization with virtual classes and mixin composition
  • Identification and modularization of features at the level of requirements
  • Semantics of virtual classes that support modular type checking and incremental compilation
  • Providing additional languages support for product line engineering

Back to the feasiPLe Architecture