This is the starting page for documentation about the [Co-op model] and the various [Co-op implementations].
Co-op is a composition technology that aims at improving software development productivity in the following key areas:
- simplifying development – by offering pre-packaged design solutions, both general and domain-specific, that are simple to use, and lead to code reductions.
- improved software structure – by offering many ways to express designs directly in code, in ways that cannot be done in today's programming languages.
- specify, reuse and retain design knowledge – the ability to express design solutions, both simple and advanced, both general and domain-specific, provides an opportunity to retain design knowledge in a way that it is concrete and straightfoward to be reused by others.
In short: Co-op supports the design of potentially advanced software design solutions in the form of concrete, reusable software modules, and a way to apply these solutions in a conventional way, without requiring expert knowledge.
→ Check out this video of a talk that explains the motivations and key ideas behind Co-op: https://vimeo.com/50048636
→ Check also the [Co-op documentation] page
→ Examples from the paper "Reuse of Continuation-based Control-Flow Abstractions" can be found at http://sourceforge.net/projects/co-op/files/examples/cps-examples.zip
Screenshot of Co-op/I active in Eclipse IDE