Markus Fromherz | Palo Alto Research Center (original) (raw)

Papers by Markus Fromherz

Research paper thumbnail of Transformational Development of Logic Programs from Executable Specifications

In our method -that we call Visual and Textual Composition of Logic Programs -we have enhanced th... more In our method -that we call Visual and Textual Composition of Logic Programs -we have enhanced the schema-based construction of logic programs in two ways intended to bridge the conceptual gap between application domains and the programming domain. First, we define visual and textual views of programs that can be used to construct programs in application-specific concepts, and which can be understood as executable specifications of the programs being constructed. Second, in addition to schemata for Prolog programming constructs and techniques we introduce a repository of application-specific components. As a further enhancement of the method we have added schema-based transformations to increase the efficiency of the constructed programs. We have implemented both a program development system and a transformation system, and used these systems to develop programs for non-trivial applications like the well-known library data base problem and an automated teller machine.

Research paper thumbnail of Debugging Constraint Programs: The Abstraction Mismatch

Research paper thumbnail of Towards declarative debugging of concurrent constraint programs

Lecture Notes in Computer Science, 1993

ABSTRACT

Research paper thumbnail of Predictable Motion of Hyper-redundant Manipulators Using Constrained Optimization Control

Hyper-redundant robotic manipulators are robots that have many more degrees of freedom than requi... more Hyper-redundant robotic manipulators are robots that have many more degrees of freedom than required for a typical task such as grasping an object in 3D space. The large number of joints, which may range from dozens to thousands, offers both opportunities and challenges for the control of such robots. An opportunity is to use the extra degrees of freedom to optimally control multiple objectives. A challenge is to deliver predictable behavior despite the large number of possible configurations. In this paper, we propose to use a control approach based on constrained optimization. We discuss a representative example for an under-constrained task and suggest and analyze possible solutions that ensure predictable behavior.

Research paper thumbnail of Constraint-based scheduling

Proceedings of the 2001 American Control Conference. (Cat. No.01CH37148), 2001

Constraint-based scheduling has become the dominant form of modeling and solving scheduling probl... more Constraint-based scheduling has become the dominant form of modeling and solving scheduling problems. Recently, due to ever more powerful embedded processors, it has become possible to embed and run constraint-based schedulers on-line even for fast processes such as product assembly sequencing. This makes constraint-based scheduling interesting to the control community as a new tool for system control, distributed and reconfigurable control, and the integration of various planning, scheduling, and control tasks. This tutorial gives a brief introduction to constraint-based scheduling, generic constraint programming techniques for modeling and solving scheduling problems, and a concrete real-time application example. *

Research paper thumbnail of Force allocation in a large-scale distributed active surface

IEEE Transactions on Control Systems Technology, 2003

This paper investigates the problem of closed-loop control of a small number of parameters by all... more This paper investigates the problem of closed-loop control of a small number of parameters by allocating actuation in a system with many binary degrees of freedom, using an actual large-scale air-jet table as an example. In this system, the desired force and torque are produced by a large number of spatially distributed binary air jets directing individual forces on an object. Various algorithms for solving the force allocation problem-determining the appropriate valve states in this hyper-redundant system-are investigated. The algorithms range from discrete optimal search to continuous constrained optimization to a hybrid hierarchical approach that can be distributed. The latter consists of using the continuous optimal solutions to recursively break the large optimization problems into smaller problems that can be solved using optimal search methods or precomputed lookup tables. A tradeoff between computation time and allocation error was found. The optimal algorithms yield low errors but the time is exponential in the number of actuators, while the continuous solutions execute quickly but yield larger errors. The hybrid hierarchical optimal algorithms give the best compromise between these conflicting goals, and their applicability spans the full range of degrees of freedom from a few to many thousands. These hierarchical algorithms are useful in many such highly redundant systems.

Research paper thumbnail of Control-based programming of electro-mechanical controllers

Research paper thumbnail of Search-based adaptive routing strategies for sensor networks

Real-time or agent-centered search has been an active research area in AI for the past decade. Th... more Real-time or agent-centered search has been an active research area in AI for the past decade. These techniques have been applied to many applications including planning in robotic systems and routing in communication networks. Sensor networks are distinguished from traditional networks by characteristics such as deeply embedded routers, highly dynamic networks, resourceconstrained nodes, and unreliable and asymmetric links. In this paper, we explore the space of search-based techniques for sensor networks, including piggybacked heuristics, heuristic estimation, promiscuous learning, indirect confirmation, and forward propagation. Performance evaluations for these techniques on real application scenarios are conducted on a routing simulator for sensor networks.

