Forum OpenACS Development: Contracts
"...no object is an island. All objects stand in relationship to others on whom they rely for services and control"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 (http://www.cs.rice.edu/~robby/contract-reading-list/ec900169.pdf). This is great -- provides references/context -- for future work on the acs-service-contract package. Here's a quote from that paper:
-- Beck & Cunningham 1989
"... 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
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.
services in OS X:
integration from IBM's Eclipse project: