Abstract.Viewing entities from different situations and representing and processing them in different contexts constitutes a fundamental concern in various disciplines of computer science. Not surprisingly, the viewing abstraction is supported by many languages and techniques employed either for programming or "world modelling". This paper presents an overview on various manifestations of viewing mechanisms in formal notations including software development techniques, knowledge representation languages, and data models. The concepts of context and perspective are introduced in form of a language-independent framework in order to capture and systematically discuss features that characterize viewing mechanisms, such as the relationship between the two, the relation between different perspectives on the same conceptual entity, or operations supporting effective construction of contexts. In addition, it is argued that the full power of viewing can be exploited by supporting both notions: contexts as well as perspectives. In order to achieve this support, any formal notation has to fulfill a number of general requirements which are stated as a result of the investigation and the survey.