Muhammad Aufeef Chauhan
IT University of Copenhagen
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Muhammad Aufeef Chauhan.
conference on decision and control | 2012
Muhammad Aufeef Chauhan; Muhammad Ali Babar
Cloud computing is an active area of research for industry and academia. There are a large number of organizations providing cloud computing infrastructure and services. In order to utilize these infrastructure resources and services, existing applications need to be migrated to clouds. However, a successful migration effort needs well-defined process support. It does not only help to identify and address challenges associated with migration but also provides a strategy to evaluate different platforms in relation to application and domain specific requirements. This paper present a process framework for supporting migration to cloud computing based on our experiences from migrating an Open Source System (OSS), Hackystat, to two different cloud computing platforms. We explained the process by performing a comparative analysis of our efforts to migrate Hackystate to Amazon Web Services and Google App Engine. We also report the potential challenges, suitable solutions, and lesson learned to support the presented process framework. We expect that the reported experiences can serve guidelines for those who intend to migrate software applications to cloud computing.
Proceedings of the WICSA/ECSA 2012 Companion Volume on | 2012
Muhammad Aufeef Chauhan; Muhammad Ali Babar
Cloud computing is being increasingly adopted in various domains for providing on-demand infrastructure and Software as a service (SaaS) by leveraging the utility computing model and virtualization technologies. One of the domains, where cloud computing is expected to gain huge traction is Global Software Development (GSD) that has emerged as a popular software development model. Despite several promised benefits, GSD is characterized by not only technical issues but also the complexities associated with its processes. One of the key challenges of GSD is to provide appropriate tools more efficiently and cost-effectively. Moreover, variations in tools available/used by different GSD team members can also pose challenges. We assert that providing Tools as a Service (TaaS) to GSD teams through a cloud-based infrastructure can be a promising solution to address the tools related challenges in GSD projects. Through an extensive review of the relevant literature on GSD and Cloud Computing, we have identified a set of quality attributes and potential architectural solutions for a cloud-based infrastructure that can provide TaaS to GSD teams. This paper outlines the promised benefits of TaaS to GSD teams, describes the expected quality attributes of a cloud-based infrastructure and how these quality attributes can be achieved. We also present a reference architecture for a cloud-based infrastructure to provide TaaS in GSD projects and describe its use with a detailed scenario of GSD projects.
Software - Practice and Experience | 2016
Muhammad Aufeef Chauhan; Muhammad Ali Babar; Boualem Benatallah
The literature on the challenges of and potential solutions to architecting cloud‐based systems is rapidly growing but is scattered. It is important to systematically analyze and synthesize the existing research on architecting cloud‐based software systems in order to build a cohesive body of knowledge of the reported challenges and solutions. We have systematically identified and reviewed 133 papers that report architecture‐related challenges and solutions for cloud‐based software systems. This paper reports the methodological details, findings, and implications of a systematic review that has enabled us to identify 44 unique categories of challenges and associated solutions for architecting cloud‐based software systems. We assert that the identified challenges and solutions classified into the categories form a body of knowledge that can be leveraged for designing or evaluating software architectures for cloud‐based systems. Our key conclusions are that a large number of primary studies focus on middleware services aimed at achieving scalability, performance, response time, and efficient resource optimization. Architecting cloud‐based systems presents unique challenges as the systems to be designed range from pervasive embedded systems and enterprise applications to smart devices with Internet of Things. We also conclude that there is a huge potential of research on architecting cloud‐based systems in areas related to green computing, energy efficient systems, mobile cloud computing, and Internet of Things. Copyright
ieee international conference on services computing | 2015
Muhammad Aufeef Chauhan; Muhammad Ali Babar; Quan Z. Sheng
Software Architecture (SA) plays a critical role in developing and evolving cloud-based applications. We present a Reference Architecture (RA) for designing Cloud-based Tools as a service work SPACE (TSPACE) - a platform for provisioning chain of tools following the Software as a Service (SaaS) model. The TSPACE RA has been designed by leveraging well-known design principles and patterns and has been documented using a view-based approach. The RA has been presented in terms of its context, goals and design elements by describing the requirements, design tactics, and components of the RA. We evaluate the RA in terms of completeness and feasibility. Our proposed RA can provide valuable guidance and insights for designing and implementing concrete software architectures of TSPACE.
Future Generation Computer Systems | 2017
Muhammad Aufeef Chauhan; Muhammad Ali Babar; Quan Z. Sheng
Software Architecture (SA) plays a critical role in designing, developing and evolving cloud-based platforms that can be used to provision different types of services for consumers on demand. In this paper, we present a Reference Architecture (RA) for designing cloud-based Tools as a service SPACE (TSPACE), which can provision a bundled suite of tools following the Software as a Service (SaaS) model. The reference architecture has been designed by leveraging information structuring approaches and by using well-known architecture design principles and patterns. The RA has been documented using view-based approach and has been presented in terms of its context, goals, the RA meta-model, information structuring and relationship models using ontologies and components of the RA. We have demonstrated the feasibility and applicability of the RA with the help of a prototype and have used the prototype to provision software architecting tools. We have also evaluated the RA in terms of effectiveness of the design decisions and the RAs completeness and feasibility using scenario-based architecture evaluation method. The proposed TSPACE RA can provide valuable insights to information structure approaches and guidelines for designing and implementing TSPACE for various domains.
working ieee/ifip conference on software architecture | 2014
Muhammad Aufeef Chauhan; Muhammad Ali Babar
Organizations involve in Global Software Development (GSD) face challenges in terms of having access to appropriate set of tools for performing distributed engineering and development activities, integration between heterogeneous desktop and web-based tools, management of artifacts developed and maintained over distant locations using different kind of tools, traceability among artifacts, and access to artifacts and data of sensitive nature. These challenges pose additional constraints on specific projects and reduce the possibility to carry out their engineering and development in globally distributed environment. In this paper, we argue the need to have a cloud-enabled platform for supporting GSD and propose reference architecture of a cloud based Platform for providing support to provision ecosystem of the Tools as a Service (PTaaS).
Archive | 2017
Muhammad Aufeef Chauhan; Christian W. Probst
Involvement of numerous stakeholders in cloud-based systems’ design and usage with varying degrees of nonfunctional requirements makes Architecturally Significant Requirements (ASRs) identification and management a challenge undertaking. The aim of the research presented in this chapter is to identify different types of design-time and run-time ASRs of the cloud-based systems, provide an ASRs classification scheme and present a framework to manage the requirements’ variability during life cycle of the cloud-based systems. We have used a multifaceted research approach to address the ASRs identification, classification, and change management challenges. We have explored findings from systematic as well as structured reviews of the literature on quality requirements of the cloud-based systems including but not limited to security, availability, scalability, privacy, and multi-tenancy. We have presented a framework for requirements classification and change management focusing on distributed Platform as a Service (PaaS) and Software as a Service (SaaS) systems as well as complex software ecosystems that are built using PaaS and SaaS, such as Tools as a Service (TaaS). We have demonstrated applicability of the framework on a selected set of the requirements for the cloud-based systems. The results of the research presented in this chapter show that key quality requirements of the cloud-based systems, for example, multi-tenancy and security, have a significant impact on how other quality requirements (such as scalability, reliability, and interoperability) are handled in the overall architecture design of a cloud-based system. It is important to distinguish tenant-specific run-time architecturally significant quality requirements and corresponding cloud-based systems’ components so that run-time status of the tenant-specific architecture quality requirements can be monitored and system configurations can be adjusted accordingly. For the systems that can be used by multiple tenants, the requirements change management framework should consider if the addition or modification (triggered by a specific tenant) of a quality requirement can impact quality requirements of other tenants, and whether or not a trade-off point should be introduced in the architecture (corresponding to the requirements). The trade-off point can also be referred as a variability point, that is, a compromise has to be made among the number of quality requirements and only some of the requirements can be satisfied. System analysts and software architects can use the proposed taxonomy and the management framework for identifying relevant quality requirements for multi-tenant cloud-based systems, for analyzing impact of changes in the requirements on the overall system architecture, and for managing variability of the architecturally significant requirements.
product focused software process improvement | 2016
Muhammad Aufeef Chauhan; Muhammad Ali Babar; Christian W. Probst
Software Reference Architecture (SRA), which is a generic architecture solution for a specific type of software systems, provides foundation for the design of concrete architectures in terms of architecture design guidelines and architecture elements. The complexity and size of certain types of software systems need customized and systematic SRA design and evaluation methods. In this paper, we present a software Reference Architecture Design process Framework (RADeF) that can be used for analysis, design and evaluation of the SRA for provisioning of Tools as a Service as part of a cloud-enabled workSPACE (TSPACE). The framework is based on the state of the art results from literature and our experiences with designing software architectures for cloud-based systems. We have applied RADeF SRA design two types of TSPACE: software architecting TSPACE and software implementation TSPACE. The presented framework emphasizes on keeping the conceptual meta-model of the domain under investigation at the core of SRA design strategy and use it as a guiding tool for design, evaluation, implementation and evolution of the SRA. The framework also emphasizes to consider the nature of the tools to be provisioned and underlying cloud platforms to be used while designing SRA. The framework recommends adoption of the multi-faceted approach for evaluation of SRA and quantifiable measurement scheme to evaluate quality of the SRA. We foresee that RADeF can facilitate software architects and researchers during design, application and evaluation of a SRA and its instantiations into concrete software systems.
Managing the Web of Things#R##N#Linking the Real World to the Web | 2017
Muhammad Aufeef Chauhan; Muhammad Ali Babar
Web of Things (WoT) provides abstraction that simplifies the creation of Internet of Things (IoT) systems. IoT systems are designed to support a number of ubiquitous devices and management subsystems. The devices and subsystems can be a part of safety critical operations as well as smart management of multiple actuators that control the smart home devices. The devices and subsystems need to comply to standardized business and quality requirements of a specific IoT domain. Designing subsystems and actuators for the individual devices as independent software can result in lack of standardization, which can negatively impact the overall quality of a WoT system. Standardisation of the IoT applications and subsystems constituting a WoT system can be facilitated by providing a standardisation at the architecture level. As using Reference Architectures (RA) is a well established approach to achieve architectural standardisation, using the RA for designing IoT subsystems and WoT system can facilitate standardisation of the architecture of individual subsystems constituting a WoT system as well as standardisation of the WoT system. The aim of the research presented this chapter is to provide insight to the process of using a RA for analysis, design, evaluation and evolution of the IoT subsystems as well as a WoT system. We present a software process-based approach to use a RA for architecture design of individual IoT subsystems and then use the IoT subsystems for architecture design of a WoT system. We use a case study-based research approach to analyse application of the process for design, evaluation and evolution of the IoT subsystems and the WoT system for smart-homes domain. The applications of the presented approach is analysed with reference to case studies on security and energy management in smart homes. The results of the case studies show that (i) the IoT RA can be used for the initial design to incorporate the standardized business and quality requirements, (ii) the elements of the concrete IoT subsystems architectures can be included in the IoT RA for evolution of the RA with respect to emerging and domain specific requirements, and (iii) open discussion by including architects of all IoT subsystems to determine key business and quality requirements of IoT subsystems can play an important rule in the evaluation of the IoT subsystems as well as evolution of the IoT RA. We foresee that the presented approach can be used for the analysis, design, evaluation and evolution of the IoT subsystems and WoT system even if the detailed architecture design activities of the IoT subsystems are carried out independently.
Proceedings of the WICSA 2014 Companion Volume on | 2014
Muhammad Aufeef Chauhan
Global Software Development (GSD) teams encounter challenges that are associated with distribution of software development activities across multiple geographic regions. The limited support for performing collaborative development and engineering activities and lack of sufficient support for maintaining and resolving dependencies and traceability across heterogeneous tools are major challenges for GSD teams. The lack of insufficient support for cross platform tools integration also makes it hard to address the stated challenges using existing paradigms that are based upon desktop and web-based solutions. The restricted ability of the organizations to have desired alignment of tools with software engineering and development processes results in administrative and managerial overhead that incur increased development cost and poor product quality. Moreover, stakeholders involved in the projects have specific constraints regarding availability and deployments of the tools. The artifacts and data produced or consumed by the tools need to be governed according to the constraints and corresponding quality of service (QoS) parameters. In this paper, we present the research agenda to leverage cloud-computing paradigm for addressing above-mentioned issues by providing a framework to select appropriate tools as well as associated services and reference architecture of the cloud-enabled middleware platform that allows on demand provisioning of software engineering Tools as a Service (TaaS) with focus on integration of tools.