Knowledge-based Program Supervision for Medical Image
Processing
Approach:
Program Supervision
Back to main research page:
Approach:
Program Supervision
Many different sets of programs have been developed in disciplines like
signal processing, image processing, or scientific computing. Application
of such packages implies technical and practical knowledge, acquired by
experts as personal expertise. To achieve a processing objective, several
programs have to be judiciously organised in a plan and their execution
has to be monitored in order to perform the best possible treatment. Inexperienced
users often find these programs difficult to handle, as they do not master
processing techniques enough to make appropriate decisions.
Nevertheless, expertise can be identified, collected from experts or
extracted from programs, and capitalised in a structured way so as to be
transfered to less experienced users.
Program supervision (PS) aims at
automating the management of the decisions involved in the skilled use
of a program set, such as appropriate program
choice and organisation, parameter setting, execution control or the handling
of methodological details.
Within the framework of a knowledge-based system
(KBS), such a system captures the expertise and emulates the reasoning
of an expert when handling the programs, thus freeing the user from dealing
with pure processing and computational details. More than a user interface,
PS offers means to reuse both static knowledge (i.e.
ontology) and strategy (i.e.
problem-solving method) involved when solving
a problem with them.
A KBS for PS (or PS system) consists of:
a set of executable
programs,
a knowledge base
that holds expertise about the use of programs for different processing
objectives,
an engine that automates
the planning and the control of execution of the programs to solve processing
objectives,
a user interface
for the query of problem specification, initial data and other necessary
information, and the supply of (visual) user-level results.
The typical architecture of a PS system.
The PS engine implements a problem-solving method roughly decomposed
in a cycle of four reasoning phases: planning, execution, evaluation
and repair.
PS task is solved
by a problem-solving method adapted to experts' reasoning and domain requirements.
This method is implemented by the PS engine, that roughly automates
a cycle of four reasoning phases to solve user's problem:
planning
of (part of) the solution by choosing and organising programs into a sequence
of actions,
controled execution
of each action after appropriate refinement and parameter tuning,
evaluation
of the produced results,
repair
of the (partial) solution if results are not satisfying with appropriate
correcting actions.
This overall behaviour differs from one PS problem-solving method (or PS
method) to another, according to application domain characteristics, such
as the significance of intermediate results, the cost of computation, the
time response required or the certainty degree of the solution. A total
pre-planning of operations before execution can be convenient and cost-effective
for some problem domains. On the contrary, others may impede the
whole process to be foreseen, so require that the four PS phases be interleaved.
Other application domains may compel the PS method to be simplified, e.g.
less time consuming. Evaluation phase can be fully manual or can
perform a combination of automatic criteria and collaboration with the
user.
Whatever strategy
the program supervision engine implements, it relies on the contents of
the knowledge base, structured by concepts belonging to the program
supervision ontology, conveniently chosen to represent the relevant part
of the domain ontology. A PS knowledge base holds sufficient knowledge
on the programs to select them, schedule them, compute the values of their
parameters and run them to solve different objectives. Hence, PS ontology
comprises concepts that are shared among the planning and the software
engineering and reuse communities.
Goals describe
an abstract functionality to achieve, together with constraints on the
expected final state;
Operators
either represent executable programs (i.e. primitive operators)
or known combinations of operators that solve abstract processing steps
(i.e. complex operators). Combinations are described at different
abstraction levels: they can be for instance a sequence of operators, a
choice between alternative operators, etc. Both kinds of operator descriptions
mention input and output data arguments (including parameters),
abstract functionality that they accomplish, conditions under
which they are applicable (i.e. preconditions) and effects on current
state of the system. A primitive operator also includes the calling
interface of its corresponding program to execute.
Attached to operator
description, various expert criteria (e.g. rules, fonctions)
enclose decision knowledge for PS solving. They enable to state the way
to initialise or adjust operator parameters, to evaluate
the results of program execution or to repair unsatisfactory processing.
Attached to complex operators, they also capture the knowledge about the
choice between alternative operators that solve the same functionality,
for example.
These criteria often
reason about a description of data (i.e. their type and contents)
processed by programs, and the current state of the system.
Unlike some other program supervision approaches,
that are shaped by the specifics of an application domain, we regard program
supervision as an
application-independent problem-solving task. A program supervision
system implements a domain-specific method to realise this task and relies
on a relevant representation of domain knowledge. Thanks to this abstract
point of view, our generic approach has been specialised for a large range
of application domains: from image processing library for galaxy classification,
road obstacle detection or zooplankton recognition, to signal processing
or numerical calculus.
More about PS:
ORION references.
Related work
MVP: NASA Jet Propulsion Laboratory,
USA.
Collage: NASA Ames, USA.
VISIPLAN: Laboratory for Computer
Science Research, Rutgers University, USA.
SCARP and PowerTask: SHERPA
Team, INRIA Grenoble,
France.
BORG: GREYC, Caen, France.
VSDE: VIDIMUS european
project.
IAMI: Brest University,
France.
IRIT, Toulouse
University, France.
Chandra
Shekhar's work at CVL, CFAR,
University of Maryland, USA.
...
More generally, links
about Knowledge-Based
(re)Use of Program libraries (KBUP) :
Monica
Crubézy