Hiding Expressed Using Relation Algebra with Multi-Relations Oblique Lifting and Lowering for Unbalanced Systems

  • Authors:
  • Reinder J. Bril;Loe M. G. Feijs;André Glas;René L. Krikhaar;Thijs Winter

  • Affiliations:
  • -;-;-;-;-

  • Venue:
  • CSMR '00 Proceedings of the Conference on Software Maintenance and Reengineering
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

The analysis of existing software architectures may be supported by a relational approach. The approach is based on relational algebra with multi-relations extended with a theory about "lifting". Lifting transforms a relation at a certain level of the decomposition structure of a system (e.g. the module level) to a higher level (e.g. the subsystem level). The application of lifting has been reported for various industrial contexts for balanced systems (i.e. systems where the decomposition structure is a balanced tree). This paper reports upon a more liberal kind of lifting termed "oblique lifting", which has the important advantageous that it can also be used for unbalanced systems. Lowering, the opposite of lifting, can be liberalized in a similar fashion. The use of oblique lowering is illustrated by means of a typical example from the field of software architecture verification.The leading example of this paper uses the relational approach as a formal basis for a software architecture browser visualizing the module interconnection architecture of a software system. Oblique lifting is applied to hide the decomposition structure of a module in a module interconnection diagram by choosing an appropriate mapping. After the hiding, various kinds of weights (or multiplicities) may be associated with the interconnections in the resulting diagram. Four definitions of weight are described, including the formalization of their related operations, with each weight having its own merits during architectural analysis.