Formal Development of Reactive Agent-based Systems Background: Formal Methods and Agent-based Systems