Formalising the Environment in MAS Programming: A Formal Model for Artifact-Based Environments