Communication and interaction protocols for multi-agent systems in a framework based on C# and the Common Language Infrastructure