Results 1  10
of
57
Compiling Language Definitions: The ASF+SDF Compiler
, 1999
"... The ASF+SDF MetaEnvironment is an interactive language development environment... ..."
Abstract

Cited by 59 (10 self)
 Add to MetaCart
The ASF+SDF MetaEnvironment is an interactive language development environment...
Monadic Constraint Programming
, 2009
"... A constraint programming system combines two essential components: a constraint solver and a search engine. The constraint solver reasons about satisfiability of conjunctions of constraints, and the search engine controls the search for solutions by iteratively exploring a disjunctive search tree de ..."
Abstract

Cited by 27 (14 self)
 Add to MetaCart
(Show Context)
A constraint programming system combines two essential components: a constraint solver and a search engine. The constraint solver reasons about satisfiability of conjunctions of constraints, and the search engine controls the search for solutions by iteratively exploring a disjunctive search tree defined by the constraint program. In this paper we give a monadic definition of constraint programming where the solver is defined as a monad threaded through the monadic search tree. We are then able to define search and search strategies as first class objects that can themselves be built or extended by composable search transformers. Search transformers give a powerful and unifying approach to viewing search in constraint programming, and the resulting constraint programming system is first class and extremely flexible.
Programming Constraint Services
, 2002
"... This thesis presents design, application, implementation, and evaluation of computation spaces as abstractions for programming constraint services at a high level. Spaces are seamlessly integrated into a concurrent programming language and make constraintbased computations compatible with concurrenc ..."
Abstract

Cited by 21 (1 self)
 Add to MetaCart
This thesis presents design, application, implementation, and evaluation of computation spaces as abstractions for programming constraint services at a high level. Spaces are seamlessly integrated into a concurrent programming language and make constraintbased computations compatible with concurrency through encapsulation. Spaces are applied
Jmatch: Iterable abstract pattern matching for java
 In Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
, 2003
"... Abstract. The JMatch language extends Java with iterable abstract pattern matching, pattern matching that is compatible with the data abstraction features of Java and makes iteration abstractions convenient. JMatch has MLstyle deep pattern matching, but patterns can be abstract; they are not tied t ..."
Abstract

Cited by 20 (1 self)
 Add to MetaCart
(Show Context)
Abstract. The JMatch language extends Java with iterable abstract pattern matching, pattern matching that is compatible with the data abstraction features of Java and makes iteration abstractions convenient. JMatch has MLstyle deep pattern matching, but patterns can be abstract; they are not tied to algebraic data constructors. A single JMatch method may be used in several modes; modes may share a single implementation as a boolean formula. Modal abstraction simplifies specification and implementation of abstract data types. This paper describes the JMatch language and its implementation. 1
Search and Strategies in OPL
, 2000
"... OPL is a modeling language for mathematical programming and combinatorial optimization. It is the first language to combine highlevel algebraic and set notations from mathematical modeling languages with a rich constraint language and the ability to specify search procedures and strategies that are ..."
Abstract

Cited by 19 (2 self)
 Add to MetaCart
OPL is a modeling language for mathematical programming and combinatorial optimization. It is the first language to combine highlevel algebraic and set notations from mathematical modeling languages with a rich constraint language and the ability to specify search procedures and strategies that are the essence of constraint programming. This paper describes the facilities available in OPL to specify search procedures. It describes the abstractions of OPL to specify both the search tree (search) and how to explore it (strategies). The paper also illustrates how to use these highlevel constructs to implement traditional search procedures in constraint programming and scheduling.
Local++: A C++ Framework for Local Search Algorithms
 Softw. Pract. Exp
, 1999
"... Local search is an emerging paradigm for combinatorial search which has been recently shown to be very effective for a large number of combinatorial problems. It is based on the idea of navigating the search space by iteratively stepping from one solution to one of its neighbors, which are obtained ..."
Abstract

Cited by 12 (4 self)
 Add to MetaCart
