Skip to Main Content
Real-time process algebra (RTPA) is used to describe design patterns formally and explicitly in order to enhance the understandability of their semantics and to facilitate the development of support tools. Design patterns can be specified formally in RTPA by three parts known as the architecture, static and dynamic behaviors. At the architectural level, components and their relations are described. Then the components are refined further to have their own architecture and behaviors. By using this specification process, a pattern is refined from its conceptual model to detailed architectures and behaviors. The formal description of patterns in RTPA extends the visual and textual representations, and allows developers to comprehend the usage of a pattern and to implement it by any programming language without ambiguity. In this paper, the Observer and Abstract Factory patterns are chosen for our case studies to illustrate the expressive power of RTPA in specifying design patterns. The formal approach shows that architectures, static and dynamic behaviors of software patterns can be rigorously described by RTPA. Relationships between the formal and informal models of design patterns are comparatively analyzed. The method developed in this paper can be applied to the existing and/or future design patterns in software engineering.