Helping proof tools PROSPER
Conventional proof tools not only require users to be expert logicians, they are also not integrated into the established design flows. PROSPER, on the other hand, created the technology that is required to conquer these obstacles by creating two prototype design tools for software and hardware that incorporate theorem-proving technology into existing systems. In essence, PROSPER's innovative features lie in the techniques used to present formal reasoning into CAD/CASE systems using a novel open proof architecture that integrates an industrial-strength proof engine which is maintained by plug-in proof tools and innovative specification interfaces. One component of PROSPER is the PROSPER Toolkit. This is the software element of the project that permits the user to assemble customised software components that provide integrated formal reasoning support within the applications in a flexible and simple manner. The PROSPER Toolkit camouflages reasoning and proof support for the end-user. Specifically, the Toolkit's role is to utilise formal mathematical analysis of the system being created so as to ameliorate the reliability and the quality of the software and hardware design methodology. This allows system designers to express and verify a much vaster array of properties than hitherto possible. Furthermore, the PROSPER Toolkit eliminates the need to create a new verification engine, which effectively saves time and money, as this novel software lets tool integrators put together a custom-built proof engine that will be operated by another programme via an Application Programming Interface (API). PROSPER's proof engine works as an enhanced theorem verifier using plug-in components. Ultimately, the PROSPER Toolkit is a group of software that incorporates already-existing verification tools into end-user applications, including design tools for software and hardware. Another component is the PROSPER hardware verification workbench. This component consists of programmes and tools needed to verify hardware circuits, and is comprised of a tool that repairs bugs and follows a set specification, as well as a natural language interface. A key advantage in using the PROSPER hardware verification workbench is that it facilitates the creation and delivery of less problematic circuits within a shorter development period. Within the hardware verification workbench lies the natural language interface. As most hardware verification systems rely on temporal logic to formulate and express desired properties, this feature can be troublesome as temporal logic is difficult to grasp and use. Temporal logic is an extension of prepositional logic that integrates special operators which act in terms of time. Temporal logic lets operators specify how protocols, modules, components, and procedures should act as time passes. PROSPER's natural language interface assists designers by automatically translating English phrases into temporal logic. With these developments PROSPER promises to facilitate the use of proof tools and the task of specification verification.