talents: dynamically composable units of reuse
TRANSCRIPT
Talents: Dynamically Composable
Units of Reuse
Jorge Ressia, Tudor Gîrba, Oscar Nierstrasz, Fabrizio Perin and Lukas Renggli
www.scg.unibe.ch
Monday, August 22, 11
Reuse
Monday, August 22, 11
Mixins
Monday, August 22, 11
Monday, August 22, 11
Linear Composition
Monday, August 22, 11
Monday, August 22, 11
Single Composition
Monday, August 22, 11
Monday, August 22, 11
Traits
Monday, August 22, 11
Class = Superclass + State + Traits + Glue methods
Monday, August 22, 11
Flatten Composition
Monday, August 22, 11
Multiple Composition
Monday, August 22, 11
Problem
Monday, August 22, 11
aFAMIXClass isTestClass
Keyinstance-ofmessage sendlookup
FAMIXEntity
FAMIXType
isTestClassFAMIXClass
aFAMIXClass
1
2
3
self inheritsFrom: 'TestCase'
MooseEntity
...
Monday, August 22, 11
What about objects?
Monday, August 22, 11
Talents
Monday, August 22, 11
aFAMIXClass isTestClass
FAMIXClass
aFAMIXClass
1
2
4
aFAMIXClass inheritsFrom: 'TestCase'
aJeeClassTalent
Keyinstance-ofmessage sendlookupacquire
3aJeeClassTalent talent isTestClass
FAMIXEntity
FAMIXType
MooseEntity
...
Monday, August 22, 11
Operators
Monday, August 22, 11
Composition
Monday, August 22, 11
aClass := FAMIXClass new.aClass acquire: ( javaClassTalent , jeeClassTalent ).
Monday, August 22, 11
Alias
Monday, August 22, 11
aClass := FAMIXClass new.aClass acquire: javaClassTalent , ( jeeClassTalent
@ {#isTestClass -> #isJEETestClass})
Monday, August 22, 11
Exclusion
Monday, August 22, 11
aClass := FAMIXClass new.aClass acquire: javaClassTalent ,
(jeeClassTalent - #isTestClass).
Monday, August 22, 11
Implementation
Monday, August 22, 11
Reflection
Monday, August 22, 11
scg.unibe.ch/research/bifrost
Monday, August 22, 11
Organize the Meta-level
Monday, August 22, 11
ExplicitMeta-objects
Monday, August 22, 11
Object
TalentClass
Monday, August 22, 11
Object
TalentClass
Monday, August 22, 11
Talented Object
TalentClass
Monday, August 22, 11
Flattening
Monday, August 22, 11
Scoping
Monday, August 22, 11
Talents
www.scg.unibe.ch/research/talents
Monday, August 22, 11