keywords Computer Science Computer Science, Information Systems Computer Science, Software Engineering Science & Technology Technology category theory component interconnection object calculus objects patterns software architectures systematic software reuse