Technology
The Refine SDK refers both to the invention and to the technological foundation used to create the Refine platform and its extensions to meet market needs.
The Refine programming language is a new and extremely powerful tool for developers wishing to contribute to the creation of a new generation of modernization tools.
Refine will redefine the concept of modernization tools.
Features
REFINE is a programming environment. It provides a programming language and a set of language processing tools (parser, compiler, etc.).
- The REFINE language the first programming language to provide an integrated treatment of set theory, logic, transformation rules, pattern matching, and procedure. Because the language is executable (as opposed to “paper” languages) and allows you to write programs at the specification level, the REFINE system supports programming with “executable specifications”.
- REFINE provides a powerful object base that you can query and modify using the REFINE language. REFINE programs and other software-related objects (documents, test cases) are stored in the object base. This makes REFINE ideal for writing programs that manipulate software objects, such as program transformation systems and documentation systems. You can use the object base for representing the objects in your application domain, and all REFINE tools for manipulating the object base can be used by your application.
- The REFINE compiler is implemented as a program transformation system. REFINE programs are compiled into Lisp by successive application of program transformation rules. The rules themselves are written in REFINETM; the REFINE compiler (and most of the rest of the system) is bootstrapped (i.e., written in its own language).
- REFINE provides facilities that allow you to design your own languages using a BNF-like notation to describe the grammar of your language. Given a grammar, REFINE compiles a lexical analyzer, parser, pattern matcher, pattern constructor and prettyprinter for your language. The syntax definition system is an optionally loaded system.
Tools (SDK)
Refinetm comes with its own development tools, i.e.:
- An extremely advanced syntax analyzer generator guaranteeing the upgradability of the CBMS to other syntaxes at a minimum costs.
- A Refinetm compiler for incremental Reengineering Application compilation. Refinetm is a programming language dedicated to attribute tree manipulation used to perform a broad range of complex analysis and change operations with little effort. The Refinetm language guarantees the modularity of past and future reengineering applications.
- A user interface development environment to provide Reengineering Applications with a graphical interface.

White Paper
© Copyright 2009 MetaWare - All rights reserved