Research paper thumbnail of Design optimization with uncertain application knowledge

Research paper thumbnail of Online Scheduling for Reprographic Machines

Research paper thumbnail of Model-Based Computing for Design and Control of Reconfigurable Systems

Ai Magazine, 2004

Complex electro-mechanical products, such as high-end printers and photocopiers, are designed as ... more Complex electro-mechanical products, such as high-end printers and photocopiers, are designed as families, with reusable modules put together in different manufacturable configurations, and the ability to add new modules in the field. The modules are controlled locally by software that must take into account the entire configuration. This poses two problems for the manufacturer. The first is how to make

Research paper thumbnail of On-line Planning and Scheduling in a High-speed Manufacturing Domain

We describe a simple manufacturing domain that requires in- tegrated planning and scheduling and ... more We describe a simple manufacturing domain that requires in- tegrated planning and scheduling and report on our experi- ence adapting existing techniques to this domain. The set- ting is on-line in the sense that additional jobs arrive asyn- chronously, perhaps several per second, while plans for previ- ous jobs are being executed. While challenging, the domain is also forgiving: feasible

Research paper thumbnail of Handling ambiguity in constraint-based recognition of stick figure sketches

Document Recognition and Retrieval, 2002

Even seemingly simple drawings, diagrams, and sketches are hard for computer programs to interpre... more Even seemingly simple drawings, diagrams, and sketches are hard for computer programs to interpret, because these inputs can be highly variable in several respects. This variability corrupts the expected mapping between a prior model of a configuration and an instance of it in the scene. We propose a scheme for representing ambiguity explicitly, within a subgraph matching framework, that limits

Research paper thumbnail of Optimal Incremental and Anytime Scheduling

We discuss the use of constraint programming for a class of reactive applications that concurrent... more We discuss the use of constraint programming for a class of reactive applications that concurrently monitor and control their environment. Programsdealing with such problems have to be incremental and anytime, inthe sense that sensor information is accumulated incrementally and controldecisions have to be made on request while the program is running.We present as a real-life example the scheduling of networked

Research paper thumbnail of Interpreting Sloppy Stick Figures by Graph Rectification and Constraint-Based Matching

Lecture Notes in Computer Science, 2002

Machine systems for understanding hand-drawn sketches and diagrams must reliably interpret curvil... more Machine systems for understanding hand-drawn sketches and diagrams must reliably interpret curvilinear configurations that are sloppily drawn and highly variable in form. We propose a two-stage subgraph matching framework for sketch recognition that can accommodate great variability in form and yet provide efficient matching and easy extensibility to new configurations. First, a rectification stage corrects the initial data graph for the common deviations of each kind of constituent local configuration from its ideal form.

Research paper thumbnail of Interpreting Sloppy Stick Figures with Constraint-Based Subgraph Matching

Lecture Notes in Computer Science, 2001

Machine systems for understanding hand-drawn sketches must reliably interpret common but sloppy c... more Machine systems for understanding hand-drawn sketches must reliably interpret common but sloppy curvilinear configurations. The task is commonly expressed as finding an image model in the image data, but few approaches exist for recognizing drawings with missing model parts and noisy data. In this paper, we propose a two-stage structural modeling approach that combines computer vision techniques with constraint-based recognition. The first stage produces a data graph through standard image analysis techniques augmented by rectification operations that account for common forms of drawing variability and noise. The second stage combines CLP(FD) with concurrent constraint programming for efficient and optimal matching of attributed model and data graphs. This approach offers considerable ease in stating model constraints and objectives, and also leads to an efficient algorithm that scales well with increasing image complexity.

Research paper thumbnail of Coordinated Control for Highly Reconfigurable Systems

Lecture Notes in Computer Science, 2005

The remarkable drop in the cost of embedded computing, sensing, and actuation is creating an expl... more The remarkable drop in the cost of embedded computing, sensing, and actuation is creating an explosion in applications for embedded software. As manufacturers make use of these technologies, they attempt to reduce complexity and contain cost by modularizing their systems and building reconfigurable products from simpler but smarter components. Of particular interest have recently been highly reconfigurable systems, i.e., systems that can be customized, repaired, and upgraded at a fine level of granularity throughout their lifetime. High reconfigurability is putting new demands on the software that is dynamically calibrating, controlling, and coordinating the operations of the system’s modules. There is much promise in existing software approaches, in particular in model-based approaches; however, current techniques face a number of new challenges before they can be embedded in the kind of real-time, distributed, and dynamic environment found in highly reconfigurable systems. Here, we discuss challenges, solutions, and lessons learned in the context of a long-term project at PARC to bring such techniques to a highly reconfigurable paper path system.

