Aufeef Chauhan - Academia.edu (original) (raw)

Papers by Aufeef Chauhan

Research paper thumbnail of A Software Reference Architecture for Security Data Orchestration, Analysis and Reporting

A Software Reference Architecture (SRA) is a useful tool for standardising existing architectures... more A Software Reference Architecture (SRA) is a useful tool for standardising existing architectures in a specific domain and facilitating concrete architecture design, development and evaluation by instantiating SRA and using SRA as a benchmark for the development of new systems. In this paper, we have presented an SRA for Security Data Orchestration, Analysis and Reporting (SecDOAR) to provide standardisation of security data platforms that can facilitate the integration of security orchestration, analysis and reporting tools for security data. The SecDOAR SRA has been designed by leveraging existing scientific literature and security data standards. We have documented SecDOAR SRA in terms of design methodology, meta-models to relate to different concepts in the security data architecture, and details on different elements and components of the SRA. We have evaluated SecDOAR SRA for its effectiveness and completeness by comparing it with existing commercial solutions. We have demonstrated the feasibility of the proposed SecDOAR SRA by instantiating it as a prototype platform to support security orchestration, analysis and reporting for a selected set of tools. The proposed SecDOAR SRA consists of meta-models for security data, security events and security data management processes as well as security metrics and corresponding measurement schemes, a security data integration model, and a description of SecDOAR SRA components. The proposed SecDOAR SRA can be used by researchers and practitioners as a structured approach for designing and implementing cybersecurity monitoring, analysis and reporting systems in various domains.

Research paper thumbnail of KRIOTA: A framework for Knowledge-management of dynamic Reference Information and Optimal Task Assignment in hybrid edge-cloud environments to support situation-aware robot-assisted operations

Elsevier, 2024

Enabling an autonomous robotic system (ARS) to be aware of its operating environment can equip th... more Enabling an autonomous robotic system (ARS) to be aware of its operating environment can equip the system to deal with unknown and uncertain situations. While several conceptual models have been proposed to establish the fundamental concepts of situational awareness, it remains a challenge to make an ARS situation aware, in particular using a combination of low-cost resource-constraint robots at the tactical edge and powerful remote cloud nodes. This paper proposes a dynamic reference information (DRI) based knowledge management and optimal task assignment framework that manages knowledge extracted from DRI to assess the current situation as per given mission objectives and assigns tasks to di↵erent computing nodes, which include a combination of edge robots, edge computing nodes and cloud-hosted services. The proposed framework is referred to as KRIOTA. The framework has been designed using an architecture-centric approach. We have designed ontologies to classify and structure di↵erent elements of DRI hierarchically and associate the processing components of an ARS with the DRI. We have devised algorithms for the ARS to optimally assign tasks to relevant processing components on robots, edge computing nodes and cloud-hosted services for adaptive behaviour. We have evaluated the framework by demonstrating its implementation in a testbed named RoboPatrol. We have also demonstrated the performance, e↵ectiveness and feasibility of the KRIOTA framework.

Research paper thumbnail of Chauhan M.A., Babar M.A., Grainger S., Designing a Security Platform for Collaborating Autonomous Systems -An Experience Report, ICSA 2021 Conference, March 22 - 26, 2021, Stuttgart, Germany.

ICSA 2021, 2021

Collaborative autonomous systems operating at edges, e.g., TurtleBots, need adaptive security mec... more Collaborative autonomous systems operating at edges, e.g., TurtleBots, need adaptive security mechanisms (i.e., Confidentiality, Integrity, Availability) that meet the changing mission requirements and the available processing capacities. We have designed and implemented a security platform that supports secure communication among autonomous systems of robots (e.g., TurtleBots), security of Robot Operating System (ROS) communication network, the integrity of the information exchanged among the robots and secured availability of the data and access to services. For designing the security platform, we have used architecture and design patterns along with the respective security protocols. Our solution provides seamless security incorporation in heterogeneous collaborative autonomous entities. We have leveraged architectural strategies to incorporate public-key encryption, maintain global order of events and incorporate fault tolerance. We assert that the presented security platform can facilitate easy adoption of secure control, communication and information gathering in collaborative autonomous systems with resource constraint edge nodes.

