Dept of Engineering Mathematics
The Programming Language Fril
Fril is an uncertainty logic programming language which
includes Prolog as a subset of the language, but which also allows
probabilistic uncertainties and fuzzy sets to be included.
This generalisation of logic programming provides a powerful and flexible environment
for modelling and implementing Artificial Intelligence applications, and extends the
semantics of Prolog by embodying open worlds and true logic negation.
A different list-based syntax is used from the standard "Edinburgh" syntax of Prolog.
Fril and its applications are described in detail in a recent
Uncertainty representation and inference
Fril is based on the theory of mass assignments developed by J.F.
Baldwin in the Artificial Intelligence group
of the Department. Mass assignments express families of probability distributions
and generalise the representation of both probabilistic uncertainty and fuzzy
sets. The mass assignment is related to the basic probability assignment of
the Shafer Dempster theory, but the algebra of mass assignments is quite different
to the Shafer Dempster method of combining evidences. A special case of the
mass assignment is the support pair which defines an interval containing the
unknown probability. The support pair is a fundamental form of representation
of uncertainty in Fril. A fuzzy set is interpreted as a possibility distribution
which is equivalent to a family of probability distributions and hence to a
mass assignment. Both continuous and discrete fuzzy sets can be used in Fril.
Facts and Rules in Fril
Fril can deal with uncertainty in data, facts and rules using fuzzy sets and support pairs.
In addition to the Prolog rule, there are three different types of uncertainty rule as
follows: the basic rule, the extended rule, and the evidential logic rule.
The extended rule is important for causal net type applications, and the evidential logic rule
is relevant to case-based and analogical reasoning.
Each rule can have associated conditional support pairs, and the method of inference from
such rules is based on Jeffrey's rule which is related to the theorem of total probability. Fuzzy sets can be used to represent semantic terms in Fril clauses, and support for Fril goals can be obtained by a process of partial matching of such fuzzy terms called semantic unification. Fril implements a calculus of support logic programming, which defines the method of computing support pair inferences. Fril rules can also implement Fuzzy Control knowledge simply and directly.
Fril Language Components
- Support Logic/Prolog combination language
- Declarative programming style
- List-based syntax
- Portable 'C' implementation
- High performance Prolog
- Incremental compilation of clauses
- Debugging tools
- On-line help
- Uncertainty rules at the object level of the language
- Easy development of expert systems
- Modular code development and optimisation
- Sophisticated window and menu interface, including dialogue boxes
- Fril can call functions written in procedural languages
- Fril can be called from procedural code (e.g. a 'C' program)
- Fril can generate stand-alone applications
- Fril version 5.0 runs on Unix workstations under X-windows
- Fril version 5.0 runs on PC's under Windows 3.1
- Fril version 5.0 runs on Apple Macintosh series machines under system 7
World-wide users of Fril
The following is a list of some of the academic and industrial users of Fril:
- LIFE - Laboratory for Fuzzy Engineering, Japan
- Intera Ltd - Intelligent management of geological data
- Cray Systems - simulation of aircrew behaviour
- British Aerospace - design of aircraft components, vision understanding
- TMS (UK) - Orthodontic adviser for dental practitioners
- UK Defence Research Agency - target analysis, command and control
- British Airways - black box data monitoring
- Reuters (UK) - Client Administration expert system
- UKAEA, Winfrith UK - software diversity for fault tolerant software
- University of Cincinnati, USA
- LAFORIA, CNRS Paris, France
- City Polytechnic of HongKong
Background to Fril
Fril was originally an acronym for "Fuzzy Relational Inference Langauge", which was the precursor of the present Fril language, which was developed in the late 1970's following Jim Baldwin's work on fuzzy relations. In 1986, the company Equipu AIR was formed to develop and market a new Support Logic Programming language called Fril. The name Fril was adopted to relate it to a decade of research papers in the literature. In 1987, Fril version 3.0 was released on MS-DOS and Unix machines. In 1988, Equipu AIR was reformed as Fril Systems Ltd, to be a stand alone company. In 1989, Fril version 4.0 was released for MS-DOS, Unix,and Macintosh systems. Fril version 5.0 is scheduled for release in 1997.
Fril Systems Ltd
Fril is developed and marketed on a commercial basis by the company Fril Systems Ltd. Further information about the availablity and price of Fril and related services can be obtained from: Fril Systems Ltd, Bristol Business Centre, Maggs House, 78 Queens Road, Clifton, Bristol BS8 1QX.
Back to the Dept of Eng Maths home page
This page maintained by Dr. Bruce W. Pilsworth