The Role of Formal Methods in Modeling and Simulating Today's Distributed Software Systems