There and Back Again Motivation Sample Spaces and Feature Models: - - PowerPoint PPT Presentation

there and back again
SMART_READER_LITE
LIVE PREVIEW

There and Back Again Motivation Sample Spaces and Feature Models: - - PowerPoint PPT Presentation

Outline . Czarnecki, She, Wsowski. Sample Spaces and Feature Models: There and Back Again . Software Product Line Conference 2008 There and Back Again Motivation Sample Spaces and Feature Models: . . Conclusions Feature Model Mining


slide-1
SLIDE 1

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

. .

Sample Spaces and Feature Models: There and Back Again

Krzysztof Czarnecki1 Steven She1 Andrzej Wąsowski2

1University of Waterloo, Canada 2IT University of Copenhagen, Denmark

Software Product Line Conference 2008

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 1/25

slide-2
SLIDE 2

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Overview

Feature Models Sample Spaces

. .

destroy encourages init start encourages stop stop encourages start init encourages destroy

Feature Model with Soft Constraints

. . .

Sample Set of Configurations Configuration

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 2/25

slide-3
SLIDE 3

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Overview

Feature Models Sample Spaces

. .

destroy encourages init start encourages stop stop encourages start init encourages destroy

Feature Model with Soft Constraints

. . .

Sample Set of Configurations Configuration

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 2/25

slide-4
SLIDE 4

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Overview

Feature Models Sample Spaces

. .

destroy encourages init start encourages stop stop encourages start init encourages destroy

Feature Model with Soft Constraints

. . .

Sample Set of Configurations Configuration

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 2/25

slide-5
SLIDE 5

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Outline

1 Motivation 2 Probabilistic Feature Models

Semantics of Soft Constraints Joint Probability Distributions

3 Configuration 4 Application: Feature Model Mining

Mining on Applets

5 Conclusions

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 3/25

slide-6
SLIDE 6

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Outline

1 Motivation 2 Probabilistic Feature Models

Semantics of Soft Constraints Joint Probability Distributions

3 Configuration 4 Application: Feature Model Mining

Mining on Applets

5 Conclusions

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 4/25

slide-7
SLIDE 7

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Basic Feature Models

. .

drive by wire → automatic

Feature Models…

  • represent commonality and variability in a product line.
  • describe a set of legal configurations.
  • But… existing feature models can not express preference

among legal configurations.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 5/25

slide-8
SLIDE 8

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Basic Feature Models

. .

drive by wire → automatic

Feature Models…

  • represent commonality and variability in a product line.
  • describe a set of legal configurations.
  • But… existing feature models can not express preference

among legal configurations.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 5/25

slide-9
SLIDE 9

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Basic Feature Models

. .

drive by wire → automatic

Feature Models…

  • represent commonality and variability in a product line.
  • describe a set of legal configurations.
  • But… existing feature models can not express preference

among legal configurations.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 5/25

slide-10
SLIDE 10

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Basic Feature Models

. .

drive by wire → automatic

Feature Models…

  • represent commonality and variability in a product line.
  • describe a set of legal configurations.
  • But… existing feature models can not express preference

among legal configurations.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 5/25

slide-11
SLIDE 11

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Basic Feature Models

. .

drive by wire → automatic

Feature Models…

  • represent commonality and variability in a product line.
  • describe a set of legal configurations.
  • But… existing feature models can not express preference

among legal configurations.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 5/25

slide-12
SLIDE 12

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Basic Feature Models

. .

drive by wire → automatic

Feature Models…

  • represent commonality and variability in a product line.
  • describe a set of legal configurations.
  • But… existing feature models can not express preference

among legal configurations.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 5/25

slide-13
SLIDE 13

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Basic Feature Models

. .

drive by wire → automatic

Feature Models…

  • represent commonality and variability in a product line.
  • describe a set of legal configurations.
  • But… existing feature models can not express preference

among legal configurations.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 5/25

slide-14
SLIDE 14

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Basic Feature Models

. .

drive by wire → automatic

Feature Models…

  • represent commonality and variability in a product line.
  • describe a set of legal configurations.
  • But… existing feature models can not express preference

