EDMPoster/Intro

Master is giving positive examples:

ExamplePhone1
display
LCD
GSM
CPU
keyboard
ExamplePhone2
display
OLED
GSM
touchscreen
ExampleTablet1
display
AMOLED
HSPA
CPU 4
touchscreen

Master is giving negative examples:

negative

ExamplePhone3
display
LCD
GSM
CPU 4
keyboard

negative

ExampleTablet2
display
AMOLED
HSPA
CPU 4
keyboard

Luke builds an abstraction:

abstract AndroidDevice1
xor display
LCD
OLED
AMOLED
[ no keyboard ]
GSM
HSPA ?
CPU 1..4
xor input
keyboard
touchscreen

and a specialization:

abstract AndroidPhone : AndroidDevice
[ GSM ]
[ # CPU < 4 ]

Luke fixes the abstraction, since not all tablets have GSM:

abstract AndroidDevice
xor display
LCD
OLED
AMOLED
[ no keyboard ]
GSM ?
HSPA ?
CPU 1..4
xor input
keyboard
touchscreen

Luke validates the abstraction by generating examples and confirming with master:

AndroidPhone4 : AndroidPhone
display
AMOLED
GSM
HSPA
CPU 2
input
touchscreen

Luke discovers new variants and checks whether the positive ones are included and whether negative ones are excluded.

c0_ExamplePhone1 ExamplePhone1 c0_ExamplePhone2 ExamplePhone2 c0_ExampleTablet1 ExampleTablet1 c0_ExamplePhone3 ExamplePhone3 c0_ExampleTablet2 ExampleTablet2 c0_AndroidDevice1 abstract AndroidDevice1 c0_AndroidPhone abstract AndroidPhone : AndroidDevice c0_AndroidDevice abstract AndroidDevice c0_AndroidPhone->c0_AndroidDevice c0_AndroidPhone4 AndroidPhone4 : AndroidPhone c0_AndroidPhone4->c0_AndroidPhone
Module Statistics: | All clafers: 60 | Abstract: 3 | Concrete: 57 | Reference: 0 | Constraints: 4 | Goals: 0 | Global scope: 4..* | Can skip name resolver: no |

Module Downloads: | [.cfr] | [.html] |

End.