Pamela : an annotation-based Java modelling framework

PAMELA is an annotation-based Java Modelling framework. PAMELA provides a smooth integration between model and code, and enable Java developers to handle software development both at conceptual level and at source-code level, without code transformation and/or generation, thus avoiding round-tripping issues.

Exposed metamodel provides meta-programming support, multiple inheritance and traits programming, contract programming, aspect programming and run-time weaving. This framework also offers operational features derived from model-level edition such as notification management, validation, persistence, comparison and object graph computation.

PAMELA approach has been tested and validated on some java-based industrial projects, making it a credible and reliable alternative in the context of Model-Driven Engineering.


  • Continuous modeling process
  • Strong coupling between model and code with smooth integration
  • Modeling without code generation: no need to generate POJO (plain old java objects), as their execution follow the standard semantics (less code, less bugs)
  • Interpretation of models at runtime
  • Code instrumentation
  • Meta-programming
  • Contract programming with assertions checking at runtime
  • Dynamic code weaving at runtime (aspect programming without compilation)



Getting started

Want to start with Pamela ? Read our “Getting started” guide

Contents of this package

PAMELA project contains two separate components (defined here as modules):