Research paper thumbnail of A framework for on-line adaptive control of problem solving

The design of a problem solver for a particular problem depends on the problem type, the system r... more The design of a problem solver for a particular problem depends on the problem type, the system resources, and the application requirements, as well as the specific problem instance. The difficulty in matching a solver to a problem can be ameliorated through the use of online adaptive control of solving. In this approach, the solver or problem representation selection and parameters are defined appropriately to the problem structure, environment models, and dynamic performance information, and the rules or model underlying this decision are adapted dynamically. This paper presents a general framework for the adaptive control of solving and discusses the relationship of this framework both to adaptive techniques in control theory and to the existing adaptive solving literature. Experimental examples are presented to illustrate the possible uses of solver control.

Research paper thumbnail of Effective Redundant Constraints for Online Scheduling

The use of heuristics as a means to improve constraint solver performance has been researched wid... more The use of heuristics as a means to improve constraint solver performance has been researched widely. However, most work has been on problem-independent heuristics (e.g., vari- able and value ordering), and has focused on offline prob- lems (e.g., one-shot constraint satisfaction). In this pap er, we present an online scheduling problem for which we are developing a real-time scheduling algorithm. While we can and do use generic heuristics in the scheduler, here we fo- cus on the use of domain-specific redundant constraints to ef- fectively approximate optimal offline solutions. We presen t a taxonomy of redundant domain constraints, and examine their impact on the effectiveness of the scheduler. We also describe several techniques for generating redundant con- straints, which can be applied to a large class of job shop scheduling problems.

Research paper thumbnail of Software Development Based on Executable Specifications and Transformations

external representations of specifications are mapped to the internal representation and only now... more external representations of specifications are mapped to the internal representation and only now have to spell out details that were implicit before. On the other side, components can hide implementation details, thus facilitating portability. . Components of the repository can provide default behaviour which allows us, for example, the execution of skeletal or partially incomplete specifications. . Finally, sets of interconnected components of the repository can built a framework for a problem domain, they can be considered as a theory for this domain. The common internal representation of specifications and the repository have been presented as two separate items. This need not be the case. In fact, we will introduce specification frameworks that play both roles. 4 A First Prototype: The Explore Method 4.1 Overview A first prototypical attempt to design a software development method fulfilling our requirements is restricted to executable specifications. The method, Explore, pr...

Research paper thumbnail of Transformational Development of Logic Programs from Executable Specifications

In our method -that we call Visual and Textual Composition of Logic Programs -we have enhanced th... more In our method -that we call Visual and Textual Composition of Logic Programs -we have enhanced the schema-based construction of logic programs in two ways intended to bridge the conceptual gap between application domains and the programming domain. First, we define visual and textual views of programs that can be used to construct programs in application-specific concepts, and which can be understood as executable specifications of the programs being constructed. Second, in addition to schemata for Prolog programming constructs and techniques we introduce a repository of application-specific components. As a further enhancement of the method we have added schema-based transformations to increase the efficiency of the constructed programs. We have implemented both a program development system and a transformation system, and used these systems to develop programs for non-trivial applications like the well-known library data base problem and an automated teller machine.

Research paper thumbnail of Debugging Constraint Programs: The Abstraction Mismatch

Research paper thumbnail of Towards declarative debugging of concurrent constraint programs

Lecture Notes in Computer Science, 1993

ABSTRACT

Research paper thumbnail of Predictable Motion of Hyper-redundant Manipulators Using Constrained Optimization Control

Hyper-redundant robotic manipulators are robots that have many more degrees of freedom than requi... more Hyper-redundant robotic manipulators are robots that have many more degrees of freedom than required for a typical task such as grasping an object in 3D space. The large number of joints, which may range from dozens to thousands, offers both opportunities and challenges for the control of such robots. An opportunity is to use the extra degrees of freedom to optimally control multiple objectives. A challenge is to deliver predictable behavior despite the large number of possible configurations. In this paper, we propose to use a control approach based on constrained optimization. We discuss a representative example for an under-constrained task and suggest and analyze possible solutions that ensure predictable behavior.

Research paper thumbnail of Constraint-based scheduling

Proceedings of the 2001 American Control Conference. (Cat. No.01CH37148), 2001

Constraint-based scheduling has become the dominant form of modeling and solving scheduling probl... more Constraint-based scheduling has become the dominant form of modeling and solving scheduling problems. Recently, due to ever more powerful embedded processors, it has become possible to embed and run constraint-based schedulers on-line even for fast processes such as product assembly sequencing. This makes constraint-based scheduling interesting to the control community as a new tool for system control, distributed and reconfigurable control, and the integration of various planning, scheduling, and control tasks. This tutorial gives a brief introduction to constraint-based scheduling, generic constraint programming techniques for modeling and solving scheduling problems, and a concrete real-time application example. *

