scholarly journals Object-component development of changeable software systems

2016 ◽  
pp. 003-016
Author(s):  
E.M. Lavrischeva ◽  
◽  
O.A. Slabospitskaya ◽  
A.Yu. Stenyashin ◽  
A.L. Kolesnyk ◽  
...  

Complementary limitations of both Software Product Lines industrial technologies and Lavrischeva – Grishenrko object-component method concerning changeable software development are elicited such as the lack of formalisms for program assets building and ill predictability of this build features. To cope with the limitations universal Model of Software Family Variant Features is proposed expanding its tradi-tional feature model for basic development artifacts. For assets being considered as reusable Components final Changeable Software Object-Component Model is elaborated including the universal model above being adjusted as Software Variability Object-Component Model. The Algebra is depicted for the operations of both the Components configuring and data types transforming over their interaction within changeable software system. These operations are proposed to incorporate into the target process for Changeable Software Family proactive and informed Variability management being represented with its technological chart. The process proposed composes the functions for variability Planning, Implementing and Control as well as Family model/consist Evolving up to the Control results. The functions listed are performed within common information environment structured accordingly to Variant Features Model or its object-component adjustment. Trial software tool for configuring Components in the above process is probed. The usage is depicted of both the framework proposed and this tool over technological lines being implemented in Software Systems Institute of NAS of Ukraine Instrumental-technological complex for changeable software configuring from the components.

Author(s):  
Maria Eugenia Cabello ◽  
Isidro Ramos ◽  
Oscar Alberto Santana ◽  
Saúl Iván Beristain

This paper presents a process, a method and a framework for developing families of software systems in a domain. The process is generic (domain-independent) and produces skeleton software architectures as Software Product Lines. The genericity is supported by the metamodels (abstract languages) that are defined in order to describe the Reference Architecture (structure view, behavior view and variability view) of the system domain. A standardized Production Plan takes the Reference Architecture as input and produces the equivalent Skeleton Software Architecture (component-connector view) using a Feature Model configuration (describing the system to be) as output. This Skeleton Software Architecture includes the structure and behavior of the target software product. A framework has been implemented to support the approach. The process is applied, as an example, to the Diagnostic Expert Systems domain. Our approach is based on Model-Driven Engineering techniques and the Software Product Line paradigm. A domain analysis must be done in order to build the Reference Architecture.


Author(s):  
Mehdi Noorian ◽  
Mohsen Asadi ◽  
Ebrahim Bagheri ◽  
Weichang Du

Software Product Line (SPL) engineering is a systematic reuse-based software development approach which is founded on the idea of building software products using a set of core assets rather than developing individual software systems from scratch. Feature models are among the widely used artefacts for SPL development that mostly capture functional and operational variability of a system. Researchers have argued that connecting intentional variability models such as goal models with feature variability models in a target domain can enrich feature models with valuable quality and non-functional information. Interrelating goal models and feature models has already been proposed in the literature for capturing non-functional properties in software product lines; however, this manual integration process is cumbersome and tedious. In this paper, we propose a (semi) automated approach that systematically integrates feature models and goal models through standard ontologies. Our proposed approach connects feature model and goal model elements through measuring the semantic similarity of their annotated ontological concepts. Our work not only provides the means to systematically interrelate feature models and goal models but also allows domain engineers to identify and model the role and significance of non-functional properties in the domain represented by the feature model.


Author(s):  
Nikolaos Papakonstantinou ◽  
Seppo Sierla ◽  
Irem Y. Tumer ◽  
David C. Jensen

The Functional Failure Identification and Propagation (FFIP) framework has been proposed in prior work to study the reliability of early phase designs of complex systems. For the specified functionality, a model of mechanical, electrical and software components has been defined to support simulation and discovery of fault propagation paths. The advantage of this approach has been the possibility to identify unreliable designs before high cost design commitments have been made. However, a weakness is that the results are specific to the component model that is created for the purpose of running the FFIP simulations; it is unclear how the results would change if different modeling choices would have been made. Further, the usefulness of the method in design has been limited to evaluating reliability rather than actively finding more robust design alternatives. In order to address these weaknesses, the FFIP component model needs to incorporate a capability to describe design alternatives. The feature modeling syntax and semantics, which has been successfully used by software engineers to describe customer variations in product lines, is applied here to specify alternative mechanical, electrical and software features of a cyber-physical system. In the concept phase, all plausible design alternatives are described with a feature model. FFIP analyses can be performed for each valid configuration of this model, and all alternatives that are found unreliable are removed. The result is a restricted feature model, comprising significantly fewer design alternatives, that is delivered as source information for the detailed design phase. A toolchain for performing these analyses is presented, integrating open source feature modeling and configuration tools to the FFIP environment. The methodology is illustrated with a case study from boiling water nuclear reactor design.


2021 ◽  
Vol 12 (1) ◽  
pp. 1-10
Author(s):  
Sami Ouali

