124,847 research outputs found

    Requirements engineering in software product line engineering

    Full text link
    The final publication is available at Springer via http://dx.doi.org/10.1007/s00766-013-0189-0Many attempts have been made to increase the productivity and quality of software products based on software reuse. Software product line practice is one such approach, one that focuses on developing a family of products which have a majority of features in common. Hence, there are numerous requirements that are common across the family, but others are unique to individual products. Traditional requirements engineering methods were conceived to deal with single product requirements and are usually not flexible enough to address the needs arising from reusing requirements for a family of products. There is also the additional burden of correctly identifying and engineering both product-line-wide requirements and product-specific requirements as well as evolving them. Therefore, in this special issue, we want to highlight the importance and the role of requirements engineering for product line development as well as to provide insights into the state of the art in the field.Insfrán Pelozo, CE.; Chastek, G.; Donohoe, P.; Sampaio Do Prado Leite, JC. (2014). Requirements engineering in software product line engineering. Requirements Engineering. 19(4):331-332. doi:10.1007/s00766-013-0189-0S331332194Clements P, Northrop LM (2001) Software product lines: practices and patterns. Addison-Wesley, BostonDerakhshanmanesh M, Fox J, Ebert J (2012) Adopting feature-centric reuse of requirements assets: an industrial experience report. First international workshop on requirements engineering practices on software product line engineering, Salvador, BrazilKuloor C, Eberlein A (2002) Requirements engineering for software product lines, proceedings of the 15th international conference on software and systems engineering and their applications (ICSSEA’02), Paris, FranceNorthrop LM, Clements P (2013) A framework for software product line practice. Software engineering institute. http://www.sei.cmu.edu/productlines/tools/framework/index.cfm . Accessed 22 July 2013Yu Y, Lapouchnian A, Liaskos S, Mylopoulos J, Leite JCSP (2008) From Goals to High-Variability Software Design. Foundations of Intelligent Systems, 17th International Symposium Proceedings. ISMIS 2008. Springer Lecture Notes in Computer Science, 4994: 1–1

    Integration of Quality Attributes in Software Product Line Development

    Full text link
    Different approaches for building modern software systems in complex and open environments have been proposed in the last few years. Some efforts try to apply Software Product Line (SPL) approach to take advantage of the massive reuse for producing software systems that share a common set of features. In general quality assurance is a crucial activity for success in software industry, but it is even more important when talking about Software Product Lines since the intensive reuse of assets makes the quality attributes (a measurable physical or abstract property of an entity) of the assets to be transmitted to the whole SPL scope. However, despite the importance that quality has in software product line development, most of the methodologies being applied in Software Product Line Development focus only on managing the commonalities and variability within the product line and not giving support to the non--¿ functional requirements that the products must fit. The main goal of this master final work is to introduce quality attributes in early stages of software product line development processes by means of the definition of a production plan that, on one hand, integrates quality as an additional view for describing the extension of the software product line and, on the other hand introduces the quality attributes as a decision factor during product configuration and when selecting among design alternatives. Our approach has been defined following the Model--¿ Driven Software Development paradigm. Therefore all the software artifacts defined had its correspondent metamodels and the processes defined rely on automated model transformations. Finally in order to illustrate the feasibility of the approach we have integrated the quality view in an SPL example in the context of safety critical embedded systems on the automotive domain.González Huerta, J. (2011). Integration of Quality Attributes in Software Product Line Development. http://hdl.handle.net/10251/15835Archivo delegad

    A Software Product Line Approach to Ontology-based Recommendations in E-Tourism Systems

    Get PDF
    This study tackles two concerns of developers of Tourism Information Systems (TIS). First is the need for more dependable recommendation services due to the intangible nature of the tourism product where it is impossible for customers to physically evaluate the services on offer prior to practical experience. Second is the need to manage dynamic user requirements in tourism due to the advent of new technologies such as the semantic web and mobile computing such that etourism systems (TIS) can evolve proactively with emerging user needs at minimal time and development cost without performance tradeoffs. However, TIS have very predictable characteristics and are functionally identical in most cases with minimal variations which make them attractive for software product line development. The Software Product Line Engineering (SPLE) paradigm enables the strategic and systematic reuse of common core assets in the development of a family of software products that share some degree of commonality in order to realise a significant improvement in the cost and time of development. Hence, this thesis introduces a novel and systematic approach, called Product Line for Ontology-based Tourism Recommendation (PLONTOREC), a special approach focusing on the creation of variants of TIS products within a product line. PLONTOREC tackles the aforementioned problems in an engineering-like way by hybridizing concepts from ontology engineering and software product line engineering. The approach is a systematic process model consisting of product line management, ontology engineering, domain engineering, and application engineering. The unique feature of PLONTOREC is that it allows common TIS product requirements to be defined, commonalities and differences of content in TIS product variants to be planned and limited in advance using a conceptual model, and variant TIS products to be created according to a construction specification. We demonstrated the novelty in this approach using a case study of product line development of e-tourism systems for three countries in the West-African Region of Africa

    Reuse and Interoperability of Avionics for Space Systems

    Get PDF
    The space environment presents unique challenges for avionics. Launch survivability, thermal management, radiation protection, and other factors are important for successful space designs. Many existing avionics designs use custom hardware and software to meet the requirements of space systems. Although some space vendors have moved more towards a standard product line approach to avionics, the space industry still lacks similar standards and common practices for avionics development. This lack of commonality manifests itself in limited reuse and a lack of interoperability. To address NASA s need for interoperable avionics that facilitate reuse, several hardware and software approaches are discussed. Experiences with existing space boards and the application of terrestrial standards is outlined. Enhancements and extensions to these standards are considered. A modular stack-based approach to space avionics is presented. Software and reconfigurable logic cores are considered for extending interoperability and reuse. Finally, some of the issues associated with the design of reusable interoperable avionics are discussed

    Applying Product Line Approach for a Control System Family

    Get PDF
    This thesis was done for Metso Corporation as a part of RESPO project. RESPO is one of the ten projects in EFFIMA (Energy and Life Cycle Efficient Machines) research program. EFFIMA belongs to FIMECC’s (Finnish Metals and Engineering Competence Cluster) Intelligent Solutions (IS) strategic research theme. The purpose of task 2 in RESPO is to develop models and design principles into the development of software architecture. The goal of this thesis is to study the possibilities of applying software product line approach to rock crushing control system family. Several software-related problems have been recognized with the control system family. These include the long lifecycles and heterogeneity in the family. Another challenge is to manage variations in the family. The uncontrolled variations and heterogeneity prevent the effective reuse and increase the amount of extra work throughout the product lifecycle. The product line approach is applied to find solutions to the problems presented before. The approach in this thesis concentrates in the early development phase of the product line that includes addressing business, organizational, process and technological aspects. The variations in the current product family are modelled by scoping the requirements and the properties of control systems. The scoping is used to provide an understanding of the development trend in the business segment and thus to estimate future requirements. It is also used to provide better means for variation management in the product family. The scoping process and the variation modelling are used to create preliminary modernized product line architecture for next generation control systems. Less development and maintenance costs, shorter time-to-market, less errors, increased expandability, strategic reuse and easier product management are key incentives for the new architecture approach. To achieve these, the organization and its processes must be adapted and committed to the product line concept. In order to gain full benefits from the approach, the strengths and the weaknesses of both architecture and the product line itself need to be evaluated

    Applying Product Line Approach for a Control System Family

    Get PDF
    This thesis was done for Metso Corporation as a part of RESPO project. RESPO is one of the ten projects in EFFIMA (Energy and Life Cycle Efficient Machines) research program. EFFIMA belongs to FIMECC’s (Finnish Metals and Engineering Competence Cluster) Intelligent Solutions (IS) strategic research theme. The purpose of task 2 in RESPO is to develop models and design principles into the development of software architecture. The goal of this thesis is to study the possibilities of applying software product line approach to rock crushing control system family. Several software-related problems have been recognized with the control system family. These include the long lifecycles and heterogeneity in the family. Another challenge is to manage variations in the family. The uncontrolled variations and heterogeneity prevent the effective reuse and increase the amount of extra work throughout the product lifecycle. The product line approach is applied to find solutions to the problems presented before. The approach in this thesis concentrates in the early development phase of the product line that includes addressing business, organizational, process and technological aspects. The variations in the current product family are modelled by scoping the requirements and the properties of control systems. The scoping is used to provide an understanding of the development trend in the business segment and thus to estimate future requirements. It is also used to provide better means for variation management in the product family. The scoping process and the variation modelling are used to create preliminary modernized product line architecture for next generation control systems. Less development and maintenance costs, shorter time-to-market, less errors, increased expandability, strategic reuse and easier product management are key incentives for the new architecture approach. To achieve these, the organization and its processes must be adapted and committed to the product line concept. In order to gain full benefits from the approach, the strengths and the weaknesses of both architecture and the product line itself need to be evaluated

    Cost and Benefit of Embedded Feature Annotation: A Case Study

    Get PDF
    In software industry, organizations often need to develop a set of similar software-intensive systems in order to satisfy different requirements of customers. In the literature, it has been traditionally recommended that organizations adopt Product Line Engineering-- an approach that uses a set of shared assets to derive the variants. However, in reality, organizations usually develop multiple variants using the clone-and-own approach, in which a new product is developed by cloning and modifying the assets of an existing product. Although the clone-and-own approach has several advantages, it can easily lead to inconsistencies and hardness to manage product portfolios. In both the clone-and-own and the product line engineering context, the concept of feature can be used to characterize different variants. A feature is a function unit of a software product which provides a user-observable behavior and a unit of reuse. In the clone-and-own approach, there are two key challenges when doing cloning: reuse and consistency. For both of these activities, knowing the location of features is essential. In this thesis, we propose a lightweight approach for recording and maintaining feature models and mappings between features and software assets. We evaluated this approach in a case study, by applying it retroactively to an existing set of cloned projects in a way which simulated the actual development as if the approach had been used originally. Preliminary results showed that the extra cost of creating and maintaining a feature model and feature mapping information is negligible compared to the software development cost, and the benefit of it can justify the investment provided certain amount of reuse and consistency management is required

    Variability management in safety‐critical systems design and dependability analysis

    Get PDF
    Safety-critical systems are of paramount importance for many application domains, where safety properties are a key driver to engineer critical aspects and avoid system failures. For the benefits of large-scale reuse, software product lines (SPL) have been adopted in critical systems industry. However, the integration of safety analysis in the SPL development process is nontrivial. Also, the different usage contexts of safety-critical systems complicates component fault modeling tasks and the identification of potential hazards. In this light, better methods become necessary to estimate the impact of dependability properties during Hazard Analysis and Risk Assessment. Existing methods incorporating the analysis of safety properties in SPL are limited as they do not include hazard analysis and component fault modeling. In this paper, we present the novel DEPendable Software Product Line Engineering (DEPendable-SPLE) approach, which extends traditional SPL processes to support the reuse of safety assets. We also present a detailed analysis of the impact of product and context features on the SPL design, safety analysis, and safety requirements. We applied DEPendable-SPLE to a realistic case study from the aerospace domain to illustrate how to model and reuse safety properties. DEPendable-SPLE reduced the effort of safety analysis for certifying system variants

    Industrialising Software Development in Systems Integration

    No full text
    Compared to other disciplines, software engineering as of today is still dependent on craftsmanship of highly-skilled workers. However, with constantly increasing complexity and efforts, existing software engineering approaches appear more and more inefficient. A paradigm shift towards industrial production methods seems inevitable. Recent advances in academia and practice have lead to the availability of industrial key principles in software development as well. Specialization is represented in software product lines, standardization and systematic reuse are available with component-based development, and automation has become accessible through model-driven engineering. While each of the above is well researched in theory, only few cases of successful implementation in the industry are known. This becomes even more evident in specialized areas of software engineering such as systems integration. Today’s IT systems need to quickly adapt to new business requirements due to mergers and acquisitions and cooperations between enterprises. This certainly leads to integration efforts, i.e. joining different subsystems into a cohesive whole in order to provide new functionality. In such an environment. the application of industrial methods for software development seems even more important. Unfortunately, software development in this field is a highly complex and heterogeneous undertaking, as IT environments differ from customer to customer. In such settings, existing industrialization concepts would never break even due to one-time projects and thus insufficient economies of scale and scope. This present thesis, therefore, describes a novel approach for a more efficient implementation of prior key principles while considering the characteristics of software development for systems integration. After identifying the characteristics of the field and their affects on currently-known industrialization concepts, an organizational model for industrialized systems integration has thus been developed. It takes software product lines and adapts them in a way feasible for a systems integrator active in several business domains. The result is a three-tiered model consolidating recurring activities and reducing the efforts for individual product lines. For the implementation of component-based development, the present thesis assesses current component approaches and applies an integration metamodel to the most suitable one. This ensures a common understanding of systems integration across different product lines and thus alleviates component reuse, even across product line boundaries. The approach is furthermore aligned with the organizational model to depict in which way component-based development may be applied in industrialized systems integration. Automating software development in systems integration with model-driven engineering was found to be insufficient in its current state. The reason herefore lies in insufficient tool chains and a lack of modelling standards. As an alternative, an XML-based configuration of products within a software product line has been developed. It models a product line and its products with the help of a domain-specific language and utilizes stylesheet transformations to generate compliable artefacts. The approach has been tested for its feasibility within an exemplarily implementation following a real-world scenario. As not all aspects of industrialized systems integration could be simulated in a laboratory environment, the concept was furthermore validated during several expert interviews with industry representatives. Here, it was also possible to assess cultural and economic aspects. The thesis concludes with a detailed summary of the contributions to the field and suggests further areas of research in the context of industrialized systems integration
    corecore