Research paper thumbnail of Force allocation in a large-scale distributed active surface

IEEE Transactions on Control Systems Technology, 2003

This paper investigates the problem of closed-loop control of a small number of parameters by all... more This paper investigates the problem of closed-loop control of a small number of parameters by allocating actuation in a system with many binary degrees of freedom, using an actual large-scale air-jet table as an example. In this system, the desired force and torque are produced by a large number of spatially distributed binary air jets directing individual forces on an object. Various algorithms for solving the force allocation problem-determining the appropriate valve states in this hyper-redundant system-are investigated. The algorithms range from discrete optimal search to continuous constrained optimization to a hybrid hierarchical approach that can be distributed. The latter consists of using the continuous optimal solutions to recursively break the large optimization problems into smaller problems that can be solved using optimal search methods or precomputed lookup tables. A tradeoff between computation time and allocation error was found. The optimal algorithms yield low errors but the time is exponential in the number of actuators, while the continuous solutions execute quickly but yield larger errors. The hybrid hierarchical optimal algorithms give the best compromise between these conflicting goals, and their applicability spans the full range of degrees of freedom from a few to many thousands. These hierarchical algorithms are useful in many such highly redundant systems.

Research paper thumbnail of Control-based programming of electro-mechanical controllers

Research paper thumbnail of Search-based adaptive routing strategies for sensor networks

Real-time or agent-centered search has been an active research area in AI for the past decade. Th... more Real-time or agent-centered search has been an active research area in AI for the past decade. These techniques have been applied to many applications including planning in robotic systems and routing in communication networks. Sensor networks are distinguished from traditional networks by characteristics such as deeply embedded routers, highly dynamic networks, resourceconstrained nodes, and unreliable and asymmetric links. In this paper, we explore the space of search-based techniques for sensor networks, including piggybacked heuristics, heuristic estimation, promiscuous learning, indirect confirmation, and forward propagation. Performance evaluations for these techniques on real application scenarios are conducted on a routing simulator for sensor networks.

Research paper thumbnail of Design optimization with uncertain application knowledge

Research paper thumbnail of Online Scheduling for Reprographic Machines

Research paper thumbnail of Model-Based Computing for Design and Control of Reconfigurable Systems

Ai Magazine, 2004

Complex electro-mechanical products, such as high-end printers and photocopiers, are designed as ... more Complex electro-mechanical products, such as high-end printers and photocopiers, are designed as families, with reusable modules put together in different manufacturable configurations, and the ability to add new modules in the field. The modules are controlled locally by software that must take into account the entire configuration. This poses two problems for the manufacturer. The first is how to make

Research paper thumbnail of On-line Planning and Scheduling in a High-speed Manufacturing Domain

We describe a simple manufacturing domain that requires in- tegrated planning and scheduling and ... more We describe a simple manufacturing domain that requires in- tegrated planning and scheduling and report on our experi- ence adapting existing techniques to this domain. The set- ting is on-line in the sense that additional jobs arrive asyn- chronously, perhaps several per second, while plans for previ- ous jobs are being executed. While challenging, the domain is also forgiving: feasible

Research paper thumbnail of Handling ambiguity in constraint-based recognition of stick figure sketches

Document Recognition and Retrieval, 2002

Even seemingly simple drawings, diagrams, and sketches are hard for computer programs to interpre... more Even seemingly simple drawings, diagrams, and sketches are hard for computer programs to interpret, because these inputs can be highly variable in several respects. This variability corrupts the expected mapping between a prior model of a configuration and an instance of it in the scene. We propose a scheme for representing ambiguity explicitly, within a subgraph matching framework, that limits

Research paper thumbnail of Optimal Incremental and Anytime Scheduling

We discuss the use of constraint programming for a class of reactive applications that concurrent... more We discuss the use of constraint programming for a class of reactive applications that concurrently monitor and control their environment. Programsdealing with such problems have to be incremental and anytime, inthe sense that sensor information is accumulated incrementally and controldecisions have to be made on request while the program is running.We present as a real-life example the scheduling of networked

Research paper thumbnail of Interpreting Sloppy Stick Figures by Graph Rectification and Constraint-Based Matching

Lecture Notes in Computer Science, 2002