Software Product Lines (SPLs) refer to some software engineering methods, tools and techniques for creating a collection of similar software systems from a shared set of software assets using a common means of production. This concept is recognized as a successful approach to reuse in software development. Its purpose is to reduce production costs by reusing existing features and managing the variability between the different products with respect of particular constraints. Software Product Line engineering is the production process in product lines and the development of a family of systems by reusing core assets. It exploits the commonalities between software products and preserves the ability to vary the functionalities and features between these products. The adopted strategy for building SPL can be a top-down or bottom-up. Depending from the selected strategy, it is possible to face an inappropriate implementation in the SPL Model or the derived products during this process. The code can contain code smells or code anomalies. Code smells are considered as problems in source code which can have an impact on the quality of the derived products of an SPL. The same problem can be present in many derived products from an SPL due to reuse or in the obtained product line when the bottom-up strategy is selected. A possible solution to this problem can be the refactoring which can improve the internal structure of source code without altering external behavior. This paper proposes an approach for building SPL from source code using the bottom-up strategy. Its purpose is to reduce code smells in the obtained SPL using refactoring source code. This approach proposes a possible solution using reverse engineering to obtain the feature model of the SPL.


Author(s):  
Zahra Akbari ◽  
Sedigheh Khoshnevis ◽  
Mehran Mohsenzadeh

Testing activities for software product lines should be different from that of single software systems, due to significant differences between software product line engineering and single software system development. The cost of testing in software product line is generally higher compared with single software systems; therefore, there should exist a certain balance between cost, quality of final products, and the time of performing testing activities. As decreasing testing cost is an important challenge in software product line integration testing, the contribution of this paper is in introducing a method for early integration testing in software product lines based on feature model (FM) by prioritizing test cases in order to decrease integration testing costs in SPLs. In this method, we focus on reusing domain engineering artifacts and prioritized selection and execution of integration test cases. It also uses separation of concerns and pruning techniques on FMs to help prioritize the test cases. The method shows to be promising when applied to some case studies in the sense that it decreases the costs of performing integration test by about 82% and also detects about 44% of integration faults in domain engineering.


Author(s):  
Hitesh Yadav ◽  
Rita Chhikara ◽  
Charan Kumari

Background: Software Product Line is the group of multiple software systems which share the similar set of features with multiple variants. Feature model is used to capture and organize features used in different multiple organization. Objective: The objective of this research article is to obtain an optimized subset of features which are capable of providing high performance. Methods: In order to achieve the desired objective, two methods have been proposed. a) An improved objective function which is used to compute the contribution of each feature with weight based methodology. b) A hybrid model is employed to optimize the Software Product Line problem. Results: Feature sets varying in size from 100 to 1000 have been used to compute the performance of the Software Product Line. Conclusion: The results shows that proposed hybrid model outperforms the state of art metaheuristic algorithms.


DYNA ◽  
2018 ◽  
Vol 85 (207) ◽  
pp. 74-83 ◽  
Author(s):  
Daniel Correa ◽  
Raúl Mazo ◽  
Gloria Lucia Giraldo Goméz

Software product lines facilitate the industrialization of software development. The main goal is to create a set of reusable software components for the rapid production of a software systems family. Many authors have proposed different approaches to design and implement the components of a product line. However, the construction and integration of these components continue to be a complex and time-consuming process. This paper introduces Fragment-oriented programming (FragOP), a framework to design and implement software product line domain components, and derive software products. FragOP is based on: (i) domain components, (ii) fragmentations points and (iii)fragments. FragOP was implemented in the VariaMos tool and using it we created a clothing stores software product line. We derivedfive different products, integrating automatically thousands of lines of code. On average, only three lines of code were manually modified;which provided preliminary evidence that using FragOP reduces manual intervention when integrating domain components.


Author(s):  
Elham Darmanaki Farahani ◽  
Jafar Habibi

The aim of the Software Product Line (SPL) approach is to improve the software development process by producing software products that match the stakeholders’ requirements. One of the important topics in SPLs is the feature model (FM) configuration process. The purpose of configuration here is to select and remove specific features from the FM in order to produce the required software product. At the same time, detection of differences between application’s requirements and the available capabilities of the implementation platform is a major concern of application requirements engineering. It is possible that the implementation of the selected features of FM needs certain software and hardware infrastructures such as database, operating system and hardware that cannot be made available by stakeholders. We address the FM configuration problem by proposing a method, which employs a two-layer FM comprising the application and infrastructure layers. We also show this method in the context of a case study in the SPL of a sample E-Shop website. The results demonstrate that this method can support both functional and non-functional requirements and can solve the problems arising from lack of attention to implementation requirements in SPL FM selection phase.


2016 ◽  
Vol 14 (2) ◽  
pp. 870-876 ◽  
Author(s):  
Maximiliano Arias ◽  
Alan DeRenzis ◽  
Agustina Buccella ◽  
Andres Flores ◽  
Alejandra Cechich

Author(s):  
José Caldas ◽  
Samuel Kaski

Biclustering is the unsupervised learning task of mining a data matrix for useful submatrices, for instance groups of genes that are co-expressed under particular biological conditions. As these submatrices are expected to partly overlap, a significant challenge in biclustering is to develop methods that are able to detect overlapping biclusters. The authors propose a probabilistic mixture modelling framework for biclustering biological data that lends itself to various data types and allows biclusters to overlap. Their framework is akin to the latent feature and mixture-of-experts model families, with inference and parameter estimation being performed via a variational expectation-maximization algorithm. The model compares favorably with competing approaches, both in a binary DNA copy number variation data set and in a miRNA expression data set, indicating that it may potentially be used as a general-problem solving tool in biclustering.


Sign in / Sign up

Export Citation Format

Share Document