(Show Context)
Local search is an emerging paradigm for combinatorial search which has been recently shown to be very effective for a large number of combinatorial problems. It is based on the idea of navigating the search space by iteratively stepping from one solution to one of its neighbors, which are obtained by applying a simple local change to it. In this paper we present Local++, an objectoriented framework to be used as a general tool for the development and the implementation of local search algorithms in C++. The framework comprises a hierarchy of abstract template classes, one for each local search technique taken into account (i.e., hillclimbing, simulated annealing, and tabu search). Each class specifies and implements the invariant part of the algorithm built according to the technique, and is supposed to be specialized by a concrete class once a given search problem is considered, so as to implement the problemdependent part of the algorithm. Local++ comprises also a se...
GUSTT: An Amorphous Slicing System which Combines Slicing and Transformation
 In 1 st Workshop on Analysis, Slicing, and Transformation (AST 2001
, 2001
"... This paper presents a system for amorphous program slicing which combines slicing and transformation to achieve thinner slices than are possible using conventional syntaxpreserving slicing. The approach involves the validation of the transformation and slicing steps using the Coq proof assistant, t ..."
Abstract

Cited by 12 (9 self)
 Add to MetaCart
(Show Context)
This paper presents a system for amorphous program slicing which combines slicing and transformation to achieve thinner slices than are possible using conventional syntaxpreserving slicing. The approach involves the validation of the transformation and slicing steps using the Coq proof assistant, thereby guaranteeing the correctness of the amorphous slices produced. The combined application of slicing and transformation is illustrated with a simple case study.
Towards Relational Modelling of Combinatorial Optimisation Problems
 In Proceedings of IJCAI2001 Workshop on Modelling and Solving Problems with Constraints. International Joint Conference on Artificial Intelligence
, 2001
"... A highlevel abstractdatatypebased constraint modelling language opens the door to an automatable empirical determination  by a compiler  of how to `best' represent the variables of a combinatorial optimisation problem, based on (reallife) training instances of the problem. In the ..."
Abstract

Cited by 10 (4 self)
 Add to MetaCart
(Show Context)
A highlevel abstractdatatypebased constraint modelling language opens the door to an automatable empirical determination  by a compiler  of how to `best' represent the variables of a combinatorial optimisation problem, based on (reallife) training instances of the problem. In the extreme case where no such training instances are provided, such a compiler would simply be nondeterministic. A firstorder relational calculus with sets is a good candidate for such a language, as it gives rise to very natural and easytomaintain models of combinatorial optimisation problems. 1
A survey on reactive programming
 ACM Computing Surveys
, 2012
"... Reactive programming has recently gained popularity as a paradigm that is wellsuited for developing eventdriven and interactive applications. It facilitates the development of such applications by providing abstractions to express timevarying values and automatically managing dependencies between ..."
Abstract

Cited by 10 (2 self)
 Add to MetaCart
Reactive programming has recently gained popularity as a paradigm that is wellsuited for developing eventdriven and interactive applications. It facilitates the development of such applications by providing abstractions to express timevarying values and automatically managing dependencies between such values. A number of approaches have been recently proposed embedded in various languages such as Haskell, Scheme, JavaScript, Java,.NET, etc. This survey describes and provides a taxonomy of existing reactive programming approaches along six axes: representation of timevarying values, evaluation model, lifting operations, multidirectionality, glitch avoidance, and support for distribution. From this taxonomy, we observe that there are still open challenges in the field of reactive programming. For instance, multidirectionality is supported only by a small number of languages, which do not automatically track dependencies between timevarying values. Similarly, glitch avoidance, which is subtle in reactive programs, cannot be ensured in distributed reactive programs using the current techniques.
OPL++: A Modeling Layer for Constraint Programming Libraries
 INFORMS JOURNAL ON COMPUTING
, 2001
"... Mathematical modeling and constraint programming languages have orthogonal strengths in stating combinatorial optimization problems. Modeling languages typically feature highlevel set and algebraic notations, while constraint programming languages provide a rich constraint language and the abili ..."
Abstract

Cited by 9 (2 self)
 Add to MetaCart
Mathematical modeling and constraint programming languages have orthogonal strengths in stating combinatorial optimization problems. Modeling languages typically feature highlevel set and algebraic notations, while constraint programming languages provide a rich constraint language and the ability to specify search procedures. This paper shows that many of the functionalities typically found in modeling languages can be integrated elegantly in constraint programming libraries without dening a specic language or preprocessor. In particular, it presents the design of OPL++, a C++ modeling layer for constraint programming that combines the salient features of both approaches. Of particular interest is the onetoone correspondance between highlevel models and OPL++ statements and the negligible overhead induced by the extensions.