Problem-solving Methods Language
Problem-Solving Methods are reusable components for implementing
the reasoning part of knowledge-based systems. The UPML language aims at describing
and implementing such architectures and components to facilitate their semiautomatic
reuse and adaptation.
UPML provides both a framework and a language to describe libraries of knowledge
components and their relationships to form knowledge systems. UPML is a software
architecture that defines a set of components and connectors between these
components. Next we present the more relevant components.
Ontology defines a terminology and its properties,
used by tasks, problem-solving methods, and domain models.
An Ontology is characterized by:
- Signature elements; used by other components to specify the input, output
- Formula: that describe relations between signature elements. Formula
are used to specify preconditions, postconditions and assumptions.
- Task specifies the problem to be achieved.
A task is characterized by:
- Input and Output Roles.
- Competence that specifies the preconditions and postconditions.
- Assumptions needed by a task to be solved
- PSM (Problem-solving method) that represents the method to solve
There are two types of PSM:
- Problem Decomposer that decomposes the problem in subtasks
- Reasoning Resource that directly solves the problem
- Domain Model introduces domain knowledge, merely the formulas that
are then used by problem-solving methods and tasks.
A domain model is characterized by:
- A Bridge connects two Components of different kind.
A Bridge define mapping axioms and an additional Assumptions about the components
There are three types of bridge:
- Task-DM Bridge
- PSM-Task Bridge
- PSM-DM Bridge
More information about UPML can be found in http://www.cs.vu.nl/~dieter/upml/