Anil Kumar Thurimella
Siemens
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Anil Kumar Thurimella.
ieee international conference on requirements engineering | 2007
Anil Kumar Thurimella; Bernd Bruegge
Product line evolution is one of the burning issues in product line requirements engineering. It is more complicated than single system requirements engineering because of the conflicting requirements across the product lines, the effect of evolution on the reuse and customization, and the global distribution of product line organizations. As product lines are long-term investments, handling their evolution is critical. This paper proposes a new technique called rationale-based product line evolution. It is based on the Questions, Options and Criteria model and a modified version of EasyWinWin. The technique allows the evaluation of change requests in product line requirements based on the informal collaboration of stakeholders, capturing the forces that cause evolution and using them for the justification of change requests. The technique has been implemented in the Sysiphus tool and was validated using empirical evaluation.
Information & Software Technology | 2012
Anil Kumar Thurimella; Bernd Bruegge
Context: Variability management is a key activity in software product line engineering. This paper focuses on managing rationale information during the decision-making activities that arise during variability management. By decision-making we refer to systematic problem solving by considering and evaluating various alternatives. Rationale management is a branch of science that enables decision-making based on the argumentation of stakeholders while capturing the reasons and justifications behind these decisions. Objective: Decision-making should be supported to identify variability in domain engineering and to resolve variation points in application engineering. We capture the rationale behind variability management decisions. The captured rationale information is useful to evaluate future changes of variability models as well as to handle future instantiations of variation points. We claim that maintaining rationale will enhance the longevity of variability models. Furthermore, decisions should be performed using a formal communication between domain engineering and application engineering. Method: We initiate the novel area of issue-based variability management (IVM) by extending variability management with rationale management. The key contributions of this paper are: (i) an issue-based variability management methodology (IVMM), which combines questions, options and criteria (QOC) and a specific variability approach; (ii) a meta-model for IVMM and a process for variability management and (iii) a tool for the methodology, which was developed by extending an open source rationale management tool. Results: Rationale approaches (e.g. questions, options and criteria) guide distributed stakeholders when selecting choices for instantiating variation points. Similarly, rationale approaches also aid the elicitation of variability and the evaluation of changes. The rationale captured within the decision-making process can be reused to perform future decisions on variability. Conclusion: IVMM was evaluated comparatively based on an experimental survey, which provided evidence that IVMM is more effective than a variability modeling approach that does not use issues.
Journal of Systems and Software | 2013
Anil Kumar Thurimella; Bernd Brügge
Background: Variability management is the fundamental part of software product line engineering, which deals with customization and reuse of artifacts for developing a family of systems. Rationale approaches structure decision-making by managing the tacit-knowledge behind decisions. This paper reports a quasi-experiment for evaluating a rationale enriched collaborative variability management methodology called issue-based variability modeling. Objective: We studied the interaction of stakeholders with issue-based modeling to evaluate its applicability in requirements engineering teams. Furthermore, we evaluated the reuse of rationale while instantiating and changing variability. Approach: We enriched a quasi-experimental design with a variety of methods found in case study research. A sample of 258 students was employed with data collection and analysis based on a mix of qualitative and quantitative methods. Our study was performed in two phases: the first phase focused on variability identification and instantiation, while the second phase included tasks on variability evolution. Results: We obtained strong empirical evidence on reuse patterns for rationale during instantiation and evolution of variability. The tabular representations used by rationale modeling are learnable and usable in teams of diverse backgrounds.
variability modelling of software intensive systems | 2013
Mathias Schubanz; Andreas Pleuss; Ligaj Pradhan; Goetz Botterweck; Anil Kumar Thurimella
In order to increase the level of efficiency and automation, we propose a conceptual model and corresponding tool support to plan and manage the systematic evolution of software-intensive systems, in particular software product lines (SPL). We support planning on a high abstraction level using decision-making concepts like goals, options, criteria, and rationale. We extend earlier work by broadening the scope in two dimensions: 1) in time, supporting continuous planning over long periods of time and many releases, and 2) in space, supporting traces from high-level decisions down to the implementation. We present a metamodel which allows to represent these concepts, corresponding prototypical tool support, and a first example case using data extracted from an open-source project, Eclipse SWT.
software product lines | 2012
Anil Kumar Thurimella; Srini Ramaswamy
Traditional requirements engineering involves analyzing tradeoffs between available alternatives. In the context of Software Product Lines (SPLs) application engineers have to instantiate variability by evaluating a set of options available from the platform. In this position paper, we propose the adoption of multi-criteria decision-making for instantiating a variability model in application requirements engineering amenable to the adoption of a Product Lines approach.
IEEE Systems Journal | 2017
Anil Kumar Thurimella; Bernd Bruegge; Dirk Janzen
Product line engineering is a promising discipline for developing a family of systems based on a reusable asset base by systematically managing variability. Requirements tools that deal with variability are a key in the development of product lines. Because of the weak tool support to reuse system requirements and heterogeneity in the representations and processes, we identify a need for guidance and empirical evidence in order to extend a requirements tool with variability. We believe that existing requirement tools can be reused for product line requirements engineering (RE) by adding plug-ins. In this paper, we report a retrospective multiple case study with two diverse cases on developing and deploying variability plug-ins. Our study is based on the theory building process from social sciences and organizational theory. We show how our results can be used by practitioners to extend an RE tool with minimal implementation effort to manage variability.
software product lines | 2014
Roberto E. Lopez-Herrejon; Tewfik Ziadi; Jabier Martinez; Anil Kumar Thurimella; Mathieu Acher
Variability management of a product family is the core aspect of Software Product Line Engineering. The adoption of this mature approach requires a high upfront investment before being able to automatically generate product instances based on customer requirements. However, this adoption costs and risks could be reduced with an incremental approach, which mines existing assets and then transitions to full product line engineering. Those existing assets can be for instance similar product variants that were implemented using ad-hoc reuse techniques such as clone-and-own. Bottom-up approaches to automatically extract variability management related artifacts could be proposed, applied, validated and improved in this domain therefore the REVE workshop aims to fill the gap between the Reengineering and Software Product Line Engineering communities.
3rd International workshop on Reverse Variability Engineering, REVE 2015 | 2014
Roberto E. Lopez-Herrejon; Tewfik Ziadi; Jabier Martinez; Anil Kumar Thurimella; Mathieu Acher
Variability management of a product family is the core aspect of Software Product Line Engineering. The adoption of this mature approach requires a high upfront investment before being able to automatically generate product instances based on customer requirements. However, this adoption costs and risks could be reduced with an incremental approach, which mines existing assets and then transitions to full product line engineering. Those existing assets can be for instance similar product variants that were implemented using ad-hoc reuse techniques such as clone-and-own. Hence, there is a great need of bottom-up approaches that extract variability from the artifacts (across all the life cycle) of the legacy product variants and manage the consolidated variability. The REVE workshop series aims to bring together the Reengineering and Software Product Line Engineering communities to address this gap.
software product lines | 2012
Jabier Martinez; Anil Kumar Thurimella
Companies that develop similar software systems often transition from single-system development to software product line development. In this transition, reusable assets are identified and incrementally created over a period of time. Bottom-up Software Product Line Engineering approaches aid stakeholders to identify variability from the legacy artifacts. One of these artifacts is the legacy source code. In this paper, we contribute the Collaboration and Source Code Driven Bottom-up approach, with two main enhancements. We apply clone detection and architecture reengineering techniques for identifying variability from the legacy artifacts. These techniques which have been traditionally used for maintaining software are now used for identifying variability and analyze code coupling and cohesion from the legacy code. Our second enhancement is improving stakeholder collaboration by guiding the domain experts in order to decide on variability. In particular, we apply Questions, Options and Criteria technique for capturing rationale and supporting collaboration.
Economics-Driven Software Architecture | 2014
Anil Kumar Thurimella; T. Maruthi Padmaja
Software product line engineering (SPLE) supports the development of a family of systems by reusing core assets as much as possible. In general, reuse is not achieved without investments. Practicing SPLE requires significant initial investments for creating and organizing assets. Therefore, making a strong economic case for adopting SPLE is critical for companies before selecting their product line approaches. Furthermore, architecting should also use the considerations from the economic case because architecture is the core of SPLE-based product development. This chapter reports relevant economic models and value-based approaches that are related to product lines. We discuss these models and approaches for industrial needs with a focus on software architecture. Based on this discussion, we present conclusions on several open issues on product line architecture and software economics. We use examples to demonstrate the key concepts and open issues.