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
a
#middleOf:and:

middleOf: a and: b	
	 | sum |	
	 sum := a + b.	
	 ^ sum / 2

st

^st

:=

/

sum +...
Resolving symbols
a
#middleOf:and:
a
b
sum

st

^st

:=

/

sum +

sum 2

a b

b
sum
Moose Toolchain

www.moosetechnology.org
FAMIX Metamodel
Core metamodel
Smalltalk metamodel
Java (sub)Metamodel
Resolving a symbol

⚜
Lookup
Symbol

Method scope

Class scope

Superclass scope

Package scope
Select
Symbol

private?

protected?
public?
Case studies
Pharo (smalltalk)
Java (subset)
Cobol
FAST Resolution (benevol13)
Upcoming SlideShare
Loading in …5
×

FAST Resolution (benevol13)

368 views

Published on

Presentation of FAST generic symbol resolution at BENEVOL 2013 workshop

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
368
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

FAST Resolution (benevol13)

  1. 1. Generic Name Resolution with Metamodels Yuriy Tymchuk, Benjamin Arezki, Anne Etien, Nicolas Anquetil and Stéphane Ducasse
  2. 2. Software Assessment Development Assessment
  3. 3. Software Assessment
  4. 4. Modelling source code a #middleOf:and: middleOf: a and: b | sum | sum := a + b. ^ sum / 2 st ^st := / sum + sum 2 a b b sum
  5. 5. Resolving symbols a #middleOf:and: a b sum st ^st := / sum + sum 2 a b b sum
  6. 6. Moose Toolchain www.moosetechnology.org
  7. 7. FAMIX Metamodel
  8. 8. Core metamodel
  9. 9. Smalltalk metamodel
  10. 10. Java (sub)Metamodel
  11. 11. Resolving a symbol ⚜
  12. 12. Lookup Symbol Method scope Class scope Superclass scope Package scope
  13. 13. Select Symbol private? protected? public?
  14. 14. Case studies Pharo (smalltalk) Java (subset) Cobol

×