Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Juha Savolainen is active.

Publication


Featured researches published by Juha Savolainen.


software product lines | 2002

Feature Interaction and Dependencies: Modeling Features for Reengineering a Legacy Product Line

Stefan Ferber; Jürgen Haag; Juha Savolainen

Reengineering a legacy product line has been addressed very little by current product line research activities. This paper introduces a method to investigate feature dependencies and interactions, which restricts the variants that can be derived from the legacy product line assets. Reorganizing the product line assets with respect to new requirements requires more knowledge than what is easily provided by the classical feature-modeling approaches. Hence, adding all the feature dependencies and interactions into the feature tree results in unreadable and unmanageable feature models that fail to achieve their original goals.We therefore propose two complementary views to represent the feature model. One view shows the hierarchical refinement of features similar to common feature-modeling approaches in a feature tree. The second view describes what kind of dependencies and interactions there are between various features.We show two examples of feature dependencies and interactions in the context of an engine-control software product line, and we demonstrate how our approach helps to define correct product configurations from product line variants.


international conference on software engineering | 2000

Requirements engineering for product families

Juha Kuusela; Juha Savolainen

In search of improved software quality and high productivity, software reuse has become a key research area. One of the most promising reuse approaches is product families. However, current practices in requirements engineering do not support product families. The paper describes a definition hierarchy method for requirements capturing, structuring, analysis and documentation. This method helps to identify architectural drivers of the product family and shows how different products in the family vary.


requirements engineering | 2010

Transition to Agile Development - Rediscovery of Important Requirements Engineering Practices

Juha Savolainen; Juha Kuusela; Asko Vilavaara

Many organizations have started to use agile development processes to speed up the development cycle and to improve the ability of the company in reacting to changing requirements. Adopting agile practices may happen as a revolution where all old practices are removed or as a more gradual process. In this paper, we discuss lessons learnt in two agile transition processes. Based on our experience, agile processes can be used in embedded software development for products. The challenges include the varying size of user requirements, the role of system requirements, and architecturally significant requirements. It is difficult for large organizations to be agile. Work allocation for a large number of different teams with different competencies tends to decrease speed, and increase the role of design and management. We conclude that agile development in this context needs very skilled developers and has to be a combination of new and old practices.


computer software and applications conference | 2009

Viewpoint-Oriented Variability Modeling

Mike Mannion; Juha Savolainen; Timo Asikainen

Software product lines have emerged as the main method achieving reuse. Traditionally, a product line has a single feature model shared by all the products. For large and evolving product lines with numerous stakeholders, the feature model becomes increasingly complex and hard to manage. Having just one large feature model with all allowed variability makes understanding the reasons for variability very difficult. This may lead to reluctance of changing feature variability and removing unnecessary variability rules from the model. In this paper, we propose a method to use viewpoints for capturing the needs of all stakeholders without resorting to a one large feature model. Different viewpoints can be combined to gain insight to the product line and to derive products. The method supports current industrial practices.


symposium on software reusability | 2001

Violatility analysis framework for product lines

Juha Savolainen; Juha Kuusela

Evolution of a software intensive system is unavoidable. In fact, evolution can be seen as a part of reuse process. During the evolution of the software asset, the major part of the system functionality is normally reused. So the key issue is to identify the volatile parts of the domain requirements. Additionally, there is promise that tailored tool support may help supporting evolution in software intensive systems. In this paper, we describe the volatility analysis method for product lines. This highly practical method has been used in multiple domains and is able to express and estimate common types of evolutional characteristics. The method is able to represent volatility in multiple levels and has capacity to tie the volatility estimation to one product line member specification. We also briefly describe current tool support for the method. The main contribution of this paper is a volatility analysis framework that can be used to describe how requirements are estimated to evolve in the future. The method is based on the definition hierarchy framework.


ieee international conference on requirements engineering | 2007

Requirements Engineering as a Driver for Innovations

Marjo Kauppinen; Juha Savolainen; Tomi Männistö

