Mathematical Frameworks for Component Software: Models for Analysis and Synthesis