Loading...
Search for: product-lines
0.005 seconds
Total 32 records

    A feature model based framework for refactoring software product line architecture

    , Article Journal of Computer Science and Technology ; Volume 31, Issue 5 , 2016 , Pages 951-986 ; 10009000 (ISSN) Tanhaei, M ; Habibi, J ; Mirian Hosseinabadi, S. H ; Sharif University of Technology
    Springer New York LLC  2016
    Abstract
    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... 

    Configuration management model in evolutionary software product Line

    , Article International Journal of Software Engineering and Knowledge Engineering ; Volume 26, Issue 3 , 2016 , Pages 433-455 ; 02181940 (ISSN) Darmanaki Farahani, E ; Habibi, J ; Sharif University of Technology
    World Scientific Publishing Co. Pte Ltd 
    Abstract
    In Software Product Line (SPL), Configuration Management (CM) is a multi-dimensional problem. On the one hand, the Core Assets that constitute a configuration need to be managed, and on the other hand, each product in the product line that is built using a configuration must be managed, and furthermore, the management of all these configurations must be coordinated under a single process. Therefore, CM for product lines is more complex than for single systems. The CM of any software system involves four closely related activities: Change Management (ChM), Version Management (VM), System Building (SB) and Release Management (RM) [I. Sommerville, Software Engineering, 9th edn. (Addison-Wesley,... 

    Feature model configuration based on two-layer modeling in Software Product Lines

    , Article International Journal of Electrical and Computer Engineering ; Volume 9, Issue 4 , 2019 , Pages 2648-2658 ; 20888708 (ISSN) Farahani, E. D ; Habibi, J ; Sharif University of Technology
    Institute of Advanced Engineering and Science  2019
    Abstract
    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... 

    Towards a Method for The Management of Dynamic Changes in Software Product Line Based on Change Patterns

    , M.Sc. Thesis Sharif University of Technology Mazloumi, Alireza (Author) ; Habibi, Jafar (Supervisor)
    Abstract
    With the advent of software product lines as a practical approach in software engineering, research on this area has increased exponentially. In Software product lines a platform is presented onto which a product family can be created with ease. With the help of this platform each software in the product family can be produced with small modifications. Using this approach, cost and time of producing software decreases whilst at the same time increasing the overall software quality. Changes in standards, instability in business needs and variable requirements of various stakeholders will always cause evolution in a software product line. These change areas cannot always be predicted by... 

    Developing an Agile Product Line Engineering Methodology

    , M.Sc. Thesis Sharif University of Technology Farmahini Farahani, Farima (Author) ; Ramsin, Raman (Supervisor)
    Abstract
    Software Product Line Engineering (PLE) and Agile Software Development are two leading approaches in the software industry. Despite the inherent differences between the two approaches, they are intended to fulfill common goals, such as: Reducing time to market, increasing customer satisfaction, promoting product quality, managing changes in requirements, and lowering the costs of development. In addition, each of them has certain positive features which address the other’s weaknesses. As a result, it seems reasonable to integrate the two approaches in order to produce a combined method which fulfills the common goals while addressing the weaknesses. Agile Product Line Engineering (APLE) is a... 

    Toward an architecture-based method for selecting composer components to make software product line

    , Article ITNG2010 - 7th International Conference on Information Technology: New Generations, 12 April 2010 through 14 April 2010 ; April , 2010 , Pages 1233-1236 ; 9780769539843 (ISBN) Tanhaei, M ; Moaven, S ; Habibi, J ; Sharif University of Technology
    2010
    Abstract
    Nowadays, product line, as an important topic in software development domain, has been paid attention by software engineering practitioners. Finding suitable components to construct an efficient and comprehensive product line with low costs is one of the critical problems in this domain which demands to be satisfied. In this paper a method is presented which can manage and control complexities of component selection problem, an NP problem, and result in creation of declared product line. By making use of this method, a product line will be constructed with suitably-adopted components to cover up requirements based on architecture; that's why software product line development process will... 

    Comprehensive configuration management model for software product line

    , Article International Journal of Control Theory and Applications ; Volume 9, Issue 25 , 2016 , Pages 301-322 ; 09745572 (ISSN) Darmanaki Farahani, E ; Habibi, J ; Sharif University of Technology
    Serials Publications  2016
    Abstract
    In Software Product Line (SPL), Configuration Management (CM) is a multi-dimensional problem. On the one hand, the Core Assets that constitute a configuration need to be managed, and on the other hand, each product in the product line that is built using a configuration must be managed, and furthermore, the management of all these configurations must be coordinated under a single process. Therefore, CM for product lines is more complex than for single systems. The CM of any software system involves four closely related activities: Change Management (ChM), Version Management (VM), Build Management (BM) and Release Management (RM). The aim of this paper is to provide a comprehensive CM model... 

    Model Based Testing in Software Product Line

    , M.Sc. Thesis Sharif University of Technology Zahiri Mehrabadi, Mahdieh (Author) ; Mirian-Hosseinabadi, Hassan (Supervisor)
    Abstract
    Software product line (SPL) engineering offers several advantages such as reduced costs, high quality and less time to market in development of family of software products. The goal of software product line is systematic and effective development of a set of software products which share common and managed set of features. Software product line testing has its special challenges such as scalability and variability, and has significant importance due to the importance of quality in software product line and enormous number of possible products. Most of the popular methods in this domain have shortcomings such as having seam between development and testing processes, limited application scope... 

    An Evolutionary Feature-Oriented Approach For Software Product Line Engineering

    , M.Sc. Thesis Sharif University of Technology Taheri, Naeim (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    In the current decade there has been research works around adopting agile methodologies for software product line engineering. However, the emphasis has been on the process part of the methodology and the main product which is the source code has been neglected.The prevalent modeling and implementation method of software product line is the featureoriented method. The concept of ”Feature-to-code mapping” is introduced in the implementation phase which recently novel approaches have been proposed to realize it.Despite superiority of the novel approaches in this field, prevalent industrial product lines still use C language and map features to code by leveraging traditional preprocessors of C... 

    Configuration Management in Software Product Line

    , Ph.D. Dissertation Sharif University of Technology Darmanaki Farahani, Elham (Author) ; Habibi, Jafar (Supervisor)
    Abstract
    Employing Software Product Lines (SPLs) is an effective strategy for enabling and benefiting from software reuse. This strategy also greatly increases the number and types of artifacts. Managing these artifacts over the lifetime of the product line requires a highly effective Configuration Management (CM) process. This process is more complex for product lines compared to single systems. This is due to the special property of SPLs, in which the CM process must oversee the changes made to all artifacts under its control, especially the Core Assets, since two products may share the same Core Assets, and hence, changing one of them may affect the other. In addition, the CM in SPLs normally... 

    Toward a business model for software product line architecture

    , Article 8th ACIS International Conference on Software Engineering Research, Management and Applications, SERA 2010, 24 May 2010 through 26 May 2010, Montreal, QC ; 2010 , Pages 50-56 ; 9780769540757 (ISBN) Tanhaei, M ; Moaven, S ; Habibi, J ; Ahmadi, H ; Sharif University of Technology
    2010
    Abstract
    Nowadays, software product line is an approach to reduce costs of software development, decrease time to market, and increase capabilities of reuse in designing and exploiting software development processes. Moreover, other quality attributes of the project domain should be considered to enhance quality of the product. Meanwhile, taking advantage of software product line makes developers capable of estimating development costs and time to market in a more realistic way. However, old approaches to estimate cost of development and foresee time to market are not suitable enough for software product line. In this paper, some important business parameters and a way to calculate cost and time to... 

    Tailoring Software Testing Techiques for Product Line Engineering

    , M.Sc. Thesis Sharif University of Technology Rezvan, Abolfazl (Author) ; Mirian-Hosseinabadi, Hassan (Supervisor)
    Abstract
    In industry it is usual to develop a family of similar software instead of a single one. Software product-line (SPL) engineering or family-based software engineering is an approach that tries to minimize needed effort and time-to-market and maximize quality of manufactured products through strategic planning for maximizing reuse among members of the family. On the other hand it is known that testing software is an indivisible part of software development process which requires considerable time and effort. With large number of products created from an SPL, it is obvious that testing should be conducted in such a way that needed effort does not maintain a linear relationship with number of... 

    A Process Model for Software Product line Engineering Based on the Model Driven Architecture

    , M.Sc. Thesis Sharif University of Technology Forghani, Hadi (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Software development process is a base ground for all software activities and ensures all aspects of the software. No quality is guaranteed without a definite process. Model-Driven Software Development process proposes an industrial method for software companies to produce the required software through model(s) and tools. On the other hand, Software Product Line imposes a set of frameworks and principles. As a result a tangible decrement of development time and cost along with an increment of quality is achieved. Mixing both processes creates a stronger industrial process in order to decrease the development time and cost. In this thesis, through a survey on both of the processes and related... 

    An Architecture Description Language for Software Product Line

    , M.Sc. Thesis Sharif University of Technology Tanhaei, Mohammad (Author) ; Habibi, Jafar (Supervisor)
    Abstract
    Software Product Line is known as a process of developing family of the software together. The methods of building a software product line is trying to capture commonality and variety of this family of software and form a product line based on them. Commonality of this family of the software allows us reuse in every aspect of the development of software. Nowadays, software architecture as a one of the most important aspect of software engineering, plays major role in specifying the tasks and clearing the relationship between people. It can divide large and complex system to some sub-system and overcome complexity of the system. Software architecture forms a basis for communication among... 

    Managing Variability of Quality Attributes in Software Product Line

    , M.Sc. Thesis Sharif University of Technology Nassiri Amini, Melissa (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Nowadays Software product line technology receives notable considerations due to great advantages of cutting the costs and time to market, and improvement of the quality of software products. Variability plays a key role in software products line. Quality attributes can be a source of variability in software products line, therefore having an approach to manage them is essential. Quality attributes should be considered in all parts of software development life cycle, started by capturing and modeling in an appropriate way, mentioning in architecture design and being used in final products configurations. In this research at first, the necessity of study of quality attributes in software... 

    Multi-Objective Simulation Optimization and its Application in Buffer Allocation Problem

    , M.Sc. Thesis Sharif University of Technology Marani, Mohammad Reza (Author) ; Mahlooji, Hashem (Supervisor)
    Abstract
    This work attempts to address the buffer allocation problem in an unreliable, linear production line. We try to determine the optimal sizes of buffers between adjacent work stations in such a way that a measure of costs is minimized and the production rate is simultaneously maximized. We resort to simulation optimization in order to determine the best combination of input parameters that leads to a near optimal performance for the system. To achieve this purpose, we employ a multi-objective genetic algorithm (NSGAII) in the optimization phase along with simulation as the tool for evaluating the objective function. To determine the merits of the proposed method, we compare the performance of... 

    A Framework for Refactoring Architecture in Software Product Line

    , Ph.D. Dissertation Sharif University of Technology Tanhaei, Mohammad (Author) ; Habibi, Jafar (Supervisor) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    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 and a reference architecture are usually used to keep track of similarities and differences. Each product of the SPL has their own architecture too. Software Architecture (SA) generally has a considerable influence on software quality attributes. Coordination of software architecture to the requirements of the stakeholders and avoiding common mistakes and faults in designing SA increases the chance of success of the project and satisfaction of the stakeholders. Making the wrong decisions during the architectural design phase usually... 

    Towards an architecture-centric approach for method engineering

    , Article IASTED International Conference on Software Engineering, SE 2008, Innsbruck, 12 February 2008 through 14 February 2008 ; February , 2008 , Pages 74-79 ; 9780889867154 (ISBN) Moaven, S ; Habibi, J ; Ahmadi, H ; Kamandi, A ; Sharif University of Technology
    2008
    Abstract
    Due to the extreme use of method engineering and increasing attention to construct methods customized for a specific project, domain, organization or a generic method compatible with the team characteristics and needs, existence of suitable and formalized frameworks and guidelines is one of the challenges method engineers are encountered. In this area, considering method construction as the goal of method engineering brings to the mind the software development process in which the product is a method adapting the method users' needs. This paper, with a new approach of applying software architecture in method engineering and making use of architecture styles, tries to take advantage of... 

    Development of situational requirements engineering processes: A process factory approach

    , Article Proceedings - International Computer Software and Applications Conference ; 2012 , Pages 279-288 ; 07303157 (ISSN) ; 9780769547367 (ISBN) Jafarinezhad, O ; Ramsin, R ; Sharif University of Technology
    2012
    Abstract
    The Software Product Line (SPL) approach is a paradigm for systematic reuse of software products, and a Software Factory is a SPL aimed at the industrialization of software development. Based on the notion that a software/RE process can be developed via an engineering process (much akin to engineering other types of software), this research aims to provide a feature-based RE process factory to develop RE processes based on the characteristics of the project at hand (project situation). In our approach, the project situation is modeled as the problem domain through using the i* modeling language (resulting in a situation model). A feature model can encapsulate all the features in an SPL;... 

    Towards a process factory for developing situational requirements engineering processes

    , Article Proceedings of the ACM Symposium on Applied Computing, 26 March 2012 through 30 March 2012 ; March , 2012 , Pages 1089-1090 ; 9781450308571 (ISBN) Jafarinezhad, O ; Ramsin, R ; Sharif University of Technology
    2012
    Abstract
    Selecting a suitable Requirements Engineering (RE) process is usually based on personal preferences or existing company practices rather than on the characteristics of the project at hand (project situation). Feature-oriented software development is the overall process of developing software systems in terms of their features. The Software Product Line (SPL) approach is a paradigm for systematic reuse of software products, and a Software Factory is a SPL aimed at the industrialization of software development. Based on the notion that a software/RE process can be developed via an engineering process, this research aims to provide a feature-based RE process factory to develop RE processes...