Under todays fiercely competitive conditions, companies are seeking new means to develop innovative products that satisfy customer and user needs. In order to understand how requirements engineering (RE) can support innovations, we observed RE activities in six Finnish companies. Our observations indicate that RE can play a vital role in the development of innovative products. We identified three main opportunities for innovations: 1) discovering hidden customer and user needs, 2) inventing new product features that satisfy these needs, and 3) supporting feature development with an innovative technical solution. Based on our observations, as well as on existing innovation and business-management literature, we have concluded that RE research can gain significant results by investigating how to discover and model hidden customer and user needs. We believe that this would allow RE to much better support those innovation practices that provide real competitive advantage.


Requirements Engineering | 2001

Consistency management of product line requirements

Juha Savolainen; Juha Kuusela

Contemporary software engineering utilizes product lines for reducing time to market and development cost of a single product variant, for improving quality of the products, and for creating better estimations of the development process. Most product line development processes rely on performing a domain analysis to find out commonalities among proposed family members and to estimate how they will vary. On the other hand, most requirements engineering methods focus on the specification of a single system. Despite active research efforts to close this, gap there is still no effective method that allows product specifications in arbitrary levels of detail for a hierarchical product family. In particular, it is not possible to combine different specification mechanisms to produce a complete family specification. The authors approach these problems by presenting a method that allows system specifications both in the product line variant as well as the product family level. This exposes many problems in managing consistency between different methods to specify families of systems. To achieve this, our method offers derivation of consistency management support between different specification levels and among family variants.


computer software and applications conference | 2010

Variability Modeling for Product Line Viewpoints Integration

Nan Niu; Juha Savolainen; Yijun Yu

Modern software product line development uses viewpoints to capture the needs of various stakeholders without resorting to a single complex model. Comparing and integrating different viewpoints help to gain insights into the product line and to derive products. Recent research has proposed conflict resolution rules for handling variability in the integration process. However, one benefit viewpoints bring is to tolerate inconsistency until the rationales about variability are better understood. In this paper, we propose a method for modeling variability when product line viewpoints are consolidated. Our method takes advantage of a lattice ordering to support late binding of variability and stakeholder traceability. We apply our method to viewpoints derived from the mobile phone domain, and show how delayed commitment can support product line evolution and product derivation.


computer software and applications conference | 2005

Transitioning from product line requirements to product line architecture

Juha Savolainen; Ian Oliver; Mike Mannion; Hailang Zuo

Software product line development is a compromise between customer requirements, existing product line architectural constraints and commercial needs. Managing variability is the key to a successful product line development. Product line models of requirements and features can be constructed that contain variation points. New products can be driven by making requirement selections from a product line model of requirements but as the product line evolves selections are constrained by the design of the existing product line architecture and the cost of making these changes. We present a set of rules that map the selection constraint values of requirements to the selection constraint values of features which in turn map on to the selection constraint values of architectural assets. We illustrate the application of the rules using a worked example.


software product lines | 2013

Variability evolution and erosion in industrial product lines: a case study

Bo Zhang; Martin Becker; Thomas Patzke; Krzysztof Sierszecki; Juha Savolainen

Successful software products evolve continuously to meet the changing stakeholder requirements. For software product lines, modifying variability is an additional challenge that must be carefully tackled during the evolution of the product line. This bears considerable challenges for industry as understanding on how variability realizations advance over time is not trivial. Moreover, it may lead to an erosion of variability, which needs an investigation of techniques on how to identify the variability erosion in practice, especially in the source code. To address various erosion symptoms, we have investigated the evolution of a large-scale industrial product line over a period of four years. Along improvement goals, we have researched a set of appropriate metrics and measurement approaches in a goal-oriented way, applied them in this case study with tool support, and interpreted the results including identified erosion symptoms.

Collaboration


Dive into the Juha Savolainen's collaboration.

Top Co-Authors

Avatar

Nan Niu

Glasgow Caledonian University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Varvana Myllärniemi

Glasgow Caledonian University

View shared research outputs
Researchain Logo
Decentralizing Knowledge