among legal configurations.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 5/25

slide-15
SLIDE 15

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Probabilistic Feature Models (PFMs)

. .

drive by wire → automatic automatic given gear [20%] automatic given North America [80%]

Probabilistic Feature Models add soft constraints.

…a constraint that should be satisfied by most configurations, but some may violate it.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 6/25

slide-16
SLIDE 16

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Interactive Configuration

. . . . . . .

drive by wire → automatic automatic given gear [20%] automatic given North America [80%]

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 7/25

slide-17
SLIDE 17

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Interactive Configuration

. . . . . . . . Probabilistic view of the PFM.

drive by wire → automatic automatic given gear [20%] automatic given North America [80%]

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 7/25

slide-18
SLIDE 18

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Interactive Configuration

. . . . . . . . . . We begin by selecting Car and Gear.

drive by wire → automatic automatic given gear [20%] automatic given North America [80%]

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 7/25

slide-19
SLIDE 19

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Interactive Configuration

. . . . . . . . . . . Next, we select for North America.

drive by wire → automatic automatic given gear [20%] automatic given North America [80%]

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 7/25

slide-20
SLIDE 20

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Interactive Configuration

. . . . . . . . . . . . Now, we select automatic.

drive by wire → automatic automatic given gear [20%] automatic given North America [80%]

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 7/25

slide-21
SLIDE 21

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Outline

1 Motivation 2 Probabilistic Feature Models

Semantics of Soft Constraints Joint Probability Distributions

3 Configuration 4 Application: Feature Model Mining

Mining on Applets

5 Conclusions

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 8/25

slide-22
SLIDE 22

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Semantics of Basic Feature Models

drive by wire → automatic

The semantics of a basic feature model…

is defined as a conjunction of it’s hard constraints as a propositional formula.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 9/25

slide-23
SLIDE 23

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Logical Components of a Basic Feature Model

. .

. .

. . Feature Dependencies Mandatory Group . .

∧ Car

. .

∧ φ

Root Additional Constraints This formula denotes a set of legal configurations.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 10/25

slide-24
SLIDE 24

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Logical Components of a Basic Feature Model

. .

. .

. . Feature Dependencies Mandatory Group . .

∧ Car

. .

∧ φ

Root Additional Constraints This formula denotes a set of legal configurations.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 10/25

slide-25
SLIDE 25

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Logical Components of a Basic Feature Model

. .

. .

. . Feature Dependencies Mandatory Group . .

∧ Car

. .

∧ φ

Root Additional Constraints This formula denotes a set of legal configurations.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 10/25

slide-26
SLIDE 26

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Logical Components of a Basic Feature Model

. .

. .

. . Feature Dependencies Mandatory Group . .

∧ Car

. .

∧ φ

Root Additional Constraints This formula denotes a set of legal configurations.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 10/25

slide-27
SLIDE 27

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Logical Components of a Basic Feature Model

. .

. .

. . Feature Dependencies Mandatory Group . .

∧ Car

. .

∧ φ

Root Additional Constraints This formula denotes a set of legal configurations.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 10/25

slide-28
SLIDE 28

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Components of a Probabilistic Feature Model

A probabilistic feature model is…

. . A basic feature model + . . soft constraints . .

drive by wire → automatic

+

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 11/25

slide-29
SLIDE 29

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Components of a Probabilistic Feature Model

A probabilistic feature model is…

. . A basic feature model + . . soft constraints . .

drive by wire → automatic

+

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 11/25

slide-30
SLIDE 30

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Feature Modeling with Soft Constraints

  • On-by-default if cond. probability between 80% and 100%.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 12/25

. .

0.8 P(paint | must override) 1.0

.

0.8 P(init | must override) 1.0

.

P stop Applet 0.5

.

P destroy Applet 0.5

.

P start must override 0.5

slide-31
SLIDE 31

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Feature Modeling with Soft Constraints

  • Off-by-default if cond. probability between 0 and 50%.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 12/25

. .

0.8 P paint must override 1.0

