Ciao is a complete Prolog system subsuming ISO-Prolog with a novel modular design which allows both restricting and extending the language. Ciao extensions currently include feature terms (records), higher-order, functions, constraints, objects, persistent predicates, a good base for distributed execution (agents), and concurrency. Libraries also support WWW programming, sockets, and external interfaces (C, Java, TCL/Tk, relational databases, etc.). An Emacs-based environment, a stand-alone compiler, and a toplevel shell are also provided.
OBJ3 is a program specification and proof system based on order sorted equational logic. It has been successfully used for research and teaching in software design and specification, rapid prototyping, theorem proving, user interface design, and hardware verification, among other things. It was the first language to implement parameterized programming and its module system influenced the designs of the Ada, C++, and ML module systems.
UPPAAL is an integrated tool environment for modeling, validation, and verification of real time systems, modeled as networks of timed automata, extended with data types (bounded integers, arrays, etc.). Typical application areas include real time controllers and communication protocols, in particular those where timing aspects are critical.
Higher Order Logic (HOL) is a programming environment in which theorems can be proved and proof tools implemented. Built-in decision procedures and theorem provers can automatically establish many simple theorems. An Oracle mechanism gives access to external programs such as SAT and BDD engines. HOL 4 is particularly suitable as a platform for implementing combinations of deduction, execution, and property checking.
ReadySET is a project to produce and maintain a library of reusable software engineering document templates. These templates provide a ready starting point for the documents used in software development projects. Using good templates can help developers work more quickly, and they help prompt discussion and avoid oversights. Key features include: high-quality outlines, sample text, and checklists, use of simple Web technologies (pure XHTML and CSS), and templates for many common software engineering documents.
TIMES is a tool suite designed mainly for symbolic schedulability analysis and synthesis of executable code with predictable behaviors for real-time systems. Given a system design model consisting of a set of application tasks (required to meet mixed timing, precedence, and resource constraints), a network of timed automata describing the task arrival pattern and a preemptive or non-preemptive scheduling policy, TIMES will generate a scheduler, and calculate worst-case response times for the tasks. The design model may be further validated using a model checker and then compiled to executable C-code.
PEP is a modeling and verification framework for parallel systems. It provides a large number of different modelling languages (e.g. SDL, B(PN)^2, Petri nets, Process algebras and Finite Automata), and verification techniques (e.g. reachability and temporal logic model checking). Due to its Tcl/Tk-based GUI, PEP is easily extensible to other analysis or specification tools. The framework offers fully integrated simulation and debugging features on all levels.
Uppaal TRON is a testing tool for black-box conformance testing of real-time embedded software systems. Given a formal timed automata model of the system under test (SUT) and its assumed operating environment, it automatically generates, executes, and checks timed test sequences online. The observed behavior is required to be timed trace included in the specification. The tool is based on the Uppaal engine, which is a model-checker of real-time systems modeled as networks of timed automata.