Knowledge-based System to Support Architectural Design. Intelligent objects, project net-constraints, collaborative work