CLIPSwl is a modified project based on CLIPS(C Language Integrated Production System)(https://sourceforge.net/projects/clipsrules/), a public domain open-source software tool for building expert systems.
CLIPS(ver. 6.24) is unsafe when access simultaneously occurs at the same environment,
because the environment data of CLIPS are not protected for simultaneous access.
We modified the CLIPS (ver. 6.24) to support lock/unlock functions in a flexible way.
CLIPSwl doesn't use complicated logic such as platform-independent mutex,
but newly defines 4 abstract functions (i.e. using function pointers) for allocating, acquiring, releasing and deallocating locks of the environment data.
Users may define their own functions that fit for their system by using their platform-dependent mutex.
CLIPSwl also support the safe string-related functions treating the rules,
and refining the warning parts of the code when compiling with gnu g++ compiler.
- Lock support is newly added to CLIPS
- Get and release the lock for your CLIPS environment when you want
- No use of complicated logic such as platform-independent mutex
- Only defines 4 abstract functions (i.e. using function pointers) for allocating, acquiring, releasing and deallocating locks of the environment data(See envrnmnt.h for more details)
- Now, based on current CLIPS stable version, 6.24
- Other changes from base : potentially insecure function replacement(ex) strcpy=>strncpy) and some warning removal for C++ Compile
One of the easiest apps to use