Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
FAST Resolution (benevol13)
Yuriy Tymchuk
December 17, 2013
Research
0
96
FAST Resolution (benevol13)
Presentation of FAST generic symbol resolution at BENEVOL 2013 workshop
Yuriy Tymchuk
December 17, 2013
Tweet
Share
More Decks by Yuriy Tymchuk
See All by Yuriy Tymchuk
uko
0
87
uko
0
97
uko
0
73
uko
0
82
uko
1
110
uko
0
43
uko
0
230
uko
0
63
uko
1
61
Other Decks in Research
See All in Research
jayagonoy
0
110
ledgerback
0
220
takuyaa
0
130
yuawn
0
240
ftakahashi
0
240
mihozono
16
9.7k
scatterlab
0
1.3k
yuichiroh
0
110
kayceesrk
2
3.5k
mkimura
2
700
ksudoh
0
150
yoshipon
0
120
Featured
See All Featured
jnunemaker
PRO
40
4.6k
kneath
294
39k
colly
65
3k
danielanewman
200
20k
robhawkes
52
2.8k
keathley
18
650
bkeepers
321
53k
lara
590
61k
samlambert
237
9.9k
moore
125
21k
smashingmag
283
47k
brianwarren
83
4.7k
Transcript
Generic Name Resolution with Metamodels Yuriy Tymchuk, Benjamin Arezki, Anne
Etien, Nicolas Anquetil and Stéphane Ducasse
Software Assessment Development Assessment
Software Assessment
Modelling source code #middleOf:and: b a sum ^st st :=
sum + a b / sum 2 middleOf: a and: b | sum | sum := a + b. ^ sum / 2
Resolving symbols #middleOf:and: b a sum ^st st := sum
+ a b / sum 2 a b sum
Moose Toolchain www.moosetechnology.org
FAMIX Metamodel
! "# # # FAMIX
Core metamodel
!"#$ %!"#$ %&!"#$ % %& !"#$ !' !' & # $ $ ( % ) *" ) #$+, ) #$ ! ) #$!
Smalltalk metamodel
! " # # $ ! %&' $%( ! $ ) $ "( ) *+ ) !) *+ !) %! !) % % ) % , ' ) % %
Java (sub)Metamodel
! " #$%&' ( &' ( &' #$% ( ( &' ! &' &' " " & ! ' ! ) * + $( #$% ' , &' - , &' ./ , &' $ !, &' $ ! ', !, &' ! 0 ' - - ' $( . ! ( . ! . $ ( ! # $& !' & "+ "+ #$%
Resolving a symbol ⚜
Lookup Symbol Method scope Class scope Superclass scope Package scope
Select Symbol private? public? protected?
Case studies Pharo (smalltalk) Java (subset) Cobol
None