L-systems are parallel grammars that provide a theoretical foundation for a class of programs used in the simulation of plant development and procedural image synthesis. In particular, the formalism of L-systems guides the construction of declarative languages for specifying input to these programs.
Design, implementation, and evaluation of the constraint language cc(FD)
โ Scribed by Pascal Van Hentenryck; Vijay Saraswat; Yves Deville
- Publisher
- Elsevier Science
- Year
- 1998
- Tongue
- English
- Weight
- 200 KB
- Volume
- 37
- Category
- Article
- ISSN
- 0743-1066
No coin nor oath required. For personal study only.
โฆ Synopsis
This paper describes the design, implementation, and applications of the constraint logic language cc(FD). cc(FD) is a declarative nondeterministic constraint logic language over ยฎnite domains based on the cc framework [33], an extension of the Constraint Logic Programming (CLP) scheme [21]. Its constraint solver includes (nonlinear) arithmetic constraints over natural numbers which are approximated using domain and interval consistency. The main novelty of cc(FD) is the inclusion of a number of general-purpose combinators, in particular cardinality, constructive disjunction, and blocking implication, in conjunction with new constraint operations such as constraint entailment and generalization. These combinators significantly improve the operational expressiveness, extensibility, and ยฏexibility of CLP languages and allow issues such as the deยฎnition of nonprimitive constraints and disjunctions to be tackled at the language level. The implementation of cc(FD) (about 40,000 lines of C) includes a WAM-based engine [44], optimal arc-consistency algorithms based on , and incremental implementation of the combinators. Results on numerous problems, including scheduling, resource allocation, sequencing, packing, and hamiltonian paths are reported and indicate that cc(FD) comes close to procedural languages on a number of combinatorial problems. In addition, a small cc(FD) program was able to ยฎnd the optimal solution and prove optimality to a famous 10/10 disjunctive scheduling problem [29], which was left open for more than 20 years and ยฎnally solved in 1986.
๐ SIMILAR VOLUMES
Most microprocessors today are used in embedded systems and the percentage of microprocessors used for embedded systems is increasing. At the same time development of embedded systems is very resource-consuming among others due to the lack of support for incremental development and for support for d
We propose a combination of partial evaluation and staged interpretation with MetaOCaml for rapid prototyping of domainspecific languages. Interpretation is an easy way to implement such languages. MetaOCaml can eliminate the overhead of interpretation at run-time, if the interpreter is written in a
Many computer applications today require some form of distributed computing to allow different software components to communicate. Several different commercial products now exist based on the Common Object Request Broker Architecture (CORBA) of the Object Management Group. The use of such tools, how
This paper reports the outcome of a project sponsored by the UK Government Training Enterprise and Education Directorate (TEED) to produce CAL material to teach employment-related language to hearing-impaired school leavers. The tutorial content was decided after conducting a survey of teachers of t