Presentation is loading. Please wait.

Presentation is loading. Please wait.

Page 1 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Chapter 11 Components in Product Line Architectures.

Similar presentations


Presentation on theme: "Page 1 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Chapter 11 Components in Product Line Architectures."— Presentation transcript:

1 Page 1 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Chapter 11 Components in Product Line Architectures

2 Page 2 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Overview qDeveloping a Single Product qComponent Markets qProduct Families and Product Lines qProduct Populations qComponent Approaches qFrameworks as Components

3 Page 3 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Global Software Component Market qWill it solve all our reuse problems? l Far from a global component market. l Intra-organizational reuse of core software indispensable. ”The traditional techniques for reuse of software are still sufficient for small product families, but for larger product populations the best elements of single product development and third party component markets are required.”

4 Page 4 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Basic arguments for software product lines Size & Complexity Quality Lead Time Reduction Architecture ReuseComponents Product Lines Diversity

5 Page 5 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Developing a Single Product q Starting from the requirements, we define an architecture. q The architecture decomposes the system into subsystems and components. q We build and test the components, then the subsystems, and finally the product.

6 Page 6 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Product Lines Single Product top-down planned developed intra – organization Product Family top-down planned developed intra – organization Product Population partially bottom-up planned / opportunistic developed / available intra – organization Component Markets bottom-up opportunistic available inter – organization Characteristics of Product Lines

7 Page 7 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Component Markets qBuilding systems from existing components, obtained from third parties often has the following characteristics: l It is a bottom-up activity (no global architecture defined). l Use of components is opportunistic (use whatever is available). l The component software is available when starting the project. l It results in inter-organizational reuse.

8 Page 8 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Difficulties in Component Markets qArchitecture l Mismatch l Less efficient system qScale l Reusability l Usefulness qResources l Excess

9 Page 9 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Product Software Categorization: qCore l Few other companies are able to produce such software l Sharing is not an option qKey l Can be obtained from others qBase l Can be and is obtained from others

10 Page 10 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Product Families and Product Lines q Product family : l Is a set of products with many commonalties and few differences. l Is intra-organizational. qProduct Line: l Is a top-down, planned, proactive approach to achieve reuse of software within a family (or population, see the next section) of products.

11 Page 11 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Fixed Generic Architectures q The use of fixed generic architectures with variation points: l Involve creation of a platform first, from which products can be derived. l Are a sound basis for realizing the functional and non- functional properties. l Can be difficult to forecast the requirements of future products. l Can be difficult to agree upon a single architecture in a large multi business-line organization.

12 Page 12 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Definitions qProduct Family: l Is a set of products with many commonalities and few differences. qProduct Populations: l Is a set of products with many commonalities but also many differences.

13 Page 13 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Consequences qDevelopment within product populations will cross business lines, groups or division boundaries. l Common architectural rules. l Planning.

14 Page 14 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Component Approaches qTwo dimensions for reuse: l Variability l Independence

15 Page 15 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Plug-ins Component Frameworks Inheritance OO Frameworks Frameworks as Components Parameterized Koala ‘As is’ Libraries Lego Reusable Composable Independence Variability Variability Versus Independence

16 Page 16 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Libraries qThe classical techique for organizing reusable software l Mathematical l Graphical qLibrary-independent interface qLibraries dependent on libraries

17 Page 17 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Object Oriented Frameworks qA set of classes from which to create an application qInheritance allows to abstract from specific behaviour l Danger: derived classes are very dependent l Fragile base class problem

18 Page 18 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Component Frameworks qBenifits: l Components can be plugged to specialize the behavior. l Resembles OO frameworks. l Specifies interfaces between plug-ins and underlying framework – reduces dependencies. qDownsides: l Plug-ins cannot be independently deployed. l Framework often not composable itself.

19 Page 19 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Frameworks As Components qPowerful parameterization mechanism qThe ultimate solution for variability and independence qThe basic mechanism for achieving composability is to make every context dependency explicit and bindable by a third party.

20 Page 20 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Variant Free Skeleton Selectable Plug-ins Component Frameworks with Plug-ins

21 Page 21 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Summary q Product development: l Small product families  traditional techniques l Larger product populations  top-down with bottom-up qInter-organizational reuse of software qProduct lines qComponent approaches qDifferent component models


Download ppt "Page 1 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Chapter 11 Components in Product Line Architectures."

Similar presentations


Ads by Google