Forum OpenACS Development: Contracts

Posted by Neophytos Demetriou on
" object is an island. All objects stand in relationship to others on whom they rely for services and control"

-- Beck & Cunningham 1989
I'm so excited, I need to share this with the community. I just found a paper that introduced contracts back in 1990. The paper is "Contracts: Specifying Behavioral Compositions in Object-Oriented Systems" by Helm et al ( This is great -- provides references/context -- for future work on the acs-service-contract package. Here's a quote from that paper:
"... this paper proposes Contracts: a construct for the explicit specification of behavioral compositions. Contracts aim to formalize the collaboration and behavioral relationships between objects, thereby making precise the intuition that no object is an island".

-- Helm et al 1990
2: Response to Contracts (response to 1)
Posted by Roger Williams on
I am nowhere near an expert in such things but, wasn't the contracts idea in that old book from the 80's about the language called Eiffel? I always consider that the first OO book.


3: Response to Contracts (response to 1)
Posted by Michael Feldstein on

Dunno if this is remotely relevant, but since OS X (and OPENSTEP before it) has some notion of "services" built into it, I thought an article explaining how it works in that environment might be useful:

Interestingly, one of the specific services available for OPENSTEP (which I assume could work for OS X as well) is something called "TickleServices." In the words of the article author:

This program allows anyone to turn a TCL script into an OPENSTEP service. The author, Scott Hess, provides quite a few utilities and literally hundreds of example services that you can try out. Anyone who wishes to try out the power of services should try this program out. Developers who want a really easy way to create services should also examine this program, since the documentation is very good.

4: Response to Contracts (response to 1)
Posted by Michael Feldstein on
Here's a more recent article demonstrating how to create
services in OS X:

5: Response to Contracts (response to 1)
Posted by Michael Feldstein on
Here's an interesting article about different levels of tool
integration from IBM's Eclipse project: