Soumettre la recherche
Mettre en ligne
Demo: Reflectivity
•
1 j'aime
•
724 vues
Marcus Denker
Suivre
Demo of Reflectivity, held at ESUG 2007, Lugano, Switzerland,
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 12
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
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
Recommandé
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
Contenu connexe
Tendances
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
Tendances
(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
En vedette
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
En vedette
(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
Similaire à 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
Similaire à 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
Plus 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
Plus 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
Dernier
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Roshan Dwivedi
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
UK Journal
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
apidays
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Remote DBA Services
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Safe Software
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
SynarionITSolutions
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Juan lago vázquez
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Andrey Devyatkin
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
The Digital Insurer
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
apidays
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
apidays
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
MIND CTI
Dernier
(20)
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
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
Télécharger maintenant