Patterns of Collective Behavior in Ocsid
This chapter presents an abstraction mechanism for collective behavior in reactive distributed systems. The mechanism allows the expression of recurring patterns of object interactions in a parametric form, and the formal verification of temporal safety properties induced by applications of the patterns. The abstraction mechanism is defined and compared to Design patterns, an established software engineering concept. While there are some obvious similarities, because the common theme is abstraction of object interactions, there are important differences as well. The chapter discusses how the emphasis on full formality affects what can be expressed and achieved in terms of patterns of object interactions. The approach is illustrated with the Observer and Memento patterns.