Modeling the behavior of complex systems that operate in real environments, deal with physical elements, or interact with humans is a challenging task. It involves the explicit representation of aspects of behavioral uncertainty that are inherent in the system, but generally neglected in software models. In this paper, we focus on the explicit representation of the behavior of objects of complex systems, considering their motivations, randomness, and the different types of underlying uncertainty that affect their actions. We show how such uncertain behaviors can be effectively modeled in UML and OCL, and how the specifications produced can be used to simulate and analyze these systems.
- Software models
- uncertain behavior