{'fraction_non_alphanumeric': 0.018664047151277015, 'fraction_numerical': 0.0, 'mean_word_length': 5.251533742331288, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Modeling Context with an Architecture Viewpoint

The context of a software system comprises the knowledge that architects need to have about the environment in which a system is expected to operate. Contextual knowledge, however, is often unknown or overlooked. This results in software architects designing systems based on assumptions that are largely unfounded and can potentially lead to system failures. To address this problem, this paper presents a Context Description Viewpoint that captures context in software architecture. The viewpoint is based on the results of a literature review that analyzed the state-of-the-art in context, its elements, and modeling techniques. We evaluated and revised the viewpoint by using two case studies based on real-world projects. The case studies showed that the viewpoint is expressive enough to capture context. For software architects it represents a reusable work product to design software systems and to help them identify, capture, and analyze contextual knowledge.