Summary
1. DESCRIPTION   1.1. Introduction>   1.2. Methodology> 2. NAMES OF PROJECTS 3. DOMAINS   3.1. Projects by field>   3.2. Statistics by domain> 4. APPLICATIONS BY YEAR 5. PROJECTS 6. RESOURCES BY PROJECT   6.1. Lines and efforts>   6.2. Language used>   6.3. Platform used>
1. DESCRIPTION
1.1. Introduction
This page contains a structured presentation of a survey or Prolog applications started in May 2022.
The collected data is presented below. Number of projects as today : 59. Many thanks to all the participants for the survey. This is an ongoing work, please contribute if you know more applications. |
|
1.2. Methodology
|
|
Short powerpoint presentation of the methodology and analysis of results. (HERE).
2. NAMES OF PROJECTS
Projects are sorted by name.
Alpino,
BIOCHAM,
BrailleMath,
CASSANDRA,
Causality Link,
CiaoPP,
Cliopatra,
Company Name Standardizer,
DeepFind,
DES,
EMDS,
Energy Analyzer,
ErgoAI,
ETALIS,
Ews,
EYE,
Flex Expert System toolkit,
FSA Utilities,
FTCLP,
gamemaster,
GTO,
IBM Watson,
KALM,
LHornSolver,
LPdoc,
MetaMap,
Michelson Cost Analyzer,
MOVIS,
Muasm,
NeuralTax,
NtHorn,
ODE Classifier,
ODE Constructor,
Pacioli,
PECOS,
Pi,
PI-Horn,
Price Grouper,
ProB,
Prolog Playground,
Property Extractor,
PROSYN,
pykythe,
RAHFT,
Recovup,
Rfuzzy,
s(CASP),
SIGOLI,
SIIUE,
Spacial,
Spectector,
SWISH,
SWMOD,
Symbium,
TA scheduler,
THORONDIR,
TypeInference,
WR2QTP,
WUENIC,
... etc
3. DOMAINS
Projects are grouped by keywords which are present in the various fields of the database. A project can appear in several domains.3.1. Projects by field
---------------------- Business ( 4 projects / 6% in the domain) , keywords : sales, sell, sold, business, brand ----------------------
Company Name Standardizer (When Deployed,brand) Supply Chain Management
NeuralTax (When Deployed,brand) accounting, legal
Price Grouper (When Deployed,brand) Parts Management
SIGOLI (When Deployed,brand) computational molecular biology
---------------------- Classification ( 2 projects / 3% in the domain) , keywords : classif ----------------------
ODE Classifier (references,classif) Parts Management
SIGOLI (references,classif) computational molecular biology
---------------------- Decision ( 5 projects / 8% in the domain) , keywords : decision ----------------------
EMDS (organization,decision) GIS, environmental modelling
ErgoAI (organization,decision) Higher-level logic programming system implemented on top of XSB Prolog used for commercial applications in: configuration management, legal reasoning, financial planning, reasoning in defense applications, medical diagnosis, etc.
Ews (organization,decision) Used in any domain where English language statements (stored from what a user knows) are used to describe that particular domain whereby those facts can be tested and acted on by reading statements in Excel spreadsheet cells.
IBM Watson (organization,decision) question answering
WUENIC (organization,decision) decision support
---------------------- Design ( 6 projects / 10% in the domain) , keywords : engineering, architecture, CAD ----------------------
Alpino (references,engineering) unknown domain
CASSANDRA (references,CAD) Software & Systems Engineering
Flex Expert System toolkit (references,engineering) Knowledge-based Expert Systems
IBM Watson (references,architecture) question answering
PROSYN (references,CAD) Process Engineering, Chemical Industry
Spacial (references,CAD) design expert systems tools
---------------------- Engineering ( 5 projects / 8% in the domain) , keywords : engineering ----------------------
Alpino (organization,engineering) unknown domain
CASSANDRA (organization,engineering) Software & Systems Engineering
Flex Expert System toolkit (organization,engineering) Knowledge-based Expert Systems
PROSYN (organization,engineering) Process Engineering, Chemical Industry
Spacial (organization,engineering) design expert systems tools
---------------------- Expert Systems ( 6 projects / 10% in the domain) , keywords : expert, advis ----------------------
DES (organization,expert) Teaching, Research
Flex Expert System toolkit (organization,expert) Knowledge-based Expert Systems
KALM (organization,advis) Natural Language Processing
PROSYN (organization,advis) Process Engineering, Chemical Industry
Rfuzzy (organization,advis) Expert systems, Programming, Tools
Spacial (organization,advis) design expert systems tools
---------------------- Finance ( 6 projects / 10% in the domain) , keywords : loan, bank, credit, financ ----------------------
Alpino (references,bank) unknown domain
Causality Link (references,financ) model of the financial world
ErgoAI (references,financ) Higher-level logic programming system implemented on top of XSB Prolog used for commercial applications in: configuration management, legal reasoning, financial planning, reasoning in defense applications, medical diagnosis, etc.
ETALIS (references,financ) Complex Event Processing
MOVIS (references,bank) unknown domain
Pacioli (references,financ) accounting,auditing,XBRL,blockchain,NFT,fintech
---------------------- Generation of documents and programs ( 23 projects / 38% in the domain) , keywords : generat, document, parse, parsing ----------------------
Alpino (references,generat) unknown domain
BrailleMath (references,parsing) Automated Translation
Causality Link (references,parsing) model of the financial world
DeepFind (references,parsing) Programming, Research, Tools
DES (references,document) Teaching, Research
EMDS (references,parsing) GIS, environmental modelling
Ews (references,document) Used in any domain where English language statements (stored from what a user knows) are used to describe that particular domain whereby those facts can be tested and acted on by reading statements in Excel spreadsheet cells.
Flex Expert System toolkit (references,document) Knowledge-based Expert Systems
FTCLP (references,parsing) programming research tools
IBM Watson (references,parsing) question answering
KALM (references,parsing) Natural Language Processing
LHornSolver (references,parsing) programming research tools
LPdoc (references,generat) teaching generation of documents and programs programming tools
MOVIS (references,parsing) unknown domain
NtHorn (references,parsing) programming research tools
ODE Constructor (references,parsing) Domain Specific Ontology Constructor/Editor
Pacioli (references,parsing) accounting,auditing,XBRL,blockchain,NFT,fintech
Prolog Playground (references,parsing) teaching programming tools
Property Extractor (references,parsing) Semantic Knowledge Processing
pykythe (references,parsing) Type inferencer and code analyzer for Python
Recovup (references,parsing) Health
WR2QTP (references,parsing) Automated Software Porting
WUENIC (references,parsing) decision support
---------------------- Health ( 3 projects / 5% in the domain) , keywords : health, medicine, medical, drug, patholog, therap ----------------------
ErgoAI (description,therap) Higher-level logic programming system implemented on top of XSB Prolog used for commercial applications in: configuration management, legal reasoning, financial planning, reasoning in defense applications, medical diagnosis, etc.
MetaMap (description,medical) unknown domain
Recovup (description,medical) Health
---------------------- Knowledge Management ( 22 projects / 37% in the domain) , keywords : knowledge, representation, expert system, intelligence, ontolog ----------------------
Alpino (organization,representation) unknown domain
BIOCHAM (organization,knowledge) research and teaching in computational systems biology
Causality Link (organization,ontolog) model of the financial world
Cliopatra (organization,ontolog) Linked Data research
DES (organization,expert system) Teaching, Research
EMDS (organization,ontolog) GIS, environmental modelling
ErgoAI (organization,knowledge) Higher-level logic programming system implemented on top of XSB Prolog used for commercial applications in: configuration management, legal reasoning, financial planning, reasoning in defense applications, medical diagnosis, etc.
ETALIS (organization,ontolog) Complex Event Processing
Ews (organization,ontolog) Used in any domain where English language statements (stored from what a user knows) are used to describe that particular domain whereby those facts can be tested and acted on by reading statements in Excel spreadsheet cells.
Flex Expert System toolkit (organization,knowledge) Knowledge-based Expert Systems
KALM (organization,knowledge) Natural Language Processing
MOVIS (organization,ontolog) unknown domain
ODE Classifier (organization,ontolog) Parts Management
ODE Constructor (organization,ontolog) Domain Specific Ontology Constructor/Editor
Pacioli (organization,ontolog) accounting,auditing,XBRL,blockchain,NFT,fintech
Pi (organization,intelligence) unknown domain
Property Extractor (organization,ontolog) Semantic Knowledge Processing
PROSYN (organization,ontolog) Process Engineering, Chemical Industry
Rfuzzy (organization,ontolog) Expert systems, Programming, Tools
SIIUE (organization,ontolog) Higher Education institutional management and daily operations
Spacial (organization,ontolog) design expert systems tools
WUENIC (organization,knowledge) decision support
---------------------- Legal ( 3 projects / 5% in the domain) , keywords : legal, law ----------------------
ErgoAI (references,law) Higher-level logic programming system implemented on top of XSB Prolog used for commercial applications in: configuration management, legal reasoning, financial planning, reasoning in defense applications, medical diagnosis, etc.
NeuralTax (references,law) accounting, legal
Symbium (references,law) Computational Law
---------------------- Operations ( 20 projects / 33% in the domain) , keywords : operations, activit, process, daily, monthly, real-time ----------------------
CASSANDRA (references,real-time) Software & Systems Engineering
Causality Link (references,real-time) model of the financial world
CiaoPP (references,process) Programming Research Tools
DeepFind (references,real-time) Programming, Research, Tools
EMDS (references,real-time) GIS, environmental modelling
ETALIS (references,process) Complex Event Processing
Flex Expert System toolkit (references,process) Knowledge-based Expert Systems
FSA Utilities (references,process) unknown domain
ODE Classifier (references,real-time) Parts Management
ODE Constructor (references,real-time) Domain Specific Ontology Constructor/Editor
Pacioli (references,real-time) accounting,auditing,XBRL,blockchain,NFT,fintech
Property Extractor (references,real-time) Semantic Knowledge Processing
PROSYN (references,process) Process Engineering, Chemical Industry
pykythe (references,real-time) Type inferencer and code analyzer for Python
SIGOLI (references,real-time) computational molecular biology
SIIUE (references,real-time) Higher Education institutional management and daily operations
Spacial (references,real-time) design expert systems tools
SWMOD (references,real-time) unknown domain
THORONDIR (references,real-time) unknown domain
WUENIC (references,real-time) decision support
---------------------- Problem solving ( 6 projects / 10% in the domain) , keywords : sales, customer, problem ----------------------
IBM Watson (references,problem) question answering
Rfuzzy (references,problem) Expert systems, Programming, Tools
SIGOLI (references,problem) computational molecular biology
TA scheduler (references,problem) Automated Scheduling
WR2QTP (references,problem) Automated Software Porting
WUENIC (references,problem) decision support
---------------------- Programming ( 44 projects / 74% in the domain) , keywords : program, language, compil, software, specification ----------------------
Alpino (references,specification) unknown domain
BIOCHAM (references,compil) research and teaching in computational systems biology
BrailleMath (references,specification) Automated Translation
CASSANDRA (references,specification) Software & Systems Engineering
CiaoPP (references,program) Programming Research Tools
DeepFind (references,program) Programming, Research, Tools
DES (references,program) Teaching, Research
EMDS (references,specification) GIS, environmental modelling
Energy Analyzer (references,program) energy, programming, research, tools
ErgoAI (references,program) Higher-level logic programming system implemented on top of XSB Prolog used for commercial applications in: configuration management, legal reasoning, financial planning, reasoning in defense applications, medical diagnosis, etc.
ETALIS (references,program) Complex Event Processing
Ews (references,language) Used in any domain where English language statements (stored from what a user knows) are used to describe that particular domain whereby those facts can be tested and acted on by reading statements in Excel spreadsheet cells.
Flex Expert System toolkit (references,software) Knowledge-based Expert Systems
FSA Utilities (references,language) unknown domain
FTCLP (references,program) programming research tools
gamemaster (references,specification) General Game Playing
GTO (references,specification) unknown domain
IBM Watson (references,specification) question answering
KALM (references,program) Natural Language Processing
LHornSolver (references,specification) programming research tools
LPdoc (references,specification) teaching generation of documents and programs programming tools
Michelson Cost Analyzer (references,specification) blockchain programming research tools
MOVIS (references,specification) unknown domain
Muasm (references,specification) programming research tools
NeuralTax (references,specification) accounting, legal
NtHorn (references,specification) programming research tools
PECOS (references,specification) Programming Research Tools
PI-Horn (references,specification) programming research tools
Pi (references,specification) unknown domain
Prolog Playground (references,specification) teaching programming tools
Property Extractor (references,specification) Semantic Knowledge Processing
pykythe (references,specification) Type inferencer and code analyzer for Python
RAHFT (references,specification) programming research tools
Rfuzzy (references,specification) Expert systems, Programming, Tools
s(CASP) (references,program) Programming, Research, Tools
SIGOLI (references,specification) computational molecular biology
SIIUE (references,program) Higher Education institutional management and daily operations
Spacial (references,program) design expert systems tools
Spectector (references,specification) programming research tools
SWISH (references,program) Prolog education and sharing
SWMOD (references,program) unknown domain
Symbium (references,specification) Computational Law
TypeInference (references,program) programming, tools, research
WR2QTP (references,program) Automated Software Porting
---------------------- Real-Time ( 5 projects / 8% in the domain) , keywords : real-time ----------------------
Causality Link (references,real-time) model of the financial world
ETALIS (references,real-time) Complex Event Processing
SIGOLI (references,real-time) computational molecular biology
SWMOD (references,real-time) unknown domain
THORONDIR (references,real-time) unknown domain
---------------------- Research ( 31 projects / 52% in the domain) , keywords : university, research, proof, proving, formal ----------------------
Alpino (organization,formal) unknown domain
BIOCHAM (organization,research) research and teaching in computational systems biology
Causality Link (organization,research) model of the financial world
CiaoPP (organization,formal) Programming Research Tools
Cliopatra (organization,formal) Linked Data research
DeepFind (organization,formal) Programming, Research, Tools
DES (organization,formal) Teaching, Research
Energy Analyzer (organization,formal) energy, programming, research, tools
ErgoAI (organization,formal) Higher-level logic programming system implemented on top of XSB Prolog used for commercial applications in: configuration management, legal reasoning, financial planning, reasoning in defense applications, medical diagnosis, etc.
EYE (organization,proof) industry (healthcare, construction, ...)
Flex Expert System toolkit (organization,formal) Knowledge-based Expert Systems
FTCLP (organization,formal) programming research tools
GTO (organization,formal) unknown domain
IBM Watson (organization,research) question answering
KALM (organization,university) Natural Language Processing
LHornSolver (organization,formal) programming research tools
Michelson Cost Analyzer (organization,formal) blockchain programming research tools
Muasm (organization,formal) programming research tools
NtHorn (organization,formal) programming research tools
PECOS (organization,formal) Programming Research Tools
PI-Horn (organization,formal) programming research tools
Pi (organization,formal) unknown domain
ProB (organization,formal) unknown domain
RAHFT (organization,formal) programming research tools
s(CASP) (organization,formal) Programming, Research, Tools
SIIUE (organization,formal) Higher Education institutional management and daily operations
Spacial (organization,formal) design expert systems tools
Spectector (organization,formal) programming research tools
Symbium (organization,formal) Computational Law
TypeInference (organization,formal) programming, tools, research
WUENIC (organization,formal) decision support
---------------------- Scheduling ( 2 projects / 3% in the domain) , keywords : schedul ----------------------
SWMOD (organization,schedul) unknown domain
TA scheduler (organization,schedul) Automated Scheduling
---------------------- Teaching ( 11 projects / 18% in the domain) , keywords : teach, educat ----------------------
BIOCHAM (references,educat) research and teaching in computational systems biology
BrailleMath (references,educat) Automated Translation
DES (references,educat) Teaching, Research
Flex Expert System toolkit (references,educat) Knowledge-based Expert Systems
gamemaster (references,educat) General Game Playing
KALM (references,educat) Natural Language Processing
LPdoc (references,educat) teaching generation of documents and programs programming tools
Prolog Playground (references,educat) teaching programming tools
SIIUE (references,educat) Higher Education institutional management and daily operations
SWISH (references,educat) Prolog education and sharing
TA scheduler (references,educat) Automated Scheduling
---------------------- Tools ( 24 projects / 40% in the domain) , keywords : tool, platform ----------------------
Alpino (description,platform) unknown domain
BIOCHAM (description,platform) research and teaching in computational systems biology
CASSANDRA (description,tool) Software & Systems Engineering
Causality Link (description,platform) model of the financial world
CiaoPP (description,tool) Programming Research Tools
Cliopatra (description,platform) Linked Data research
DeepFind (description,tool) Programming, Research, Tools
DES (description,platform) Teaching, Research
Energy Analyzer (description,tool) energy, programming, research, tools
FSA Utilities (description,tool) unknown domain
gamemaster (description,tool) General Game Playing
GTO (description,tool) unknown domain
KALM (description,platform) Natural Language Processing
Michelson Cost Analyzer (description,tool) blockchain programming research tools
Muasm (description,tool) programming research tools
NtHorn (description,tool) programming research tools
PI-Horn (description,tool) programming research tools
ProB (description,platform) unknown domain
Prolog Playground (description,tool) teaching programming tools
pykythe (description,platform) Type inferencer and code analyzer for Python
RAHFT (description,tool) programming research tools
Rfuzzy (description,tool) Expert systems, Programming, Tools
SIGOLI (description,tool) computational molecular biology
Spectector (description,tool) programming research tools
No unclassified project
details of projects --> fields
Alpino : Design, Engineering, Finance, Generation of documents and programs, Knowledge Management, Programming, Research, Tools.
BIOCHAM : Knowledge Management, Programming, Research, Teaching, Tools.
BrailleMath : Generation of documents and programs, Programming, Teaching.
CASSANDRA : Design, Engineering, Operations, Programming, Tools.
Causality Link : Finance, Generation of documents and programs, Knowledge Management, Operations, Real-Time, Research, Tools.
CiaoPP : Operations, Programming, Research, Tools.
Cliopatra : Knowledge Management, Research, Tools.
Company Name Standardizer : Business.
DES : Expert Systems, Generation of documents and programs, Knowledge Management, Programming, Research, Teaching, Tools.
DeepFind : Generation of documents and programs, Operations, Programming, Research, Tools.
EMDS : Decision, Generation of documents and programs, Knowledge Management, Operations, Programming.
ETALIS : Finance, Knowledge Management, Operations, Programming, Real-Time.
EYE : Research.
Energy Analyzer : Programming, Research, Tools.
ErgoAI : Decision, Finance, Health, Knowledge Management, Legal, Programming, Research.
Ews : Decision, Generation of documents and programs, Knowledge Management, Programming.
FSA Utilities : Operations, Programming, Tools.
FTCLP : Generation of documents and programs, Programming, Research.
Flex Expert System toolkit : Design, Engineering, Expert Systems, Generation of documents and programs, Knowledge Management, Operations, Programming, Research, Teaching.
GTO : Programming, Research, Tools.
IBM Watson : Decision, Design, Generation of documents and programs, Problem solving, Programming, Research.
KALM : Expert Systems, Generation of documents and programs, Knowledge Management, Programming, Research, Teaching, Tools.
LHornSolver : Generation of documents and programs, Programming, Research.
LPdoc : Generation of documents and programs, Programming, Teaching.
MOVIS : Finance, Generation of documents and programs, Knowledge Management, Programming.
MetaMap : Health.
Michelson Cost Analyzer : Programming, Research, Tools.
Muasm : Programming, Research, Tools.
NeuralTax : Business, Legal, Programming.
NtHorn : Generation of documents and programs, Programming, Research, Tools.
ODE Classifier : Classification, Knowledge Management, Operations.
ODE Constructor : Generation of documents and programs, Knowledge Management, Operations.
PECOS : Programming, Research.
PI-Horn : Programming, Research, Tools.
PROSYN : Design, Engineering, Expert Systems, Knowledge Management, Operations.
Pacioli : Finance, Generation of documents and programs, Knowledge Management, Operations.
Pi : Knowledge Management, Programming, Research.
Price Grouper : Business.
ProB : Research, Tools.
Prolog Playground : Generation of documents and programs, Programming, Teaching, Tools.
Property Extractor : Generation of documents and programs, Knowledge Management, Operations, Programming.
RAHFT : Programming, Research, Tools.
Recovup : Generation of documents and programs, Health.
Rfuzzy : Expert Systems, Knowledge Management, Problem solving, Programming, Tools.
SIGOLI : Business, Classification, Operations, Problem solving, Programming, Real-Time, Tools.
SIIUE : Knowledge Management, Operations, Programming, Research, Teaching.
SWISH : Programming, Teaching.
SWMOD : Operations, Programming, Real-Time, Scheduling.
Spacial : Design, Engineering, Expert Systems, Knowledge Management, Operations, Programming, Research.
Spectector : Programming, Research, Tools.
Symbium : Legal, Programming, Research.
TA scheduler : Problem solving, Scheduling, Teaching.
THORONDIR : Operations, Real-Time.
TypeInference : Programming, Research.
WR2QTP : Generation of documents and programs, Problem solving, Programming.
WUENIC : Decision, Generation of documents and programs, Knowledge Management, Operations, Problem solving, Research.
gamemaster : Programming, Teaching, Tools.
pykythe : Generation of documents and programs, Operations, Programming, Tools.
s(CASP) : Programming, Research.
3.2. Statistics by domain
TOTAL : 59 projects.
|
% | # Projects |
|
|
Programming |
|
|
program, language, compil, software, specification | |
Research |
|
|
university, research, proof, proving, formal | |
Tools |
|
|
tool, platform | |
Generation of documents and programs |
|
|
generat, document, parse, parsing | |
Knowledge Management |
|
|
knowledge, representation, expert system, intelligence, ontolog | |
Operations |
|
|
operations, activit, process, daily, monthly, real-time | |
Teaching |
|
|
teach, educat | |
Design |
|
|
engineering, architecture, CAD | |
Problem solving |
|
|
sales, customer, problem | |
Expert Systems |
|
|
expert, advis | |
Finance |
|
|
loan, bank, credit, financ | |
Decision |
|
|
decision | |
Engineering |
|
|
engineering | |
Real-Time |
|
|
real-time | |
Business |
|
|
sales, sell, sold, business, brand | |
Legal |
|
|
legal, law | |
Health |
|
|
health, medicine, medical, drug, patholog, therap | |
Classification |
|
|
classif | |
Scheduling |
|
|
schedul | |
Speech |
|
|
speech |
4. APPLICATIONS BY YEAR
Warning some errors may occur because of automation.
|
Center Projects |
1985
|
|
1986
|
|
1989
|
|
1991
|
Pi Pi is an interactive proof editor using partial inductive definitions with typed higher-order terms as its meta logic. It can accept semantic and syntactic definitions for object logics and allows a user to interactively develop and edit proofs. Proofs are displayed on the screen as proof trees. Note: Pi is interesting in that it is a completely pure logic program also for input/output which is done using streams implemented as lazy lists |
1992
|
|
1995
|
EMDS The Ecosystem Management Decision Support (EMDS) system is an application framework for designing and implementing spatially enabled knowledge-based decision support systems for environmental analysis and planning at any geographic scale(s). |
1996
|
FSA Utilities FSA Utilities is a collection of utilities to manipulate regular expressions, finite-state automata and finite-state transducers. Manipulations include automata construction from regular expresssions, determinization (both for finite-state acceptors and finite-state transducers), minimization, composition, complementation, intersection, Kleene closure, etc. Various visualization tools are available to browse finite-state automata. Interpreters are provided to apply finite automata. Finite automata can also be compiled into stand-alone C programs. FSA6 extends FSA5 by allowing predicates on arcs instead of atomic symbols LPdoc Automatic program documentation and web site generator for (C)LP systems |
1997
|
GTO GTO is a formal methods tool. It can analyse specifications and system models written in linear time predicate logic with finite quantification domains. It offers animation/simulation of models, proofs using external SAT solvers and exploration of (counter)models. It can also export models to Isabelle for interactive proof. It has been used industrially in a number of projects. Today it is a research tool. |
1999
|
CASSANDRA CASSANDRA is a platform for advanced engineering applications such as executable specifications (simulations), effort estimation, model reviews, consultancy semantics exploration, games and more. Ews Use of Natural language (NL) to perform human tasks in computing by reading English language text stored by users in text databases, SQL databases, and Excel spreadsheets databases. Spreadsheet cells can contain several English language statements (sentences) whereby those sentences are read by the computer which may direct any statement in the spreadsheet cell to start to read another cell which can then read text, SQL statements or text in spreadsheet cells that may be attached to files, exe(s), word documents, and other MS or non-MS files, and URLs. Software agent statements I.e.: “agentcar show me a picture or a red car with a 305-horsepower engine.” Read a statement in a cell and have it so the statement transfers data from a remote spreadsheet on the Internet via the software agent designated statement to the sending spreadsheet cell. Most importantly, consider any domain of knowledge, chemical, mechanical, electrical, computing etc. and translate those facts and statements stored in Excel spreadsheet so that logic testing of those statements can be made resulting in decisions from rows and columns wherein English language statements from the spreadsheet cells are sent (via software agent statements) to other cells or spreadsheets on the local computer or computer on their networks. |
2000
|
Alpino Alpino contains a dependency parser for Dutch, and a Dutch generator, as well as a large number of tools for working with Dutch dependency treebanks ErgoAI ErgoAI is a higher-level logic programming system implemented on top of XSB Prolog developed by CoherentKnowledge Systems, Inc. It is the newest reincarnation of Flora-2 developed at Stony Brook University on top of XSB Prolog, including: object-oriented programming, defeasible reasoning, transaction logic, incremental updates, a natural language programming language, and many more higher-level logics. It has been used in many commercial and research applications for private companies, research labs, and governmental agencies, in applications, such as: configuration management, legal reasoning, financial planning, reasoning in defense applications, medical diagnosis, etc. MOVIS Describe and define logic rules in a high-level format accessible by non-programmers, while providing full computational power. Execute rule models to provide answers and solution to calls (questions) from credit origination systems, or whatever system that needs to execute logic rules |
2001
|
ODE Classifier This is a Bayesian-like classifier of short textual part descriptions that maps a text description to nodes in a taxonomy of parts containing c. 60,000 nodes. It includes a GUI to edit the ontology that drives the classifier. |
2002
|
|
2003
|
DES The Datalog Educational System (DES) was originally developed to teach deductive databases in the absence of a handy Datalog interpreter. Nowadays is also used as a research test-bed and used in several application domains. ODE Constructor This interactive application allows a user to create/edit an ontology that drives the XSB extractor to extract and standardize part properties from text. ProB ProB is a validation tool for the B-Method and various other related formal methods. Property Extractor This application extracts from free text references to Specifications and Standards, materials, and processes. SIIUE Run the entire information system for a University, including all aspects of academic and research-related activity |
2004
|
Cliopatra Integrated platform for development of RDF based applications Price Grouper It takes a number of records for a single part that include its price as sold by some supplier. The quantity that the price varies, often for 1, but sometimes for packages containing 10 or 12 or 144 or 2000. The grouper uses heuristics to attempt to group the records into groups of the same quantity. TA scheduler Automatically schedules about 80 teaching assistants to approximately 200 courses taking into account skills, enrollment numbers, etc. |
2005
|
BrailleMath Automatically convert Braille Document describing mathematics and text into print-pdf. The idea is to help blind teachers of blind students studying math be able to grade their homework. Company Name Standardizer Take purported name of a company and standardize it to common form. TypeInference Infers a well-typing for a Prolog program. gamemaster Comprehensive website with educational resources, game description language, game analysis and optimization tools, game playing software, and infrastructure for administering general game playing competitions. |
2006
|
EYE EYE is a reasoning engine supporting the Semantic Web layers https://www.w3.org/DesignIssues/diagrams/sweb-stack/2006a |
2007
|
ETALIS Streams of events appear increasingly today in various Web applications such as news feeds, sensor data streams, geospatial information, on-line financial data, etc. Event Processing (EP) is concerned with timely detection of compound events within streams of simple events. We developed ETALIS and EP-SPARQL languages for specifying patterns for detecting composed events from simpler events by means of deductive rules.ETALIS is implemented in Prolog. The engine run on many Prolog systems: XSB, SWI, YAP, SICStus, tuProlog and LPA Prolog. IBM Watson On February 14-16, 2011, the IBM Watson question answering system won the Jeopardy! Man vs. Machine Challenge by defeating two former grand champions, Ken Jennings and Brad Rutter. Prolog was the ideal choice for conveniently express pattern matching rules over the parse trees and other annotations (such as named entity recognition results) due to its simplicity, expressiveness, and the capacity to query these rules efficiently. SIGOLI A methodology for discovery of diagnostic short DNA fragments, which after having solved spectacularly the problem that initially motivated it (plant pathogen identification) revealed itself also successful in surprisingly many other areas, including coronaviruses detection. |
2008
|
Energy Analyzer Tool for verifying and visualizing the energy consumption of programs Rfuzzy Simple and Expressive Fuzzy Tool WR2QTP Automatically translate test scripts written in WinRunner (an old test-scripting language) to QTP (a more modern test-scripting language). |
2009
|
WUENIC The system is a set of logical rules that assists WHO and UNICEF in estimating annual, global, country by country, infant immunization coverage. |
2013
|
FTCLP FTCLP: A Failure-based Tabling Interpreter for Constraint Logic Programs based on Interpolation |
2014
|
|
2016
|
DeepFind DeepFind is a semantic code browser LHornSolver An abstraction-refinement algorithm for solving non-linear Horn clauses using only a linear Horn clause solver RAHFT Refinement of Abstraction in Horn clauses using Finite Tree automata (RAHFT) SWMOD Select the best test-case candidate in real-time. Determine the order and which robot to execute the robot on. Make sure each test-case over time will be executed. |
2017
|
|
2018
|
KALM Knowledge Authoring for Logic Machines (KALM) system allows knowledge authoring with the aim of endowing domain experts with tools that would allow them to translate their knowledge into logic. Muasm Translator of x64 into muASM programs for static analysis PECOS CHC solver PI-Horn Preconditions inferrer for Horn clauses (PI-Horn) Spectector Spectector is a tool for reasoning about information flows produced by speculatively executed instructions Symbium Automated compliance management for residential construction |
2019
|
|
2020
|
Causality Link collective intelligence in finance Causality Link’s AI-powered platform collects millions of documents in real-time to find explicit cause-and-effect statements relating indicators and events that only humans can make. This model of the forces acting on the financial world aggregates the knowledge of thousands of authors into a single deductive system. Combining these causal links with predictive analytics provides valuable insights and forecasts on companies, industries and macroeconomic topics that cannot be generated with traditional data and sentiment. Michelson Cost Analyzer Analyzer and verifier for gas and storage consumption in smart contracts written in the Michelson language |
2021
|
|
2022
|
5. PROJECTS
You can click on the ∑ symbol to go back to the summaryApplications are sorted by alphabetical order.
∑ project : Alpino
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
Alpino |
purpose : Alpino contains a dependency parser for Dutch, and a Dutch generator, as well as a large number of tools for working with Dutch dependency treebanks description : Program for syntactic analysis and production of Dutch |
references :
Gosse Bouma, Gertjan van Noord, Robert Malouf. Alpino: Wide Coverage Computational Analysis of Dutch. In: Computational Linguistics in the Netherlands CLIN 2000. 2001. Leonoor van der Beek, Gosse Bouma, Robert Malouf, Gertjan van Noord. The Alpino Dependency Treebank. In: Mariët Theune, Anton Nijholt, Hendri Hondorp (editors). Computational Linguistics in the Netherlands CLIN 2001. Selected papers from the Twelfth CLIN Meeting. Rodopi 2002. Robbert Prins and Gertjan van Noord. Reinforcing Parser Preferences through Tagging. In special issue on Evolutions in Parsing of the journal Traitement Automatique des Langues volume 44(3) 2003, pages 121-139. 2004. Finite Automata for Compact Representation of Tuple Dictionaries. Theoretical Computer Science. Volume 313, Issue 1, Pages 45--56. 2002. Robert Malouf, Gertjan van Noord. Wide Coverage Parsing with Stochastic Attribute Value Grammars. In: IJCNLP-04 Workshop Beyond Shallow Analyses - Formalisms and statistical modeling for deep analyses. 2004. Gertjan van Noord. Error Mining for Wide-Coverage Grammar Engineering. In: ACL 2004, Barcelona. 2004. Gertjan van Noord. At Last Parsing Is Now Operational. In: Piet Mertens, Cedrick Fairon, Anne Dister, Patrick Watrin (editors): TALN06. Verbum Ex Machina. Actes de la 13e conference sur le traitement automatique des langues naturelles. Page 20--42. 2006. Gertjan van Noord. Using Self-Trained Bilexical Preferences to Improve Disambiguation Accuracy. In: Proceedings of the Tenth International Conference on Parsing Technologies. IWPT 2007, Prague. Pages 1--10. 2007. Gertjan van Noord, Learning Efficient Parsing. In: EACL 2009. The 12th Conference of the European Chapter of the Association for Computational Linguistics. 30 March - 3 April 2009, Athens, Greece. pp 817-825. 2009. Daniël de Kok, Jianqiang Ma and Gertjan van Noord, A generalized method for iterative error mining in parsing results. In: ACL2009 Workshop Grammar Engineering Across Frameworks (GEAF), Singapore, 2009. Gertjan van Noord. Self-trained Bilexical Preferences to Improve Disambiguation Accuracy. In: Harry Bunt, Paola Merlo and Joakim Nivre (editors), Trends in Parsing Technology. Dependency Parsing, Domain Adaptation, and Deep Parsing. Springer Verlag. pp 183-200. 2010. Daniël de Kok and Gertjan van Noord. A Sentence Generator for Dutch. In: Proceedings of the 20th Meeting of Computational Linguistics in the Netherlands. 2010. Barbara Plank and Gertjan van Noord. Dutch Dependency Parser Performance Across Domains. In: Proceedings of the 20th Meeting of Computational Linguistics in the Netherlands. 2010. Daniël de Kok and Barbara Plank and Gertjan van Noord. Reversible Stochastic Attribute-value Grammars. In: ACL 2011. Daniël de Kok and Gertjan van Noord. Mining for Parsing Failures. In: Martijn Wieling, Martin Kroon, Gertjan van Noord, Gosse Bouma (editors), From Semantics to Dialectometry. Festschrift in honor of John Nerbonne. College Publications. 2017. |
year :
2000-2022
year_deployed : 2000 use : free |
contact : Gertjan van Noord address : University of Groningen, PO BOX 716, 9700 AS Groningen, Netherlands telephone : +315032637811 email : g.j.m.van.noord@rug.nl |
prolog :
SICStus 3; SWI-Prolog 6
platform : Windows, Linux, macOS (distributed as a Docker image) other_languages : C, C++, Perl, Python, Go, tcl/tk lines (lines): 2404087 predicates (QTY): 6374 development_effort (MY): NA maintenance_effort (MY): NA |
∑ project : BIOCHAM
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
BIOCHAM |
domain :
research and teaching in computational systems biology
purpose : software platform for formal modeling, analyses and syntheses chemical reaction networks description : Implemented in SWI-Prolog since BIOCHAM-4 in 2017. Implemented in GNU-Prolog up to BIOCHAM-3 no longer maintained since 2017. |
references : http://lifeware.inria.fr/biocham4/, François Fages, Sylvain Soliman. Formal Cell Biology in BIOCHAM. In 8th Int. School on Formal Methods for the Design of Computer, Communication and Software Systems: Computational Systems Biology SFM'08, pages 54–80, volume 5016 of Lecture Notes in Computer Science. Springer-Verlag, 2008. http://lifeware.inria.fr/~fages/Papers/FS08sfm.pdf , Laurence Calzone, François Fages, Sylvain Soliman. BIOCHAM: An Environment for Modeling Biological Systems and Formalizing Experimental Knowledge. Bioinformatics, 22(14):1805–1807, 2006. http://lifeware.inria.fr/~fages/Papers/bioinformatics.pdf, François Fages, Sylvain Soliman, Nathalie Chabrier-Rivier. Modelling and Querying Interaction Networks in the Biochemical Abstract Machine BIOCHAM. Journal of Biological Physics and Chemistry, 4(2):64–73, 2004. http://lifeware.inria.fr/~fages/Papers/FSC04jbpc.pdf, Mathieu Hemery, François Fages, Sylvain Soliman. Compiling Elementary Mathematical Functions into Finite Chemical Reaction Networks via a Polynomialization Algorithm for ODEs. In CMSB'21: Proceedings of the nineteenth international conference on Computational Methods in Systems Biology, Lecture Notes in BioInformatics. Springer-Verlag, 2021. François Fages. Artificial Intelligence in Biological Modeling. In A Guided Tour of Artificial Intelligence Research, Volume III: Interfaces and Applications of AI. Springer-Verlag, 2020. http://hal.inria.fr/hal-01409753, |
year :
2002
year_deployed : 2002 range_deployed : 2003-2022 range_development : 2002-2022 use : research, teaching, worldwide use since 2004 |
contact : François Fages address : Inria Saclay 1 rue Honoré d'Estienne d'Orves 91120 Palaiseau telephone : xxxxxxxxxxx email : Francois.Fages@inria.fr |
prolog :
prolog
platform : web server, docker image,linux, Mac OS, windows other_languages : C++ lines (lines): 43000 |
∑ project : BrailleMath
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
BrailleMath |
domain :
Automated Translation
purpose : Automatically convert Braille Document describing mathematics and text into print-pdf. The idea is to help blind teachers of blind students studying math be able to grade their homework. description : The software includes a parser for Nemeth Math Braille Notation. It was thought impossible to build a parser for Nemeth Math notation as the language is context sensitive. It was possible to build the parser with Prolog, of course. |
references : Arthur I. Karshmer, Gopal Gupta, Sandy Geiger, Chris Weaver: Reading and Writing Mathematics: the MAVIS Project. Proc. International ACM Conference on Assistive Technologies 1998: 136-143 |
year :
2005
year_deployed : 2005 range_deployed : 2005-15 range_development : 1998-2014 use : product |
contact : Gopal Gupta address : 8200 Chambray Ct, Plano, TX 75025 telephone : +19723907329 email : profgopalgupta@gmail.com |
prolog :
prolog
platform : windows other_languages : C++ lines (lines): 2000 predicates (QTY): 300 development_effort (MY): 1 maintenance_effort (MY): number |
∑ project : CASSANDRA
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
CASSANDRA |
domain :
Software & Systems Engineering
purpose : CASSANDRA is a platform for advanced engineering applications such as executable specifications (simulations), effort estimation, model reviews, consultancy semantics exploration, games and more. description : The platform consists of a set of core services such as an active UML-based declarative repository, a fuzzy inference engine, a common sense database with inference engine based on WordNet plus a set of core services for GUI tasks, persistency, XML processing, licensing etc. Furthermore, the platform supports a set of ''drivers'' to get access to various commercial modeling tools. |
references : - https://www.knowgravity.com/pdf-e/CASSANDRA Insights.pdf, - https://www.knowgravity.com/pdf-e/CASSANDRA Overview 2001.pdf, - http://dlr.de/fs/Portaldata/16/Resources/dokumente/vk/Vortrag_Schacher_050203.pdf, - https://www.omg.org/mda/mda_files/KnowGravity2004.pdf, |
year :
1999
year_deployed : 1999 use : Free standalone plus part of a commercial product |
contact : Markus Schacher address : Hohlstrasse 534 telephone : +41444342000 email : markus.schacher@knowgravity.com |
prolog :
LPA WinProlog
platform : Windows other_languages : XML/XSL, COM lines (lines): 60000 predicates (QTY): 10000 development_effort (MY): 2 maintenance_effort (MY): 1 |
∑ project : Causality Link
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
Causality Link |
domain :
model of the financial world
purpose : collective intelligence in finance Causality Link’s AI-powered platform collects millions of documents in real-time to find explicit cause-and-effect statements relating indicators and events that only humans can make. This model of the forces acting on the financial world aggregates the knowledge of thousands of authors into a single deductive system. Combining these causal links with predictive analytics provides valuable insights and forecasts on companies, industries and macroeconomic topics that cannot be generated with traditional data and sentiment. description : one piece of a large NLU pipeline NLP analyser to extract information, KPI, etc |
references :
https://www.causalitylink.com, example : https://research-center.amundi.com/files/nuxeo/dl/4b06a0f4-9188-4f1f-8433-4cbad618f8c4, |
year :
2020
year_deployed : 2020 range_deployed : 2016-2022 range_development : 2007-2022 use : SaaS commercial application |
contact : Pierre Haren address : address telephone : +xxxxxxxxxxx email : pierre@causalitylink.com |
prolog :
prolog
platform : windows, AWS other_languages : Java, C, javscript, etc lines (lines): > 100,000 predicates (QTY): number development_effort (MY): >10 man-years maintenance_effort (MY): ongoing |
∑ project : CiaoPP
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
CiaoPP |
domain :
Programming Research Tools
purpose : Program processing framework for debugging, analysis, verification, and optimization tasks description : CiaoPP is a program processor framework that can perform a large number of debugging, analysis, verification, and optimization tasks. This includes inference of properties, static and dynamic discovery of errors, verification of assertions, certification of absence of run-time errors, and several types of source-to-source program transformations. CiaoPP is both a standalone application and a a framework for developing program processing tools. CiaoPP was designed initially for processing Prolog programs, but it has also been used to develop tools for processing other programming languages, via transformation to Horn clauses. |
references :
[1] https://github.com/ciao-lang/ciaopp, [2] M. V. Hermenegildo, G. Puebla, F. Bueno, P. Lopez-Garcia. Integrated Program Debugging, Verification, and Optimization Using Abstract Interpretation (and The Ciao System Preprocessor). Science of Computer Programming, Vol. 58, Num. 1-2, pages 115-140, Elsevier North-Holland, October 2005. [3] M.A. Sanchez-Ordaz, I. Garcia-Contreras, V. Perez-Carrasco, J. F. Morales, P. Lopez-Garcia, M. V. Hermenegildo. VeriFly: On-the-fly Assertion Checking via Incrementality. Theory and Practice of Logic Programming, Vol. 21, Num. 6, pages 768-784, Cambridge U. Press, September 2021. Special Issue on ICLP'21. |
year :
1986
year_deployed : 1986 range_development : 1986-present use : Open source, LGPL |
contact : Manuel Hermenegildo email : manuel.hermenegildo@imdea.org |
prolog :
Ciao
platform : mac, linux, windows/WSL, ... lines (lines): 118659 (base system, not including libraries), 381428 with extensions and front ends |
∑ project : Cliopatra
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
Cliopatra |
domain :
Linked Data research
purpose : Integrated platform for development of RDF based applications description : Cliopatria was originally developed as an application to illustrate the value of integrating cultural heritage collections with background knowledge from the Getty foundation and other sources. After the project the domain specific code was removed, turning the system into a general purpose RDF store that may be accessed in SPARQL as well as from Prolog. It allows for building web based services that combine RDF data with Prolog based reasoners. |
references : Wielemaker, Jan et al. ‘ClioPatria: A SWI-Prolog Infrastructure for the Semantic Web’. 1 Jan. 2016 : 529 – 541. |
year :
2004
year_deployed : 2004 range_deployed : 2006- range_development : 2004-2010 use : Personal use/ in-House use / Free/public domain/ Licensed/ Sold product ... and/or more information |
contact : Jan Wielemaker email : jan@swi-prolog.com |
prolog :
SWI-Prolog
platform : many other_languages : JavaScript lines (lines): 42,000 predicates (QTY): number development_effort (MY): 5 maintenance_effort (MY): 1 |
∑ project : Company Name Standardizer
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
Company Name Standardizer |
domain :
Supply Chain Management
purpose : Take purported name of a company and standardize it to common form. description : Uses about 50,000 facts describing brand names, company ownership, and other company aliases, along with standard string matching with edit distancing to rank order best matches. It handles the names of hundreds of thousands of companies. |
references : www.xsb.com for high level descriptions of applications standardized data is used in. |
year :
2005
year_deployed : 2005 range_deployed : 2005-present range_development : 2005-2006 use : Tool by knowledge Engineers with XSB, Inc. to create standard company names as data to drive other supply chain applications. |
contact : David S. Warren email : warren@xsb.com |
prolog :
XSB Prolog
platform : windows,linux other_languages : SQL-DB lines (lines): 2500 code + 50,000 data predicates (QTY): ? development_effort (MY): 0.5 maintenance_effort (MY): 0.5 |
∑ project : DeepFind
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
DeepFind |
domain :
Programming, Research, Tools
purpose : DeepFind is a semantic code browser description : DeepFind is a tool that allows searching code repositories and libraries by querying for semantic characteristics of the code. This is in contrast with traditional code search engines are based on syntactic techniques such as signature matching or keyword extraction. In DeepFind the semantic characteristics of the code are obtained automatically from the code itself. Program units are pre-processed using static analysis techniques, based on abstract interpretation, obtaining safe semantic approximations. An assertion-based code query language is used to express desired semantic characteristics of the code as partial specifications. Relevant code is found by comparing such partial specifications with the inferred semantics for program elements. Being semantics-based, the approach used in DeepFind copes better with syntactic code differences, is fully automatic, and can be effective even in the absence of user annotations or documentation. |
references :
[1] https://github.com/ciao-lang/deepfind, [2] I. Garcia-Contreras, J. F. Morales, M. V. Hermenegildo. Semantic Code Browsing. Theory and Practice of Logic Programming, Vol. 16, Num. 5-6, pages 721-737, Cambridge U. Press, September 2016. |
year :
2016
year_deployed : 2016 range_development : 2016-present use : open source, LGPL |
contact : Isabel Garcia-Contreras telephone : isabel.garcia@protonmail.com email : University of Waterloo |
prolog :
Ciao
platform : mac, linux, windows/WSL, ... lines (lines): 3.5K (+ the CiaoPP libraries) |
∑ project : DES
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
DES |
domain :
Teaching, Research
purpose : The Datalog Educational System (DES) was originally developed to teach deductive databases in the absence of a handy Datalog interpreter. Nowadays is also used as a research test-bed and used in several application domains. description : DES is a free, opensource, multiplatform, portable, in-memory, Prolog-based implementation of a deductive database system. Its current release can be downloaded from des.sourceforge.net, and an online version can be tried at desweb.fdi.ucm.es. DES includes several query languages: Datalog, SQL, Relational Algebra, Tuple and Domain Relational Calculi. All these languages can query a common database, which can be either local or an external database connected via ODBC. A fuzzy version of Datalog is also supported. Hypothetical reasoning is included, both in SQL, Datalog, and fuzzy Datalog. To help students in learning SQL, it includes a semantic SQL checker which provides warning messages about possibly ill-constructed SQL sentences. DES features tabling, types, integrity constraints, stratified negation, persistency, full-fledged arithmetic, ODBC connections to relational databases, novel approaches to Datalog and SQL declarative debugging, test case generation for SQL views, null value support, outer join, and aggregate predicates and functions. This system is used world-wide in many universities for teaching deductive databases, and used as a test-bed for research (Mozilla leaks, smart grid networks, deductive data warehouses, declarative debugging, ...) |
references :
Some selected references are: 1- General description (though outdated) of DES. http://journal.ub.tu-berlin.de/eceasst/article/view/819, . F. Sáenz-Pérez, ''DES: A Deductive Database System,'' Electronic Notes on Theoretical Computer Science, vol. 271, pp. 63–78, March 2011. 2- Declarative debugging of Datalog. http://www.fdi.ucm.es/profesor/fernan/FSP/CGS08.pdf, R. Caballero, Y. García-Ruiz, and F. Sáenz-Pérez, ''A Theoretical Framework for the Declarative Debugging of Datalog Programs,'' in Intl. Workshop on SDKB, ser. LNCS, vol. 4925. Springer, 2008, pp. 143–159. 3- Declarative debugging of SQL. http://www.fdi.ucm.es/profesor/fernan/FSP/CGS11b.pdf, R. Caballero, Y. García-Ruiz, and F. Sáenz-Pérez, ''Algorithmic Debugging of SQL Views,'' in Ershov Informatics Conference (PSI’11), ser. LNCS, vol. 7162. Springer, 2011, pp. 77–85. 4- SQL semantic analysis. http://arxiv.org/abs/1907.10914, F. Sáenz-Pérez, ''Applying Constraint Logic Programming to SQL Semantic Analysis'', Theory and Practice of Logic Programming, 35th International Conference on Logic Programming (ICLP’2019), Special Issue, 19(5-6):808-825, September 2019. 5- Relational calculi. https://www.sciencedirect.com/science/article/pii/S0957417417308229, F. Sáenz-Pérez, ''Relational calculi in a deductive system'', Expert Systems with Applications, Volume 97, 2018, Pages 106-116. 6- Fuzzy Datalog. https://ieeexplore.ieee.org/document/8293855, P. Julián-Iranzo and F. Sáenz-Pérez, ''A Fuzzy Datalog Deductive Database System'', IEEE Transactions on Fuzzy Systems, Issue 99, 2018. 7. Fuzzy Hypothetical Datalog. https://ieeexplore.ieee.org/document/9177715, P. Julián-Iranzo and F. Sáenz-Pérez, ''A System implementing Fuzzy Hypothetical Datalog'', IEEE International Conference on Fuzzy Systems (FUZZ-IEEE 2020), Glasgow, UK, 2020. More references can be found at: https://des.sourceforge.io/html/publications.html, . |
year :
2003
year_deployed : 2003 range_deployed : 2003-2022 range_development : 2003-2022 use : Free, licensed under LGPL. |
contact : Fernando Sáenz-Pérez address : Universidad Complutense de Madrid email : fernan@sip.ucm.es |
prolog :
SICStus Prolog, SWI-Prolog
platform : Multiplatform other_languages : Java, JavaScript, HTML lines (lines): 67K predicates (QTY): 4.2K development_effort (MY): 0.1 maintenance_effort (MY): 0.1 |
∑ project : EMDS
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
EMDS |
domain :
GIS, environmental modelling
purpose : The Ecosystem Management Decision Support (EMDS) system is an application framework for designing and implementing spatially enabled knowledge-based decision support systems for environmental analysis and planning at any geographic scale(s). description : EMDS integrates state-of-the-art geographic information system, as well as knowledge-based reasoning and decision modeling, technologies to provide decision support for the adaptive management process of ecosystem management. It integrates a logic engine to perform landscape evaluations, and a decision engine for developing management priorities. The decision engine employs VisiRule charts which generate Flex code/rules which at run-time are compiled into Prolog facts and rules for execution by the meta-interpreter (implmented in Prolog) with expression deferencing. |
references : Design Features behind Success of the Ecosystem Management Decision Support System and Future Development https://www.mdpi.com/1999-4907/6/1/27/pdf?version=1419580945, A decision support framework to assess and prioritize recovery actions for salmon in the Puget Sound https://cedar.wwu.edu/cgi/viewcontent.cgi?article=2768&context=ssec, Ecosystem_Management_Decision_Support https://en.wikipedia.org/wiki/Ecosystem_Management_Decision_Support, |
year :
1995
year_deployed : 1995 use : Licensed/ Sold product ... and/or more information |
contact : Clive Spenser address : address telephone : +xxxxxxxxxxx email : clive@lpa.co.uk |
prolog :
prolog
platform : windows other_languages : C lines (lines): number predicates (QTY): number development_effort (MY): number maintenance_effort (MY): number |
∑ project : Energy Analyzer
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
Energy Analyzer |
domain :
energy, programming, research, tools
purpose : Tool for verifying and visualizing the energy consumption of programs description : Energy Analyzer is a tool that allows verifying and visualizing the energy consumption of programs, as well as finding energy consumption hotspots and bugs. To perform the analysis it uses models of HW components, instructions or blocks, and a combination of static and dynamic analyses, the latter performed by a number of cost analysis components from the CiaoPP tool. It has been applied to the energy consumption of Java, (X)C, and Prolog programs. The version for X(C) was developed in collaboration with XMOS (UK) and Bristol U. and has been incorporated in experimental compilers from XMOS. Other instantiations of the tool have been funded by other major companies. |
references :
[1] Pedro López-García, Luthfi Darmawan, Maximiliano Klemen, Umer Liqat, Francisco Bueno, Manuel V. Hermenegildo: Interval-based resource usage verification by translation into Horn clauses and an application to energy consumption. Theory Pract. Log. Program. 18(2): 167-223 (2018) |
year :
2008
year_deployed : 2008 range_development : 2018-2020 use : Open source, LGPL, Internal, Industrial |
contact : Pedro Lopez email : pedro.lopez@imdea.org |
prolog :
Ciao
platform : mac, linux, windows/WSL, ... lines (lines): 2186 (front end in Python) + 144240 (energy analysis in Prolog) |
∑ project : ErgoAI
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
ErgoAI |
domain :
Higher-level logic programming system implemented on top of XSB Prolog used for commercial applications in: configuration management, legal reasoning, financial planning, reasoning in defense applications, medical diagnosis, etc.
purpose : ErgoAI is a higher-level logic programming system implemented on top of XSB Prolog developed by CoherentKnowledge Systems, Inc. It is the newest reincarnation of Flora-2 developed at Stony Brook University on top of XSB Prolog, including: object-oriented programming, defeasible reasoning, transaction logic, incremental updates, a natural language programming language, and many more higher-level logics. It has been used in many commercial and research applications for private companies, research labs, and governmental agencies, in applications, such as: configuration management, legal reasoning, financial planning, reasoning in defense applications, medical diagnosis, etc. description : ErgoAI compiles a higher-level logic programming language into XSB Prolog. |
references :
1. Benjamin N. Grosof, Michael Kifer, Paul Fodor: Rulelog: Highly Expressive Semantic Rules with Scalable Deep Reasoning. RuleML+RR (Supplement) 2017 2. Benjamin N. Grosof, Janine Bloomfield, Paul Fodor, Michael Kifer, Isaac Grosof, Miguel Calejo, Terrance Swift: Automated Decision Support for Financial Regulatory/Policy Compliance, using Textual Rulelog. Challenge+DC@RuleML 2015 3. Benjamin N. Grosof, Michael Kifer, Paul Fodor: The Power of Semantic Rules in Rulelog: Fundamentals and Recent Progress (Extended Abstract of Tutorial Presentation). Reasoning Web 2015: 189-192 4. Carl Andersen, Brett Benyo, Miguel Calejo, Mike Dean, Paul Fodor, Benjamin N. Grosof, Michael Kifer, Senlin Liang, Terrance Swift: Advanced Knowledge Base Debugging for Rulelog. RuleML (2) 2013 5. Carl Andersen, Brett Benyo, Miguel Calejo, Mike Dean, Paul Fodor, Benjamin N. Grosof, Michael Kifer, Senlin Liang, Terrance Swift: Understanding Rulelog Computations in Silk. CoRR abs/1308.4125 (2013) 6. Hui Wan, Benjamin N. Grosof, Michael Kifer, Paul Fodor, Senlin Liang: Logic Programming with Defaults and Argumentation Theories. ICLP 2009: 432-448 7. Guizhen Yang, Michael Kifer: FLORA: Implementing an Efficient DOOD System Using a Tabling Logic Engine. Computational Logic 2000: 1078-1093 8. Guizhen Yang, Michael Kifer: Reasoning about Anonymous Resources and Meta Statements on the Semantic Web. J. Data Semant. 1: 69-97 (2003) 9. Guizhen Yang, I. V. Ramakrishnan, Michael Kifer: On the complexity of schema inference from web pages in the presence of nullable data attributes. CIKM 2003: 224-231 10. Guizhen Yang, Michael Kifer, Chang Zhao: Flora-2: A Rule-Based Knowledge Representation and Inference Infrastructure for the Semantic Web. OTM 2003: 671-688 11. Guizhen Yang, Michael Kifer: Inheritance and Rules in Object-Oriented Semantic Web Languages. RuleML 2003: 95-110 12. Guizhen Yang, Michael Kifer: Well-Founded Optimism: Inheritance in Frame-Based Knowledge Bases. OTM 2002: 1013-1032 13. Guizhen Yang, Michael Kifer: On the Semantics of Anonymous Identity and Reification. OTM 2002: 1047-1066 |
year :
2000
year_deployed : 2000 range_deployed : 1995-2022 range_development : 1995-2022 use : Personal use/ in-House use / Free/public domain/ Licensed/ Sold product ... and/or more information |
contact : Michael Kifer address : CoherentKnowledge Systems telephone : +16316329820 email : michael.kifer@coherentknowledge.com |
prolog :
XSB Prolog
platform : Linux other_languages : C, Java, python lines (lines): 10000 predicates (QTY): 1000 development_effort (MY): 20 maintenance_effort (MY): 20 |
∑ project : ETALIS
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
ETALIS |
domain :
Complex Event Processing
purpose : Streams of events appear increasingly today in various Web applications such as news feeds, sensor data streams, geospatial information, on-line financial data, etc. Event Processing (EP) is concerned with timely detection of compound events within streams of simple events. We developed ETALIS and EP-SPARQL languages for specifying patterns for detecting composed events from simpler events by means of deductive rules.ETALIS is implemented in Prolog. The engine run on many Prolog systems: XSB, SWI, YAP, SICStus, tuProlog and LPA Prolog. description : State-of-the-art EP provided on-the-fly analysis of event streams, but could not combine streams with background knowledge and could not perform reasoning tasks. On the other hand, deductive databases could effectively handle background knowledge and perform reasoning thereon, but cannot deal with rapidly changing data provided by event streams. To bridge the gap, we developed ETALIS Language for Events (ELE) and Event Processing SPARQL (EP-SPARQL) as new languages for complex events and Stream Reasoning. ETALIS has a syntax close to Prolog, while EP-SPARQL was SQL-like. The execution model was grounded on logic programming, and features effective event processing and inferencing capabilities over temporal and static knowledge. |
references :
1. Paul Fodor, Dumitru Roman, Darko Anicic, Adam Z. Wyner, Monica Palmirani, Davide Sottara, François Lévy: Joint Proceedings of the 7th International Rule Challenge, the Special Track on Human Language Technology and the 3rd RuleML Doctoral Consortium, Seattle, USA, July 11 -13, 2013. CEUR Workshop Proceedings 1004, CEUR-WS.org 2013 2. Darko Anicic, Sebastian Rudolph, Paul Fodor, Nenad Stojanovic: Real-Time Complex Event Recognition and Reasoning-a Logic Programming Approach. Appl. Artif. Intell. 26(1-2): 6-57 (2012) 3. Darko Anicic, Sebastian Rudolph, Paul Fodor, Nenad Stojanovic: Stream reasoning and complex event processing in ETALIS. Semantic Web 3(4): 397-407 (2012) 4. Darko Anicic, Sebastian Rudolph, Paul Fodor, Nenad Stojanovic: Retractable Complex Event Processing and Stream Reasoning. RuleML Europe 2011: 122-137 5. Darko Anicic, Sebastian Rudolph, Paul Fodor, Nenad Stojanovic: A Declarative Framework for Matching Iterative and Aggregative Patterns against Event Streams. RuleML Europe 2011: 138-153 6. Darko Anicic, Paul Fodor, Sebastian Rudolph, Nenad Stojanovic: EP-SPARQL: a unified language for event processing and stream reasoning. WWW 2011: 635-644 7. Darko Anicic, Paul Fodor, Sebastian Rudolph, Roland Stühmer, Nenad Stojanovic, Rudi Studer: A Rule-Based Language for Complex Event Processing and Reasoning. RR 2010: 42-57 8. Darko Anicic, Paul Fodor, Roland Stühmer, Nenad Stojanovic: Event-Driven Approach for Logic-Based Complex Event Processing. CSE (1) 2009: 56-63 9. Darko Anicic, Paul Fodor, Nenad Stojanovic, Roland Stühmer: An approach for data-driven and logic-based complex Event Processing. DEBS 2009 10.Darko Anicic, Paul Fodor, Nenad Stojanovic, Roland Stühmer: Computing complex events in an event-driven and logic-based approach. DEBS 2009 |
year :
2007
year_deployed : 2007 range_deployed : 2007-2012 range_development : 2007-2012 use : Personal use/ in-House use / Free/public domain/ Licensed/ Sold product ... and/or more information |
contact : Paul Fodor address : Stony Brook University telephone : +16316329820 email : pfodor@cs.stonybrook.edu |
prolog :
XSB prolog
platform : windows other_languages : java lines (lines): 5000 predicates (QTY): 200 development_effort (MY): 10 maintenance_effort (MY): 10 |
∑ project : Ews
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
Ews |
domain :
Used in any domain where English language statements (stored from what a user knows) are used to describe that particular domain whereby those facts can be tested and acted on by reading statements in Excel spreadsheet cells.
purpose : Use of Natural language (NL) to perform human tasks in computing by reading English language text stored by users in text databases, SQL databases, and Excel spreadsheets databases. Spreadsheet cells can contain several English language statements (sentences) whereby those sentences are read by the computer which may direct any statement in the spreadsheet cell to start to read another cell which can then read text, SQL statements or text in spreadsheet cells that may be attached to files, exe(s), word documents, and other MS or non-MS files, and URLs. Software agent statements I.e.: “agentcar show me a picture or a red car with a 305-horsepower engine.” Read a statement in a cell and have it so the statement transfers data from a remote spreadsheet on the Internet via the software agent designated statement to the sending spreadsheet cell. Most importantly, consider any domain of knowledge, chemical, mechanical, electrical, computing etc. and translate those facts and statements stored in Excel spreadsheet so that logic testing of those statements can be made resulting in decisions from rows and columns wherein English language statements from the spreadsheet cells are sent (via software agent statements) to other cells or spreadsheets on the local computer or computer on their networks. description : Stores user thoughts formed as English language sentences into various databases (text, SQL, and Spreadsheet cells) so those thoughts can be recalled by a single input letter, single words, or parts of the stored sentence whereby the read sentence executes the stored sentence attachments (1 of N). In the case where the attachment is a software agent sentence, that sentence will be sent to another Ews application on or off the network in the same or a remote computer. Use of a synonym dictionary allows users to store synonyms within stored sentence – Show a picture of a red car. Show me picture of a red automobile –shows the same picture. Synonyms are automatically stored in the SQL database or users can add synonyms as part of the stored sentence. Note, the Ews application can use any non Ews application to transport data to and from other applications i.e., Team Viewer. |
references : Used at a large computer outsourcing firm to help manage a large computer infrastructure. Used at an on-line encyclopedia firm to manage text databases; Used to manage US Patent submissions – used to keep track of document due dates and the updating of US patent application documents; Used to manage software development of the (this) Ews application – used to show location of Ews software components, used as a help desk for the Ews application. In a sub application with input statements, the application sends English language sentences to other Ews applications to give status and asks for next steps. |
year :
1999
year_deployed : 1999 range_deployed : 2010-2022 range_development : 1998 -2022 use : Personal and Business use. US Patents: 10,698,978 B1 8510328 6269356 6101490 OR uses this URL: https://patents.justia.com/inventor/charles-malcolm-hatton OR Go to the USPTO web site |
contact : Chuck H. address : Not given telephone : +xxxxxxxxxxx email : wordcomputing@gmail.com |
prolog :
Win-prolog
platform : windows other_languages : jSQL, C, OLE lines (lines): 3500 predicates (QTY): 1500 2200 development_effort (MY): 4 maintenance_effort (MY): 1 |
∑ project : EYE
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
EYE |
domain :
industry (healthcare, construction, ...)
purpose : EYE is a reasoning engine supporting the Semantic Web layers https://www.w3.org/DesignIssues/diagrams/sweb-stack/2006a, description : EYE performs forward and backward chaining. Via N3 https://w3c.github.io/N3/spec/, it is interoperable with Cwm https://www.w3.org/2000/10/swap/doc/cwm, . Forward chaining is applied for rules using => in N3 and backward chaining is applied for rules using <= in N3 which one can imagine as built-ins. |
references :
[1] EYE homepage: Euler Yet another proof Engine - EYE https://josd.github.io/eye/, [2] EYE paper: Drawing Conclusions from Linked Data on the Web: The EYE Reasoner https://josd.github.io/Papers/EYE.pdf, [3] EYE tutorial: Semantic Web Reasoning With EYE https://n3.restdesc.org/, [4] EYE talk: EYE looking through N3 glasses http://josd.github.io/Talks/2012/04swig/index.html, [5] N3 talk: Notation3 Logic: A Practical Introduction https://josd.github.io/temp/Notation3_A_practical_introduction.pdf, |
year :
2006
year_deployed : 2006 range_deployed : 2006-2022 range_development : 2006-2022 use : MIT Licence |
contact : Jos De Roo email : josderoo at gmail com |
prolog :
SWI-Prolog
platform : Linux, MacOS and Windows lines (lines): 10000 predicates (QTY): 1000 development_effort (MY): 2 maintenance_effort (MY): 4 |
∑ project : Flex Expert System toolkit
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
Flex Expert System toolkit |
domain :
Knowledge-based Expert Systems
purpose : Flex allows domain experts to build knowledge based expert systems description : Flex supports both forward chaining production rules and backward chaining rule-based inferencing. Flex offers a frame-based hierarchy with multiple inheritance for data. Flex uses a dedicated English-like KSL (Knowledge Specification Language) for defining rules, frames, actions, groups, demons Flex is implemented in and allows access to the underlying Prolog. Flex was ported to Quintus, Sictus, ICL, Quintec, BIM and other Prologs in the 90s. Product Description on: https://www.lpa.co.uk/flx.htm, Flex was used as the basis for the Open Universities popular T396 course which ran for nearly 20 years and taught KE to over 15K engineers using Flex. https://www.open.ac.uk/library/digital-archive/module/xcri:T396/study, https://www.researchgate.net/publication/3051125_Keeping_a_Distance-Education_Course_Current_Through_eLearning_and_Contextual_Assessment, Flex KSL is used as the rules-language by VisiRule |
references :
[1] SewEx – A flex Based Expert System for Sewage Treatment Works Support https://www.academia.edu/33587448/SewEx_A_flex_Based_Expert_System_for_Sewage_Treatment_Works_Support, [2] ESSE: an expert system for software evaluation https://www.sciencedirect.com/science/article/abs/pii/S0950705199000313, [3] PREDICTION OF THE SUITABILITY OF LOCATIONS FOR WIND FARMS USING FLEX EXPERT SYSTEM http://www.savap.org.pk/journals/ARInt./Vol.1, (1)/2011(1.1-23).pdf [4] Allergenius, an expert system for the interpretation of allergen microarray results https://www.sciencedirect.com/science/article/pii/S1939455119302467, [5] An expert system for the conceptual design of bridges https://www.sciencedirect.com/science/article/abs/pii/004579499190462U, [6] WebCADET: facilitating distributed design support https://digital-library.theiet.org/content/conferences/10.1049/ic_19980537, [7] Reengineering the Knowledge Component of a Data Warehouse-Based Expert Diagnosis System https://link.springer.com/chapter/10.1007/11546924_89, [8] Integrating knowledge-based systems with mainframe data processing via terminal operator emulation https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1468-0394.1991.tb00374.x, [9] Comparative study of two knowledge-based development systems: flex/Prolog and ATOME/LISP https://ieeexplore.ieee.org/abstract/document/526411, [10] A Knowledge-Based System for Spinning Management https://journals.sagepub.com/doi/abs/10.1177/004051759606600413, [11] Diet Planning Expert System https://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=109920&item_no=1&attribute_id=1&file_no=1, [12] Building a Semantic-Web Portal Using Frame-based System https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.121.7866&rep=rep1&type=pdf, [13] AI Toolkit by Prof Hopgood https://www.adrianhopgood.com/aitoolkit/?i=1, |
year :
1989
year_deployed : 1989 range_deployed : 1990-2022 range_development : 1990-2022 use : Licensed/ Sold product |
contact : clive spenser address : LPA telephone : +xxxxxxxxxxx email : clive@lpa.co.uk |
prolog :
prolog
platform : windows other_languages : java lines (lines): 5000 predicates (QTY): 150 development_effort (MY): 20 maintenance_effort (MY): 1 |
∑ project : FSA Utilities
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
FSA Utilities |
purpose : FSA Utilities is a collection of utilities to manipulate regular expressions, finite-state automata and finite-state transducers. Manipulations include automata construction from regular expresssions, determinization (both for finite-state acceptors and finite-state transducers), minimization, composition, complementation, intersection, Kleene closure, etc. Various visualization tools are available to browse finite-state automata. Interpreters are provided to apply finite automata. Finite automata can also be compiled into stand-alone C programs. FSA6 extends FSA5 by allowing predicates on arcs instead of atomic symbols description : Toolbox for manipulating finite state automata and regular expressions |
references :
Gertjan van Noord. FSA Utilities: A Toolbox to Manipulate Finite-state Automata. In: Darrell Raymond, Derick Wood and Sheng Yu (eds), Automata Implementation. Lecture Notes in Computer Science 1260, Springer Verlag. Gertjan van Noord and Dale Gerdemann. Finite State Transducers with Predicates and Identity. Grammars 4 (3). Gertjan van Noord, Dale Gerdemann, An Extendible Regular Expression Compiler for Finite-state Approaches in Natural Language Processing. In: O.Boldt, H.Juergensen (eds), Automata Implementation. 4th International Workshop on Implementing Automata, WIA '99, Potsdam Germany, July 1999, Revised Papers. Springer Lecture Notes in Computer Science 2214, 2000. Dale Gerdemann, Gertjan van Noord. Approximation and Exactness in Finite State Optimality Theory. In: Jason Eisner, Lauri Karttunen, Alain Thériault (editors), SIGPHON 2000, Finite State Phonology. Proceedings of the Fifth Workshop of the ACL Special Interest Group in Computational Phonology. August 2000, Luxembourg. Dale Gerdemann, Gertjan van Noord, Transducers from Rewrite Rules with Backreferences. EACL 99, Bergen Norway. 1999. |
year :
1996-2002
year_deployed : 1996 use : free |
contact : Gertjan van Noord address : University of Groningen, PO BOX 716, 9700 AS Groningen, Netherlands telephone : +315032637811 email : g.j.m.van.noord@rug.nl |
prolog :
SICStus 3, SWI-Prolog 6, YAP
platform : Windows, Linux, macOS other_languages : NA lines (lines): 23000 without the examples predicates (QTY): 2099 development_effort (MY): NA maintenance_effort (MY): NA |
∑ project : FTCLP
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
FTCLP |
domain :
programming research tools
purpose : FTCLP: A Failure-based Tabling Interpreter for Constraint Logic Programs based on Interpolation description : FTCLP (Failure-based Tabled Constraint Logic Programs) is an interpreter for Constraint Logic Programming that improves the standard CLP evaluation mechanism by reducing infinite loops and redundant sub-computations. It is implemented using the Ciao Prolog system and the SMT solver MathSAT 5 for checking satisfiability and for generating interpolants. FTCLP records certain derivations in order to prune further derivations. However, FTCLP only learns from failed derivations. This allows it to compute Craig interpolants rather than constraint projection for generation of reusing conditions. As a result, the technique can be used where projection is too expensive or does not exist. Moreover, it can get termination in cases where the use of projection cannot. Authors: Graeme Gange, Jorge A. Navas, Peter Schachte, Harald Søndergaard, and Peter J. Stuckey (U. of Melbourne, Australia) |
references :
[1] Gange, G., Navas, J., Schachte, P., Sondergaard, H., and Suckey, P. Failure tabled constraint logic programming by interpolation. Theory and Practice of Logic Programming, 13(4-5), 593-607, 2013. [2] https://github.com/caballa/ftclp, |
year :
2013
year_deployed : 2013 range_development : 2013-2017 use : Open source, LGPL |
contact : Jorge Navas address : Certora email : navasjorgea@gmail.com |
prolog :
Ciao
platform : mac, linux, windows/WSL, ... lines (lines): 27275 |
∑ project : gamemaster
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
gamemaster |
domain :
General Game Playing
purpose : Comprehensive website with educational resources, game description language, game analysis and optimization tools, game playing software, and infrastructure for administering general game playing competitions. description : Game Description Language (GDL) is a variant of Prolog / Epilog used to encode the rules of strategy games (such as chess, checkers, and so forth). There is a large library of game descriptions encoded in GDL along with ''stylesheets'' to provide Gamemaster has a variety of components. There are tools for analyzing and optimizing games encoded in GDL. There are implementations of standard game playing programs (e.g. minimax, iterative deepening minimax, Monte Carlo search, Monte Carlo tree search, game factoring, game optimization, and so forth). There are game management programs for running games between humans, automated players, and combinations of humans an automated players.Gamemaster was used in administering the International Game Playing Competition at conferences (AAAI and IJCAI 2005 - 2016) and will serve as the infrastructure for the upcoming online revival. |
references :
[1] Genesereth, M. R., Bjornsson, Y.: General Game Playing: Overview of the AAAI Competition, AAAI Magazine, http://logic.stanford.edu/publications/genesereth/aaai.pdf, . [2] Genesereth, M. R., Bjornsson, Y.: The International General Game Playing Competition, AAAI Magazine, http://logic.stanford.edu/publications/genesereth/aaai2.pdf, . [3] Genesereth, M. R., Thielscher, M.: General Game Playing: https://link.springer.com/book/10.1007/978-3-031-01569-4, (print) and http://ggp.stanford.edu, (online course) [4] General Game Playing website, http://gamemaster.stanford.edu, . |
year :
2005
year_deployed : 2005 range_deployed : 2005-2022 range_development : 2005-2022 use : Game descriptions, tools, and software are openly available (for free); the online competition environment requires account (also free). |
contact : Michael Genesereth email : genesereth@stanford.edu |
prolog :
Epilog
platform : any other_languages : javascript, java lines (lines): 1000s predicates (QTY): 1000s development_effort (MY): 10s |
∑ project : GTO
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
GTO |
purpose : GTO is a formal methods tool. It can analyse specifications and system models written in linear time predicate logic with finite quantification domains. It offers animation/simulation of models, proofs using external SAT solvers and exploration of (counter)models. It can also export models to Isabelle for interactive proof. It has been used industrially in a number of projects. Today it is a research tool. description : Formal specification and verification tool |
references : Eriksson, Lars-Henrik: The GTO Toolset and Method, Electronical Notes in Theoretical Computer Science, 185:77-91 (2007). |
year :
1997-2022
year_deployed : 1997 use : in-house |
contact : Lars-Henrik Eriksson address : Uppsala university, Dept. of Information Technology, Box 337, 751 05 UPPSALA, Sweden telephone : +46184711057 email : lhe@it.uu.se |
prolog :
SICStus
platform : all other_languages : C, Tcl/Tk lines (lines): 7000 predicates (QTY): 400 |
∑ project : IBM Watson
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
IBM Watson |
domain :
question answering
purpose : On February 14-16, 2011, the IBM Watson question answering system won the Jeopardy! Man vs. Machine Challenge by defeating two former grand champions, Ken Jennings and Brad Rutter. Prolog was the ideal choice for conveniently express pattern matching rules over the parse trees and other annotations (such as named entity recognition results) due to its simplicity, expressiveness, and the capacity to query these rules efficiently. description : IBM Watson was parsing the Jeopardy! clues into Prolog facts, which were consulted into the Prolog system and several rule sets were executed to detect the focus of the question, the lexical answer type and several relations between the elements of the parse. In practice, natural language is complex and ambiguous, and the pattern matching rules that we required were sorted by specificity, therefore the problem was very well suited for solving with backtracking over pattern matching because we checked for lots of conditions over the parse and we wanted a query language where we can include/exclude these conditions depending on some context. The Prolog language was recognized to be an excellent solution for the problem of pattern matching and all problems that involve a depth-first search and backtracking. Although simple, the Prolog language is very expressive allowing recursive rules to represent reachability in parse trees and the operation of negation-as-failure to check the absence of conditions. Prior to our decision to use Prolog for this task, we had implemented custom pattern matching frameworks over parses. These frameworks lacked the full feature set of Prolog or the efficiency of a good Prolog implementation. Using Prolog for this task has significantly improved our productivity in developing new pattern matching rules and has delivered the execution efficiency necessary in order to be competitive in a Jeopardy! game. |
references :
1. Adam Lally, John M. Prager, Michael C. McCord, Branimir Boguraev, Siddharth Patwardhan, James Fan, Paul Fodor, Jennifer Chu-Carroll: Question analysis: How Watson reads a clue. IBM Journal of Research and Development, 56(3): 2 (2012). 2. Michael McCord, Branimir Boguraev, John Prager, , and J. William Murdock. Parsing and Semantic Analysis in DeepQA. IBM Journal of Research and Development, 56(4): 2 (2012). 3. Paul Fodor, Adam Lally, David A. Ferrucci: The Prolog Interface to the Unstructured Information Management Architecture. Report 2008. |
year :
2007
year_deployed : 2007 range_deployed : 2007-2014 range_development : 2007-2011 use : Won game, Sold product for medical diagnosys. |
contact : Paul Fodor address : Stony Brook University telephone : +16316329820 email : pfodor@cs.stonybrok.edu |
prolog :
Sicstus Prolog, XSB, SWI
platform : windows other_languages : java lines (lines): 5000 predicates (QTY): 400 development_effort (MY): 10 maintenance_effort (MY): 10 |
∑ project : KALM
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
KALM |
domain :
Natural Language Processing
purpose : Knowledge Authoring for Logic Machines (KALM) system allows knowledge authoring with the aim of endowing domain experts with tools that would allow them to translate their knowledge into logic. description : The first version of KALM used the Attempto Controlled Natural Language (CNL), while the second version allowed unrestricted full natural language using a neural-networks state of the art parser. KALM allows the users to incrementally teach the parsed to disambiguate sentences by mapping semantically equivalent sentences into the same frames and assigns them unique logical representation. |
references :
1. Knowledge Authoring for Rule-Based Reasoning. Tiantian Gao, Paul Fodor, Michael Kifer. ODBASE, OTM Conferences 2018: 461-480. 2. High Accuracy Question Answering via Hybrid Controlled Natural Language. Tiantian Gao, Paul Fodor, Michael Kifer. Web Intelligence (WI), 2018. 3. Querying Knowledge via Multi-Hop English Questions. Tiantian Gao, Paul Fodor, Michael Kifer. Proceedings of the 35th International Conference on Logic Programming (ICLP) 2019, Las Cruces, New Mexico, USA. Published in Theory and Practice of Logic Programming, Cambridge University Press. 4. Knowledge Authoring with Factual English. Yuheng Wang, Giorgian Borca-Tasciuc, Nikhil Goel, Paul Fodor and Michael Kifer. International Conference on Logic Programming (ICLP) 2022. https://github.com/tiantiangao7/kalm, |
year :
2018
year_deployed : 2018 range_deployed : 2018-2022 range_development : 2018-2022 use : Free |
contact : Paul Fodor address : Stony Brook University telephone : +16316329820 email : pfodor@cs.stonybrook.edu |
prolog :
XSB Prolog
platform : windows other_languages : java, python lines (lines): 5000 predicates (QTY): 1000 development_effort (MY): 5 maintenance_effort (MY): 5 |
∑ project : LHornSolver
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
LHornSolver |
domain :
programming research tools
purpose : An abstraction-refinement algorithm for solving non-linear Horn clauses using only a linear Horn clause solver description : LHornSolver uses an abstraction-refinement algorithm for solving non-linear Horn clauses using only a linear Horn clause solver. LHornSolver uses several reusable components such as a linear Horn clause solver, a dimension bounded program generator, Horn clause linearisers etc. LHornSolver is written in (Ciao)Prolog and is interfaced with the Yices SMT solver and the Parma polyhedra library for handling constraints. Developers; Bishoksan Kafle (Roskilde University, Denmark), John P. Gallagher (Roskilde University, Denmark), Pierre Ganty (IMDEA Software Institute, Spain). |
references :
[1] https://github.com/bishoksan/LHornSolver, [2] Bishoksan Kafle, John P. Gallagher, Pierre Ganty: Solving non-linear Horn clauses using a linear Horn clause solver. HCVS@ETAPS 2016: 33-48 |
year :
2016
year_deployed : 2016 range_development : 2016-present use : Open source, Apache-2.0 license |
contact : Jose F. Morales email : josef.morales@imdea.org |
prolog :
Ciao
platform : mac, linux, windows/WSL, ... lines (lines): 4533 |
∑ project : LPdoc
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
LPdoc |
domain :
teaching generation of documents and programs programming tools
purpose : Automatic program documentation and web site generator for (C)LP systems description : LPdoc is an automatic documentation generator for (C)LP systems. It is used for tasks like documenting libraries and applications, creating material for courses and tutorials, generating web sites, etc. LPdoc allows embedding in the resulting documents executable examples, exercises, etc. that for html output run locally in the browser, or, for other types of output, are rendered as pointers that load the corresponding code on an on-line Prolog playground. Documents are generated from one or more source files, which can be (C)LP modules or text (e.g., markdown) files. When documenting code, LPdoc automatically generates a description of the module interface. In these cases, the quality of the documentation generated can be greatly enhanced by including within the program text assertions (types, modes, etc. ...) for predicates, and machine-readable comments (in the “literate programming” style). LPdoc can output multiple formats, such as HTML, pdf, GNU info, ascii, etc. |
references :
[1] https://github.com/ciao-lang/lpdoc, [2] Manuel V. Hermenegildo. A Documentation Generator for (C)LP Systems. Computational Logic 2000: 1345-1361 [3] M. Hermenegildo and J. F. Morales. The LPdoc Documentation Generator. Ref. Manual. http://ciao-lang.org/ciao/build/doc/lpdoc.html, [4] Playground http://ciao-lang.org/playground/, |
year :
1996
year_deployed : 1996 range_development : 1996-present use : Open source, LGPL |
contact : Manuel Hermenegildo email : manuel.hermenegildo@imdea.org |
prolog :
Ciao
platform : mac, linux, windows/WSL, browser, ... lines (lines): 25781 (+ libraries) |
∑ project : MetaMap
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
MetaMap |
purpose : Identify concepts in UMLS Metathesaurus encountered in free text, especially PubMed citations and clinical notes description : Biomedical named-entity recognition |
references : https://lhncbc.nlm.nih.gov/ii/information/Papers/JAMIA.2010.17.Aronson.pdf, and references therein |
year :
1992-2020
year_deployed : 1992 use : free but requires UMLS license (https://www.nlm.nih.gov/databases/umls.html) |
contact : Francois Lang address : National Library of Medicine; 8600 Rockville Pike, Building #38A, Room 9N-904; Bethesda, MD 20894; Room 7S-717 telephone : 301.827.4995 email : flang@mail.nih.gov |
prolog :
SICStus
platform : Windows (via Docker), Linux, macOS other_languages : C, C++, Java lines (lines): 166,465 predicates (QTY): 2,829 development_effort (MY): 25 years maintenance_effort (MY): 200 hours/year |
∑ project : Michelson Cost Analyzer
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
Michelson Cost Analyzer |
domain :
blockchain programming research tools
purpose : Analyzer and verifier for gas and storage consumption in smart contracts written in the Michelson language description : The Michelson Cost Analyzer is a tool that analyzes and verifies gas and storage consumption in smart contracts. It has been developed for the Tezos foundation blockchain, for the analysis of contracts written in its Michelson language. The operation of the tool is based on a transformation from the bytecode-level Michelson language to Horn clauses, via partial evaluation, and an adaptation of the cost analyzers provided by the CiaoPP tool. |
references :
[1] V. Perez-Carrasco, M. Klemen, P. Lopez-Garcia, J.F. Morales, M. V. Hermenegildo. Cost Analysis of Smart Contracts via Parametric Resource Analysis. Proceedings of the 27th Static Analysis Symposium (SAS 2020), LNCS, Vol. 12389, pages 7-31, Springer, November 2020. |
year :
2020
year_deployed : 2020 range_development : 2020-present use : Open source, LGPL, Internal, Industrial |
contact : Manuel Hermenegildo email : manuel.hermenegildo@imdea.org |
prolog :
Ciao
platform : mac, linux, windows/WSL, ... lines (lines): 37867 |
∑ project : MOVIS
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
MOVIS |
purpose : Describe and define logic rules in a high-level format accessible by non-programmers, while providing full computational power. Execute rule models to provide answers and solution to calls (questions) from credit origination systems, or whatever system that needs to execute logic rules description : Graphic representation of logic rules, Automatic generation of Prolog programs, Execution by Rule engine |
references : Tietoevry Banking |
year :
2000-2022
year_deployed : 2000 use : licensed |
contact : Torkel Hjerpe address : contact address telephone : contact telephone email : torkel.hjerpe@tietoevry.com |
prolog :
SICStus
platform : Windows other_languages : C#, Java lines (lines): number of lines of code predicates (QTY): Basic libraries provided, the rest is generated from diagrams development_effort (MY): 3000 maintenance_effort (MY): Hard to define, we constantly improve the products (Designer for code generation, Xplorer for testing rule models, Service for executing models in production, |
∑ project : Muasm
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
Muasm |
domain :
programming research tools
purpose : Translator of x64 into muASM programs for static analysis description : Muasm is a translator of x64 assembly programs (written in the Intel or AT&T syntax) into muASM programs. It is used as a front-end tool for static analysis, as performed by tools like Spectector. |
references :
[1] https://github.com/spectector/muasm_translator, [2] Marco Guarnieri, Boris Köpf, José F. Morales, Jan Reineke, Andrés Sánchez: Spectector: Principled Detection of Speculative Information Flows. IEEE Symposium on Security and Privacy 2020: 1-19 |
year :
2018
year_deployed : 2018 range_development : 2018-2020 use : Open source, Apache-2.0 license. |
contact : Jose F. Morales email : josef.morales@imdea.org |
prolog :
Ciao
platform : mac, linux, windows/WSL, ... lines (lines): 1816 |
∑ project : NeuralTax
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
NeuralTax |
domain :
accounting, legal
purpose : Answer to tax and accounting questions under U.S. tax law and Generally Accepted Accounting Principles (GAAP) description : ErgoAI (a higher-level logic programming system implemented on top of XSB Prolog) is being used by Neural Tax Networks Inc. to determine the most accurate answers to tax and accounting questions under U.S. tax law and Generally Accepted Accounting Principles (GAAP). The initial application uses ErgoAI to determine which expenditures are tax deductible as “trade or business expenses” according to US Code Section 162. Neural Tax’s initial application uses defeasible logic to specify deduction exceptions and produces natural language justifications for its results that linked to the language of portions of Internal Revenue Code section 162. |
references : https://neuraltaxnetworks.com, |
year :
2019
year_deployed : 2019 range_deployed : 2019-2022 range_development : 2019-2022 use : Licensed/Sold product |
contact : Henry Orphys email : Henry.Orphys@neuraltax.com |
prolog :
ErgoAI, XSB prolog
platform : windows other_languages : java lines (lines): 5000 predicates (QTY): 100 development_effort (MY): 3 maintenance_effort (MY): 3 |
∑ project : NtHorn
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
NtHorn |
domain :
programming research tools
purpose : Preconditions Generator for Non-termination description : NtHorn is a transformation-guided tool for inferring sufficient preconditions for non-termination of a program based on (Constrained) Horn clauses. It uses techniques such as abstract interpretation, partial evaluation, constraint specialisation and counterexample-guided program transformation and decomposition. NtHorn is written in Ciao Prolog and is interfaced with Parma polyhedra library and Yices2 SMT solver for manipulating constraints. It uses several reusable components such as a Convex polyhedra analyser, Query-answer tranformer, etc. It also makes use of a Java library for manipulating finite tree automata. Developer: Bishoksan Kafle. |
references :
[1] https://github.com/bishoksan/NtHorn, |
year :
2021
year_deployed : 2021 range_development : 2021-present use : Open source, Apache-2.0 license |
contact : Jose F. Morales email : josef.morales@imdea.org |
prolog :
Ciao
platform : mac, linux, windows/WSL, ... lines (lines): 19500 |
∑ project : ODE Classifier
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
ODE Classifier |
domain :
Parts Management
purpose : This is a Bayesian-like classifier of short textual part descriptions that maps a text description to nodes in a taxonomy of parts containing c. 60,000 nodes. It includes a GUI to edit the ontology that drives the classifier. description : It is driven by an ontology that includes training strings. The classifier can be run in batch mode on millions of text strings, or can be tuned and run interactively within the GUI. The interface provides many ways to process, view, compare and tune classifications. It is designed to work with minimal (mostly) hand-tuned training items. |
references : See xsb.com website. |
year :
2001
year_deployed : 2001 range_deployed : 2001-pres range_development : 2001-2003 use : It is used by knowledge engineers within XSB, Inc. to classify millions of part descriptions and to tune the classifier to improve the classifications as necessary. |
contact : David S. Warren email : warren@xsb.com |
prolog :
XSB Prolog
platform : windows,linux other_languages : Java lines (lines): c. 13,000+libraries predicates (QTY): ? development_effort (MY): 0.5 maintenance_effort (MY): 0.5 |
∑ project : ODE Constructor
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
ODE Constructor |
domain :
Domain Specific Ontology Constructor/Editor
purpose : This interactive application allows a user to create/edit an ontology that drives the XSB extractor to extract and standardize part properties from text. description : It provides a GUI interface for a user to construct/edit/test an ontology (in XSB CDF format) that drives the XSB Property Extractor to extract part properties from text. The ontology is processed to generate rules that the Property Extractor uses to process text. Many rules are automatically generated from the ontology structure. More complex rules can be added through convenient, interactive forms. The GUI enforces constraints that the rules must satisfy. The system allows rules to be tested against text interactively, modified, and retested. |
references : See XSB, Inc. website: https://www.xsb.com, for end-user applications it is used to support. |
year :
c. 2003
year_deployed : 2003 range_deployed : 2003-present range_development : 2003-c.2008 use : It is used with the XSB company by knowledge engineers to update and improve a variety of extractors used to support supply chain applications. |
contact : David S. Warren email : warren@xsb.com |
prolog :
XSB Prolog
platform : windows+linux other_languages : interfaces to Java, XJ lines (lines): 10,000 + libraries predicates (QTY): ? development_effort (MY): c. 1.0 maintenance_effort (MY): c. 0.5 |
∑ project : Pacioli
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
Pacioli |
domain :
accounting,auditing,XBRL,blockchain,NFT,fintech
purpose : validate standard financial reports with extensible ruleset, operating in a blockchain-coordinated network of engines description : XBRL documents (financial reports, data schemas, rule linkbases) are internalised into a PROLOG representation. XBRL formula processing maps into dynamic Prolog goal generation and evaluation. The validation results are delivered in human-readable HTML (for example https://ipfs.infura.io/ipfs/QmNRATHA3y1rkgCduDBpSyk33EqNcMw1xV1CozEptsrBxV, ) as well as JSON, to feed a Web3 app UI ( https://appalpha.auditchain.finance, ) and to support other services, namely a report editor.Rulesets that are registered as NFTs ''bill'' their part in the validations, e.g. they receive royalties. Pacioli is integrated with smartcontracts on the Polygon blockchain, via another (NodeJS) application, pacioliAgent, using the AUDT token. |
references : https://docs.auditchain.finance/auditchain-protocol/pacioli-logic-and-rules-enginehttp://logicalcontracts.com/xbrl-and-sbrm-reporting/, |
year :
2021
year_deployed : 2021 range_deployed : 2021-2022 range_development : 2020-2022 use : The proprietary validation engine of auditchain.finance |
contact : Miguel Calejo address : Lisboa, Portugal telephone : +351939849600 email : mc@logicalcontracts.com |
prolog :
SWI-Prolog
platform : web other_languages : Javascript lines (lines): 12000 predicates (QTY): 1900 development_effort (MY): 2 maintenance_effort (MY): 1 |
∑ project : PECOS
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
PECOS |
domain :
Programming Research Tools
purpose : CHC solver description : PECOS is a solver for Constraint Horn Clauses based on partial evaluation and constraint specialisation. In addition to Prolog, it uses also Java, Python, shell, and SMT. Developer: John Gallagher (Roskilde University) |
references :
[1] https://github.com/jpgallagher/pecos, |
year :
2018
year_deployed : 2018 range_development : 2018-2019 use : Open source, Apache-2.0 license |
contact : Jose F. Morales email : josef.morales@imdea.org |
prolog :
Ciao
platform : mac, linux, windows/WSL, ... lines (lines): 5704 |
∑ project : Pi
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
Pi |
purpose : Pi is an interactive proof editor using partial inductive definitions with typed higher-order terms as its meta logic. It can accept semantic and syntactic definitions for object logics and allows a user to interactively develop and edit proofs. Proofs are displayed on the screen as proof trees. Note: Pi is interesting in that it is a completely pure logic program also for input/output which is done using streams implemented as lazy lists description : Interactive proof editor. |
references : Eriksson, Lars-Henrik: Pi: An interactive derivation editor for the calculus of partial inductive definitions. In: CADE-12 - 12th International Conference on Automated Deduction, Proceedings. Bundy, Alan (ed.), Springer Lecture Notes in Artificial Intelligence 814, pp. 821-825 (1994) |
year :
1991-1994
year_deployed : 1991 use : free for non-commercial use |
contact : Lars-Henrik Eriksson address : Uppsala university, Dept. of Information Technology, Box 337, 751 05 UPPSALA, Sweden telephone : +46184711057 email : lhe@it.uu.se |
prolog :
SICStus
platform : Unix/Linux other_languages : None lines (lines): 5500 predicates (QTY): 480 |
∑ project : PI-Horn
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
PI-Horn |
domain :
programming research tools
purpose : Preconditions inferrer for Horn clauses (PI-Horn) description : PI-Horn is a transformation-guided tool for inferring sufficient preconditions for safety or unsafety of a program based on (Constrained) Horn clauses. It uses techniques such as abstract interpretation, partial evaluation, constraint specialisation and counterexample-guided program transformation and decomposition. PI-Horn is an iterative method which maintains over-approximations of the sets of safe and unsafe states which are successively refined using abstract interpretation and program transformations. Furthermore, in each iteration of the method, only the set of states in the intersection of these approximations are considered, which are initialised to a universal set at the beginning. The method terminates when the intersection of safe and unsafe states is empty or the intersection does not reduce in the successive iteration. Then the sufficient conditions are derived from the sequences of safe and unsafe over-approximations. Developers: John Gallagher (Roskidle University), Bishoksan Kafle (Roskidle University), José Francisco Morales (UPM and IMDEA Software). |
references :
[1] https://github.com/bishoksan/PI-Horn, |
year :
2018
year_deployed : 2018 range_development : 2018-2021 use : Open source, Apache-2.0 license |
contact : Jose F. Morales email : josef.morales@imdea.org |
prolog :
Ciao
platform : mac, linux, windows/WSL, ... lines (lines): 63454 |
∑ project : Price Grouper
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
Price Grouper |
domain :
Parts Management
purpose : It takes a number of records for a single part that include its price as sold by some supplier. The quantity that the price varies, often for 1, but sometimes for packages containing 10 or 12 or 144 or 2000. The grouper uses heuristics to attempt to group the records into groups of the same quantity. description : It uses heuristics to estimate breakpoints in the price distribution that seem to correspond to different quantities. A price record may also contain (poor quality) information on quantity and unit of issue, as ''2 boxes''. This information is also used (carefully) to try to determine price breaks. We compared the output of our Grouper with that produced by using a probabilistic mixture model and the heuristic algorithm generally produced significantly better groupings. |
references : See Pricing Tools at www.xsb.com. |
year :
2004
year_deployed : 2004 range_deployed : 2004-present range_development : 2004 use : Personal use/ in-House use / Free/public domain/ Licensed/ Sold product ... and/or more information |
contact : David S. Warren email : warren@xsb.com |
prolog :
XSB Prolog
platform : windows,linux lines (lines): ~2400 predicates (QTY): ~65 development_effort (MY): 0.4 maintenance_effort (MY): 0.2 |
∑ project : ProB
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
ProB |
purpose : ProB is a validation tool for the B-Method and various other related formal methods. description : ProB provides a constraint solver, animator and model checker for the B-method and various other state-based formal methods such as Event-B and Z. The constraint solver supports full predicate logic, set theory, relations, functions, sequences, records and arithmetic. The model checker supports safety checking as well as LTL and CTL temporal logic formulas. Many interactive animation and visualisation features are also provided. % development started in 2001, first release in 2003, FM conference article 2003 |
references : LeuschelButler:FME03, DBLP:journals/sttt/LeuschelB08, Michael Leuschel & Michael Butler (2003): ProB: A Model Checker for B. In Keijiro Araki, Stefania Gnesi & Dino Mandrioli, editors: FME 2003: Formal Methods, LNCS 2805, Springer-Verlag, pp. 855–874, doi:10.1007/978-3-540-45236-2 46. @inproceedings{LeuschelButler:FME03, author = {Michael Leuschel and Michael Butler}, title = {Pro{B}: A Model Checker for {B}}, booktitle = {FME 2003: Formal Methods}, editor = {Araki, Keijiro and Gnesi, Stefania and Mandrioli, Dino}, publisher = {Springer-Verlag}, series = {LNCS 2805}, year = 2003, pages = {855--874}, isbn = {3-540-40828-2}, doi = {10.1007/978-3-540-45236-2_46}, }, Michael Leuschel & Michael J. Butler (2008): ProB: an automated analysis toolset for the B method. STTT 10(2), pp. 185–203. Available at http://dx.doi.org/10.1007/s10009-007-0063-9, . @article{DBLP:journals/sttt/LeuschelB08, Author = {Michael Leuschel and Michael J. Butler}, title = {{ProB}: an automated analysis toolset for the {B} method}, journal = {STTT}, volume = {10}, number = {2}, year = {2008}, pages = {185--203}, ee = { http://dx.doi.org/10.1007/s10009-007-0063-9, }, bibsource = {DBLP, http://dblp.uni-trier.de, } |
year :
2003
year_deployed : 2003 use : open-source (Eclipse Public License) |
contact : Michael Leuschel address : Institut für Informatik, Heinrich-Heine-Universität Düsseldorf, Universitätsstr. 1, D-40225 Düsseldorf telephone : +49 211 81 10710 email : leuschel@uni-duesseldorf.de |
prolog :
SICStus
platform : Windows, Linux, macOS other_languages : C, C++, Tcl/Tk, Java lines (lines): 145038l lines, % only Prolog code excluding comment lines, measured using cloc for ProB 1.11.1; in addition 78,784 lines of C,C++ and 32803 lines of Tcl/Tk predicates (QTY): 18588 development_effort (MY): 50 person-years(!) maintenance_effort (MY): N/A |
∑ project : Prolog Playground
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
Prolog Playground |
domain :
teaching programming tools
purpose : An in-browser environment for editing and running Prolog programs description : The Prolog Playground provides three main functionalities: A) A very easy way to edit, run, and share Prolog code, directly from any modern browser. The main advantage is that the playground does not require any installation or interaction with a server since everything runs within the browser. It is thus very well suited for teaching, experimenting, testing the language, etc. B) An easy way to embed runnable code examples in tutorials, manuals, slides, exercises, etc., and in general any kind of document. These documents can be developed with many tools, such as Google Docs, Jupyter notebooks, Word, Powerpoint, LaTeX, Pages, Keynote, web site generators, etc., etc. The examples are stored in the documents themselves and do not need to be uploaded to (or edited in) any server. This functionality can be exploited at the fullest using the LPdoc tool. C) An easy way to create and distribute applications. The Playground can be specialized to create standalone web-based applications, with editor and top level, which also do not need installation, running fully within the user's browser. An example is the s(CASP) playground. |
references :
[1] http://ciao-lang.org/playground/, [2] http://cliplab.org/papers/scasp-web-gde.pdf, |
year :
2022
year_deployed : 2022 range_development : 2022-present use : Open source, LGPL |
contact : Jose F. Morales email : josef.morales@imdea.org |
prolog :
Ciao
platform : Any browser (mac, linux, windows, IOS, android, ...) lines (lines): 10453 |
∑ project : Property Extractor
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
Property Extractor |
domain :
Semantic Knowledge Processing
purpose : This application extracts from free text references to Specifications and Standards, materials, and processes. description : It is a bottom-up parser/recognizer, driven by an ontology which is used to generate more than 70,000 grammar rules. It depends crucially on tabling of the Prolog engine. It is nondeterministic, with longer recognized strings being preferred to shorter strings. |
references : See XSB, Inc. website: https://www.xsb.com, for end-user applications it is used to support. |
year :
c. 2003
year_deployed : 2003 range_deployed : 2003-present range_development : 2003-present use : It is used to process tens of millions of records containing textual part information to extract standardized information to supply commercial chain applications. |
contact : David S. Warren email : warren@xsb.com |
prolog :
XSB Prolog
platform : windows+linux other_languages : interfaces to Java lines (lines): 1500 + libraries predicates (QTY): ? development_effort (MY): c. 0.5 maintenance_effort (MY): c. 0.2 |
∑ project : PROSYN
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
PROSYN |
domain :
Process Engineering, Chemical Industry
purpose : Knowledge-based artificial intelligence (AI) system for process design description : Utilizes AI in conceptual process design and process engineering based on heuristic rules and numerical methods. Starting from physical properties and chemistry, the expert system initiates the design process and determines and designs suitable technologies, unit operations, and processes. |
references : https://www.process-design-center.com/prosyn/, https://dev.prosyn.eu/, |
year :
1985
year_deployed : 1985 range_deployed : 1985-2022 range_development : 1985-2022 use : in-House use / Licensed. Some parts will be publicly accessible via dev.prosyn.eu |
contact : Edison Mera address : Paardeweide 7, 4824EH, Breda telephone : +31765301904 email : support@process-design-center.com |
prolog :
SWI-prolog
platform : linux other_languages : Fortran, C, Javascript lines (lines): 1000000 predicates (QTY): 22000 development_effort (MY): 300 maintenance_effort (MY): 2 |
∑ project : pykythe
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
pykythe |
domain :
Type inferencer and code analyzer for Python
purpose : Analyzes a Python program and its imports, and generates a database of facts (using the Kythe data schema), which can be used by code browsers, refactoring tools, etc. description : Uses Python's library to generate an AST, which is then processed by a Prolog program. The analyzer makes multiple passes over the AST, doing a kind of abstract interpretation that computes possible types for each name in the program. Each pass refines the possibilities until a fixed point is reached. The resulting analysis is then output using the Kythe schema. The code runs in a highly parallel system that automatically caches the results of imported sources - there's no need to do a pre-analysis and analyze the code ''bottom up''. Also includes a client-server source browser. |
references : https://github.com/kamahen/pykythe, , https://kythe.io/, |
year :
2017
year_deployed : 2017 range_deployed : 2018 range_development : 2017-2019 use : ''Alpha'' proof-of-concept / Free/public domain |
contact : Peter Ludemann address : 1582 Wistaria Ln, Los Altos CA 94024 USA telephone : +1.650.305.9193 email : peter.ludemann@gmail.com |
prolog :
SWI-Prolog
platform : Linux other_languages : Python, JavaScript lines (lines): 7000 Prolog, 4700 Python, 800 JavaScript predicates (QTY): 850 development_effort (MY): 0.5 |
∑ project : RAHFT
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
RAHFT |
domain :
programming research tools
purpose : Refinement of Abstraction in Horn clauses using Finite Tree automata (RAHFT) description : RAHFT (Refinement of Abstraction in Horn clauses using Finite Tree automata), is an abstraction refinement tool for verifying safety properties of programs expressed as Horn clauses. Rahft loosely combines three powerful techniques for program verification: (i) program specialisation, (ii) abstract interpretation, and (iii) trace abstraction refinement in a non-trivial way, with the aim of exploiting their strengths and mitigating their weaknesses through the complementary techniques. It is interfaced with an abstract domain, a tool for manipulating finite tree automata and various solvers for reasoning about constraints. Its modular design and customizable components allows for experimenting with new verification techniques and tools developed for Horn clauses. Developers: John Gallagher (Roskidle University), Bishoksan Kafle (Roskidle University), and José Francisco Morales (UPM and IMDEA Software). |
references :
[1] https://github.com/bishoksan/RAHFT, [2] Horn clause verification with convex polyhedral abstraction and tree automata-based refinement by Bishoksan Kafle and John P. Gallagher in COMLAN 2015 ( http://www.sciencedirect.com/science/article/pii/S1477842415000822, ). [3] Tree Automata-Based Refinement with Application to Horn Clause Verification by Bishoksan Kafle and John P. Gallagher in VMCAI 2015 ( http://link.springer.com/chapter/10.1007%2F978-3-662-46081-8_12#page-1, ). [4] Constraint Specialisation in Horn Clause Verification by Bishoksan Kafle and John P. Gallagher in PEPM 2015 ( http://akira.ruc.dk/~kafle/publications/pepm-15, ). [5] Rahft: A tool for verifying Horn clauses using abstract interpretation and finite tree automata by Bishoksan Kafle, John P. Gallagher and Jose F. Morales, CAV 2016. |
year :
2016
year_deployed : 2016 range_development : 2016-present use : Open source, Apache-2.0 license |
contact : Jose F. Morales email : josef.morales@imdea.org |
prolog :
Ciao
platform : mac, linux, windows/WSL, ... lines (lines): 76383 |
∑ project : Recovup
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
Recovup |
domain :
Health
purpose : Assistance in generating self-help exercises (Musculoskeletal disorders) description : Web Application developed mainly in Prolog and PHP. Allows to generate self-rehabilitation exercises in response to 12 physical pathologies (ankle sprains, low back pain, etc...) Uses medical consensus rules and recommendations from physical therapists |
references : See https://recovup.io/, web site |
year :
2021
year_deployed : 2021 use : Personal use/ in-House use / Free/public domain/ Licensed/ Sold product ... and/or more information |
contact : Dr Mehdi Roudesli address : address telephone : +xxxxxxxxxxx email : m.roudesli@skeewai.com |
prolog :
SWI prolog
platform : On line other_languages : PHP lines (lines): 3400 predicates (QTY): 100 development_effort (MY): 18 m/y maintenance_effort (MY): 0.5 |
∑ project : Rfuzzy
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
Rfuzzy |
domain :
Expert systems, Programming, Tools
purpose : Simple and Expressive Fuzzy Tool description : Rfuzzy is a Prolog-based tool for representing and reasoning with fuzzy information. It provides an easy, user-friendly syntax, and expressivity through the availability of default values (to represent missing information, even partial default values) and types. Rfuzzy represents the truth value of predicates through facts, rules and functions. Rfuzzy answers queries with direct results (instead of constraints) and it is easy to use for any person that wishes to represent a problem using fuzzy reasoning in a simple way. Developers: Alvaro Fernandez-Diaz, Susana Munoz-Hernandez, Victor Pablos-Ceruelo, Hannes Strass. |
references :
[1] https://github.com/FuzzyLP/RFuzzy, |
year :
2008
year_deployed : 2008 range_development : 2008-2018 use : Open source, LGPL |
contact : Susana Munoz address : Technical U. of Madrid email : susana.munoz@upm.es |
prolog :
Ciao
platform : mac, linux, windows/WSL, ... lines (lines): 3800 |
∑ project : s(CASP)
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
s(CASP) |
domain :
Programming, Research, Tools
purpose : The s(CASP) system is a top-down interpreter for ASP programs with constraints description : s(CASP) is an implementation of the stable model semantics for constraint logic programming. Unlike similar (e.g., ASP) systems, it does not employ any form of grounding. This allows s(CASP) to execute programs that are not finitely groundable, including those which make use of lists and terms. In addition to models / answer sets, s(CASP) produces justification trees. s(CASP) was originally developed in Ciao Prolog and has also been ported to SWI Prolog. There is also an s(CASP) playground for light use of the system without installation. |
references :
[1] Repo: https://gitlab.software.imdea.org/ciao-lang/sCASP, [2] s(CASP) playground: https://ciao-lang.org/playground/scasp.html, [3] Joaquín Arias, Manuel Carro, Elmer Salazar, Kyle Marple, and Gopal Gupta. Constraint Answer Set Programming without Grounding. Theory Pract. Log. Program. 18(3-4): 337-354 (2018) |
year :
2017
year_deployed : 2017 range_development : 2017-present use : Academic and commercial |
contact : Joaquin Arias email : joaquin.arias@urjc.es |
prolog :
Ciao, SWI
platform : mac, linux, windows/WSL, ... lines (lines): 29095 |
∑ project : SIGOLI
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
SIGOLI |
domain :
computational molecular biology
purpose : A methodology for discovery of diagnostic short DNA fragments, which after having solved spectacularly the problem that initially motivated it (plant pathogen identification) revealed itself also successful in surprisingly many other areas, including coronaviruses detection. description : N.B. I cannot call it a Prolog application since, while it was prototyped in Prolog and benefitted from my years of experience with computational linguistics and logic grammars, it ended up not being implemented in Prolog, sigh. So I'm not even sure this should be listed, but here goes just in case. DESCRIPTION: A methodology for discovery of diagnostic short DNA fragments (SIGOLI for SIGnature OLIgonucleotides [1] was originally developed for rapid plant pathogen identification and detection from those short signature DNAs. This reduced what used to be weeks or months of work at Agriculture and AgriFood Canada to a few minutes of computing. This approach has been used extensively for a wide range of plant pathogen identification [2,3,4,5,6,7], but also for detecting fraudulent fish sales [8], to identify hosts that mosquitoes have been feeding on [9] or even monitor biodegradation of organic wastes [11]. SIGOLI was recently integrated into an Automated Oligonucleotide Design Pipeline (AODP) to handle identification and detection from exponentially increasing DNA High Throughput Sequencing data [12]. Thus integrated, it has been used already for plant pathogen detection [13] but also for describing new species of fungi parasitizing insects [14]. It is now included into a software for virus diagnostics, including corona viruses ( https://www.virtool.ca/docs/manual/sources/papers/, ). |
references :
[1] [ZDCL2009] Zahariev, M., Dahl, V., Chen, W. and Levesque, A. (2009) Efficient Algorithms for the Discovery of Oligonucleotide Barcoded from Sequence Databases. International Journal on Molecular Ecology Resources. [2] Chen, W., Djama, Z.R., Coffey, M.D., Martin, F.N., Bilodeau, G.J., Radmer, L., Denton, G., and André Lévesque, C. (2013). Membrane-based oligonucleotide array developed from multiple markers for the detection of many Phytophthora species. Phytopathology 103, 43-54. 10.1094/PHYTO-04-12-0092-R. [3] Chen, W., Seifert, K.A., and LÉvesque, C.A. (2009). A high density COX1 barcode oligonucleotide array for identification and detection of species of Penicillium subgenus enicillium. Molecular Ecology Resources 9, 114-129. 10.1111/j.1755-0998.2009.02638.x. [4] Links, M.G., Demeke, T., Gräfenhan, T., Hill, J.E., Hemmingsen, S.M., and Dumonceaux, T.J. (2014). Simultaneous profiling of seed-associated bacteria and fungi reveals antagonistic interactions between microorganisms within a shared epiphytic microbiome on Triticum and Brassica seeds. New Phytologist 202, 542-553. 10.1111/nph.12693. [5] Liu, M., McCabe, E., Chapados, J.T., Carey, J., Wilson, S.K., Tropiano, R., Redhead, S.A., Lévesque, C.A., and Hambleton, S. (2015). Detection and identification of selected cereal rust pathogens by TaqMan® real-time PCR. Canadian Journal of Plant Pathology 37, 92-105. 10.1080/07060661.2014.999123. [6] Pérez-López, E., Olivier, C.Y., Luna-Rodríguez, M., and Dumonceaux, T.J. (2016). Phytoplasma classification and phylogeny based on in silico and in vitro RFLP analysis of cpn60 universal target sequences. International Journal of Systematic and Evolutionary Microbiology 66, 5600-5613. 10.1099/ijsem.0.001501. [7] Pérez-López, E., Rodríguez-Martínez, D., Olivier, C.Y., Luna-Rodríguez, M., and Dumonceaux, T.J. (2017). Molecular diagnostic assays based on cpn60 UT sequences reveal the geographic distribution of subgroup 16SrXIII-(A/I)I phytoplasma in Mexico. Scientific Reports 7, 950. 10.1038/s41598-017-00895-1. [8] Rasmussen Hellberg, R. and Morrissey, M. T. (2011) Advances in DNA-Based Techniques for the Detection of Seafood Species Substitution on the Commercial Market. J. Laboratory Automation, 16:4,308-321. [9] Thiemann, T.C., Brault, A.C., Ernest, H.B., and Reisen, W.K. (2012). Development of a high-throughput microsphere-based molecular assay to identify 15 common bloodmeal hosts of Culex mosquitoes. Molecular Ecology Resources 12, 238-246. 10.1111/j.1755-0998.2011.03093.x. [10] Froese, A., Schellenberg, J., and Sparling, R. (2019). Enhanced depolymerization and utilization of raw lignocellulosic material by co-cultures of ruminiclostridium thermocellum with hemicellulose-utilizing partners. Canadian Journal of Microbiology 65, 296-307. 10.1139/cjm-2018-0535. [11] Chen, W., Radford, D., and Hambleton, S. (2022). Towards Improved Detection and Identification of Rust Fungal Pathogens in Environmental Samples Using a Metabarcoding Approach. Phytopathology 112, 535-548. 10.1094/PHYTO-01-21-0020-R. [12] Zahariev, M., Chen, W., Visagie, C.M., and Lévesque, C.A. (2018). Cluster oligonucleotide signatures for rapid identification by sequencing. BMC Bioinformatics 19, 395. 10.1186/s12859-018-2363-3. [13] Sundberg, H., Kruys, Å., Bergsten, J., and Ekman, S. (2021). Coreomyces (Laboulbeniales) in Sweden, with two new species. Nordic Journal of Botany 39, e03323. 10.1111/njb.03323. [14] Shoukouhi, P., Hicks, C., Menzies, J.G., Popovic, Z., Chen, W., Seifert, K.A., Assabgui, R., and Liu, M. (2019). Phylogeny of Canadian ergot fungi and a detection assay by real-time polymerase chain reaction. Mycologia 111, 493-505. 10.1080/00275514.2019.1581018. |
year :
2007
year_deployed : 2007 range_deployed : 2007-2009 range_development : 2018 use : Personal use/ in-House use / Free/public domain/ Licensed/ Sold product ... and/or more information |
contact : Veronica Dahl address : Comp. Sci, SFU telephone : +xxxxxxxxxxx email : veronica_dahl@sfu.ca |
prolog :
prolog
platform : windows other_languages : java lines (lines): 1 predicates (QTY): 1 development_effort (MY): 4 maintenance_effort (MY): 4 |
∑ project : SIIUE
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
SIIUE |
domain :
Higher Education institutional management and daily operations
purpose : Run the entire information system for a University, including all aspects of academic and research-related activity description : The system revolves around 3 main components: (1) Contextual Logic Programming as implemented by GNU Prolog/CX [1], (2) persistence as provided by a relational database (PostgreSQL, in this case) and seamlessly integrated into Prolog by means of the ISCO DSL [2] and an integration into PHP which inlines Prolog code in active web pages. The system was developed and maintained by a team of up to 6 programmers, for over 10 years (2000-1014). It's over 200000 lines of Prolog code, in more than 1300 units (modules), which were all compiled to native code and dynamically linked, on demand, into the running Prolog executable. The system was in daily use by a population of about 7000 students and 1000 staff and faculty, to conduct all academic activity and service the University's regular web site. |
references :
[1] Objective: In minimum context S Abreu, D Diaz - International Conference on Logic Programming, 2003 [2] Isco: A practical language for heterogeneous information system construction S Abreu - Proceedings of INAP, 2001 [3] Representing and querying multiple ontologies with contextual logic programming N Lopes, C Fernandes, S Abreu - Computer Science and Information Systems, 2008 |
year :
2003
year_deployed : 2003 range_deployed : 2003-2012 range_development : 2000-2013 use : in-house; available as open-source |
contact : Salvador Abreu address : U. of Evora email : spa@uevora.pt |
prolog :
GNU Prolog/CX
platform : Linux other_languages : PHP, SQL (Postgres) lines (lines): 200000 predicates (QTY): 1500 development_effort (MY): 5 maintenance_effort (MY): 5 |
∑ project : Spacial
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
Spacial |
domain :
design expert systems tools
purpose : Spatial reasoner is a top-down interpreter for Building Information Modeling (BIM) models. description : Building Information Modeling (BIM) is an intelligent 3D model-based process that enables architecture, engineering, and construction (AEC) professionals to plan, design, construct, and manage buildings and infrastructure with greater efficiency and improved workflow. CLP Spatial is an implementation of a Spatial reasoner based on Constraint Logic Programming using CLP(R). Unlike similar systems, it allows the same formalism to express queries regarding ontology, time, changes, and progress, among others. This allows CLP Spatial complex reasoning models that can be used to infer back-forward results. Developers: Joaquín Arias (Rey Juan Carlos University), Seppo Torma (VisuaLynk Oy, Espoo, Finland), Manuel Carro (UPM and IMDEA Software), Gopal Gupta (U. of Texas at Dallas). |
references :
[1] Joaquin Arias, Seppo Torma, Manuel Carro, Gopal Gupta: Building Information Modeling Using Constraint Logic Programming. Theory Pract. Log. Program. 22(5): 723-738 (2022) |
year :
2019
year_deployed : 2019 range_development : 2019-present use : Academic/commercial |
contact : Joaquin Arias address : Rey Juan Carlos University email : joaquin.arias@urjc.es |
prolog :
Ciao
platform : mac, linux, windows/WSL, ... lines (lines): 6534 |
∑ project : Spectector
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
Spectector |
domain :
programming research tools
purpose : Spectector is a tool for reasoning about information flows produced by speculatively executed instructions description : Spectector is a tool for reasoning about information flows produced by speculatively executed instructions. It takes as input an x64 assembly program (in the Intel or AT&T syntax), and it automatically detects leaks introduced by speculatively executed instructions (or proves their absence). Spectector symbolically executes the program under analysis with respect to a semantics that accounts for the speculative execution's effects. During the symbolic execution, Spectector derives SMT formulae characterizing leaks caused by speculatively executed instructions. It then relies on the Z3 SMT solver to determine the presence of possible leaks. More precisely, Spectector automatically proves whether a program satisfies speculative non-interference. Using Spectector, it is possible to detect subtle bugs in the way countermeasures are placed by several major compilers, which may result in insecure programs or unnecessary countermeasures. See the Spectector's paper for more information. Developers: Marco Guarnieri (IMDEA Software), Boris Koepf (Microsoft), José F. Morales (IMDEA Software), Jan Reineke (Saarland University), Andrés Sánchez (IMDEA Software). |
references :
[1] https://github.com/spectector/spectector, [2] Marco Guarnieri, Boris Köpf, José F. Morales, Jan Reineke, Andrés Sánchez: Spectector: Principled Detection of Speculative Information Flows. IEEE Symposium on Security and Privacy 2020: 1-19 |
year :
2018
year_deployed : 2018 range_development : 2018-2020 use : Open source, Apache-2.0 license |
contact : Jose F. Morales email : josef.morales@imdea.org |
prolog :
Ciao
platform : mac, linux, windows/WSL, ... lines (lines): 2272 |
∑ project : SWISH
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
SWISH |
domain :
Prolog education and sharing
purpose : Provide an online educational environment as well as a shared data exploration environment description : SWISH provides an online environment for developing Prolog code. Programs may be entered as plain text or as a ''notebook'' that allows for mixing code, queries and text. SWISH allows rendering Prolog results as text, charts, tables, graphs, etc. SWISH can also be used for (shared) data exploration. It includes an interface to R for statistical analysis and (graphical) display of results. |
references : WIELEMAKER, J., RIGUZZI, F., KOWALSKI, R., LAGER, T., SADRI, F., & CALEJO, M. (2019). Using SWISH to Realize Interactive Web-based Tutorials for Logic-based Languages. Theory and Practice of Logic Programming, 19(2), 229-261. doi:10.1017/S1471068418000522 |
year :
2014
year_deployed : 2014 range_deployed : 2015- range_development : 2014-2022 use : Open source, many installations |
contact : Jan Wielemaker email : jan@swi-prolog.com |
prolog :
SWI-Prolog
platform : many other_languages : JavaScript lines (lines): 150,000 development_effort (MY): 2 maintenance_effort (MY): 2 |
∑ project : SWMOD
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
SWMOD |
purpose : Select the best test-case candidate in real-time. Determine the order and which robot to execute the robot on. Make sure each test-case over time will be executed. description : Scheduling of test-cases related to software testing of industrial robots. |
references : paper in International Conference on Principles and Practice of Constraint Programming : CP 2017: Principles and Practice of Constraint Programming pp 387–404Cite as Time-Aware Test Case Execution Scheduling for Cyber-Physical Systems https://link.springer.com/chapter/10.1007/978-3-319-66158-2_25, |
year :
2016
year_deployed : 2016 use : in-house |
contact : Morten Mossige address : ABB Robotics, Nordlysvegen 7, 4349 BRYNE, NORWAY telephone : +4740234475 email : morten.mossige@no.abb.com |
prolog :
SICStus
platform : Windows other_languages : Python, C# lines (lines): 1400 predicates (QTY): number of predicates development_effort (MY): 1.5 maintenance_effort (MY): 0.1 |
∑ project : Symbium
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
Symbium |
domain :
Computational Law
purpose : Automated compliance management for residential construction description : Symbium is the ''Computational Law company''. Its primary ''product'' is a web service that facilitates compliance with governmental regulations on residential improvement and construction. The Symbium service provides its users with comprehensive information about residential parcels; it provides instantaneous compliance analysis of proposed changes; and it facilitates transactions with municipalities, counties, states, and other organizations (e.g. permit applications, inspections, rebates, and so forth).Symbium’s contributions have been recognized by multiple awards. The most prominent of these is the Ivory Prize for Housing Affordability, awarded in recognition of the company's work in formalizing planning codes (as logic programs), making the codes available to homeowners, and thereby making it quicker and easier for homeowners to replace appliances, install solar panels, build accessory dwelling units (ADUs), and so forth.Symbium's service is now operational in several California cities; it is working to make the service available across the state in the coming year; and it plans to span the country in the shortly thereafter. |
references : http://symbium.com, |
year :
2018
year_deployed : 2018 range_deployed : 2021-2022 range_development : 2018-2022 use : Data and analysis free; transactions subject to fee. |
contact : Michael Genesereth email : genesereth@stanford.edu |
prolog :
epilog
platform : all other_languages : javascript neo4j lines (lines): 100s / municipality predicates (QTY): dozens / municipality development_effort (MY): 1 week / municipality |
∑ project : TA scheduler
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
TA scheduler |
domain :
Automated Scheduling
purpose : Automatically schedules about 80 teaching assistants to approximately 200 courses taking into account skills, enrollment numbers, etc. description : Solves an important scheduling problem that every department faces. Deployed internally at UT Dallas CS Department and EE Department since 2004. |
year :
2004
year_deployed : 2004 range_deployed : 2004-2022 range_development : 2003-2006 use : internally developed software |
contact : Gopal Gupta address : 800 W. Campbell Rd, MS EC31, Richardson, TX 75080 telephone : +19728834107 email : gupta@utdallas.edu |
prolog :
prolog
platform : windows other_languages : C++ lines (lines): 2000 predicates (QTY): 50 development_effort (MY): 1 maintenance_effort (MY): number |
∑ project : THORONDIR
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
THORONDIR |
purpose : THORONDIR identifies radar signatures from measured radar parameter data. It is a rare use of Prolog in a military real-time system requiring a fast response time description : Rule based system for identification of radar signatures |
references : Roe,J.,'Identification of Naval Radar Emitters by KBS Techniques', Proceedings of International Maritime Defence Exhibition and Conference, London, U.K., March 1995., Hawkes,R., Pudner,A. and Roe,J., 'A Real-Time Prolog Solution for Naval ESM Radar Identification', Proceedings of The Practical Application of Prolog Conference, Paris, France, April 1995. |
year :
1992 - 2022
year_deployed : 1992 use : commercial licence |
contact : Jon Roe address : ESROE LIMITED, Bramble House, 112 Wickham Road, Fareham, Hampshire, PO16 7JH, UK telephone : +44 7767 834692 email : jon@esroe.com |
prolog :
SICStus
platform : Windows and Linux other_languages : N/A lines (lines): ~ 10,000 predicates (QTY): number of predicates development_effort (MY): > 10,000 person hours maintenance_effort (MY): > 5000 person hours |
∑ project : TypeInference
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
TypeInference |
domain :
programming, tools, research
purpose : Infers a well-typing for a Prolog program. description : The algorithm collects type constraints from the Prolog code and solves them. Performance is approximately linear in the size of the program. |
references :
Algorithm description. [1] Maurice Bruynooghe, John P. Gallagher, Wouter Van Humbeeck:Inference of Well-Typings for Logic Programs with Application to Termination Analysis. SAS 2005: 35-51. DOI 10.1007/978-3-540-27775-0_3. [2] https://github.com/jpgallagher/TypeInference, |
year :
2005
year_deployed : 2005 range_deployed : 2005-2022 range_development : 2005-2022 use : Open source. |
contact : John Gallagher address : Roskilde University telephone : +45 46742196 email : jpg@ruc.dk |
prolog :
Ciao Prolog
platform : all other_languages : Other Prologs with minor changes lines (lines): 650 predicates (QTY): 50 not including standard libraries development_effort (MY): 1 maintenance_effort (MY): 1 |
∑ project : WR2QTP
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
WR2QTP |
domain :
Automated Software Porting
purpose : Automatically translate test scripts written in WinRunner (an old test-scripting language) to QTP (a more modern test-scripting language). description : The software works by parsing the WinRunner program to obtain the parse tree, then semantically mapping it to QTP. These languages have a rich API, so the WinRunner API had to be simulated using QTP API. The product was used by about a dozen customers, the largest of whom translated about 750,000 lines of code in about 9 months time (the translated code still has to be meticulously tested, which takes time). If this was done manually, it would take about 10 man years or more. |
references : Gopal Gupta, Hai-Feng Guo, Arthur I. Karshmer, Enrico Pontelli, Juan Raymundo Iglesias, Desh Ranjan, Brook Milligan, Nayana Datta, Omar El-Khatib, Mohammed Noamany, Xinhong Zhou: Semantics-Based Filtering: Logic Programming's Killer App? Proc. PADL 2002: 82-100. |
year :
2008
year_deployed : 2008 range_deployed : 2009-2016 range_development : 2008-2012 use : sold service |
contact : Gopal Gupta address : 8200 Chambray Ct, Plano, TX 75025 telephone : +19723907329 email : profgopalgupta@gmail.com |
prolog :
prolog
platform : windows other_languages : java lines (lines): 1500 predicates (QTY): 300 development_effort (MY): 1 maintenance_effort (MY): number |
∑ project : WUENIC
Project | Description | References | Dates | People | Resources |
---|---|---|---|---|---|
WUENIC |
domain :
decision support
purpose : The system is a set of logical rules that assists WHO and UNICEF in estimating annual, global, country by country, infant immunization coverage. description : The problem is to reconcile inconsistencies when different sources of data conflict - for example when government reported data is inconsistent with survey data. The purpose of the logical rules is to make the reconciliation and estimation process more transparent and more consistent. In addition to helping to ensure transparency and consistency, the Prolog implementation has also proved useful in providing detailed explanation and documentation of the rationale for each of the estimates. |
references :
There are two articles describing the work. The first, published in the online journal PLOS-ONE, describes the work for a general audience with little or no computing background. The second, presented at JURISIN 2011, describes the work for a more academic audience and compares it with previous work on the logical formalisation of the British Nationality Act. Burton, A., Kowalski, R., Gacic-Dobo, M., Karimov, R. and Brown, D., 2012. A formal representation of the WHO and UNICEF estimates of national immunization coverage: a computational logic approach. PLoS One, 7(10), p.e47806. Kowalski, R. and Burton, A., 2011, December. WUENIC–a case study in rule-based knowledge representation and reasoning. In JSAI International Symposium on Artificial Intelligence (pp. 112-125). Springer, Berlin, Heidelberg. |
year :
2009-2013
year_deployed : 2009 use : in-house |
contact : Robert Kowalski address : Imperial College London email : rak@doc.ic.ac.uk |
prolog :
XSB Prolog
platform : windows other_languages : R lines (lines): number predicates (QTY): number development_effort (MY): number maintenance_effort (MY): number |
6. RESOURCES BY PROJECT
Warning some errors may occur because of automation.6.1. Lines and efforts
Lines and efforts
|
|
|
|
|
Alpino, | 2404087 | 6374 | NA | NA |
BIOCHAM, | 43000 | |||
BrailleMath, | 2000 | 300 | 1 | number |
CASSANDRA, | 60000 | 10000 | 2 | 1 |
Causality Link, | > 100,000 | number | >10 man-years | ongoing |
CiaoPP, | 118659 (base system, not including libraries), 381428 with extensions and front ends | |||
Cliopatra, | 42,000 | number | 5 | 1 |
Company Name Standardizer, | 2500 code + 50,000 data | ? | 0.5 | 0.5 |
DeepFind, | 3.5K (+ the CiaoPP libraries) | |||
DES, | 67K | 4.2K | 0.1 | 0.1 |
EMDS, | number | number | number | number |
Energy Analyzer, | 2186 (front end in Python) + 144240 (energy analysis in Prolog) | |||
ErgoAI, | 10000 | 1000 | 20 | 20 |
ETALIS, | 5000 | 200 | 10 | 10 |
Ews, | 3500 | 1500 2200 | 4 | 1 |
EYE, | 10000 | 1000 | 2 | 4 |
Flex Expert System toolkit, | 5000 | 150 | 20 | 1 |
FSA Utilities, | 23000 without the examples | 2099 | NA | NA |
FTCLP, | 27275 | |||
gamemaster, | 1000s | 1000s | 10s | |
GTO, | 7000 | 400 | ||
IBM Watson, | 5000 | 400 | 10 | 10 |
KALM, | 5000 | 1000 | 5 | 5 |
LHornSolver, | 4533 | |||
LPdoc, | 25781 (+ libraries) | |||
MetaMap, | 166,465 | 2,829 | 25 years | 200 hours/year |
Michelson Cost Analyzer, | 37867 | |||
MOVIS, | number of lines of code | Basic libraries provided, the rest is generated from diagrams | 3000 | Hard to define, we constantly improve the products (Designer for code generation, Xplorer for testing rule models, Service for executing models in production, |
Muasm, | 1816 | |||
NeuralTax, | 5000 | 100 | 3 | 3 |
NtHorn, | 19500 | |||
ODE Classifier, | c. 13,000+libraries | ? | 0.5 | 0.5 |
ODE Constructor, | 10,000 + libraries | ? | c. 1.0 | c. 0.5 |
Pacioli, | 12000 | 1900 | 2 | 1 |
PECOS, | 5704 | |||
Pi, | 5500 | 480 | ||
PI-Horn, | 63454 | |||
Price Grouper, | ~2400 | ~65 | 0.4 | 0.2 |
ProB, | 145038l lines, % only Prolog code excluding comment lines, measured using cloc for ProB 1.11.1; in addition 78,784 lines of C,C++ and 32803 lines of Tcl/Tk | 18588 | 50 person-years(!) | N/A |
Prolog Playground, | 10453 | |||
Property Extractor, | 1500 + libraries | ? | c. 0.5 | c. 0.2 |
PROSYN, | 1000000 | 22000 | 300 | 2 |
pykythe, | 7000 Prolog, 4700 Python, 800 JavaScript | 850 | 0.5 | |
RAHFT, | 76383 | |||
Recovup, | 3400 | 100 | 18 m/y | 0.5 |
Rfuzzy, | 3800 | |||
s(CASP), | 29095 | |||
SIGOLI, | 1 | 1 | 4 | 4 |
SIIUE, | 200000 | 1500 | 5 | 5 |
Spacial, | 6534 | |||
Spectector, | 2272 | |||
SWISH, | 150,000 | 2 | 2 | |
SWMOD, | 1400 | number of predicates | 1.5 | 0.1 |
Symbium, | 100s / municipality | dozens / municipality | 1 week / municipality | |
TA scheduler, | 2000 | 50 | 1 | number |
THORONDIR, | ~ 10,000 | number of predicates | > 10,000 person hours | > 5000 person hours |
TypeInference, | 650 | 50 not including standard libraries | 1 | 1 |
WR2QTP, | 1500 | 300 | 1 | number |
WUENIC, | number | number | number | number |
6.2. Language used
Language statistics :
|
Languages and tools
|
|
|
|
Alpino | SICStus 3; SWI-Prolog 6 | Windows, Linux, macOS (distributed as a Docker image) | C, C++, Perl, Python, Go, tcl/tk |
BIOCHAM | prolog | web server, docker image,linux, Mac OS, windows | C++ |
BrailleMath | prolog | windows | C++ |
CASSANDRA | LPA WinProlog | Windows | XML/XSL, COM |
Causality Link | prolog | windows, AWS | Java, C, javscript, etc |
CiaoPP | Ciao | mac, linux, windows/WSL, ... | |
Cliopatra | SWI-Prolog | many | JavaScript |
Company Name Standardizer | XSB Prolog | windows,linux | SQL-DB |
DeepFind | Ciao | mac, linux, windows/WSL, ... | |
DES | SICStus Prolog, SWI-Prolog | Multiplatform | Java, JavaScript, HTML |
EMDS | prolog | windows | C |
Energy Analyzer | Ciao | mac, linux, windows/WSL, ... | |
ErgoAI | XSB Prolog | Linux | C, Java, python |
ETALIS | XSB prolog | windows | java |
Ews | Win-prolog | windows | jSQL, C, OLE |
EYE | SWI-Prolog | Linux, MacOS and Windows | |
Flex Expert System toolkit | prolog | windows | java |
FSA Utilities | SICStus 3, SWI-Prolog 6, YAP | Windows, Linux, macOS | NA |
FTCLP | Ciao | mac, linux, windows/WSL, ... | |
gamemaster | Epilog | any | javascript, java |
GTO | SICStus | all | C, Tcl/Tk |
IBM Watson | Sicstus Prolog, XSB, SWI | windows | java |
KALM | XSB Prolog | windows | java, python |
LHornSolver | Ciao | mac, linux, windows/WSL, ... | |
LPdoc | Ciao | mac, linux, windows/WSL, browser, ... | |
MetaMap | SICStus | Windows (via Docker), Linux, macOS | C, C++, Java |
Michelson Cost Analyzer | Ciao | mac, linux, windows/WSL, ... | |
MOVIS | SICStus | Windows | C#, Java |
Muasm | Ciao | mac, linux, windows/WSL, ... | |
NeuralTax | ErgoAI, XSB prolog | windows | java |
NtHorn | Ciao | mac, linux, windows/WSL, ... | |
ODE Classifier | XSB Prolog | windows,linux | Java |
ODE Constructor | XSB Prolog | windows+linux | interfaces to Java, XJ |
Pacioli | SWI-Prolog | web | Javascript |
PECOS | Ciao | mac, linux, windows/WSL, ... | |
Pi | SICStus | Unix/Linux | None |
PI-Horn | Ciao | mac, linux, windows/WSL, ... | |
Price Grouper | XSB Prolog | windows,linux | |
ProB | SICStus | Windows, Linux, macOS | C, C++, Tcl/Tk, Java |
Prolog Playground | Ciao | Any browser (mac, linux, windows, IOS, android, ...) | |
Property Extractor | XSB Prolog | windows+linux | interfaces to Java |
PROSYN | SWI-prolog | linux | Fortran, C, Javascript |
pykythe | SWI-Prolog | Linux | Python, JavaScript |
RAHFT | Ciao | mac, linux, windows/WSL, ... | |
Recovup | SWI prolog | On line | PHP |
Rfuzzy | Ciao | mac, linux, windows/WSL, ... | |
s(CASP) | Ciao, SWI | mac, linux, windows/WSL, ... | |
SIGOLI | prolog | windows | java |
SIIUE | GNU Prolog/CX | Linux | PHP, SQL (Postgres) |
Spacial | Ciao | mac, linux, windows/WSL, ... | |
Spectector | Ciao | mac, linux, windows/WSL, ... | |
SWISH | SWI-Prolog | many | JavaScript |
SWMOD | SICStus | Windows | Python, C# |
Symbium | epilog | all | javascript neo4j |
TA scheduler | prolog | windows | C++ |
THORONDIR | SICStus | Windows and Linux | N/A |
TypeInference | Ciao Prolog | all | Other Prologs with minor changes |
WR2QTP | prolog | windows | java |
WUENIC | XSB Prolog | windows | R |
6.3. Platform used
stats done ok