Declaring Constraints on Object-oriented Collections
-
- Felgentreff Tim
- Hasso Plattner Institute, University of Potsdam
-
- Hirschfeld Robert
- Hasso Plattner Institute, University of Potsdam
-
- Graber Maria
- Hasso Plattner Institute, University of Potsdam
-
- Borning Alan
- University of Washington
-
- Masuhara Hidehiko
- Department of Mathematical and Computing Science, Tokyo Institute of Technology
Search this article
Abstract
<p>Logic puzzles such as Sudoku are described by a set of properties that a valid solution must have. Constraints are a useful technique to describe and solve for such properties. However, constraints are less suited to express imperative interactions in a user interface for logic puzzles, a domain that is more readily expressed in the object-oriented paradigm. Object constraint programming provides a design to integrate constraints with dynamic, object-oriented programming languages. It allows developers to encode multi-way constraints over objects using existing, object-oriented abstractions. These constraints are automatically maintained at run-time. In this paper we present an application of this design to logic puzzles in the Squeak/Smalltalk programming environment, as well as an extension of the design and the formal semantics of Babelsberg to allow declaring constraints using the imperative collection API provided in Squeak. We argue that our implementation facilitates creating applications that use imperative construction of user interfaces and mutable program state as well as constraint satisfaction techniques for different parts of the system. The main advantage of our approach is that it moves the burden to maintain constraints from the developer to the runtime environment, while keeping the development experience close to the purely object-oriented approach.</p>
Journal
-
- Journal of Information Processing
-
Journal of Information Processing 24 (6), 917-927, 2016
Information Processing Society of Japan
- Tweet
Keywords
Details 詳細情報について
-
- CRID
- 1390282680270551552
-
- NII Article ID
- 170000148142
- 130005282182
-
- NII Book ID
- AA11464814
-
- ISSN
- 18827802
- 18826652
-
- Text Lang
- en
-
- Data Source
-
- JaLC
- IRDB
- Crossref
- CiNii Articles
- KAKEN
-
- Abstract License Flag
- Disallowed