Architectural Patterns for Context-Aware System Abdollah Kiani * , Mohsen Amiri Fakhr, Reza Rezaei Shahid Beheshti University of Iran, Evin, Tehran, Iran. * Corresponding author. Tel.: +9829903222; email: kian960@yahoo.com Manuscript submitted January 11, 2015; accepted July 4, 2015. doi: 10.17706/jsw.10.8.1002-10013 Abstract: Nowadays, context-aware systems are developed by gathering context data and adapting systems behavior accordingly. The purpose of this paper is to examine four architectural pattern context-aware systems in terms of the ability to be implemented. The pattern which can overcome the complexity of these systems and can be more extensible is better to be implemented. This paper is based on a review of Architectural pattern context-aware systems from 2005 to 2009. The patterns include notes on: Example, Problem, Solution, Structure and Benefit. Finally, we will then focus on advantages to be implemented of each pattern. Key words: Architectural patterns, context-aware systems, quality attributes, software architecture. 1. Introduction In these days, the use of mobile devices such as smart phones, notebooks and PDAs are becoming increasingly popular. Weiser was the first one (1991) introduced pervasive as a term to seamless integration of devices into the user’s daily life. Appliances must make the user and his tasks the central focus rather than computing devices [1]. 1.1. Background As new market opportunities, frameworks, Platforms and technologies become available, systems ought to be reformatted to accommodate them, and frequently this follows large-scale and systematic restructuring [2]. By decoupling users from devices, pervasive computing technology always offers computing. If you want to make satisfactory service for the user's application and services, you should know about their context and automatically adjust to their context-awareness [3]. 1.2. Context-Aware System When one system is able to use context information, it has the feature of Context-awareness. If a system can extract, interpret and use context information and adjust its functionality to the current context of use, it is called context-aware. Context-awareness is a primary issue in emerging fields such as ubiquitous and mobile computing. This computing must be realized by those working in a context-aware system, where it is felt that context is a key in their attempts to distribute computer technology into our lives. In the design of context-aware systems, most challenges must be addressed. These systems can be used in different ways; the application of them refers to special needs and conditions such as the location of sensors (local or remote), the numbers of possible users (one user or several), the available resources of the used appliances (high-end-PCs or small mobile devices) or the facility of more extension of the system [1]. Journal of Software 1002 Volume 10, Number 8, August 2015