2 research outputs found
Integrating design synthesis and assembly of structured objects in a visual design language
Computer Aided Design systems provide tools for building and manipulating
models of solid objects. Some also provide access to programming languages so
that parametrised designs can be expressed. There is a sharp distinction,
therefore, between building models, a concrete graphical editing activity, and
programming, an abstract, textual, algorithm-construction activity. The
recently proposed Language for Structured Design (LSD) was motivated by a
desire to combine the design and programming activities in one language. LSD
achieves this by extending a visual logic programming language to incorporate
the notions of solids and operations on solids. Here we investigate another
aspect of the LSD approach; namely, that by using visual logic programming as
the engine to drive the parametrised assembly of objects, we also gain the
powerful symbolic problem-solving capability that is the forte of logic
programming languages. This allows the designer/programmer to work at a higher
level, giving declarative specifications of a design in order to obtain the
design descriptions. Hence LSD integrates problem solving, design synthesis,
and prototype assembly in a single homogeneous programming/design environment.
We demonstrate this specification-to-final-assembly capability using the
masterkeying problem for designing systems of locks and keys.Comment: 20 pages, 15 figures, to be published in The Theory and Practice of
Logic programming (TPLP
The Combinatorial Complexity of Masterkeying
We consider the combinatorial complexity of the algorithmic design of mechanical master key locking systems. Such locking systems use pin tumblers and prole elements (wards) to realize the functional dependencies given by a key/cylinder matrix. We prove that even very restricted versions of the masterkeying problem are NP-complete. We show that the general masterkeying problem can be dened by an integer linear program whose number of variables and restrictions is polynomial in the size of the key/cylinder matrix and the size of the locking system. Heuristic solutions are also discussed. 1 Introduction A master key system is a mechanical locking system for medium and large buildings. It enables various persons with dierent access authorizations to open all relevant doors with only one key. The main advantages of masterkeying are security with only a few keys, simple organization of a hierarchical authorization structure, and comfortable handling by only one key for all relev..