Enviar pesquisa
Carregar
Demo: Reflectivity
•
1 gostou
•
724 visualizações
Marcus Denker
Seguir
Demo of Reflectivity, held at ESUG 2007, Lugano, Switzerland,
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 12
Baixar agora
Baixar para ler offline
Recomendados
Reflectivity Demo
Reflectivity Demo
Marcus Denker
Beyond Text - Methods as Objects
Beyond Text - Methods as Objects
Marcus Denker
Unanticipated Partial Behavioral Reflection
Unanticipated Partial Behavioral Reflection
Marcus Denker
Context-Oriented Programming: Beyond Layers
Context-Oriented Programming: Beyond Layers
ESUG
VWBPE 2020 - Overcoming LSL Limitations in Second Life
VWBPE 2020 - Overcoming LSL Limitations in Second Life
jbhancroft
Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]
Ravindra Raju Kolahalam
Multiprocessing -Interprocessing communication and process sunchronization,se...
Multiprocessing -Interprocessing communication and process sunchronization,se...
Neena R Krishna
Inter process communication
Inter process communication
RJ Mehul Gadhiya
Recomendados
Reflectivity Demo
Reflectivity Demo
Marcus Denker
Beyond Text - Methods as Objects
Beyond Text - Methods as Objects
Marcus Denker
Unanticipated Partial Behavioral Reflection
Unanticipated Partial Behavioral Reflection
Marcus Denker
Context-Oriented Programming: Beyond Layers
Context-Oriented Programming: Beyond Layers
ESUG
VWBPE 2020 - Overcoming LSL Limitations in Second Life
VWBPE 2020 - Overcoming LSL Limitations in Second Life
jbhancroft
Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]
Ravindra Raju Kolahalam
Multiprocessing -Interprocessing communication and process sunchronization,se...
Multiprocessing -Interprocessing communication and process sunchronization,se...
Neena R Krishna
Inter process communication
Inter process communication
RJ Mehul Gadhiya
Ipc ppt
Ipc ppt
Ruchi Sharma
Architectural patterns part 3
Architectural patterns part 3
assinha
Interprocess communication
Interprocess communication
Sushil Singh
Interprocess communication (IPC) IN O.S
Interprocess communication (IPC) IN O.S
Hussain Ala'a Alkabi
Inter Process Communication
Inter Process Communication
Adeel Rasheed
ITFT_Inter process communication
ITFT_Inter process communication
Sneh Prabha
TH4.T03.3ExtractionofReflectivityfromMicrowaveBlackbodyTargetwithFreeSpaceMea...
TH4.T03.3ExtractionofReflectivityfromMicrowaveBlackbodyTargetwithFreeSpaceMea...
grssieee
Impulsivity, Attention Deficits, and Addiction - Perspectives on Diagnoses an...
Impulsivity, Attention Deficits, and Addiction - Perspectives on Diagnoses an...
Centre for Health Evaluation and Outcome Sciences
Gmcase
Gmcase
klotzman
Fotografias Tomadas En El Tiempo Exacto
Fotografias Tomadas En El Tiempo Exacto
hagustigma
Reflection
Reflection
Marcus Denker
Dissertation Final
Dissertation Final
Jamie Page BSc (Hons) Eng Tech
Reflection in Pharo: Beyond Smalltak
Reflection in Pharo: Beyond Smalltak
Marcus Denker
Lecture: Reflection
Lecture: Reflection
Marcus Denker
Lecture: Reflection
Lecture: Reflection
Marcus Denker
Sub-method Structural and Behavioral Reflection
Sub-method Structural and Behavioral Reflection
Marcus Denker
Talk: Practical, Pluggable Types
Talk: Practical, Pluggable Types
Marcus Denker
Reflection and Context
Reflection and Context
Marcus Denker
Presentation about my Research
Presentation about my Research
Marcus Denker
Refactoring
Refactoring
Marcus Denker
Sub-Method Reflection
Sub-Method Reflection
Marcus Denker
Practical, Pluggable Types
Practical, Pluggable Types
Marcus Denker
Mais conteúdo relacionado
Mais procurados
Ipc ppt
Ipc ppt
Ruchi Sharma
Architectural patterns part 3
Architectural patterns part 3
assinha
Interprocess communication
Interprocess communication
Sushil Singh
Interprocess communication (IPC) IN O.S
Interprocess communication (IPC) IN O.S
Hussain Ala'a Alkabi
Inter Process Communication
Inter Process Communication
Adeel Rasheed
ITFT_Inter process communication
ITFT_Inter process communication
Sneh Prabha
Mais procurados
(6)
Ipc ppt
Ipc ppt
Architectural patterns part 3
Architectural patterns part 3
Interprocess communication
Interprocess communication
Interprocess communication (IPC) IN O.S
Interprocess communication (IPC) IN O.S
Inter Process Communication
Inter Process Communication
ITFT_Inter process communication
ITFT_Inter process communication
Destaque
TH4.T03.3ExtractionofReflectivityfromMicrowaveBlackbodyTargetwithFreeSpaceMea...
TH4.T03.3ExtractionofReflectivityfromMicrowaveBlackbodyTargetwithFreeSpaceMea...
grssieee
Impulsivity, Attention Deficits, and Addiction - Perspectives on Diagnoses an...
Impulsivity, Attention Deficits, and Addiction - Perspectives on Diagnoses an...
Centre for Health Evaluation and Outcome Sciences
Gmcase
Gmcase
klotzman
Fotografias Tomadas En El Tiempo Exacto
Fotografias Tomadas En El Tiempo Exacto
hagustigma
Reflection
Reflection
Marcus Denker
Dissertation Final
Dissertation Final
Jamie Page BSc (Hons) Eng Tech
Reflection in Pharo: Beyond Smalltak
Reflection in Pharo: Beyond Smalltak
Marcus Denker
Destaque
(7)
TH4.T03.3ExtractionofReflectivityfromMicrowaveBlackbodyTargetwithFreeSpaceMea...
TH4.T03.3ExtractionofReflectivityfromMicrowaveBlackbodyTargetwithFreeSpaceMea...
Impulsivity, Attention Deficits, and Addiction - Perspectives on Diagnoses an...
Impulsivity, Attention Deficits, and Addiction - Perspectives on Diagnoses an...
Gmcase
Gmcase
Fotografias Tomadas En El Tiempo Exacto
Fotografias Tomadas En El Tiempo Exacto
Reflection
Reflection
Dissertation Final
Dissertation Final
Reflection in Pharo: Beyond Smalltak
Reflection in Pharo: Beyond Smalltak
Semelhante a Demo: Reflectivity
Lecture: Reflection
Lecture: Reflection
Marcus Denker
Lecture: Reflection
Lecture: Reflection
Marcus Denker
Sub-method Structural and Behavioral Reflection
Sub-method Structural and Behavioral Reflection
Marcus Denker
Talk: Practical, Pluggable Types
Talk: Practical, Pluggable Types
Marcus Denker
Reflection and Context
Reflection and Context
Marcus Denker
Presentation about my Research
Presentation about my Research
Marcus Denker
Refactoring
Refactoring
Marcus Denker
Sub-Method Reflection
Sub-Method Reflection
Marcus Denker
Practical, Pluggable Types
Practical, Pluggable Types
Marcus Denker
TypePlug -- Practical, Pluggable Types
TypePlug -- Practical, Pluggable Types
ESUG
Unanticipated Partial Behavioral Reflection
Unanticipated Partial Behavioral Reflection
ESUG
Unstuck
Unstuck
Marcus Denker
Software Evolution from the Field: an Experience Report
Software Evolution from the Field: an Experience Report
Marcus Denker
08 refactoring
08 refactoring
The World of Smalltalk
DDD, CQRS and testing with ASP.Net MVC
DDD, CQRS and testing with ASP.Net MVC
Andy Butland
Lecture: "Advanced Reflection: MetaLinks"
Lecture: "Advanced Reflection: MetaLinks"
Marcus Denker
Stoop 305-reflective programming5
Stoop 305-reflective programming5
The World of Smalltalk
Developing multi-platform microservices using .NET core
Developing multi-platform microservices using .NET core
Dror Helper
Lecture. Advanced Reflection: MetaLinks
Lecture. Advanced Reflection: MetaLinks
Marcus Denker
Behavioral Reflection
Behavioral Reflection
Marcus Denker
Semelhante a Demo: Reflectivity
(20)
Lecture: Reflection
Lecture: Reflection
Lecture: Reflection
Lecture: Reflection
Sub-method Structural and Behavioral Reflection
Sub-method Structural and Behavioral Reflection
Talk: Practical, Pluggable Types
Talk: Practical, Pluggable Types
Reflection and Context
Reflection and Context
Presentation about my Research
Presentation about my Research
Refactoring
Refactoring
Sub-Method Reflection
Sub-Method Reflection
Practical, Pluggable Types
Practical, Pluggable Types
TypePlug -- Practical, Pluggable Types
TypePlug -- Practical, Pluggable Types
Unanticipated Partial Behavioral Reflection
Unanticipated Partial Behavioral Reflection
Unstuck
Unstuck
Software Evolution from the Field: an Experience Report
Software Evolution from the Field: an Experience Report
08 refactoring
08 refactoring
DDD, CQRS and testing with ASP.Net MVC
DDD, CQRS and testing with ASP.Net MVC
Lecture: "Advanced Reflection: MetaLinks"
Lecture: "Advanced Reflection: MetaLinks"
Stoop 305-reflective programming5
Stoop 305-reflective programming5
Developing multi-platform microservices using .NET core
Developing multi-platform microservices using .NET core
Lecture. Advanced Reflection: MetaLinks
Lecture. Advanced Reflection: MetaLinks
Behavioral Reflection
Behavioral Reflection
Mais de Marcus Denker
Soil And Pharo
Soil And Pharo
Marcus Denker
ConstantBlocks in Pharo11
ConstantBlocks in Pharo11
Marcus Denker
Demo: Improved DoIt
Demo: Improved DoIt
Marcus Denker
First Class Variables as AST Annotations
First Class Variables as AST Annotations
Marcus Denker
Supporting Pharo / Getting Pharo Support
Supporting Pharo / Getting Pharo Support
Marcus Denker
thisContext in the Debugger
thisContext in the Debugger
Marcus Denker
Variables in Pharo
Variables in Pharo
Marcus Denker
Improving code completion for Pharo
Improving code completion for Pharo
Marcus Denker
VUB Brussels Lecture 2019: Advanced Reflection: MetaLinks
VUB Brussels Lecture 2019: Advanced Reflection: MetaLinks
Marcus Denker
Slot Composition
Slot Composition
Marcus Denker
Lecture: Advanced Reflection. MetaLinks
Lecture: Advanced Reflection. MetaLinks
Marcus Denker
PHARO IOT
PHARO IOT
Marcus Denker
Open-Source: An Infinite Game
Open-Source: An Infinite Game
Marcus Denker
Lecture: MetaLinks
Lecture: MetaLinks
Marcus Denker
PharoTechTalk: Contributing to Pharo
PharoTechTalk: Contributing to Pharo
Marcus Denker
Feedback Loops in Practice
Feedback Loops in Practice
Marcus Denker
Pharo6 - ESUG17
Pharo6 - ESUG17
Marcus Denker
Pharo6
Pharo6
Marcus Denker
Reflection in Pharo: Beyond Smalltak
Reflection in Pharo: Beyond Smalltak
Marcus Denker
Perfection & Feedback Loops or: why worse is better
Perfection & Feedback Loops or: why worse is better
Marcus Denker
Mais de Marcus Denker
(20)
Soil And Pharo
Soil And Pharo
ConstantBlocks in Pharo11
ConstantBlocks in Pharo11
Demo: Improved DoIt
Demo: Improved DoIt
First Class Variables as AST Annotations
First Class Variables as AST Annotations
Supporting Pharo / Getting Pharo Support
Supporting Pharo / Getting Pharo Support
thisContext in the Debugger
thisContext in the Debugger
Variables in Pharo
Variables in Pharo
Improving code completion for Pharo
Improving code completion for Pharo
VUB Brussels Lecture 2019: Advanced Reflection: MetaLinks
VUB Brussels Lecture 2019: Advanced Reflection: MetaLinks
Slot Composition
Slot Composition
Lecture: Advanced Reflection. MetaLinks
Lecture: Advanced Reflection. MetaLinks
PHARO IOT
PHARO IOT
Open-Source: An Infinite Game
Open-Source: An Infinite Game
Lecture: MetaLinks
Lecture: MetaLinks
PharoTechTalk: Contributing to Pharo
PharoTechTalk: Contributing to Pharo
Feedback Loops in Practice
Feedback Loops in Practice
Pharo6 - ESUG17
Pharo6 - ESUG17
Pharo6
Pharo6
Reflection in Pharo: Beyond Smalltak
Reflection in Pharo: Beyond Smalltak
Perfection & Feedback Loops or: why worse is better
Perfection & Feedback Loops or: why worse is better
Último
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
Padma Pradeep
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
ScyllaDB
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
Mark Billinghurst
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Mark Simos
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
Fwdays
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Wonjun Hwang
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
NavinnSomaal
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Fwdays
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
charlottematthew16
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
Stephanie Beckett
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
Zilliz
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
Dubai Multi Commodity Centre
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
Hervé Boutemy
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
Alfredo García Lavilla
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
Slibray Presentation
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
RankYa
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Safe Software
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
Fwdays
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
Fwdays
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Fwdays
Último
(20)
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Demo: Reflectivity
1.
© Marcus Denker The
Reflectivity Marcus Denker with: Philippe Marschall David Röthlisberger Nik Haldiman / Stefan Reichhart Adrian Lienhard / Lukas Renggli Eric Tanter Stephane Ducasse Oscar Nierstrasz
2.
© Marcus Denker Structural
Reflection > Structure modeled as objects — Classes, methods are objects — Causally connected > Uses: — Development environments — Language extensions and experiments
3.
© Marcus Denker Methods
and Reflection > Method are Objects > No high-level model for sub-method elements — Message sends — Assignments — Variable access > Structural reflection stops at the granularity of methods
4.
© Marcus Denker Sub-Method
Reflection > Many tools work on sub method level — Profiler, Refactoring Tool, Debugger, Type Checker > Communication between tools needed — example: Code coverage > All tools use different representations — Tools are harder to build — Communication not possible
5.
© Marcus Denker Solution:
Reflective Methods > Annotated, persistent AST > Bytecode generated on demand and cached :ReflectiveMethod annotation #(12 13 45 38 98 128 84 72 42 77 22 28 59 32 7 49 51 87 64) :CompiledMethod compiledMethod reflectiveMethodannotation Tools VM
6.
© Marcus Denker Reflectivity >
Implementation of Reflective Methods for Squeak Smalltalk > Smalltalk Compiler generates Reflective Methods — Translated to Bytecode on demand > Open Compiler: Plugins — Generator plugin: called before code generation – Transform a copy of the AST — Analysis plugin: called after name analysis
7.
© Marcus Denker DEMO
I > Show invalidation of code > Show assert Demo
8.
© Marcus Denker Reflective
Methods: Annotations > Source visible annotations — extended Smalltalk syntax > Source invisible annotations — Reflective API — Can reference any object > Every node can be annotated > Semantics: Compiler Plugins (9 raisedTo: 10000) <:evaluateAtCompiletime:>
9.
© Marcus Denker Example:
Pluggable Type-System > Example for textual annotations bitFromBoolean: aBoolean <:type: Boolean :> ^ (aBoolean ifTrue: [1] ifFalse: [0]) <:type: Integer :> > Optional, pluggable type-system > Types stored as annotations in the Reflective Methods
10.
© Marcus Denker Reflex:
Partial Behavioral Reflection > Hooksets: collection of operation occurrences > Links — Bind hooksets to metaobjects — Define Protocol between base and meta > Goals — Highly selective reification — Flexiblel metalevel engineering – Protocol specification – Cross-cutting hooksets activation condition hookset metaobject links Tanter, OOPSLA03
11.
© Marcus Denker Links
as Annotations Meta Link > Links can be annotations on the AST
12.
© Marcus Denker Demo
II: Geppetto > Show Bounce Demo
Baixar agora