.

0.8 P init must override 1.0

.

0 P(stop | Applet) 0.5

.

0 P(destroy | Applet) 0.5

.

0 P(start | must override) 0.5

slide-32
SLIDE 32

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Feature Modeling with Soft Constraints

destroy encourages init start encourages stop stop encourages start init encourages destroy

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 12/25

. .

0.8 P paint must override 1.0

.

0.8 P init must override 1.0

.

P stop Applet 0.5

.

P destroy Applet 0.5

.

P start must override 0.5

slide-33
SLIDE 33

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Feature Modeling with Soft Constraints

(init | destroy) [0.8, 1.0] (stop | start) [0.8, 1.0] (start | stop) [0.8, 1.0] (destroy | init) [0.8, 1.0]

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 12/25

. .

0.8 P paint must override 1.0

.

0.8 P init must override 1.0

.

P stop Applet 0.5

.

P destroy Applet 0.5

.

P start must override 0.5

slide-34
SLIDE 34

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Joint Probability Distributions

Basic feature models…

specify a set of legal configurations.

Probabilistic feature models…

specify a set of legal joint probability distributions (JPDs).

A joint probability distribution…

assigns a probability to each possible configuration.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 13/25

slide-35
SLIDE 35

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Joint Probability Distributions

Basic feature models…

specify a set of legal configurations.

Probabilistic feature models…

specify a set of legal joint probability distributions (JPDs).

A joint probability distribution…

assigns a probability to each possible configuration.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 13/25

slide-36
SLIDE 36

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Legal Configurations Compared with JPDs

Basic Feature Model Probabilistic Feature Model

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 14/25

slide-37
SLIDE 37

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Legal Configurations Compared with JPDs

Basic Feature Model Probabilistic Feature Model

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 14/25

slide-38
SLIDE 38

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Joint Probability Distributions

Basic feature models…

specify a set of legal configurations.

Probabilistic feature models…

specify a set of legal joint probability distributions (JPDs).

A joint probability distribution…

assigns a probability to each possible configuration.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 15/25

slide-39
SLIDE 39

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Under-specification in PFMs

c given b 80%

a b c P(a, b, c) 1 1 1 p1 0.0 1 1 p2 0.0 1 1 p3 0.0 1 p4 0.0 . . . . . . p5...8 = 0 where 1.25p1 p3 1

. . An abstract PFM is under-specified and specifies a range of JPDs.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 16/25

slide-40
SLIDE 40

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Under-specification in PFMs

c given b [80%]

a b c P(a, b, c) 1 1 1 p1 0.0 1 1 p2 = 0.25p1 1 1 p3 0.0 1 p4 = 1−1.25p1−p3 . . . . . . p5...8 = 0 where 1.25p1 + p3 1

. . An abstract PFM is under-specified and specifies a range of JPDs.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 16/25

slide-41
SLIDE 41

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Under-specification in PFMs

c given b [80%]

a b c P(a, b, c) 1 1 1 p1 = 0.1 1 1 p2 = 0.025 1 1 p3 = 0.1 1 p4 = 0.775 . . . . . . p5...8 = 0 where 1.25p1 p3 1

. . An abstract PFM is under-specified and specifies a range of JPDs. . A concrete PFM specifies a single JPD.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 16/25

slide-42
SLIDE 42

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Outline

1 Motivation 2 Probabilistic Feature Models

Semantics of Soft Constraints Joint Probability Distributions

3 Configuration 4 Application: Feature Model Mining

Mining on Applets

5 Conclusions

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 17/25

slide-43
SLIDE 43

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Configuration

Requires a single concrete JPD.

  • Abstract PFMs need to be completed.
  • Entropy maximization.

Probabilistic Inference.

  • Relation with Bayesian Networks.
  • Most probable explanation algorithms.
  • Adaptive guidance given current state.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 18/25

slide-44
SLIDE 44

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Configuration

Requires a single concrete JPD.

  • Abstract PFMs need to be completed.
  • Entropy maximization.

