Two Sides of Structuring Multi-Functional Software Systems: Function Hierarchy and Component Architecture | IEEE Conference Publication | IEEE Xplore