Search:       RSS, Atom

Site navigation:

Analyzing Component Models

There exist dozens of component models with different purposes, features and levels of popularity. Most of them claim to follow fundamental component principles, however it is interesting to look at the real properties these models exhibit. Our current main effort in this abstract area is evaluation of the degree to which components fulfill the black-box property in different models.

The findings presented in the papers below are not overly positive in some cases, and lead us to the definition and implementation of a component model in OSGi style which attempts to be “obsessively pure“ in terms of its preservation of black-box component characteristic.

Research results

  • Brada, P. A Look at Current Component Models from the Black-box Perspective. Proceedings of Euromicro SEAA, Patras, Greece. IEEE Computer Society 2009.
  • Šnajberk, J., Brada, P. ENT: A Generic Meta-Model for the Description of Component-Based Applications. Electronic Notes in Theoretical Computer Science, 2011, 279, pp.59-73

The ENT meta-model

Modeling components is an increasingly important task due to the current interest in model-driven development and server-side component technologies. The ENT meta-model created as our earlier research effort is designed to capture component interfaces in a way that allows their multi-faceted views and analyses.

The model uses a classification of component’s features according to their purpose as perceived by human users. The feature declarations (carrying complete specification data) are consequently grouped by their classification properties in a hierarchy of named sets called traits and categories. This structuring allows us to analyse and/or visualize component interface in the same way as the users do, e.g. by concentrating on functional traits and eliding other kinds of component features.

Metamodel Implementation

Because the ENT meta-model serves as the theoretical base of our research, an implementation of the meta-model was created in a form of Java library. The implementation ENT is written in Java 1.5 and it fully covers the ENT metamodel specification including the generic implementation of subtyping, which is used for component comparison at the meta-model level.