Machine systems for understanding hand-drawn sketches and diagrams must reliably interpret curvil... more Machine systems for understanding hand-drawn sketches and diagrams must reliably interpret curvilinear configurations that are sloppily drawn and highly variable in form. We propose a two-stage subgraph matching framework for sketch recognition that can accommodate great variability in form and yet provide efficient matching and easy extensibility to new configurations. First, a rectification stage corrects the initial data graph for the common deviations of each kind of constituent local configuration from its ideal form.

Research paper thumbnail of Interpreting Sloppy Stick Figures with Constraint-Based Subgraph Matching

Lecture Notes in Computer Science, 2001

Machine systems for understanding hand-drawn sketches must reliably interpret common but sloppy c... more Machine systems for understanding hand-drawn sketches must reliably interpret common but sloppy curvilinear configurations. The task is commonly expressed as finding an image model in the image data, but few approaches exist for recognizing drawings with missing model parts and noisy data. In this paper, we propose a two-stage structural modeling approach that combines computer vision techniques with constraint-based recognition. The first stage produces a data graph through standard image analysis techniques augmented by rectification operations that account for common forms of drawing variability and noise. The second stage combines CLP(FD) with concurrent constraint programming for efficient and optimal matching of attributed model and data graphs. This approach offers considerable ease in stating model constraints and objectives, and also leads to an efficient algorithm that scales well with increasing image complexity.

Research paper thumbnail of Coordinated Control for Highly Reconfigurable Systems

Lecture Notes in Computer Science, 2005

The remarkable drop in the cost of embedded computing, sensing, and actuation is creating an expl... more The remarkable drop in the cost of embedded computing, sensing, and actuation is creating an explosion in applications for embedded software. As manufacturers make use of these technologies, they attempt to reduce complexity and contain cost by modularizing their systems and building reconfigurable products from simpler but smarter components. Of particular interest have recently been highly reconfigurable systems, i.e., systems that can be customized, repaired, and upgraded at a fine level of granularity throughout their lifetime. High reconfigurability is putting new demands on the software that is dynamically calibrating, controlling, and coordinating the operations of the system’s modules. There is much promise in existing software approaches, in particular in model-based approaches; however, current techniques face a number of new challenges before they can be embedded in the kind of real-time, distributed, and dynamic environment found in highly reconfigurable systems. Here, we discuss challenges, solutions, and lessons learned in the context of a long-term project at PARC to bring such techniques to a highly reconfigurable paper path system.

Research paper thumbnail of A framework for on-line adaptive control of problem solving

The design of a problem solver for a particular problem depends on the problem type, the system r... more The design of a problem solver for a particular problem depends on the problem type, the system resources, and the application requirements, as well as the specific problem instance. The difficulty in matching a solver to a problem can be ameliorated through the use of online adaptive control of solving. In this approach, the solver or problem representation selection and parameters are defined appropriately to the problem structure, environment models, and dynamic performance information, and the rules or model underlying this decision are adapted dynamically. This paper presents a general framework for the adaptive control of solving and discusses the relationship of this framework both to adaptive techniques in control theory and to the existing adaptive solving literature. Experimental examples are presented to illustrate the possible uses of solver control.

Research paper thumbnail of Effective Redundant Constraints for Online Scheduling

The use of heuristics as a means to improve constraint solver performance has been researched wid... more The use of heuristics as a means to improve constraint solver performance has been researched widely. However, most work has been on problem-independent heuristics (e.g., vari- able and value ordering), and has focused on offline prob- lems (e.g., one-shot constraint satisfaction). In this pap er, we present an online scheduling problem for which we are developing a real-time scheduling algorithm. While we can and do use generic heuristics in the scheduler, here we fo- cus on the use of domain-specific redundant constraints to ef- fectively approximate optimal offline solutions. We presen t a taxonomy of redundant domain constraints, and examine their impact on the effectiveness of the scheduler. We also describe several techniques for generating redundant con- straints, which can be applied to a large class of job shop scheduling problems.

Research paper thumbnail of Software Development Based on Executable Specifications and Transformations

external representations of specifications are mapped to the internal representation and only now... more external representations of specifications are mapped to the internal representation and only now have to spell out details that were implicit before. On the other side, components can hide implementation details, thus facilitating portability. . Components of the repository can provide default behaviour which allows us, for example, the execution of skeletal or partially incomplete specifications. . Finally, sets of interconnected components of the repository can built a framework for a problem domain, they can be considered as a theory for this domain. The common internal representation of specifications and the repository have been presented as two separate items. This need not be the case. In fact, we will introduce specification frameworks that play both roles. 4 A First Prototype: The Explore Method 4.1 Overview A first prototypical attempt to design a software development method fulfilling our requirements is restricted to executable specifications. The method, Explore, pr...