2 research outputs found

    Integrating design synthesis and assembly of structured objects in a visual design language

    Full text link
    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

    No full text
    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..
    corecore