FORMULA (Formal Modeling Using Logic Programming and Analysis) is a modern formal specification language targeting model-based development (MBD). It is based on algebraic data types (ADTs) and strongly-typed constraint logic programming (CLP), which support concise specifications of abstractions and model transformations. Around this core is a set of composition operators for composing specifications in the style of MBD. A major advantage of FORMULA is it model finding and design space exploration facility. FORMULA can be used to construct system models satisfying complex domain constraints. The user inputs a partially specified model and FORMULA searches the space of completed models until it finds a globally satisfactory design. This process may be repeated to find many globally consistent designs. Variations on this procedure can be used to prove properties on model transformations and to perform bounded-symbolic model checking.
Note By installing, copying, or otherwise using this software, you agree to be bound by the terms of its license. Read the license.