|
|
| ||||||||||||||||
|
Location http://www.cs.mun.ca/~ulf/mod/rel.html. Written 300404 by Ulf Schünemann. Copyright (C) 2004 Ulf Schünemann. back to: relations |
|
Abstraction and model-building are two related, important techniques
for understanding complex domains of interest. «Abstraction is an essential part of model building where some aspect or part of the real world is extracted and simplified.» [xrefer Oxford Dictionary of Geography] We can concretize this wrt. the definition of model below: If we take 'isomorphism' as the mathematical formalization of abstraction then, obviously, any abstraction A1, A' of X is also a model of it, and the abstraction relation is in a sense a core for the model relation, on which all model relationships are based (directly or indirectly). |
| Abstraction |
Model
|
Abstraction(s) enable us to understand (analyze)
complex domains of concern, like programs, software systems,
and their application domains, which contain a plethora of detail.
| The word is used for three things:
A model is «[a] representation of some phenomenon of the real world
made in order to facilitate an understanding of its workings.
A model is a simplified and generalized version of real events,
from which the incidental detail, or 'noise' has been removed»
[x].
|
|
| abstraction-from |
1. A process of separating essentials from details,
and focusing on the former
while ignoring, "abstracting away", the latter.
| «A putative psychological process for the acquisition of a concept x either by attending to the features common to all and only xs or by disregarding just the spatio-temporal locations of xs.» [xrefer Oxford Dictionary of Philosophy] 2. The relation between objects with more and less properties. 3. The concepts aka. abstract objects
reached (some say: created) by abstracting.
|
|
homomorphism | \|/
model
|
homomorphism | \|/
«A model can be understood
as an image,
however with the speciality that in it the original is represented
only in part, while on the other hand it goes beyond the original.
...
Model = a system that is related to another one in a way
such that a homomorphism of one system
is isomorphic to an homomorphism of the other one»
[SuB 48, my translation].
| Where 'homomorphism' ('isomorphism') is a mapping of the system's elements (which are related with each other) into an intermediate domain of related elements in a way such that elements related (and unrelated, for isomorphisms) in the system are mapping to elements that are also related (and unrelated, respectively).
|
| abstraction-from |
|
|
| abstraction-from |_____
isomorphic
|
| abstraction-from _____|
|
|
|
|
|
|
The top-down development method
|
|
The process inverse to abstraction:
concretization or refinement,
is the main activity in requirements-driven top-down software development:
We refine an initial, unspecific model by filling-in the initially unknown details
of what precisely is required (problem analysis),
of how to solve the requirements in the abstract (design decisions),
and of how to make a computer system carry out that solution for us
(implementation decisions).
This way a sequence of abstractions from the desired computation
is produced which becomes more and more detailed,
specifying the desired computation at lower and lower
levels of detail/abstraction,
until it is detailed enough for the computer to perform the actual computation.
| (-) The problem: In the process, we will sooner or later have amassed too much detail in the specification at that level of detail to remain comprehendable. (For complex systems, already the requirements have too many aspects.)
|
|
|
Ordered.
|
«Does it not require some pains and skill to form the general idea of a triangle, ... for it must be neither Oblique, nor Rectangle, neither Equilateral, Equicural, nor Scalenon; but all and none of these at once. In effect it is something imperfect, that cannot exist; an Idea wherein some parts of several different and inconsistent Ideas are put together» - John Locke (1632-1704)
|
Logical symmetry, broken pragmatically.
|
|
Not unique.
| An abstraction A thus defines (specifies) an entire class of objects, the class of objects of which it is an abstraction.
Not unique.
| That is, an object M can not only be used as as model of one particular object X but of an entire class of objects (eg. the class of SuspensionBridges). This way, even a concrete object can be used as a representative or prototype to define (specify) a class of objects. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||