Skip to content

openflexo-team/pamela

Repository files navigation

pamela

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, and 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 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)

Official website, documentation and installation available here : https://www.openflexo.org/pamela