This page gives brief descriptions and links to current software prototypes that are developed in the context of my research work.
Symfinder is a toolchain built in order to automatically identify and visualize symmetries in object-oriented systems (in Java in the current version). These symmetries are helping in determining variation points and variants in large code structures. It is composed of three distinct parts: source fetching, symmetry identification, web-based visualization.
FAMILIAR (for FeAture Model scrIpt Language for manIpulation and Automatic Reasoning) is a language for importing, exporting, composing, decomposing, editing, configuring, computing "diffs", refactoring, reverse engineering, testing, and reasoning about (multiple) feature models. All these operations can be combined to realize complex variability management tasks.
Sigma, a family of internal DSLs embedded in Scala for EMF model manipulation. Currently it consists of DSLs for model consistency checking, model-to-model (M2M) and model-to-text (M2T) transformation. All these DSLs are build on a common infrastructure that provides a convenient model navigation and modification operations. It combines the benefits of external model manipulation DSLs with general-purpose programming taking full advantage of Scala versatility, performance and tool support.
ACTRESS is a modeling environment that provides a domain-specific modeling language for defining self-adaptive software system architectures through external feedback control loops.
CONFRACT and other contract-based systems
The ConFract prototype and its extensions (for negotiation or included in a MDA/MDE toolchain) are not direclty available. If you're interested in these developments, drop me a mail.