Session summary : Session on Product Family Experiences
Frank van der Linden, Philips Research
The following papers were presented (presenter is distinguished by an asterisk):
Flavio Bonfatti (Univ. Modena), Gianni Gadda* (DemoCenter), Paola
Daniela Monari (Univ. Modena)
Configurable Software Modules for Families of PLC-based Systems
The paper presented the solutions that were chosen for dealing with variation within PLC (Programmable Logic Controllers) software. Most is done by parameters. They have units (components) ate several levels, simple units may be used to build complex units. It was observed that there are parameters for different purposes. For instance, there are parameters for variation within simple and also for variation within complex units. In the latter case the parameters may govern the internal structure of the complex component. There are different kinds of variation, and they should be treated differently.
Andreas Roesel*, Michael Wilcke (ABB Heidelberg)
Experiences with Architecturing the SGF Application family
An object-oriented framework for reuse was presented. This framework implements a generic architecture. The framework consist of three layers, all residing in the middleware of the system. The lowest layer contains the functionality that is used at many places. The top layer is more application specific. The authors proposed to have separate development cycles at different levels of the system (product vs. project) The idea is to have small middle layers, whereas the lowest layers (below the framework) and the application layers contain more software. These outer layers are used for modelling the diversity. It is effective to use frameworks for middleware, to make the code small. The presenter also mentioned that for dealing with variation configuration and tailoring should be traded against each other. They result in different figures for being cost effective at different times and for the complete development.
The presenter suggested that there are relationships between the use of design patterns, the use of design principles and the resulting product qualities.
Ulf Cederling* (Vaxjo Univ.), Bengt Lennartsson (Linkoping Univ.)
A System Family of Integrated, Distributed Embedded System
Products and its Architecture
This presentation reported about a long-life-time experience of making a product family. The family deals with software to be used within ships, and long development times are usual in this area. The family started originally with two products that have to be developed at the same time. Two messages of this presentation are:
- There is a long learning time before the family architecture is settled.
- The architecture is not the first time right.
During the discussion the following topics were found to be asking for more research:
- What is really a framework?
- How to keep it consistent if you have 2 development cycles?
- How is the flow of control determined in the framework?
- What are the exact relationships between patterns, principles and qualities?
- How to deal with nested relationships between system functions, in the context of variation?
- How to deal with modifying interfaces?
- How to deal with performance requirements?
- How to deal with cultural differences between the customers?
- How to use the family architecture as a basis for future systems, and for the team learning process?