Multiparadigm languages are languages that are designed to support more than
one style of programming. Leda is a strongly-typed multiparadigm programming
language that supports imperative, functional, object-oriented, and logic programming.
The constraint programming paradigm is a declarative style of programming
where the programmer is able to state relationships among some entities and expect
the system to maintain the validity of these relationships throughout program execution.
The system accomplishes this either by invoking user-defined fixes that impose
rigid rules governing the evolution of the entities, or by finding suitable values to
be assigned to the constrained entities without violating any active constraint. Constraints,
due to their declarative semantics, are suitable for the direct mapping of the
characteristics of a number of mechanisms including: consistency checks, constraint-directed
search, and constraint-enforced reevaluation, among others. This makes
constraint languages the most appropriate languages for the implementation of a
large number of applications such as scheduling, planning, resource allocation, simulation,
and graphical user interfaces.
The semantics of constraints cannot be easily emulated by other constructs
in the paradigms that are offered by the language Leda. However, the constraint
paradigm does not provide any general control constructs. The lack of general control
constructs impedes this paradigm's ability to naturally express a large number
of problems. This dissertation presents the language Electra, which integrates the
constraint paradigm into the language Leda by creating a unified construct that
provides the ability to express the conventional semantics of constraints with some
extensions. Due to the flexibility of this construct, the programmer is given the
choice of either stating how a constraint is to be satisfied or delegating that task to
the constraint-satisfier. The concept of providing the programmer with the ability to
express system-maintained relations, which is the basic characteristic of constraints,
provided a motivation for enhancing other paradigms with similar abilities. The
functional paradigm is extended by adding to it the mechanism of condition-based
dispatching which is similar to argument pattern-matching. The object-oriented
paradigm is extended by allowing feature exclusion which is a form of inheritance
exception. This dissertation claims that the integration provided by the language
Electra will enable Leda programmers to reap the benefits of the paradigm of constraints
while overcoming its limitations. / Graduation date: 1995
Identifer | oai:union.ndltd.org:ORGSU/oai:ir.library.oregonstate.edu:1957/35012 |
Date | 06 December 1994 |
Creators | Zamel, Nabil M. |
Contributors | Budd, Timothy A. |
Source Sets | Oregon State University |
Language | en_US |
Detected Language | English |
Type | Thesis/Dissertation |
Page generated in 0.0019 seconds