Session summary: Session on Variation
Wolfgang Eixelsberger, ABB Norway
Variation in engineering disciplines often indicates the amount of change between two products. Two or more products are similar but not equal. The product variation must be handled in an advanced way to ensure effective production and high-quality results. In software engineering the handling of variation has seen increasing attention. Software applications are not longer developed as unique stand-alone products but as parts of product families. The concept of software architecture is an important tool in handling variation of software product families.
Three papers were planned in the session on variation:
- Frank van der Linden (Philips Research): Dealing with software diversity in kinds
- A. Karhinen, A. Ran, T. Tallgren (Nokia Research Center): Configurable Designs
- Hassan Gomaa (George Mason University): Feature-Based Reusable Architectures for Families of Systems
Because Hassan Gomaa was unable to attend the ARES Workshop, Henk Obbink gave an unplanned presentation about recent research work at Philips Research (Alison Saunders, Henk te Sligte and Peter van den Hamer). This work has not been published yet, but plans to do so are underway. The title of the presentation was Visualising Software Architecture in the 4×4 Approach.
Frank van der Lindens presentation started with an explanation of different kinds of variation in Philips products. Since each kind of variation may lead to different kinds of variants the number of possible variation may become huge. Currently diversity is modelled with option bits and compilers. Other mechanism for dealing with variants are not used because of missing support in the programming environment or missing resources. New concepts should therefore be developed as variant components with late binding concepts.
Tapio Tallgren presented the paper about configurable designs. Nokia found that variation is often not handled by designs which leads to serious problems in controlling the evolution of system families. One possible solution is to use overlay designs that provide specific design for each variant without having to consider family variation. The common part is hereby separated as a shared overlay and the different parts are kept as variant overlays. An example was shown using SDL state transition diagrams to depict protocols.
Henk Obbink gave a presentation about the 4×4 model that supports the development of complex designs which are manufactured in multiple product variants. The model is based on a 4×4 matrix which serves as a overall map of key product information. The presentation gave a good example on how to describe variations on the architectural level. The 4×4 model should also simplify communication between product development members and the evaluation of product plans.
The session on variation gave valuable insights in the current state of variation handling in the industry. Examples showed the growing number of possible variations for product families. Widely used variation handling techniques as compiler flags and option bits are not longer sufficient due to the increase in variation. Possible solutions for handling this problem were given such as variant components or configurable designs. One paper focused also on describing variations of the architectural model. More research must be done focusing on handling variation on the architectural level. The session on variation was a good starting point for such activities.