Presentation is loading. Please wait.

Presentation is loading. Please wait.

The PLA Model: On the Combination of Product-Line Analyses 2013.04.03 강태준.

Similar presentations


Presentation on theme: "The PLA Model: On the Combination of Product-Line Analyses 2013.04.03 강태준."— Presentation transcript:

1 The PLA Model: On the Combination of Product-Line Analyses 2013.04.03 강태준

2 Index Introduction Product-Line Analysis Classification of Analysis Analysis Examples Conclusion

3 Introduction Software Product-Line Engineering? –Develop a set of similar software products based on a common code base for a particular domain –Differences between products are features –Different feature set is called configuration –Configuration defines each different products with specific functional characteristics

4 Introduction Software analyses –To gather knowledge about the characteristics fo the products –From simple statistics to complex analyses –Analysis methods: Type checking, Model checking, Deductive verification, Testing

5 Introduction Variability-aware analysis –PLE’s problem: take time, duplicated jobs –PLE + consider variability + exploit similarities –Faster than comparable analyses that do not consider variability –BUT has some disadvantages that limit scalability and efficiency Induces higher memory consumption Depends on implementation approach and analysis used

6 Introduction The Product-Line Analysis model –Formal model for comparison of product-line analyses –Based on existing classification –Includes traditional and variability-aware analyses

7 Introduction Contributions –Suggests PLA model, a formal model for the classification and comparison of product-line analyses –Suggests a notation for the visualization of product- line analyses based on the PLA model –Makes an application of the model on three product- line analyses and a summary –Discussion of perspectives that arise from the PLA model from the field of product-line analysis

8 Product-line Analyses Terminology and running example –Feature Model: Describes relationships and constraints between features –Feature Model has 2 constraints Mandatory: Must be enabled in all products Sub Features(or selected by feature) –Valid configuration: Configuration satisfy feature model –Partial configuration: Can be extended to a valid configuration by adding features