Probabilistic Inference.

  • Relation with Bayesian Networks.
  • Most probable explanation algorithms.
  • Adaptive guidance given current state.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 18/25

slide-45
SLIDE 45

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Outline

1 Motivation 2 Probabilistic Feature Models

Semantics of Soft Constraints Joint Probability Distributions

3 Configuration 4 Application: Feature Model Mining

Mining on Applets

5 Conclusions

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 19/25

slide-46
SLIDE 46

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Feature Model Mining

. . Synthesize a feature model that is representative of the variability in a sample set of configurations. . .

conf a b c d 1

  • 2

3

  • 4

. . c a 100% b a 100% d c 100% a b c 100% . . . a c 75% c given a 75%

Sample Set Association Rules Feature Model

Association Rule Mining Feature Model Synthesis

Czarnecki and Wąsowski 2007

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 20/25

slide-47
SLIDE 47

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Feature Model Mining

. . Synthesize a feature model that is representative of the variability in a sample set of configurations. . .

conf a b c d 1

  • 2

3

  • 4

. . c ⇒ a [100%] ∧ b ⇒ a [100%] ∧ d ⇒ c [100%] ∧ a ⇒ b ∨ c [100%] ∧ . . . ∧ a ⇒ c [75%] c given a 75%

Sample Set Association Rules Feature Model

Association Rule Mining Feature Model Synthesis

Czarnecki and Wąsowski 2007

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 20/25

slide-48
SLIDE 48

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Feature Model Mining

. . Synthesize a feature model that is representative of the variability in a sample set of configurations. . .

conf a b c d 1

  • 2

3

  • 4

. . c ⇒ a [100%] ∧ b ⇒ a [100%] ∧ d ⇒ c [100%] ∧ a ⇒ b ∨ c [100%] ∧ . . . ∧ a ⇒ c [75%] c given a [75%]

Sample Set Association Rules Feature Model

Association Rule Mining Feature Model Synthesis

Czarnecki and Wąsowski 2007

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 20/25

slide-49
SLIDE 49

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Feature Model Mining on Applets

. .

conf Applet destroy paint init start stop 1

  • 2
  • 3
  • .

. .

Applets Sample Set Construct sample set by analysing overridden methods in 64 applets: . .destroy, paint, init, start and stop.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 21/25

slide-50
SLIDE 50

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Case Study Results

Mined Feature Model Expert-specified Model

stop given start [84%] start given stop [97%] paint given destroy [88%] paint given stop [88%] more…

.

destroy encourages init start encourages stop stop encourages start init encourages destroy

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 22/25

slide-51
SLIDE 51

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Outline

1 Motivation 2 Probabilistic Feature Models

Semantics of Soft Constraints Joint Probability Distributions

3 Configuration 4 Application: Feature Model Mining

Mining on Applets

5 Conclusions

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 23/25

slide-52
SLIDE 52

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Related Work

Probabilistic Feature Models.

  • Soft Constraints

[Czarnecki 2000] [Wada, Suzuki and Oba 2007]

  • Feature Models and fuzzy logic

[Robak, Pieczyński, 2003]

  • i* goal models

[Giorgini et al., 2002]

Reverse-engineering models.

  • Using concept analysis

[Loesch and Ploedereder, 2007]

  • Identifying code differences

[Jepsen et. al., 2007]

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 24/25

slide-53
SLIDE 53

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Conclusions

Sample Space Feature Model with soft constraints

Probabilistic Feature Models.

  • Basic feature models extended with soft constraints.
  • Specifies a set of joint probability distributions.
  • Modeling, reverse-engineering, configuration.

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 25/25

slide-54
SLIDE 54

Outline Motivation Probabilistic Feature Models Configuration Feature Model Mining Conclusions .

Conclusions

Sample Space Feature Model with soft constraints

Probabilistic Feature Models.

  • Basic feature models extended with soft constraints.
  • Specifies a set of joint probability distributions.
  • Modeling, reverse-engineering, configuration.

. .Questions?

Czarnecki, She, Wąsowski. Sample Spaces and Feature Models: There and Back Again. 25/25