TY - JOUR

T1 - Relation partition algebra : mathematical aspects of uses and part-of relations

AU - Feijs, L.M.G.

AU - van Ommering, R.C.

PY - 1999

Y1 - 1999

N2 - Managing complexity in software engineering involves modularisation, grouping design objects into modules, subsystems, etc. This gives rise to new design objects with new ‘use relations’. The lower-level design objects relate to these in a ‘part-of’ relation. But how do ‘use relations’ at different levels of the ‘part-of hierarchy’ relate? We formalise our knowledge on uses and part-of relations, looking for mathematical laws about relations and partitions. A central role is played by an operator /. For a "uses" relation r on a set of objects X and a partitioning into modules viewed as an equivalence ¿, we form a relation r/¿ on the set X/¿. We adopt an axiomatic point of view and investigate a variety of models, corresponding to different abstraction mechanisms and different ways of relating high- and low-level uses relations.

AB - Managing complexity in software engineering involves modularisation, grouping design objects into modules, subsystems, etc. This gives rise to new design objects with new ‘use relations’. The lower-level design objects relate to these in a ‘part-of’ relation. But how do ‘use relations’ at different levels of the ‘part-of hierarchy’ relate? We formalise our knowledge on uses and part-of relations, looking for mathematical laws about relations and partitions. A central role is played by an operator /. For a "uses" relation r on a set of objects X and a partitioning into modules viewed as an equivalence ¿, we form a relation r/¿ on the set X/¿. We adopt an axiomatic point of view and investigate a variety of models, corresponding to different abstraction mechanisms and different ways of relating high- and low-level uses relations.

U2 - 10.1016/S0167-6423(98)00007-0

DO - 10.1016/S0167-6423(98)00007-0

M3 - Article

SN - 0167-6423

VL - 33

SP - 163

EP - 212

JO - Science of Computer Programming

JF - Science of Computer Programming

IS - 2

ER -