Search:       RSS, Atom

Site navigation:

The CoSi Component Model

Many of the existing component models and frameworks claim to follow fundamental component principles, the black-box nature in particular. A deeper look however reveals surprising problems in the component models built into the mainstream frameworks.

We have therefore created a component model named CoSi (Components Simplified, pronounced in English as the word “cosy”). Its aim is to address the problems uncovered (implementation dependencies due to undeclared services, among others) while keeping the good aspects of current state state of the art models. It supports OSGi-style lightweight components with a rich set of features, and puts a strong emphasis on facilitating component comprehension and application consistency.

Key CoSi characteristics

The ideas that were driving the design of the CoSi component model are:

  • Strong pure black-box. That is, nothing is acccessible from outside a component except what is explicitly declared as such.
  • Complete yet minimal feature specification. The component specification has to contain all basic information about features (existence, name, type), introspection can be used to augment the necessary details.
  • Maximum simplicity in the underlying infrastructure. (That’s where the ``simplified’‘ part of the model’s name comes from.) In practice this means CoSi has no distribution, remoting, security, or dynamic updates, and uses simple runtime framework, preference of text over XML formats.
  • Support weakly typed languages. The Groovy scripting language was chosen for component implementation, for its close ties to Java.

The complete specification of CoSi is in a current technical report. For examples of usage and downloadable version see the project’s Assembla page.

Research results

  • Brada, P. The CoSi Component Model: Reviving the Black-box Nature of Components. Proceedings of the 11th International Symposium on Component Based Software Engineering, Karlsruhe, Germany. Springer Verlag, 2008
  • Brada, P. A Look at Current Component Models from the Black-box Perspective. Proceedings of 35th Euromicro Conference on Software Engineering and Advanced Applications, IEEE Computer Society, 2009