A code tagging approach to software product line development

Heymans, Patrick; Boucher, Quentin; Classen, Andreas; Bourdoux, Arnaud; Demonceau, Laurent
October 2012
International Journal on Software Tools for Technology Transfer;Oct2012, Vol. 14 Issue 5, p553
Academic Journal
Software product line engineering seeks to systematise reuse when developing families of similar software systems so as to minimise development time, cost and defects. To realise variability at the code level, product line methods classically advocate usage of inheritance, components, frameworks, aspects or generative techniques. However, these might require unaffordable paradigm shifts for developers if the software was not thought at the outset as a product line. Furthermore, these techniques can be conflicting with a company's coding practices or external regulations. These concerns were the motivation for the industry-university collaboration described in this paper in which we developed a minimally intrusive coding technique based on tags. The approach was complemented with traceability from code to feature diagrams which were exploited for automated configuration. It is supported by a toolchain and is now in use in the partner company for the development of flight-grade satellite communication software libraries.


Related Articles

  • Model checking software product lines with SNIP. Classen, Andreas; Cordy, Maxime; Heymans, Patrick; Legay, Axel; Schobbens, Pierre-Yves // International Journal on Software Tools for Technology Transfer;Oct2012, Vol. 14 Issue 5, p589 

    We present SNIP, an efficient model checker for software product lines (SPLs). Variability in software product lines is generally expressed in terms of features, and the number of potential products is exponential in the number of features. Whereas classical model checkers are only capable of...

  • Visualization of variability and configuration options. Pleuss, Andreas; Botterweck, Goetz // International Journal on Software Tools for Technology Transfer;Oct2012, Vol. 14 Issue 5, p497 

    When designing, constructing, and maintaining diverse and variable software systems, a key challenge is the complexity of systems. A potential approach to tackle this challenge are techniques from variability management and product line engineering to handle the diversity and variability. A key...

  • The ABS tool suite: modelling, executing and analysing distributed adaptable object-oriented systems. Wong, Peter; Albert, Elvira; Muschevici, Radu; Proença, José; Schäfer, Jan; Schlatte, Rudolf // International Journal on Software Tools for Technology Transfer;Oct2012, Vol. 14 Issue 5, p567 

    Modern software systems must support a high degree of variability to accommodate a wide range of requirements and operating conditions. This paper introduces the Abstract Behavioural Specification (ABS) language and tool suite, a comprehensive platform for developing and analysing highly...

  • Modeling Product Line Software Assets Using Domain-Specific Kits. Altintas, N. Ilker; Cetin, Semih; Dogru, Ali H.; Oguztuzun, Halit // IEEE Transactions on Software Engineering;Nov2012, Vol. 38 Issue 6, p1376 

    Software Product Line Engineering (SPLE) is a prominent paradigm for the assembly of a family of products using product line core assets. The modeling of software assets that together form the actual products is critical for achieving the strategic benefits of Software Product Lines (SPLs). We...

  • Design of the management system of university projects based on UML sequence diagram. Yali Su // Indian Journal of Science & Technology;Aug2010, Vol. 3 Issue 8, p928 

    Analysis and design of the management system of university projects is based on UML sequence diagram. It is user-centric. It describes the object from the dynamic point of view and illustrates the interaction process of the objects with the time change. This design can support all intermediate...

  • A constraint-based variability modeling framework. Jörges, Sven; Lamprecht, Anna-Lena; Margaria, Tiziana; Schaefer, Ina; Steffen, Bernhard // International Journal on Software Tools for Technology Transfer;Oct2012, Vol. 14 Issue 5, p511 

    Constraint-based variability modeling is a flexible, declarative approach to managing solution-space variability. Product variants are defined in a top-down manner by successively restricting the admissible combinations of product artifacts until a specific product variant is determined. In this...

  • Facilitating the evolution of products in product line engineering by capturing and replaying configuration decisions. Heider, Wolfgang; Rabiser, Rick; Grünbacher, Paul // International Journal on Software Tools for Technology Transfer;Oct2012, Vol. 14 Issue 5, p613 

    Software product lines rely on developing reusable artifacts and defining their variability in models to support and accelerate the derivation of individual products. A major challenge in product lines is the continuous evolution of both the reusable artifacts and derived products. Products that...

  • Impact of CMMI Based Software Process Maturity on COCOMO II's Effort Estimation. Al Yahya, Majed; Ahmad, Rodina; Lee, Sai // International Arab Journal of Information Technology (IAJIT);Apr2010, Vol. 7 Issue 2, p129 

    The software capability maturity model has become a popular model for enhancing software development processes with the goal of developing high-quality software within budget and schedule. The software cost estimation model, constructive cost model, in its last update (constructive cost model...

  • Quality-Oriented Software Product Line Architecture Design. Lei Tan; Yuqing Lin; Huilin Ye // Journal of Software Engineering & Applications;Jul2012, Vol. 5 Issue 7, p472 

    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...


Read the Article


Sign out of this library

Other Topics