Patterns present broad solutions rather than specific results for problem solving. Such generality is required in the complex world of software development, where the notion of model-driven development is integrated with that of patterns to provide a method of communicating shared experience and knowledge. In software engineering, the introduction of patterns was driven by recognition of the need for a higher level of abstraction in object-oriented design. Nevertheless, the concept of pattern is very broad, and almost anything can potentially be a pattern.
According to some researchers, the search for a clear and complete definition of a pattern may very well be an elusive endeavor. The present paper proposes a conceptual representation that aims at capturing real-world structures and processes while serving as a ground fabric for analysis and discovery of recurrent constructs such as patterns. The representation is based essentially on the notion of flow, guaranteeing continuity of visualized descriptions given in typical narratives at the origin of requirements specification in any software system development. Through examples, it is shown that approaching the notion of pattern from this direction is viable.