Skip to content

A tool to evaluate fuzzy quantified expressions using Quantifier Fuzzification Mechanisms (QFM)

License

Notifications You must be signed in to change notification settings

cem-okulmus/QFMtool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QFMtool

A tool to evaluate fuzzy quantified expressions using Quantifier Fuzzification Mechanisms (QFM).

qfmtool1

List of implemented QFMs

Note: Using the plotting tool requires a folder "Plots" to be present in the same directory. A copy of this is provided in the repository, and the plots can be rendered manually by installing the QFM library and running the function "generate_svgs". Instructions for this optional step are given below.

Syntax of queries

Todo

Download

On the Release page

Build instructions

Needed tools: ocaml, opam

Needed libraries: lablgtk2 (including lablgtk2.rsvg), (optionally: plplot)

On Linux and MacOS

Note on MacOS: In principle this should be identical, as MacOS is natively supported by the OCaml developer, INRIA. However, I have no MacOS machine available to make sure things work as described here. In a perfect world, it should behave identical to how it does on Linux, though.

  1. Make sure that the needed tools and libraries are installed.

On Linux just use the packaging system of your distro of choice, on MacOS a few options are available. Note: The corresponding developement packages (-dev, -devel, etc.) have to be installed as well.

  1. Install Oasis.

The build process uses Oasis, a build manager for Ocaml. Install it through opam by typing opam install oasis.

  1. Install needed OCaml libraries.

The following libraries need to be installed (through opam).

  • OCaml Batteries Included opam install batteries
  • OCaml GTK2 bindings opam install lablgtk2 (Note: if lablgtk2.rsvg was not already installed during step 0, then no bindings will be created, which are needed to succesfully build QFMtool)

Optionally, Plplot can also be installed. To use this in the QFM library, the _oasis file has to slightly changed, as it doesn't install this by default, as it is not needed. In "BuildDepends:", "plplot" must be added, and in "Modules:", "Plot" must be added. This must be done before running oasis setup. Otherwise, it must be rerun.

  1. Using Oasis to build/install QFM

Open a terminal, and set the working directory to be where the _oasis file is located.

Then type oasis setup && make && make install This will first set up the build process, and then proceed to build and install the QFM library.

These can then be imported on the Ocaml toplevel. The QFM folder should also have a ".ocamlinit" file, so just typing "ocaml" here should already load the library.

There is a build script to build the QFMtool UI (the Linux version should work on MacOS too), but compiling requires local installation of a few libraries, beyond the ones mentioned here (no catch-all for all environments, read the error-messages and make sure to have everything needed for linking, should be fairly straightforward).

On Windows

  1. Set up the OCaml environment.

Install the "graphical installer" from here (32-bit recommended for compatability purposes, maybe this gets better in time) The installer should be straightforward to use. It will setup Cygwin and everything else needed.

  1. Install needed libraries.

First install depext and depext-cygports through opam

  • opam install depext
  • opam install depext-cygports

Note: make sure to add "/usr/i686-w64-mingw/sys-root/mingw/bin" to the PATH, as recommended by the last command.

Afterward, the following commands should install all that is needed:

  • opam install oasis
  • opam depext -i lablgtk
  • opam install batteries
  1. Using Oasis to build/install QFM (and the UI)

Go to the directory with the src folder and _oasis file.

Then,

  • oasis setup (to set up the make environment)
  • make
  • make install (use 'make reinstall' in future executions)

Use the denoted buildscript (should be called 'buildui_win.sh')

  • ./buildui_win.sh

This will generate a "QFMtool.exe" file.

Note: This will only run with all needed dlls from "/usr/i686-w64-mingw/sys-root/mingw/bin" unfortunately

About

A tool to evaluate fuzzy quantified expressions using Quantifier Fuzzification Mechanisms (QFM)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published