Towards weaving software architecture models