Product detection based on state abstraction technologies in the software product line(SPL)is more complex when compared to a single system.This variability constitutes a new complexity,and the counterexample may be v...Product detection based on state abstraction technologies in the software product line(SPL)is more complex when compared to a single system.This variability constitutes a new complexity,and the counterexample may be valid for some products but spurious for others.In this paper,we found that spurious products are primarily due to the failure states,which correspond to the spurious counterexamples.The violated products correspond to the real counterexamples.Hence,identifying counterexamples is a critical problem in detecting violated products.In our approach,we obtain the violated products through the genuine counterexamples,which have no failure state,to avoid the tedious computation of identifying spurious products dealt with by the existing algorithm.This can be executed in parallel to improve the efficiency further.Experimental results showthat our approach performswell,varying with the growth of the system scale.By analyzing counterexamples in the abstract model,we observed that spurious products occur in the failure state.The approach helps in identifying whether a counterexample is spurious or genuine.The approach also helps to check whether a failure state exists in the counterexample.The performance evaluation shows that the proposed approach helps significantly in improving the efficiency of abstraction-based SPL model checking.展开更多
Software Product Line(SPL)is a group of software-intensive systems that share common and variable resources for developing a particular system.The feature model is a tree-type structure used to manage SPL’s common an...Software Product Line(SPL)is a group of software-intensive systems that share common and variable resources for developing a particular system.The feature model is a tree-type structure used to manage SPL’s common and variable features with their different relations and problem of Crosstree Constraints(CTC).CTC problems exist in groups of common and variable features among the sub-tree of feature models more diverse in Internet of Things(IoT)devices because different Internet devices and protocols are communicated.Therefore,managing the CTC problem to achieve valid product configuration in IoT-based SPL is more complex,time-consuming,and hard.However,the CTC problem needs to be considered in previously proposed approaches such as Commonality VariabilityModeling of Features(COVAMOF)andGenarch+tool;therefore,invalid products are generated.This research has proposed a novel approach Binary Oriented Feature Selection Crosstree Constraints(BOFS-CTC),to find all possible valid products by selecting the features according to cardinality constraints and cross-tree constraint problems in the featuremodel of SPL.BOFS-CTC removes the invalid products at the early stage of feature selection for the product configuration.Furthermore,this research developed the BOFS-CTC algorithm and applied it to,IoT-based feature models.The findings of this research are that no relationship constraints and CTC violations occur and drive the valid feature product configurations for the application development by removing the invalid product configurations.The accuracy of BOFS-CTC is measured by the integration sampling technique,where different valid product configurations are compared with the product configurations derived by BOFS-CTC and found 100%correct.Using BOFS-CTC eliminates the testing cost and development effort of invalid SPL products.展开更多
Software development is a complex and difficult task that requires the investment of sufficient resources and carries major risk of failure. Model Driven Engineering (MDE) focuses on creating software models and autom...Software development is a complex and difficult task that requires the investment of sufficient resources and carries major risk of failure. Model Driven Engineering (MDE) focuses on creating software models and automating code generation from the models. Model Driven Software Development (MDSD) offers significantly more effective approaches. These approaches improve the way of building software. Model driven approaches partially increase developer productivity, decrease the cost of software construction, improve software reusability, and make software more maintainable. This paper investigates the methods where Model Driven Software Development is integrated with Software Product Line (SPL). This SLR has been conducted to identify 71 research works published since 2014. We have collected 18 tools, 14 techniques and 17 languages used for MDSD for SPL. We analyze which technique is suitable for SPL. We compare the techniques on the basis of features provided by these tools to understand the better-quality results.展开更多
Software product line engineering is a large scale development paradigm based on mass production. It consists in building a common platform from which a set of products can be derived. Under the constraints of continu...Software product line engineering is a large scale development paradigm based on mass production. It consists in building a common platform from which a set of products can be derived. Under the constraints of continuous evolution and costs optimization, the derivation process must be able to answer customers’ requirements and provide adequate products in a short time without defects. However, this purpose cannot be achieved if the customer must wait for the change is implemented in the common platform. In this paper, we describe our work which proposes a framework to manage derivation of adaptable products. An adaptable product is obtained by deriving the most similar product from the common platform and changing it to support the new requirements. The aim of the framework is to give quick response to the customers need while the new requirements are being implemented in the common platform. The framework includes tools for processing natural language requirements, computing the similarity between products on the basis of their requirements, and the product adaptation effort measuring.展开更多
This article contains a system conversion from object oriented design into Software Product Line (SPL) using delta modeling of Abstract Behavioral Specification (ABS). ABS is a modeling language which targets system w...This article contains a system conversion from object oriented design into Software Product Line (SPL) using delta modeling of Abstract Behavioral Specification (ABS). ABS is a modeling language which targets system with high level of variety and supports SPL development with delta modeling. The case study of this thesis is a digital library system called Library Automation and Digital Archive (LONTAR). Originally, LONTAR only uses SOAP-based web service. With ABS, LONTAR will be converted into SPL and implement another web service called REST. The motivation of this conversion of LONTAR from object oriented into SPL is because it is easier to develop system with ABS than using regular object oriented. Product definition in ABS is relatively easier than creating a new subclass and do customization to make it works well.展开更多
Software architecture design is a critical step of software development. Currently, there are various design methods available and each is focusing on certain perspective of architecture design. Especially, quality-ba...Software architecture design is a critical step of software development. Currently, there are various design methods available and each is focusing on certain perspective of architecture design. Especially, quality-based methods have received a lot of attentions and have been well developed for single system architecture design. However, the use of quality-based design methods is limited in software product line (SPL) because of the complexity and variabilities existing in SPL architecture. In this paper, we introduce an extra view to the Quality-Driven Architecture Design and quality Analysis (QADA) method, in order to provide a more effective quality-based architecture design framework for SPL. In this framework, the quality attributes of a software system will be taken into account in the early stage of architecture design and the reference architecture of SPL will be elicited based on quality-related consideration.展开更多
With the recent advances in mobile technology and wireless network technology, embedded systems are being widely used in modem society today. Particularly, a home healthcare system is a networked embedded system where...With the recent advances in mobile technology and wireless network technology, embedded systems are being widely used in modem society today. Particularly, a home healthcare system is a networked embedded system where the main functions are to control the disease processes and to help patients maintain their independence and maximum level of function within their own homes and communities. It seems to be self-evident to design a system that would support both patients and their healthcare providers in the process of treatment. Nevertheless, little work in integrating embedded devices with intemet for the support of patients have been done to date. In this paper, we show how to design a healthcare system for supporting the management of the conditions of patients with chronic diseases. This system is built around wireless networked embedded devices, and integrates the intemet technology for telemonitoring the patient's health and notifying of doctors if emergency action is required. Also, patients themselves may specify personal alerts for condition-related issues.展开更多
Software industry has evolved to multi-product and multi-platform development based on a mix of proprietary and open source components. Such integration has occurred in software ecosystems through a software product l...Software industry has evolved to multi-product and multi-platform development based on a mix of proprietary and open source components. Such integration has occurred in software ecosystems through a software product line engineering (SPLE) process. However, metadata are underused in the SPLE and interoperability challenge. The proposed method is first, a semantic metadata enrichment software ecosystem (SMESE) to support multi-platform metadata driven applications, and second, based on mapping ontologies SMESE aggregates and enriches metadata to create a semantic master metadata catalogue (SMMC). The proposed SPLE process uses a component-based software development approach for integrating distributed content management enterprise applications, such as digital libraries. To perform interoperability between existing metadata models (such as Dublin Core, UNIMARC, MARC21, RDF/RDA and BIBFRAME), SMESE implements an ontology mapping model. SMESE consists of nine sub-systems: 1) Metadata initiatives & concordance rules;2) Harvesting of web metadata & data;3) Harvesting of authority metadata & data;4) Rule-based semantic metadata external enrichment;5) Rule-based semantic metadata internal enrichment;6) Semantic metadata external & internal enrichment synchronization;7) User interest-based gateway;8) Semantic master catalogue. To conclude, this paper proposes a decision support process, called SPLE decision support process (SPLE-DSP) which is then used by SMESE to support dynamic reconfiguration. SPLE-DSP consists of a dynamic and optimized metadata-based reconfiguration model. SPLE-DSP takes into account runtime metadata-based variability functionalities, context-awareness and self-adaptation. It also presents the design and implementation of a working prototype of SMESE applied to a semantic digital library.展开更多
This paper presents a domain engineering approach to build a software product line that supports the change notification service in a Configuration Management Database (CMDB) according to the Information Technology In...This paper presents a domain engineering approach to build a software product line that supports the change notification service in a Configuration Management Database (CMDB) according to the Information Technology Infrastructure Library (ITIL) best practices. For the development of this product line, the proposed approach makes use of a construction of products methodology by analogy: this is a new notation which reports the variability of the products, obtaining metrics as important as the number of products and uses a language that enables, by means of the flexibilization of a product and the development of some generators, to build the rest of the product line. In addition the paper offers a standard for the analysis and design of the CMDB as well. Finally, the paper presents an economic model for the product line, where the profitability and productivity of the proposed solution are analyzed.展开更多
Software process is a framework for effective and timely delivery of software system. The framework plays a crucial role for software success. However, the development of large-scale software still faces the crisis of...Software process is a framework for effective and timely delivery of software system. The framework plays a crucial role for software success. However, the development of large-scale software still faces the crisis of high risks, low quality, high costs and long cycle time. This paper proposed a three-phase parallel-pipelining software process model for improving speed and productivity, and reducing software costs and risks without sacrificing software quality. In this model, two strategies were presented. One strategy, based on subsystem-cost priority, was used to prevent software development cost wasting and to reduce software complexity as well; the other strategy, used for balancing subsystem complexity, was designed to reduce the software complexity in the later development stages. Moreover, the proposed function-detailed and workload-simplified subsystem pipelining software process model presents much higher parallelity than the concurrent incremental model. Finally, the component-based product line technology not only ensures software quality and further reduces cycle time, software costs, and software risks but also sufficiently and rationally utilizes previous software product resources and enhances the competition ability of software development organizations.展开更多
Software product line (SPL) is an approach used to develop a range of software products with a high degree of similarity. In this approach, a feature model is usually used to keep track of similarities and differenc...Software product line (SPL) is an approach used to develop a range of software products with a high degree of similarity. In this approach, a feature model is usually used to keep track of similarities and differences. Over time, as modifications are made to the SPL, inconsistencies with the feature model could arise. The first approach to dealing with these inconsistencies is refactoring. Refactoring consists of small steps which, when accumulated, may lead to large-scale changes in the SPL, resulting in features being added to or eliminated from the SPL. In this paper, we propose a framework for refactoring SPLs, which helps keep SPLs consistent with the feature model. After some introductory remarks, we describe a formal model for representing the feature model. We express various refactoring patterns applicable to the feature model and the SPL formally, and then introduce an algorithm for finding them in the SPL. In the end, we use a real-world case study of an SPL to illustrate the applicability of the framework introduced in the paper.展开更多
基金supported by the Fund of ExcellentYouth Scientific and Technological Innovation Team of Hubei’s Universities(Project No:T201818)Science and Technology Research Program of Hubei Provincial Education Department(Project No:Q20143005)Guiding project of scientific research plan of Hubei Provincial Department of Education(Project No:B2021261).
文摘Product detection based on state abstraction technologies in the software product line(SPL)is more complex when compared to a single system.This variability constitutes a new complexity,and the counterexample may be valid for some products but spurious for others.In this paper,we found that spurious products are primarily due to the failure states,which correspond to the spurious counterexamples.The violated products correspond to the real counterexamples.Hence,identifying counterexamples is a critical problem in detecting violated products.In our approach,we obtain the violated products through the genuine counterexamples,which have no failure state,to avoid the tedious computation of identifying spurious products dealt with by the existing algorithm.This can be executed in parallel to improve the efficiency further.Experimental results showthat our approach performswell,varying with the growth of the system scale.By analyzing counterexamples in the abstract model,we observed that spurious products occur in the failure state.The approach helps in identifying whether a counterexample is spurious or genuine.The approach also helps to check whether a failure state exists in the counterexample.The performance evaluation shows that the proposed approach helps significantly in improving the efficiency of abstraction-based SPL model checking.
文摘Software Product Line(SPL)is a group of software-intensive systems that share common and variable resources for developing a particular system.The feature model is a tree-type structure used to manage SPL’s common and variable features with their different relations and problem of Crosstree Constraints(CTC).CTC problems exist in groups of common and variable features among the sub-tree of feature models more diverse in Internet of Things(IoT)devices because different Internet devices and protocols are communicated.Therefore,managing the CTC problem to achieve valid product configuration in IoT-based SPL is more complex,time-consuming,and hard.However,the CTC problem needs to be considered in previously proposed approaches such as Commonality VariabilityModeling of Features(COVAMOF)andGenarch+tool;therefore,invalid products are generated.This research has proposed a novel approach Binary Oriented Feature Selection Crosstree Constraints(BOFS-CTC),to find all possible valid products by selecting the features according to cardinality constraints and cross-tree constraint problems in the featuremodel of SPL.BOFS-CTC removes the invalid products at the early stage of feature selection for the product configuration.Furthermore,this research developed the BOFS-CTC algorithm and applied it to,IoT-based feature models.The findings of this research are that no relationship constraints and CTC violations occur and drive the valid feature product configurations for the application development by removing the invalid product configurations.The accuracy of BOFS-CTC is measured by the integration sampling technique,where different valid product configurations are compared with the product configurations derived by BOFS-CTC and found 100%correct.Using BOFS-CTC eliminates the testing cost and development effort of invalid SPL products.
文摘Software development is a complex and difficult task that requires the investment of sufficient resources and carries major risk of failure. Model Driven Engineering (MDE) focuses on creating software models and automating code generation from the models. Model Driven Software Development (MDSD) offers significantly more effective approaches. These approaches improve the way of building software. Model driven approaches partially increase developer productivity, decrease the cost of software construction, improve software reusability, and make software more maintainable. This paper investigates the methods where Model Driven Software Development is integrated with Software Product Line (SPL). This SLR has been conducted to identify 71 research works published since 2014. We have collected 18 tools, 14 techniques and 17 languages used for MDSD for SPL. We analyze which technique is suitable for SPL. We compare the techniques on the basis of features provided by these tools to understand the better-quality results.
文摘Software product line engineering is a large scale development paradigm based on mass production. It consists in building a common platform from which a set of products can be derived. Under the constraints of continuous evolution and costs optimization, the derivation process must be able to answer customers’ requirements and provide adequate products in a short time without defects. However, this purpose cannot be achieved if the customer must wait for the change is implemented in the common platform. In this paper, we describe our work which proposes a framework to manage derivation of adaptable products. An adaptable product is obtained by deriving the most similar product from the common platform and changing it to support the new requirements. The aim of the framework is to give quick response to the customers need while the new requirements are being implemented in the common platform. The framework includes tools for processing natural language requirements, computing the similarity between products on the basis of their requirements, and the product adaptation effort measuring.
文摘This article contains a system conversion from object oriented design into Software Product Line (SPL) using delta modeling of Abstract Behavioral Specification (ABS). ABS is a modeling language which targets system with high level of variety and supports SPL development with delta modeling. The case study of this thesis is a digital library system called Library Automation and Digital Archive (LONTAR). Originally, LONTAR only uses SOAP-based web service. With ABS, LONTAR will be converted into SPL and implement another web service called REST. The motivation of this conversion of LONTAR from object oriented into SPL is because it is easier to develop system with ABS than using regular object oriented. Product definition in ABS is relatively easier than creating a new subclass and do customization to make it works well.
文摘Software architecture design is a critical step of software development. Currently, there are various design methods available and each is focusing on certain perspective of architecture design. Especially, quality-based methods have received a lot of attentions and have been well developed for single system architecture design. However, the use of quality-based design methods is limited in software product line (SPL) because of the complexity and variabilities existing in SPL architecture. In this paper, we introduce an extra view to the Quality-Driven Architecture Design and quality Analysis (QADA) method, in order to provide a more effective quality-based architecture design framework for SPL. In this framework, the quality attributes of a software system will be taken into account in the early stage of architecture design and the reference architecture of SPL will be elicited based on quality-related consideration.
文摘With the recent advances in mobile technology and wireless network technology, embedded systems are being widely used in modem society today. Particularly, a home healthcare system is a networked embedded system where the main functions are to control the disease processes and to help patients maintain their independence and maximum level of function within their own homes and communities. It seems to be self-evident to design a system that would support both patients and their healthcare providers in the process of treatment. Nevertheless, little work in integrating embedded devices with intemet for the support of patients have been done to date. In this paper, we show how to design a healthcare system for supporting the management of the conditions of patients with chronic diseases. This system is built around wireless networked embedded devices, and integrates the intemet technology for telemonitoring the patient's health and notifying of doctors if emergency action is required. Also, patients themselves may specify personal alerts for condition-related issues.
文摘Software industry has evolved to multi-product and multi-platform development based on a mix of proprietary and open source components. Such integration has occurred in software ecosystems through a software product line engineering (SPLE) process. However, metadata are underused in the SPLE and interoperability challenge. The proposed method is first, a semantic metadata enrichment software ecosystem (SMESE) to support multi-platform metadata driven applications, and second, based on mapping ontologies SMESE aggregates and enriches metadata to create a semantic master metadata catalogue (SMMC). The proposed SPLE process uses a component-based software development approach for integrating distributed content management enterprise applications, such as digital libraries. To perform interoperability between existing metadata models (such as Dublin Core, UNIMARC, MARC21, RDF/RDA and BIBFRAME), SMESE implements an ontology mapping model. SMESE consists of nine sub-systems: 1) Metadata initiatives & concordance rules;2) Harvesting of web metadata & data;3) Harvesting of authority metadata & data;4) Rule-based semantic metadata external enrichment;5) Rule-based semantic metadata internal enrichment;6) Semantic metadata external & internal enrichment synchronization;7) User interest-based gateway;8) Semantic master catalogue. To conclude, this paper proposes a decision support process, called SPLE decision support process (SPLE-DSP) which is then used by SMESE to support dynamic reconfiguration. SPLE-DSP consists of a dynamic and optimized metadata-based reconfiguration model. SPLE-DSP takes into account runtime metadata-based variability functionalities, context-awareness and self-adaptation. It also presents the design and implementation of a working prototype of SMESE applied to a semantic digital library.
文摘This paper presents a domain engineering approach to build a software product line that supports the change notification service in a Configuration Management Database (CMDB) according to the Information Technology Infrastructure Library (ITIL) best practices. For the development of this product line, the proposed approach makes use of a construction of products methodology by analogy: this is a new notation which reports the variability of the products, obtaining metrics as important as the number of products and uses a language that enables, by means of the flexibilization of a product and the development of some generators, to build the rest of the product line. In addition the paper offers a standard for the analysis and design of the CMDB as well. Finally, the paper presents an economic model for the product line, where the profitability and productivity of the proposed solution are analyzed.
文摘Software process is a framework for effective and timely delivery of software system. The framework plays a crucial role for software success. However, the development of large-scale software still faces the crisis of high risks, low quality, high costs and long cycle time. This paper proposed a three-phase parallel-pipelining software process model for improving speed and productivity, and reducing software costs and risks without sacrificing software quality. In this model, two strategies were presented. One strategy, based on subsystem-cost priority, was used to prevent software development cost wasting and to reduce software complexity as well; the other strategy, used for balancing subsystem complexity, was designed to reduce the software complexity in the later development stages. Moreover, the proposed function-detailed and workload-simplified subsystem pipelining software process model presents much higher parallelity than the concurrent incremental model. Finally, the component-based product line technology not only ensures software quality and further reduces cycle time, software costs, and software risks but also sufficiently and rationally utilizes previous software product resources and enhances the competition ability of software development organizations.
文摘Software product line (SPL) is an approach used to develop a range of software products with a high degree of similarity. In this approach, a feature model is usually used to keep track of similarities and differences. Over time, as modifications are made to the SPL, inconsistencies with the feature model could arise. The first approach to dealing with these inconsistencies is refactoring. Refactoring consists of small steps which, when accumulated, may lead to large-scale changes in the SPL, resulting in features being added to or eliminated from the SPL. In this paper, we propose a framework for refactoring SPLs, which helps keep SPLs consistent with the feature model. After some introductory remarks, we describe a formal model for representing the feature model. We express various refactoring patterns applicable to the feature model and the SPL formally, and then introduce an algorithm for finding them in the SPL. In the end, we use a real-world case study of an SPL to illustrate the applicability of the framework introduced in the paper.