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
fDate :
2/1/2000 12:00:00 AM
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;
Conference_Titel :
Software Maintenance and Reengineering, 2000. Proceedings of the Fourth European
Conference_Location :
Zurich
Print_ISBN :
0-7695-0546-5
DOI :
10.1109/CSMR.2000.827304