• DocumentCode
    1691270
  • Title

    Hiding expressed using relation algebra with multi-relations-oblique lifting and lowering for unbalanced systems

  • Author

    Bril, Reinder J. ; Feijs, Loe M G ; Glas, Andre ; Krikhaar, Rene L. ; Winter, Thijs

  • Author_Institution
    Philips Res. Lab., Eindhoven, Netherlands
  • fYear
    2000
  • fDate
    2/1/2000 12:00:00 AM
  • Firstpage
    33
  • Lastpage
    43
  • 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 advantage 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 hiding 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 weights are described, including the formalization of their related operations, with each weight having its own merits during architectural analysis
  • Keywords
    algebraic specification; data encapsulation; diagrams; program verification; program visualisation; relational algebra; reverse engineering; software architecture; subroutines; architectural analysis; architecture verification; formal specification; mapping; module decomposition structure hiding; module interconnection architecture visualization; module interconnection diagram; module level; multi-relations; multiplicities; oblique lifting; oblique lowering; relational algebra; reverse engineering; software architecture browser; software architecture verification; software visualization; subsystem level; unbalanced systems; weights; Algebra; Computer architecture; Formal specifications; Laboratories; Read only memory; Reverse engineering; Software architecture; Software maintenance; Software systems; Visualization;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance and Reengineering, 2000. Proceedings of the Fourth European
  • Conference_Location
    Zurich
  • Print_ISBN
    0-7695-0546-5
  • Type

    conf

  • DOI
    10.1109/CSMR.2000.827304
  • Filename
    827304