Research paper thumbnail of Chauhan M.A., Babar M.A., Sheng Q.Z., "A Reference Architecture for Provisioning of Tools as a Service: Meta-Model, Ontologies and Design Elements", Future Generation Computer Systems, Elsevier Journal, 2017.

Software Architecture (SA) plays a critical role in designing, developing and evolving cloud-base... more 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 to consumers on demand. In this paper, we present a Reference Architecture (RA) for designing cloud-based Tools as a service SPACE (TSPACE) for provisioning a bundled suite of tools by 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 tools for software architecting. We have also evaluated the RA in terms of effectiveness of the design decisions and the RA's 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.

Research paper thumbnail of Chauhan M.A.,  Babar M.A., Probst C.W., "A Process Framework for Designing Software Reference Architectures for providing Tools as a Service", PROFES 2016 Conference, 22-24 November, 2016, Trondheim, Norway.

Software Reference Architecture (SRA), which is a generic architecture solution for a specific ty... more 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 work-SPACE (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 provi-sioned 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.

Research paper thumbnail of Chauhan M.A., Babar M.A., Benatallah B., "Architecting Cloud-Enabled Systems: A Systematic Survey of Challenges and Solutions", Software: Practice and Experience, Wiley Journal, 2016.

Architecting Cloud-Enabled Systems: A Systematic Survey of Challenges and Solutions, May 13, 2016

The literature on the challenges of and potential solutions to architecting cloud-based systems i... more 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 (IoTs). 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 IoTs.

Research paper thumbnail of Chauhan M. A., Babar M.A., Sheng Q. Z.,  "A Reference Architecture for a Cloud-Based Tools as a Service Workspace," in Services Computing (SCC), 2015 IEEE International Conference on , vol., no., pp.475-482, June 27 2015-July 2 2015. doi: 10.1109/SCC.2015.71

Software Architecture (SA) plays a critical role in developing and evolving cloud-based applicati... more Software Architecture (SA) plays a critical role in developing and evolving cloud-based applications. We present a Reference Architecture (RA) for designing Cloudbased Tools as a service workSPACE (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.

Research paper thumbnail of Foundations for Tools as a Service Workspace: A Reference Architecture

ix 3.4. RELATED WORK 3.5. CONCLUSIONS CHAPTER 4. BUSINESS DRIVERS AND REQUIREMENTS OF TSPACE97 4.... more ix 3.4. RELATED WORK 3.5. CONCLUSIONS CHAPTER 4. BUSINESS DRIVERS AND REQUIREMENTS OF TSPACE97 4.1. INTRODUCTION 4.2. VALUE ANALYSIS AND BENEFITS OF TSPACE 4.2.1. ON-DEMAND ACCESS TO THE TOOLS 4.2.2. TOOLS ALIGNMENT WITH ORGANIZATIONAL PROCESSES 4.2.3. SUPPORT FOR AWARENESS OF THE OPERATIONS AND COLLABORATION 99 4.2.4. WORKING WITH SENSITIVE ARTIFACTS AND DATA 4.2.5. ACCESS TO SENSITIVE TECHNOLOGY 4.2.6. ESTABLISHMENT OF KNOWLEDGE ECOSYSTEM 4.3. TSPACE REFERENCE ARCHITECTURE REQUIREMENTS 4.3.1. REFERENCE ARCHITECTURE DOCUMENTATION REQUIREMENTS 4.

Research paper thumbnail of Foundations for Tools as a Service Workspace: A Reference Architecture: Design Space, Architecture Models, Design Tactics, Prototype and Experiences

ix 3.4. RELATED WORK 3.5. CONCLUSIONS CHAPTER 4. BUSINESS DRIVERS AND REQUIREMENTS OF TSPACE97 4.... more ix 3.4. RELATED WORK 3.5. CONCLUSIONS CHAPTER 4. BUSINESS DRIVERS AND REQUIREMENTS OF TSPACE97 4.1. INTRODUCTION 4.2. VALUE ANALYSIS AND BENEFITS OF TSPACE 4.2.1. ON-DEMAND ACCESS TO THE TOOLS 4.2.2. TOOLS ALIGNMENT WITH ORGANIZATIONAL PROCESSES 4.2.3. SUPPORT FOR AWARENESS OF THE OPERATIONS AND COLLABORATION 99 4.2.4. WORKING WITH SENSITIVE ARTIFACTS AND DATA 4.2.5. ACCESS TO SENSITIVE TECHNOLOGY 4.2.6. ESTABLISHMENT OF KNOWLEDGE ECOSYSTEM 4.3. TSPACE REFERENCE ARCHITECTURE REQUIREMENTS 4.3.1. REFERENCE ARCHITECTURE DOCUMENTATION REQUIREMENTS 4.

Research paper thumbnail of Chauhan M.A.; A reference architecture for providing tools as a service to support global software development. In Proceedings of the WICSA 2014 Companion Volume (WICSA '14 Companion).

Global Software Development (GSD) teams encounter challenges that are associated with distributio... more 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 abovementioned 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.

Research paper thumbnail of A reference architecture for providing tools as a service to support global software development

Proceedings of the WICSA 2014 Companion Volume, 2014

Global Software Development (GSD) teams encounter challenges that are associated with distributio... more 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.

Research paper thumbnail of Chauhan M.A., Babar M.A.; Towards a Reference Architecture to Provision Tools as a Service for Global Software Development, WICSA 2014.

Organizations involve in Global Software Development (GSD) face challenges in terms of having acc... more 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).

Research paper thumbnail of Chauhan M.A.; AliBabar M.; , "Towards Process Support for Migrating Applications to Cloud Computing," Cloud and Service Computing (CSC), 2012 International Conference on , vol., no., pp.80-87, 22-24 Nov. 2012 URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6414482&isnumber=6414469

Cloud computing is an active area of research for industry and academia. There are a large number... more 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.

Research paper thumbnail of Chauhan M.A., Babar M.A., 2012. Cloud infrastructure for providing tools as a service: quality attributes and potential solutions. In Proceedings of the WICSA/ECSA 2012 Companion Volume (WICSA/ECSA '12). ACM, New York, NY, USA, 5-13. DOI=10.1145/2361999.2362002

Cloud computing is being increasingly adopted in various domains for providing on-demand infrastr... more 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 cloudbased infrastructure and how these quality attributes can be achieved. We also present a reference architecture for a cloudbased infrastructure to provide TaaS in GSD projects and describe its use with a detailed scenario of GSD projects.

Research paper thumbnail of Chauhan M.A., Babar M.A., "Migrating Service-Oriented System to Cloud Computing: An Experience Report," Cloud Computing (CLOUD), 2011 IEEE International Conference on , vol., no., pp.404-411, 4-9 July 2011 doi: 10.1109/CLOUD.2011.46.

Cloud Computing (CLOUD), Jul 1, 2011

Cloud computing has gained significant attention of industry and academic sectors which are inter... more Cloud computing has gained significant attention of industry and academic sectors which are interested in adopting or experimenting with this technology. An increasing number of companies are expected to migrate their systems to cloud enabled infrastructures. However, there has not been much attention paid to provide sufficient process support. Since migration projects are likely to encounter several kinds of challenges, it is important to identify and share the process and logistical requirements of migration projects in order to build a body of knowledge of appropriate process, methods, and tools. This paper purports to contribute to the growing knowledge of how to migrate existing systems to cloud computing by reporting our effort aimed at migrating an Open Source Software (OSS) framework, Hackystat, to cloud computing. We report the main steps followed, the process and technical challenges faced, and some of the strategies that helped us to address those challenges. We expect the reported experiences can provide readers with useful insights into the process and technical aspects that should be considered when migrating existing software systems to cloud computing infrastructures.

Research paper thumbnail of 2011 IEEE 4th International Conference on Cloud Computing Migrating Service-Oriented System to Cloud Computing: An Experience Report

Abstract- Cloud computing has gained significant attention of industry and academic sectors which... more Abstract- Cloud computing has gained significant attention of industry and academic sectors which are interested in adopting or experimenting with this technology. An increasing number of companies are expected to migrate their systems to cloud enabled infrastructures. However, there has not been much attention paid to provide sufficient process support. Since migration projects are likely to encounter several kinds of challenges, it is important to identify and share the process and logistical requirements of migration projects in order to build a body of knowledge of appropriate process, methods, and tools. This paper purports to contribute to the growing knowledge of how to migrate existing systems to cloud computing by reporting our effort aimed at migrating an Open Source Software (OSS) framework, Hackystat, to cloud computing. We report the main steps followed, the process and technical challenges faced, and some of the strategies that helped us to address those challenges. We...

Research paper thumbnail of Ali Babar, M., and Chauhan, M., A., 2011. A tale of migration to cloud computing for sharing experiences and observations. In Proceeding of the 2nd international workshop on Software engineering for cloud computing (SECLOUD '11). ACM, New York, NY, USA, 50-56. DOI=10.1145/1985500.1985509 http://doi.acm.org/10.1145/1985500.1985509

… of the 2nd international workshop on …, Jan 1, 2011

Research paper thumbnail of Breivold H.P., Chauhan M.A., Ali Babar M., "A Systematic Review of Studies of Open Source Software Evolution," Asia-Pacific Software Engineering Conference, pp. 356-365, 2010 Asia Pacific Software Engineering Conference, 2010

2010 Asia Pacific Software …, Jan 1, 2010

Abstract Software evolution relates to how software systems evolve over time. With the emergence ... more Abstract Software evolution relates to how software systems evolve over time. With the emergence of the open source paradigm, researchers are provided with a wealth of data for open source software evolution analysis. In this paper, we present a systematic review of open source software (OSS) evolution. The objective of this review is to obtain an overview of the existing studies in open source software evolution, with the intention of achieving an understanding of how software evolvability (ie, a software system's ability to easily ...

Books by Aufeef Chauhan

Research paper thumbnail of Chauhan M.A., Probst C.W, Babar M.A..; "Agile and Lean Approaches for Teaching and Learning Software Architecture Design Processes and Methods",  in K. MacCallum, D. Parsons (Eds.), “Agile and Lean Concepts for Teaching and Learning”, Springer Book, 2018.

Software architecture plays a vital role in analysis, design, evaluation and evolution of large-s... more Software architecture plays a vital role in analysis, design, evaluation and evolution of large-scale projects. Successful adoption of an agile methodology in large-scale projects requires not only tailoring of the software architecture analysis , design and evaluation methods but also a fundamental understanding of these methods. In this chapter, we provide agile teaching and learning approaches for software architecture analysis, design and evaluation. In particular, we focus on agile teams in architecturally significant (quality) requirements analysis and change management for collocated and distributed agile projects, iterative and continuous architecture design delivery using story boards and collaboration platforms, and using software reference architectures to monitor and control the design and evolution of a software architecture. The methods presented in this chapter are based upon the following research methods. We have explored finding from the literature to identify key characteristics of agile software architecture processes and roles of agile teams in software architecture. We have presented agile teaching and learning approaches with reference to the case studies conducted in classes over two years of software architecture course. We have specifically focused on designing course activities that can support lean education and collaboration among the students and course instructors. We foresee that the presented approaches can be used by the academics to teach software architecture design methods and processes in particular, and software engineering techniques in general. Practitioners can also take advantage of the proposed approaches to continuously educate their staff when applying agile methods for architecture design and evolution of complex software systems.

Research paper thumbnail of Chauhan M.A., Probst C.W., “Architecturally Significant Requirements Identification, Classification and Change Management for Multi-tenant Cloud-based Systems”, in M. Ramachandran, Z. Mahmood (Eds.), “Requirements Engineering for Service and Cloud Computing”, Springer Book,  2017.

Involvement of numerous stakeholders in cloud-based systems' design and usage with varying degree... more Involvement of numerous stakeholders in cloud-based systems' design and usage with varying degrees of non-functional requirements makes Architecturally Significant Requirements (ASRs) identification and management a challenging 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 re-quirements' 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 sys-tems' 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 analysing impact of changes in the requirements on the overall system architecture, and for managing variability of the architecturally significant requirements.

Research paper thumbnail of A Software Reference Architecture for Security Data Orchestration, Analysis and Reporting

A Software Reference Architecture (SRA) is a useful tool for standardising existing architectures... more A Software Reference Architecture (SRA) is a useful tool for standardising existing architectures in a specific domain and facilitating concrete architecture design, development and evaluation by instantiating SRA and using SRA as a benchmark for the development of new systems. In this paper, we have presented an SRA for Security Data Orchestration, Analysis and Reporting (SecDOAR) to provide standardisation of security data platforms that can facilitate the integration of security orchestration, analysis and reporting tools for security data. The SecDOAR SRA has been designed by leveraging existing scientific literature and security data standards. We have documented SecDOAR SRA in terms of design methodology, meta-models to relate to different concepts in the security data architecture, and details on different elements and components of the SRA. We have evaluated SecDOAR SRA for its effectiveness and completeness by comparing it with existing commercial solutions. We have demonstrated the feasibility of the proposed SecDOAR SRA by instantiating it as a prototype platform to support security orchestration, analysis and reporting for a selected set of tools. The proposed SecDOAR SRA consists of meta-models for security data, security events and security data management processes as well as security metrics and corresponding measurement schemes, a security data integration model, and a description of SecDOAR SRA components. The proposed SecDOAR SRA can be used by researchers and practitioners as a structured approach for designing and implementing cybersecurity monitoring, analysis and reporting systems in various domains.

Research paper thumbnail of KRIOTA: A framework for Knowledge-management of dynamic Reference Information and Optimal Task Assignment in hybrid edge-cloud environments to support situation-aware robot-assisted operations

Elsevier, 2024

Enabling an autonomous robotic system (ARS) to be aware of its operating environment can equip th... more Enabling an autonomous robotic system (ARS) to be aware of its operating environment can equip the system to deal with unknown and uncertain situations. While several conceptual models have been proposed to establish the fundamental concepts of situational awareness, it remains a challenge to make an ARS situation aware, in particular using a combination of low-cost resource-constraint robots at the tactical edge and powerful remote cloud nodes. This paper proposes a dynamic reference information (DRI) based knowledge management and optimal task assignment framework that manages knowledge extracted from DRI to assess the current situation as per given mission objectives and assigns tasks to di↵erent computing nodes, which include a combination of edge robots, edge computing nodes and cloud-hosted services. The proposed framework is referred to as KRIOTA. The framework has been designed using an architecture-centric approach. We have designed ontologies to classify and structure di↵erent elements of DRI hierarchically and associate the processing components of an ARS with the DRI. We have devised algorithms for the ARS to optimally assign tasks to relevant processing components on robots, edge computing nodes and cloud-hosted services for adaptive behaviour. We have evaluated the framework by demonstrating its implementation in a testbed named RoboPatrol. We have also demonstrated the performance, e↵ectiveness and feasibility of the KRIOTA framework.

Research paper thumbnail of Chauhan M.A., Babar M.A., Grainger S., Designing a Security Platform for Collaborating Autonomous Systems -An Experience Report, ICSA 2021 Conference, March 22 - 26, 2021, Stuttgart, Germany.

ICSA 2021, 2021

Collaborative autonomous systems operating at edges, e.g., TurtleBots, need adaptive security mec... more Collaborative autonomous systems operating at edges, e.g., TurtleBots, need adaptive security mechanisms (i.e., Confidentiality, Integrity, Availability) that meet the changing mission requirements and the available processing capacities. We have designed and implemented a security platform that supports secure communication among autonomous systems of robots (e.g., TurtleBots), security of Robot Operating System (ROS) communication network, the integrity of the information exchanged among the robots and secured availability of the data and access to services. For designing the security platform, we have used architecture and design patterns along with the respective security protocols. Our solution provides seamless security incorporation in heterogeneous collaborative autonomous entities. We have leveraged architectural strategies to incorporate public-key encryption, maintain global order of events and incorporate fault tolerance. We assert that the presented security platform can facilitate easy adoption of secure control, communication and information gathering in collaborative autonomous systems with resource constraint edge nodes.

Research paper thumbnail of Chauhan M.A., Babar M.A., Sheng Q.Z., "A Reference Architecture for Provisioning of Tools as a Service: Meta-Model, Ontologies and Design Elements", Future Generation Computer Systems, Elsevier Journal, 2017.

Software Architecture (SA) plays a critical role in designing, developing and evolving cloud-base... more 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 to consumers on demand. In this paper, we present a Reference Architecture (RA) for designing cloud-based Tools as a service SPACE (TSPACE) for provisioning a bundled suite of tools by 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 tools for software architecting. We have also evaluated the RA in terms of effectiveness of the design decisions and the RA's 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.

Research paper thumbnail of Chauhan M.A.,  Babar M.A., Probst C.W., "A Process Framework for Designing Software Reference Architectures for providing Tools as a Service", PROFES 2016 Conference, 22-24 November, 2016, Trondheim, Norway.

Software Reference Architecture (SRA), which is a generic architecture solution for a specific ty... more 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 work-SPACE (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 provi-sioned 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.

Research paper thumbnail of Chauhan M.A., Babar M.A., Benatallah B., "Architecting Cloud-Enabled Systems: A Systematic Survey of Challenges and Solutions", Software: Practice and Experience, Wiley Journal, 2016.

Architecting Cloud-Enabled Systems: A Systematic Survey of Challenges and Solutions, May 13, 2016

The literature on the challenges of and potential solutions to architecting cloud-based systems i... more 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 (IoTs). 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 IoTs.

Research paper thumbnail of Chauhan M. A., Babar M.A., Sheng Q. Z.,  "A Reference Architecture for a Cloud-Based Tools as a Service Workspace," in Services Computing (SCC), 2015 IEEE International Conference on , vol., no., pp.475-482, June 27 2015-July 2 2015. doi: 10.1109/SCC.2015.71

Software Architecture (SA) plays a critical role in developing and evolving cloud-based applicati... more Software Architecture (SA) plays a critical role in developing and evolving cloud-based applications. We present a Reference Architecture (RA) for designing Cloudbased Tools as a service workSPACE (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.

Research paper thumbnail of Foundations for Tools as a Service Workspace: A Reference Architecture

ix 3.4. RELATED WORK 3.5. CONCLUSIONS CHAPTER 4. BUSINESS DRIVERS AND REQUIREMENTS OF TSPACE97 4.... more ix 3.4. RELATED WORK 3.5. CONCLUSIONS CHAPTER 4. BUSINESS DRIVERS AND REQUIREMENTS OF TSPACE97 4.1. INTRODUCTION 4.2. VALUE ANALYSIS AND BENEFITS OF TSPACE 4.2.1. ON-DEMAND ACCESS TO THE TOOLS 4.2.2. TOOLS ALIGNMENT WITH ORGANIZATIONAL PROCESSES 4.2.3. SUPPORT FOR AWARENESS OF THE OPERATIONS AND COLLABORATION 99 4.2.4. WORKING WITH SENSITIVE ARTIFACTS AND DATA 4.2.5. ACCESS TO SENSITIVE TECHNOLOGY 4.2.6. ESTABLISHMENT OF KNOWLEDGE ECOSYSTEM 4.3. TSPACE REFERENCE ARCHITECTURE REQUIREMENTS 4.3.1. REFERENCE ARCHITECTURE DOCUMENTATION REQUIREMENTS 4.

Research paper thumbnail of Foundations for Tools as a Service Workspace: A Reference Architecture: Design Space, Architecture Models, Design Tactics, Prototype and Experiences

ix 3.4. RELATED WORK 3.5. CONCLUSIONS CHAPTER 4. BUSINESS DRIVERS AND REQUIREMENTS OF TSPACE97 4.... more ix 3.4. RELATED WORK 3.5. CONCLUSIONS CHAPTER 4. BUSINESS DRIVERS AND REQUIREMENTS OF TSPACE97 4.1. INTRODUCTION 4.2. VALUE ANALYSIS AND BENEFITS OF TSPACE 4.2.1. ON-DEMAND ACCESS TO THE TOOLS 4.2.2. TOOLS ALIGNMENT WITH ORGANIZATIONAL PROCESSES 4.2.3. SUPPORT FOR AWARENESS OF THE OPERATIONS AND COLLABORATION 99 4.2.4. WORKING WITH SENSITIVE ARTIFACTS AND DATA 4.2.5. ACCESS TO SENSITIVE TECHNOLOGY 4.2.6. ESTABLISHMENT OF KNOWLEDGE ECOSYSTEM 4.3. TSPACE REFERENCE ARCHITECTURE REQUIREMENTS 4.3.1. REFERENCE ARCHITECTURE DOCUMENTATION REQUIREMENTS 4.

Research paper thumbnail of Chauhan M.A.; A reference architecture for providing tools as a service to support global software development. In Proceedings of the WICSA 2014 Companion Volume (WICSA '14 Companion).

Global Software Development (GSD) teams encounter challenges that are associated with distributio... more 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 abovementioned 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.

Research paper thumbnail of A reference architecture for providing tools as a service to support global software development

Proceedings of the WICSA 2014 Companion Volume, 2014

Global Software Development (GSD) teams encounter challenges that are associated with distributio... more 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.

Research paper thumbnail of Chauhan M.A., Babar M.A.; Towards a Reference Architecture to Provision Tools as a Service for Global Software Development, WICSA 2014.

Organizations involve in Global Software Development (GSD) face challenges in terms of having acc... more 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).

Research paper thumbnail of Chauhan M.A.; AliBabar M.; , "Towards Process Support for Migrating Applications to Cloud Computing," Cloud and Service Computing (CSC), 2012 International Conference on , vol., no., pp.80-87, 22-24 Nov. 2012 URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6414482&isnumber=6414469

Cloud computing is an active area of research for industry and academia. There are a large number... more 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.

Research paper thumbnail of Chauhan M.A., Babar M.A., 2012. Cloud infrastructure for providing tools as a service: quality attributes and potential solutions. In Proceedings of the WICSA/ECSA 2012 Companion Volume (WICSA/ECSA '12). ACM, New York, NY, USA, 5-13. DOI=10.1145/2361999.2362002

Cloud computing is being increasingly adopted in various domains for providing on-demand infrastr... more 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 cloudbased infrastructure and how these quality attributes can be achieved. We also present a reference architecture for a cloudbased infrastructure to provide TaaS in GSD projects and describe its use with a detailed scenario of GSD projects.

Research paper thumbnail of Chauhan M.A., Babar M.A., "Migrating Service-Oriented System to Cloud Computing: An Experience Report," Cloud Computing (CLOUD), 2011 IEEE International Conference on , vol., no., pp.404-411, 4-9 July 2011 doi: 10.1109/CLOUD.2011.46.

Cloud Computing (CLOUD), Jul 1, 2011

Cloud computing has gained significant attention of industry and academic sectors which are inter... more Cloud computing has gained significant attention of industry and academic sectors which are interested in adopting or experimenting with this technology. An increasing number of companies are expected to migrate their systems to cloud enabled infrastructures. However, there has not been much attention paid to provide sufficient process support. Since migration projects are likely to encounter several kinds of challenges, it is important to identify and share the process and logistical requirements of migration projects in order to build a body of knowledge of appropriate process, methods, and tools. This paper purports to contribute to the growing knowledge of how to migrate existing systems to cloud computing by reporting our effort aimed at migrating an Open Source Software (OSS) framework, Hackystat, to cloud computing. We report the main steps followed, the process and technical challenges faced, and some of the strategies that helped us to address those challenges. We expect the reported experiences can provide readers with useful insights into the process and technical aspects that should be considered when migrating existing software systems to cloud computing infrastructures.

Research paper thumbnail of 2011 IEEE 4th International Conference on Cloud Computing Migrating Service-Oriented System to Cloud Computing: An Experience Report

Abstract- Cloud computing has gained significant attention of industry and academic sectors which... more Abstract- Cloud computing has gained significant attention of industry and academic sectors which are interested in adopting or experimenting with this technology. An increasing number of companies are expected to migrate their systems to cloud enabled infrastructures. However, there has not been much attention paid to provide sufficient process support. Since migration projects are likely to encounter several kinds of challenges, it is important to identify and share the process and logistical requirements of migration projects in order to build a body of knowledge of appropriate process, methods, and tools. This paper purports to contribute to the growing knowledge of how to migrate existing systems to cloud computing by reporting our effort aimed at migrating an Open Source Software (OSS) framework, Hackystat, to cloud computing. We report the main steps followed, the process and technical challenges faced, and some of the strategies that helped us to address those challenges. We...

Research paper thumbnail of Ali Babar, M., and Chauhan, M., A., 2011. A tale of migration to cloud computing for sharing experiences and observations. In Proceeding of the 2nd international workshop on Software engineering for cloud computing (SECLOUD '11). ACM, New York, NY, USA, 50-56. DOI=10.1145/1985500.1985509 http://doi.acm.org/10.1145/1985500.1985509

… of the 2nd international workshop on …, Jan 1, 2011

Research paper thumbnail of Breivold H.P., Chauhan M.A., Ali Babar M., "A Systematic Review of Studies of Open Source Software Evolution," Asia-Pacific Software Engineering Conference, pp. 356-365, 2010 Asia Pacific Software Engineering Conference, 2010

2010 Asia Pacific Software …, Jan 1, 2010

Abstract Software evolution relates to how software systems evolve over time. With the emergence ... more Abstract Software evolution relates to how software systems evolve over time. With the emergence of the open source paradigm, researchers are provided with a wealth of data for open source software evolution analysis. In this paper, we present a systematic review of open source software (OSS) evolution. The objective of this review is to obtain an overview of the existing studies in open source software evolution, with the intention of achieving an understanding of how software evolvability (ie, a software system's ability to easily ...

Research paper thumbnail of Chauhan M.A., Probst C.W, Babar M.A..; "Agile and Lean Approaches for Teaching and Learning Software Architecture Design Processes and Methods",  in K. MacCallum, D. Parsons (Eds.), “Agile and Lean Concepts for Teaching and Learning”, Springer Book, 2018.

Software architecture plays a vital role in analysis, design, evaluation and evolution of large-s... more Software architecture plays a vital role in analysis, design, evaluation and evolution of large-scale projects. Successful adoption of an agile methodology in large-scale projects requires not only tailoring of the software architecture analysis , design and evaluation methods but also a fundamental understanding of these methods. In this chapter, we provide agile teaching and learning approaches for software architecture analysis, design and evaluation. In particular, we focus on agile teams in architecturally significant (quality) requirements analysis and change management for collocated and distributed agile projects, iterative and continuous architecture design delivery using story boards and collaboration platforms, and using software reference architectures to monitor and control the design and evolution of a software architecture. The methods presented in this chapter are based upon the following research methods. We have explored finding from the literature to identify key characteristics of agile software architecture processes and roles of agile teams in software architecture. We have presented agile teaching and learning approaches with reference to the case studies conducted in classes over two years of software architecture course. We have specifically focused on designing course activities that can support lean education and collaboration among the students and course instructors. We foresee that the presented approaches can be used by the academics to teach software architecture design methods and processes in particular, and software engineering techniques in general. Practitioners can also take advantage of the proposed approaches to continuously educate their staff when applying agile methods for architecture design and evolution of complex software systems.

Research paper thumbnail of Chauhan M.A., Probst C.W., “Architecturally Significant Requirements Identification, Classification and Change Management for Multi-tenant Cloud-based Systems”, in M. Ramachandran, Z. Mahmood (Eds.), “Requirements Engineering for Service and Cloud Computing”, Springer Book,  2017.

Involvement of numerous stakeholders in cloud-based systems' design and usage with varying degree... more Involvement of numerous stakeholders in cloud-based systems' design and usage with varying degrees of non-functional requirements makes Architecturally Significant Requirements (ASRs) identification and management a challenging 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 re-quirements' 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 sys-tems' 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 analysing impact of changes in the requirements on the overall system architecture, and for managing variability of the architecturally significant requirements.

Research paper thumbnail of Chauhan M.A., Babar M.A.; “Using Reference Architectures for Design and Evaluation of Web of Things Systems”, in Q.Z. Sheng, Y. Qin, L. Yao, B. Benatallah (Eds.), "Managing the Web of Things: Linking the Real World to the Web", Elsevier Book, 2017.

Web of Things (WoT) provides abstraction that simplifies the creation of Internet of Things (IoT)... more 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 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 1 This chapter describes a method for software architecture design, analysis, evaluation and evolution of individual Internet of Things (IoT) subsystems and how individual IoT subsystems can be used for design of Web of Things (WoT) systems. 2 Muhammad Aufeef Chauhan is a Postdoctoral researcher at IT University of Copenhagen and Technical University of Denmark. His research interests include software architecture for distributed and cloud-based systems, security of the cloud-based system, global software development and software evolution. 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. This chapter presents following key contributions: • A methodology for analysis, design, evaluation and evolution of Internet of Things (IoT) subsystems and Web of Things (WoT) system using a selected IoT Reference Architecture (RA). • An approach for analysis and evaluation of the key business requirements and quality constraints of the IoT subsystems. • Guidelines on using architectures of the concrete IoT subsystems as a source for evolution of an IoT RA. • A comprehensive case study on application of the presented approach for smart-homes domain.