University of Namur, Belgium P ReCISE R esearch Ce ntre in I nformation S ystems E ngineering Model-driven Engineering of Software Product Lines P. Heymans, P-Y. Schobbens, J-C. Trigaux, G. Saval R. Matulevicius, A. Classen, A. Hubaux, Y. Bontemps MoVES general meeting, Namur, 25/05/07 1 www.software-engineering.be Computer Science Faculty University of Namur, Belgium
Model-based Engineering of Software Product Lines 1. Introduction to Software Product Lines 1. Model-based Engineering of Evolving Data-intensive 2. Feature Diagrams Systems 3. Comparative Survey and Formalisation 2. Model-based 4. Separation of Concerns Engineering of Software Product 5. Feature Interaction Detection Lines 6. Possible Contributions to MoVES WPs 3. A Flexible MetaCase Environment to support Domain-Specific Visual Languages 4. Measuring the Quality of Programs and Models to Support their Evolution 5. Business-IT Alignment 2 Computer Science Faculty University of Namur, Belgium
Software Product Line Engineering (SPLE) D o m a i n E n g i n e e r i n g Domain Expertise Feedback/ Domain Domain Domain Domain Domain Domain Adaptation Analysis Design Analysis Design Implementation Implementation Reference Reference Architecture Architecture Core Reference Reference Reusable Reusable Core Assets Assets Requirements Components Requirements Components New Final Application Application Application Application Application Application Requirements Products Design Coding Design Coding Requirements Requirements A p p l i c a t i o n E n g i n e e r i n g www.sei.cmu.edu/productlines 3 Computer Science Faculty University of Namur, Belgium
SPLE — The philosophy • Institutionalised reuse From opportunistic reuse... ...to planned and systematic reuse Subroutines Objects Components Product Lines 70’s 80’s 90’s • Proactive approach to software evolution • Anticipating change through variability management • identifying variability • realizing variability 4 Computer Science Faculty University of Namur, Belgium
Key Advantages • Economies of scale • systematic reuse of requirements, components, architecture, code, tests,... • e.g., HP (printer firmware) reduced resources to 25% • Shorter time-to-market • e.g., HP reduced development time by 33% • New developments made less risky • from radical to normal design • e.g., HP reported 96% fewer defects Many other success stories: Philips, Nokia, Daimler-Chrysler, Bosch, Lucent (phone switches), MarketMaker, NRO (sattelite software),... [Comm. ACM, December 2006] 5 Computer Science Faculty University of Namur, Belgium
Key Challenges • High upfront costs Accumulated costs Lower single product dev. cost per Upfront system PL dev. investment Number of different systems Break Even Point • Fitness for purpose is even more crucial • business case and requirements influence the viability of a whole family • Variability Management • variability modelling — feature interaction — SPL evolution — automation [Comm. ACM, December 2006] 6 Computer Science Faculty University of Namur, Belgium
High-level Modelling of Variability with Feature Diagrams (FD) Root Mobile Phone AND decomposition Optional Mandatory Feature Feature Dial Messaging Imaging Connectivity Keyboard Voice Chat MMS Camera Video WAP Bluetooth XOR Picture decomposition Messaging WAP 1.0 WAP 2.0 Alternative Additional constraint(s): Features Picture Messaging requires Camera FODA: Feature-Oriented Domain Analysis [Kang et al., 1990] 7 Computer Science Faculty University of Namur, Belgium
High-level Modelling of Variability with Feature Diagrams (FD) Root Mobile Phone AND decomposition Optional Mandatory Feature Feature Dial Messaging Imaging Connectivity Keyboard Voice Chat MMS Camera Video WAP Bluetooth XOR Picture decomposition Messaging WAP 1.0 WAP 2.0 Alternative Additional constraint(s): Features Picture Messaging requires Camera 8 Computer Science Faculty University of Namur, Belgium
High-level Modelling of Variability with Feature Diagrams (FD) Root Mobile Phone AND decomposition Optional Mandatory Feature Feature Dial Messaging Imaging Connectivity Keyboard Voice Chat MMS Camera Video WAP Bluetooth XOR Picture decomposition Messaging WAP 1.0 WAP 2.0 Alternative Additional constraint(s): Features Picture Messaging requires Camera 9 Computer Science Faculty University of Namur, Belgium
Problems with FDs • Research fragmentation • many languages, no standard • mostly informally defined • pros and cons misunderstood • No clear modelling guidelines • what’s in a feature ? • how to deal with large variability models? • Rudimentary automated support • underexploited automation • suboptimal or incorrect algorithms proposed 10 Computer Science Faculty University of Namur, Belgium
Existing FD languages PLUSS (PFT) FODA (OFT) FeatuRSEB (RFD) [Eriksson et al., 2005] [Kang et al., 1990] [Griss et al., 1998] FORM (OFD) Gen. Prog. (GPFT) EFD [Kang et al., 1998] VBFD [Czarnecki et al., [Riebisch et al., 2002] [van Gurp et al., 2000] 2001] 11 Computer Science Faculty University of Namur, Belgium
Existing FD languages PLUSS (PFT) FODA (OFT) FeatuRSEB (RFD) Aesthetic [Eriksson et al., 2005] [Kang et al., 1990] [Griss et al., 1998] differences FORM (OFD) Gen. Prog. (GPFT) EFD [Kang et al., 1998] VBFD [Czarnecki et al., [Riebisch et al., 2002] [van Gurp et al., 2000] 2001] 12 Computer Science Faculty University of Namur, Belgium
Existing FD languages PLUSS (PFT) FODA (OFT) FeatuRSEB (RFD) Aesthetic Stronger [Eriksson et al., 2005] [Kang et al., 1990] [Griss et al., 1998] differences claims FORM (OFD) Gen. Prog. (GPFT) EFD [Kang et al., 1998] VBFD [Czarnecki et al., [Riebisch et al., 2002] [van Gurp et al., 2000] 2001] 13 Computer Science Faculty University of Namur, Belgium
Existing FD languages s m r PLUSS (PFT) FODA (OFT) FeatuRSEB (RFD) e Aesthetic t Stronger [Eriksson et al., 2005] [Kang et al., 1990] [Griss et al., 1998] f . o . , differences . s , y c e t i t i s u n claims g a u i m b m e e s a u , x , g s a s a t e n V n y e s v i s s e r p x e FORM (OFD) Gen. Prog. (GPFT) EFD [Kang et al., 1998] VBFD [Czarnecki et al., [Riebisch et al., 2002] [van Gurp et al., 2000] 2001] 14 Computer Science Faculty University of Namur, Belgium
Attacking Research Fragmentation • Formal definition of FODA [Bontemps et al., ICFI, 2004] • General formal definition of FODA-inspired languages [Schobbens et al., RE, 2006] • Survey according to formal criteria • ambiguity — expressiveness — embeddability — succinctness • complexity of decision procedures [Schobbens et al., J. Computer Networks, 2007] 15 Computer Science Faculty University of Namur, Belgium
Generic Formal Semantics through FFD Generic syntactic domain Common semantic domain L FFD (GT,NT,GCT,TCL) S FFD = PL Common semantic function M FFD All the diagrams one can write in L OFT All the diagrams one can write in L OFD ... All the diagrams one can write in L PFT All the possible meanings All the FDs one can write of FDs in a language of the FFD family 16 Computer Science Faculty University of Namur, Belgium
The L FFD generic abstract syntax Every FD d ∈ L FFD (GT,NT,GCT,TCL) is a tuple (N,r, λ ,DE,CE, Φ ) such that • N the set of nodes f1 λ (f1) = or 2 • r ∈ N the root f2 f3 λ (f3) = and 3 • DE ⊆ N × N the decomposition edges requires (obeying GT) f4 f5 f6 λ (f4) = or 2 • λ : N → NT the function labelling nodes with boolean operators f7 f8 • CE ⊆ N × GCT × N the constraint edges excludes • Φ ⊆ TCL the textual constraints f2 requires f5 • + 4 well-formedness constraints e.g. only r has no parent 17 Computer Science Faculty University of Namur, Belgium
The L FFD generic abstract syntax Every FD d ∈ L FFD (GT,NT,GCT,TCL) is a tuple (N,r, λ ,DE,CE, Φ ) such that • N the set of nodes r: f1 λ (f1) = or 2 • r ∈ N the root f2 f3 λ (f3) = and 3 • DE ⊆ N × N the decomposition edges requires (obeying GT) f4 f5 f6 λ (f4) = or 2 • λ : N → NT the function labelling nodes with boolean operators f7 f8 • CE ⊆ N × GCT × N the constraint edges excludes • Φ ⊆ TCL the textual constraints f2 requires f5 • + 4 well-formedness constraints e.g. only r has no parent 18 Computer Science Faculty University of Namur, Belgium
The L FFD generic abstract syntax Every FD d ∈ L FFD (GT,NT,GCT,TCL) is a tuple (N,r, λ ,DE,CE, Φ ) such that • N the set of nodes f1 λ (f1) = or 2 • r ∈ N the root f2 f3 λ (f3) = and 3 • DE ⊆ N × N the decomposition edges requires (obeying GT ) f4 f5 f6 λ (f4) = or 2 • λ : N → NT the function labelling nodes with boolean operators f7 f8 • CE ⊆ N × GCT × N the constraint edges excludes • Φ ⊆ TCL the textual constraints f2 requires f5 • + 4 well-formedness constraints e.g. only r has no parent 19 Computer Science Faculty University of Namur, Belgium
Recommend
More recommend