Presentation of FAST generic symbol resolution at BENEVOL 2013 workshop
Generic Name Resolutionwith MetamodelsYuriy Tymchuk, Benjamin Arezki, Anne Etien,Nicolas Anquetil and Stéphane Ducasse
View Slide
Software AssessmentDevelopmentAssessment
Software Assessment
Modelling source code#middleOf:and:basum^stst:=sum +a b/sum 2middleOf: a and: b| sum |sum := a + b.^ sum / 2
Resolving symbols#middleOf:and:basum^stst:=sum +a b/sum 2absum
Moose Toolchainwww.moosetechnology.org
FAMIX Metamodel ! "# # # FAMIX
Core metamodel !"#$ %!"#$ %&!"#$ % %& !"#$ !' !' & # $ $ ( % ) *")#$+, )#$ ! )#$!
Smalltalk metamodel ! " # # $ ! %&' $%( ! $)$ "()*+ ) !)*+ !) %!!) % % )% , ' ) % %
Java (sub)Metamodel ! " #$%&' ( &' (&' #$% ( ( &' ! &' &' " " & ! ' ! ) * + $( #$%' , &' - , &' ./ , &' $ !, &' $ !', !, &' !0 ' - - ' $(. !( .! .$ ( !# $& !' &"+ "+ #$%
Resolving a symbol⚜
LookupSymbol Method scopeClass scopeSuperclass scopePackage scope
SelectSymbolprivate?public?protected?
Case studiesPharo (smalltalk)Java (subset)Cobol