noun | gram - ar | \ˈgra-mər\
A gramar is a lightweight development tool that can generate up to 95% (historically speaking, ex business logic) of a component for almost any given software architecture. Past examples of generated architectures include:
To be a bit more formal, a gramar is a set of production rules for source and other files in a component implementation adhering to a specific software architecture. Each gramar has an associated schema that models the allowed points of variability between instances of that software architecture. Each production describes how to generate a file from those points of variability and is often applied multiple times, depending on the cardinality of the model. A gramar does not describe the meaning of the generated files nor what can be done with them. It only captures and generates their content.
The Gramar toolset supports the creation, authoring, distribution and application of individual gramars accross a number of IDE's and runtime environments.
A gramar consists of a set of files:
Gramars can be deployed:
A production is a text file whose boilerplate content generally resembles the file content it's meant to generate. Imbedded in its text content are gramar tags that can:
As such, the processing of a production is effectively top-down procedural with possible side effects to the model and, in the case of main.prod, the creation of projects, folders and files.
Gramar is a complete, next-generation rewrite of Eclipse Model-to-Text JET and, before that, the Design pattern Toolkit from IBM. A gramar can be applied not just in Eclipse, but in IntelliJ, as a stand-alone java application, within a web application or in any other Java execution environment.
Back to Home