Chapter 7
Abstraction Operators and Design Patterns
n the previous chapter we have introduced the notion of abstraction
operator acting on description frames and configuration spaces. In this chapter we
will handle abstraction operators in much more detail, providing a classification
depending of their effects and modus operandi. Then, we will address the problem
of designing generic operator schemas, and relate them to the notions of abstract Pro-
cedural Data Types and Design Patterns, both well known in Software Engineering.
Such an approach will allow us to describe the context where these operators can be
used. In fact, many of the operators correspond to similar representation problems
occurring in various domains.
In this chapter only the most basic operators will be described in detail, in order
to provide the reader with the feeling of how operators can be defined in practice and
concretely applied. The complete list of the currently available operators is reported
in Appendix E.
7.1 A Classification of Abstraction Operators
In this section we start by classifying abstraction operators according to general
properties rather than exploiting specific characteristics of the domain of applica-
tion. Thus the definitions will be abstract, while their operational semantics will be
specified at the time of their application to specific problems.
We have seen in the previous chapter that abstraction reduces the information
provided by a system description roughly in two ways: hiding some pieces of infor-
mation, or making information less detailed . We also describe some approximation
operators inasmuch as this supports explaining the difference between abstraction and
approximation.
L. Saitta and J.-D. Zucker, Abstraction in Artificial Intelligence and Complex Systems, 179
DOI: 10.1007/978-1-4614-7052-6_7, © Springer Science+Business Media New York 2013