Rebel is a domain-specific language (DSL) targeted at the financial sector. It provides a lightweight formal specification language combining generic structures with specific types like Money and IBAN. Offering high-level primitives for the specification of financial transactions and the states that these transactions go through, the language helps eliciting and prototyping requirements for business products and associated processes.
Rebel is written in Rascal -- a general metaprogramming language also produced by the Software Analysis and Transformation (SWAT) group -- allowing for visualization, simulation and validation. It has been developed in a joint project with finance experts and software engineers from ING bank, where it is deployed in product development.