Managing Abstraction-Induced Complexity
نویسنده
چکیده
Abstraction reduces the apparent complexity of an implementation by hiding all but \the most relevant" details. However, no interface is suitable for all the users of the implementation for exactly the same reason: each user has a slightly di erent view of what is \most relevant." Thus, although abstractions can reduce complexity, working around their limitations can introduce other complexities. Some abstractions are designed to minimize the added complexity. This paper examines ve common abstraction models and uses common examples to contrast the tradeo s presented by each model.ion reduces the apparent complexity of an implementation by hiding all but \the most relevant" details. However, no interface is suitable for all the users of the implementation for exactly the same reason: each user has a slightly di erent view of what is \most relevant." Thus, although abstractions can reduce complexity, working around their limitations can introduce other complexities. Some abstractions are designed to minimize the added complexity. This paper examines ve common abstraction models and uses common examples to contrast the tradeo s presented by each model.
منابع مشابه
Reasoning with multiple abstraction models
The problem of complexity has kept qualitative physics techniques from being applied to large real-world systems . Use of a hierarchy of abstract models is crucial for managing complexity . Several researchers have proposed ways to use an abstraction hierarchy of models to control the complexity of qualitative simulation [Falkenhainer & Forbus 88, Kuipers 87] . All the approaches proposed requi...
متن کاملComplexity: Definition and Reduction Techniques, Some Simple Thoughts on Complex Systems
Complexity can mean many things to many people. This paper presents an empirical, relativistic definition of complexity relating it to the system of interest, the behavior which is to be understood, and the capabilities of the viewer. A taxonomy of complexity is described based on this definition. Complexity and complication are compared and contrasted to provide some context for these definiti...
متن کاملAn algorithm and case study for the object oriented abstraction
Model checking of software systems becomes more effective each day. However it still can not handle huge state spaces of real software. Particularly, concurrent systems are hard to verify. Abstraction techniques are one of the solutions aimed at managing the complexity problem. This paper describes the object oriented abstraction algorithm. It allows semi-automatic abstraction of real (i.e. Jav...
متن کاملOn the quantitative estimation of abstraction level increase in metaprograms
Higher-level programming such as metaprogramming introduces a layer of abstraction above the domain language programs. Metaprogramming allows describing generic components and managing variability in a domain. It is especially useful for developing program generators for domains, where a great deal of commonalties exists. It allows increasing the level of abstraction and hiding details that are...
متن کاملFlexible Abstraction Heuristics for Optimal Sequential Planning
We describe an approach to deriving consistent heuristics for automated planning, based on explicit search in abstract state spaces. The key to managing complexity is interleaving composition of abstractions over different sets of state variables with abstraction of the partial composites. The approach is very general and can be instantiated in many different ways by following different abstrac...
متن کامل