9 Product-line Analyses Terminology and running example –Printer Example –Valid Configuration: {BasicPrinter}, {BasicPrinter, Duplex} Feature BasicPrinter (Mandatory) class Printer { // basic printing method public void print(Page p) { … } // manual duplex printing public void printDuplex(Page front, Page back) { print(front); … // ask user to turn and re-insert page print(back); } Feature Duplex class Printer { // automatic duplex printing public void printDuplex(Page front, Page back) { … } Feature Scan class Printer { // scanning of one page public void scan() { … } Feature Copy class Printer { // scans one page and prints it public void copy() { print(scan()); }

10 Product-line Analyses Terminology and running example –Printer Example Product {BasicPrinter, Scan, Copy} class Printer { // basic printing method public void print(Page p) { … } // manual duplex printing public void printDuplex(Page front, Page back) { print(front); … // ask user to turn and re-insert page print(back); } // scanning of one page public void scan() { … } // scans one page and prints it public void copy() { print(scan()); }

11 Product-line Analyses Product Line Analysis Strategies –Input of product-line analysis Domain implementation (feature modules) Feature model –Property of the product line Static code property (software metrics) Form of correctness (well-typedness or functional correctness) Non-functional property (e.g. Average throughput)

12 Product-line Analyses Product Line Analysis Strategies –Sample-based Analysis Select subset of all valid configurations (select sample set from all possible products) Generate all corresponding products and analyze (in general purpose languages) –Drawbacks If not all valid configurations have been considered, it can’t be general statement for whole product line It generates many similar products  Analysis may be done with similar products repeatedly

13 Product-line Analyses Product Line Analysis Strategies –Variability-aware Analysis Exploiting similarities among products by shared code or behaviors (Covers Sample-based Approach’s drawback) Instead, Run directly or pre-process the features and implementations to produce a representation suitable for efficient analysis –Steps Integration: Combine features Processing: Process features or combiations to produce a result

14 Product-line Analyses Product Line Analysis Strategies –Compound Analysis Consists of multiple integration and processiong steps Said as Product-based testing –Steps Integration: Combine features from where different products are built from code Processing: All products are tested separately, result separately Re-integrate: Combine all results

15 Product-line Analyses Product Line Analysis Strategies –Family-based Analysis Takes features and variability information Creates a product simulator (Integration Step) –Includes code of all features –Can simulate behaviors of all valid products Feature selection is fixed after product generation at compile time With one simulator, whole set of vaild products can be analyzed (Process Step) Product Simulator {BasicPrinter, Duplex} class Printer { static boolean _FeatureDuplex_enabled; // basic printing method public void print(Page p) { … } public void printDuplex(Page front, Page back) { if(_FeatureDuplex_enabled) { … // code from Duplex feature } else { print(front); … // ask user to turn and re-insert page print(back); } Variability is implemented with conditional statement

16 Classification of analyses Dimensions of Classification –3 Dimensions of the classification of product-line analyses The PLA Cube Visualization of the space of possible combinations of product-line analyses

17 Classification of analyses Dimensions of Classification –Sampling Represents the fraction of products of a product line (subject to analysis) For huge product For analyze small piece of product –Drawback Not considering all valid products (may contains bug)

18 Classification of analyses Dimensions of Classification –Feature Grouping Granuarity and size of feature combinations(considered during analysis) If not grouped, features are isolated (Feature-based) If grouped, can check all valid configurations (for product)

19 Classification of analyses Dimensions of Classification –Variability Encoding Extent to which variability is preserved and used during analysis Separation vs. All Features with simulator Both of all analysis devides the product line into sub product lines

20 Classification of analyses Formal Model –Operators The model defines four operators – can be used recursively to build complex expressions can be used to describe any product-line analysis BUT, not complete. Need to be extended by textual descriptions –Objective To give abstract descriptions of existing complex analyses To develop and describe new analyses

21 Classification of analyses Formal Model –Operators

22 Classification of analyses Formal Model –Operators – Fixed Combinator Takes 2 objects and combines them to a (partial) product If operands have variability, preserved in the result (fixed) –Operators – Variability Combinator Takes 2 objects and feature model, combines objects to one object Combinator retains variability information (according to feature model) Result is simulator, includes variability of product C and V are Variabilities

23 Classification of analyses Formal Model –Operators – Variability Restriction Used when existing variability needs to be fully or partially eliminated –Operators – Processing Step Represents an analysis or a pre processing step performed on object Result depends on the input

24 Classification of analyses Formal Model –Combination of Operators Operators can be combined to form complex and powerful analyses Possible Operator combinations Always applied from left to right Fixed Combinator + Process each step Variability Combinator (Create simulator) + Process Process each step + Variability Combinator

25 Classification of analyses Formal Model –Formalization F: set of all feature implementations F = {BasicPrinter, Duplex, Scan, Copy} C: set of partial product C = p({BasicPrinter, Duplex, Scan, Copy}) P: set of valid products according to the feature model P = {{BasicPrinter}, {BasicPrinter, Duplex}, {BasicPrinter, Scan}, {BasicPrinter, Scan, Duplex}, {BasicPrinter, Scan, Copy}, {BasicPrinter, Scan, Duplex, Copy}} *P != p *p: 부분집합

26 Classification of analyses Notation Sugar –Integrate some operations into one

27 Analysis Examples –Product-line verification with variability encoding Past: Verification was often limited to the abstract models of sample set of product Now: With variability encoding technique, all valid products of product line can be checked with simulator or model checking etc. –Modular verification of product lines Developed in isolation (as module)  need to prove feature compativility With feature-based processing step, analyze each feature and extract interfaces Need less effort than analyzing all concrete products

28 Analysis Examples –Detection of non-functional feature interactions Analysis technique to automatically detect feature interactions based on performance measurements Determines whether there is an interaction between feature and any other feature in the product line –Type checking variability-aware ASTs C language based Type Checking Analysis Used to check files in linux kernel For each file: Parse C Code  Type Check  Type Interface and Linker Check Use fixed combinaton on objects containing variability

29 Conclusion Analyzing each product of a product line individually is infeasible –So in this paper, built a model for classification and comparison of analyses (Called PLA Model) –Compared with existing product-line analyses, proved usefulness of the model –Make product-line analyses easier to understand and to simplify the development fo future product-line analyses

30 Application With PLA Model, can be applied to analyze application in various ways with simulator Combining with other method of reuse? –It may considered?

31 The PLA Model: On the Combination of Product-Line Analyses


Download ppt "The PLA Model: On the Combination of Product-Line Analyses 2013.04.03 강태준."

Similar presentations


Ads by Google