Abstract

Software product-lines are an important technology for meeting the growing demand for highly customized – yet reusable – solutions. Commonality-variability analysis (CVA) is a well-known approach to address the challenges of software product-line development. The goal of CVA is to identify (1) what aspects of a software system are stable across multiple variants or over time, (2) what aspects of a software system vary across multiple variants or over time, and (3) the development techniques that best address specific commonalities and their variabilities, e.g., to allow substitution of custom variable implementations via a common interface. Model-driven development (MDD) provides effective techniques for documenting and conveying the results of a CVA by combining Metamodeling, which defines type systems that precisely express key abstract syntax characteristics and static semantic constraints associated with product-lines for particular application domains, such as software defined radios, avionics mission computing, and inventory tracking. Domain-specific modeling languages (DSMLs), which provide programming notations that are guided by and extend metamodels to formalize the process of specifying product-line structure, behavior, and requirements in a domain. Model transformations and code generators, which ensure the consistency of product-line implementations with analysis information associated with functional and quality of service (QoS) requirements captured by structural and behavioral models. Key advantages of using MDD in conjunction with CVA are (1) rigorously capturing the key roles and responsibilities in a CVA and (2) helping automate repetitive tasks that must be accomplished for each product instance. Often, however, new customer requirements invalidate the results of earlier CVAs, such that a CVA and its derived meta-models, DSMLs, and generators must be modified invasively and intrusively to reflect these new requirements.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.