[Jot-newsletter] [JOT] JOT Subscriber Newsletter Volume 13, no. 4 (September 2014)

JOT Editor editor at jot.fm
Tue Sep 2 18:38:47 CEST 2014


For Volume 13, no. 4 (September 2014)

I. Letter from the JOT Editor

Dear Readers,

Welcome to the latest issue!

Laurence Tratt
Editor-in-Chief, Journal of Object Technology
editor at jot.fm -- http://www.jot.fm

II. Content


The Common Good
By Laurence Tratt

  All JOT papers from this issue will be licensed under a Creative Commons
  license, giving authors greater freedom with their work.



Specifying and Solving Constraints on Object Behavior.
By Tim Felgentreff, Alan Borning, Robert Hirschfeld

  Constraints allow developers to specify desired properties of
  systems in a number of domains, and have those properties be
  maintained automatically.  This results in compact, declarative
  code, avoiding scattered code to check and imperatively re-satisfy
  invariants.  Despite these advantages, constraint programming is not
  yet widespread, with imperative programming still the norm.

  There is a long history of research on integrating
  constraint programming with the imperative
  paradigm. However, this integration typically does not unify the
  constructs for encapsulation and abstraction from both
  paradigms. This impedes re-use of modules, as client code written in
  one paradigm can only use modules written to support that
  paradigm. Modules require redundant definitions if they are to be
  used in both paradigms.

  We present a language -- Babelsberg -- that unifies the constructs
  for encapsulation and abstraction
  by using only object-oriented method definitions
  for both declarative and imperative code. Our prototype --
  Babelsberg/R -- is an extension to Ruby, and continues to support
  Ruby's object-oriented semantics.  It allows
  programmers to add constraints to existing Ruby programs in
  incremental steps by placing them on the results of normal
  object-oriented message sends.  It is implemented by modifying
  a state-of-the-art Ruby virtual machine.  The performance of 
  Ruby code without constraints is only modestly impacted,
  with typically less than 10% overhead compared with the unmodified
  virtual machine. Furthermore, our architecture for adding multiple
  constraint solvers allows Babelsberg to deal with constraints in a
  variety of domains.

  We argue that our approach provides a useful step toward making
  constraint solving a useful tool for object-oriented programmers.
  We also provide example applications, written in our Ruby-based
  implementation, which use constraints in a variety of application
  domains, including interactive graphics, circuit simulations, data
  streaming with both hard and soft constraints on performance, and
  configuration file management.


III. About JOT

The Journal of Object Technology (JOT) is a peer-reviewed, open-access
journal dedicated to the timely publication of previously unpublished
research articles, surveys, tutorials, and technical notes on all aspects of
object technology.

JOT is available online at http://www.jot.fm and is free to both readers and
authors, with no registration required.

The JOT newsletter is sent with the publication of selected JOT issues and is
available by subscription to the JOT reader and author community. The
subscription form may be found on the JOT Web site. Subscribing requires no
personal information or fee, only your email address. We use such addresses
for the sole purpose of distributing the JOT newsletter and do not
communicate them to third parties.
You are receiving this newsletter because you have subscribed to
	jot-newsletter at jot.fm
To unsubscribe, please use the mailman interface:

More information about the jot-newsletter mailing list