Frequently Asked Questions

About + Contact

What are CoCons?

The basic idea of Context-Based Constraints (CoCons) can be explained in just a few sentences:

  1. We suggest annotating the system artefact elements (such as components) with formatted metadata (or annotations) called "context properties". A context property describes its element's context - it characterizes the situation of its element.
  2. A CoCon is a constraint that expresses a condition on how system elements must (or must not) relate to each other.

A CoCon can select its constrained elements via their context properties: only those elements whose context property values fit the CoConís "context condition" must fulfil the constraint.

Which Requirements?

Up to now, the following cross-cutting requirements have been handled via CoCons:

  • Access Permission CoCons express which components must (or must not) be accessible to which other components.
  • Communication Cocons control wether a method call between components must be (or must not be) handled.
  • Distribution CoCons express which components must (or must not) be allocated to which computers.
  • Information-Need CoCons express which elements must (or must not) be notified of which elements.
  • Inter-Value CoCons express wether elements in a certain context must (or must not) reside in another context.


For instance, we could use context properties to mark each element that handles personal data, and to mark each element that is is used in the "Create Report" workflow. Then, a CoCon could express the privacy policy:

All elements that handle personal data must be inaccessible to those elements that are used in the "Create Report" workflow.

last change: march 10th 2007

HTML maintained by Felix Bübl