Features and Feature Interaction in Software Engineering Using

  • Slides: 11
Download presentation
Features and Feature Interaction in Software Engineering Using Logic Ragnhild Van Der Straeten, Johan

Features and Feature Interaction in Software Engineering Using Logic Ragnhild Van Der Straeten, Johan Brichau Vrije Universiteit Brussel, Belgium 18/06/2001 Johan Brichau, Ragnhild Van Der Straeten

Overview • Features and interaction in Software Engineering • Representing, reasoning and detection of

Overview • Features and interaction in Software Engineering • Representing, reasoning and detection of features and interactions – Description Logic – Logic Meta Programming • Discussion 18/06/2001 Johan Brichau, Ragnhild Van Der Straeten 2

Software Engineering Features Feature Interactions Feature Interference 18/06/2001 Analysis Design Implementation Johan Brichau, Ragnhild

Software Engineering Features Feature Interactions Feature Interference 18/06/2001 Analysis Design Implementation Johan Brichau, Ragnhild Van Der Straeten 3

Overview • Features and interaction in Software Engineering • Representing, reasoning and detection of

Overview • Features and interaction in Software Engineering • Representing, reasoning and detection of features and interactions – Description Logic – Logic Meta Programming • Discussion 18/06/2001 Johan Brichau, Ragnhild Van Der Straeten 4

Description Logic Feature Diagram (Generative Programming) Translation in ALCQ : Identify concepts, relations and

Description Logic Feature Diagram (Generative Programming) Translation in ALCQ : Identify concepts, relations and constraints 18/06/2001 Johan Brichau, Ragnhild Van Der Straeten 5

DL for Feature Interaction • Subsumption • Feature subsumption ⊨ SPORTSCAR ⊑ CAR •

DL for Feature Interaction • Subsumption • Feature subsumption ⊨ SPORTSCAR ⊑ CAR • Feature consistency • Concept ⊭ CAR ≐ ⊥ consistency • Knowledge base • Feature model consistency ⊭⊥ 18/06/2001 Feature and constraint addition Johan Brichau, Ragnhild Van Der Straeten 6

Overview • Features and interaction in Software Engineering • Representing, reasoning and detection of

Overview • Features and interaction in Software Engineering • Representing, reasoning and detection of features and interactions – Description Logic – Logic Meta Programming • Discussion 18/06/2001 Johan Brichau, Ragnhild Van Der Straeten 7

Logic Meta Programming • Logic propositions representation of the software program class(Point). class(Line). class(Polygon).

Logic Meta Programming • Logic propositions representation of the software program class(Point). class(Line). class(Polygon). – Facts method(Point, move, arguments(x, y), statements(. . . )) – Rules (derived representation, e. g. design pattern) • ‘Virtual classifications’ of features in the software program – Facts (extensional) & Rules (intensional) feature(archival, ? methods) if findall(method(? class, store), method(? class, store, ? args, ? stats), ? methods) 18/06/2001 Johan Brichau, Ragnhild Van Der Straeten 8

LMP for Feature Interaction • Identify ‘Feature Interaction Spots’ shared. Inst. Var(? feature 1,

LMP for Feature Interaction • Identify ‘Feature Interaction Spots’ shared. Inst. Var(? feature 1, ? feature 2, ? shared. Instance. Variable) if method. In. Feature(? feature 1, ? method 1), accesses(? method 1, ? shared. Instance. Variable), method. In. Feature(? feature 2, ? method 2), accesses(? method 2, ? shared. Instance. Variable). • Identify ‘Feature Interference’ archival. Invariant() if class. In. Feature(figures, ? class), inst. Var(? class, ? inst. Var), method. In. Feature(archival, ? method), accesses(? method, ? inst. Var) 18/06/2001 Johan Brichau, Ragnhild Van Der Straeten 9

Overview • Features and interaction in Software Engineering • Representing, reasoning and detection of

Overview • Features and interaction in Software Engineering • Representing, reasoning and detection of features and interactions – Description Logic – Logic Meta Programming • Discussion 18/06/2001 Johan Brichau, Ragnhild Van Der Straeten 10

Discussion • Description Logic and. . . ? – Expressing specifications in DL: what

Discussion • Description Logic and. . . ? – Expressing specifications in DL: what should be modelled? – Separate constraint language based on DL expressing composition rules, etc. ? • LMP and. . . ? – Which dependencies to express in logic rules – Library of standardized feature interaction rules 18/06/2001 Johan Brichau, Ragnhild Van Der Straeten 11