11,416 research outputs found
Towards a Unified Framework for Declarative Structured Communications
We present a unified framework for the declarative analysis of structured
communications. By relying on a (timed) concurrent constraint programming
language, we show that in addition to the usual operational techniques from
process calculi, the analysis of structured communications can elegantly
exploit logic-based reasoning techniques. We introduce a declarative
interpretation of the language for structured communications proposed by Honda,
Vasconcelos, and Kubo. Distinguishing features of our approach are: the
possibility of including partial information (constraints) in the session
model; the use of explicit time for reasoning about session duration and
expiration; a tight correspondence with logic, which formally relates session
execution and linear-time temporal logic formulas
Concurrency Annotations and Reusability
Widespread acceptance of concurrent object-oriented programming in the field
can only be expected if smooth integration with sequential programming is
achieved. This means that a common language base has to be used, where the
concurrent syntax differs as little as possible from the sequential one but is
associated with a "natural" concurrent semantics that makes library support
for concurrency superfluous. In addition, not only should sequential classes
be reusable in a concurrent context, but concurrent classes should also be
reusable in a sequential context. It is suggested that concurrency annotations
be inserted into otherwise sequential code. They are ignored by a sequential
compiler, but a compiler for the extended concurrent language will recognize
them and generate the appropriate concurrent code. The concurrent version of
the language supports active and concurrent objects and favours a declarative
approach to synchronization and locking which solves typical concurrency
problems in an easier and more readable way than previous approaches.
Concurrency annotations are introduced using Eiffel as the sequential base
An Integrated Development Environment for Declarative Multi-Paradigm Programming
In this paper we present CIDER (Curry Integrated Development EnviRonment), an
analysis and programming environment for the declarative multi-paradigm
language Curry. CIDER is a graphical environment to support the development of
Curry programs by providing integrated tools for the analysis and visualization
of programs. CIDER is completely implemented in Curry using libraries for GUI
programming (based on Tcl/Tk) and meta-programming. An important aspect of our
environment is the possible adaptation of the development environment to other
declarative source languages (e.g., Prolog or Haskell) and the extensibility
w.r.t. new analysis methods. To support the latter feature, the lazy evaluation
strategy of the underlying implementation language Curry becomes quite useful.Comment: In A. Kusalik (ed), proceedings of the Eleventh International
Workshop on Logic Programming Environments (WLPE'01), December 1, 2001,
Paphos, Cyprus. cs.PL/011104
- …