SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
What is Federico doing?
   A secret now revealed!
Index

                   Language and tools


How is this stuff related       Model-driven
  to programming?               development

      Intentional
                                  Roadmap
     Programming
Languages matter a lot
Linguistic relativity
                                We cut nature up, organize it into concepts, and ascribe
                                significances as we do, largely because we are parties to an
                                agreement […] codified in the patterns of our language.
                                […] We cannot talk at all except by subscribing to the
                                organization and classification of data which the agreement
                                decrees. [2]


                                Native American languages impose on their speakers a
                                picture of reality that is totally different from ours, so their
                                speakers would simply not be able to understand some of
                                our most basic concepts, like the flow of time or the
                                distinction between objects (like “stone”) and actions (like
   Benjamin Lee Whorf,          “fall”)
   A chemical engineer          [Whorf as cited by 3]


[2] B. Whorf, T. Review. Science and linguistics. 42(6), 1940.
[3] G. Deutscher, Does Your Language Shape How You Think?, The New
York Times, August 26, 2010
Linguistic relativity

                                                                We see and hear and otherwise
                                                                experience very largely as we do because
                                                                the language habits of our community
                                                                predispose      certain     choices   of
                                                                interpretation. [1]




                                                                As strange as it may sound, our
                                                                experience of a Chagall painting actually
                                                                depends to some extent on whether our
                                                                language has a word for blue. [3]




[1] E. Sapir. The status of linguistics as a science. Language, 5(209), 1929.
Linguistic relativity

                By relieving the brain of all unnecessary work, a good notation
                sets it free to concentrate on more advanced problems, and in
                effect increases the mental power of the race. [5]




                  120                                             CXX
                   x                                               (?)
                  14                                              XIV
[5] A. N. Whitehead. An introduction to Mathematics. Williams &
Northgate, 1911.
Tools support a
 wide range of
  activities…
…including
           reasoning

       Just as you cannot do very
       much carpentry with your bare
       hands, there is not much
       thinking you can do with your
       bare brain. [7]




[7] Bo Dahlbom and Lars-Erik Janlert (unpublished,
cited by Donnett, 2000)
Tools for the mind
                                       Nersessian concludes that engineering
                                       scientists think by means of the
                                       artifact models they design and build
                                       and without them they are almost
                                       unable to think [6]



                                     We use intelligence to structure our
                                     environment so that we can succeed
                                     with less intelligence. Our brains make
                                     the world smart so we can be dumb in
                                     peace!

                                     –Andy Clark, 1997


[6] Nersessian, N.J. (2009). How do engineering scientists think? Model-
based simulation in biomedical engineering laboratories, Topics in
Cognitive Science, 1:730-757.
The Extended Mind


   Your mind is not just in your skull but it
includes also the tools supporting reasoning,
    which play an active role in thinking.

        Andy Clark and David Chalmers
…what about programming?

                                       The tools we are trying to use and
                                       the language or notation we are
                                       using to express or record our
                                       thoughts are the major factors
                                       determining what we can think or
                                       express at all! [4]



        Edsger Dijkstra
      1972 Turing Award
[4] E. W. Dijkstra. The humble programmer. Commun. ACM, 15:859–866,
October 1972.
…what about programming?

                     A language that doesn’t affect
                     the way you think about
                     programming, is not worth
                     knowing.




Kenneth E. Iverson
1979 Turing Award
Model-driven development
Express using the problem language        Generate code using the solution language


           Account number,                                JSP, Java class,
             Interest rate,                                 Database,
                                     Translation
                 Bond,                                      HTML, CSS
             Inflation rate
Step 1) Tools to express and
          reason

             1

                   Tools are                2
                   created to
                   manipulate
                   the models
                                Step 2) Use the information
                                  to feed automatization
Model-driven development


• There are high barriers bewteen
  languages.

• It is costly to make GPLs and DSLs
  communicate

• GPLs are immutable.
GPLs are immutable                   AspectJ
public class ArrayOps {
private /*@ spec_public @*/ Object[] a;

//@ public invariant 0 < a.length;

/*@ requires 0 < arr.length;
  @ ensures this.a == arr;
  @*/
public void init(Object[] arr) {
  this.a = arr;
}                                     @Contract
                                      interface BankAccount {
           JML
                                       @Post(“$return >= 0”);
                                       float getBalance();

                                       @Pre(“amount >= 0”)
                                       @Post(“$this.balance == $old($this.balance)
                                           +amount && $return == $this.balance”)
                                       float deposit(float amount);
                       Contract4J }
Intentional Programming

                                        • Inventor of the Hungarian
                                          notation
                                        • Oversaw the development of
                                          Word and Excel
                                        • He flight in the space

         Charles Simonyi


  1995: The Death Of
                                             2002: He found       2006:
Computer Languages, The   Microsoft choose                                      2009: Industrial
                                              Intentational   Presentation at
   Birth of Intentional         .NET                                             case-studies
                                                Software         OOPSLA
      Programming
Intentional Programming
1.Languages can evolve
2.Languages can be mixed
3.More notations for each element
Teneo

         XPand           EMFText




                                 GMF
XText




        MWE                JET

                 ATL
All the information is
stored in EMF models or
«view» as EMF models
All the information is
                                        stored in EMF models or
                                        «view» as EMF models



                            class Order {
Each editor component is      boolean isPaid()
                              String getNumber()
able to represent certain
                            }
information
All the information is
                                                stored in EMF models or
                                                «view» as EMF models



                                    class Order {
Each editor component is              boolean isPaid()
                                      String getNumber()
able to represent certain
                                    }
information



                                   I can mix models and build
                                   new editor components
               C#                  reusing and composing
                            Java
                                   existing components
More notations
Roadmap 2011

Gen-Feb 2011   Read about cognitive linguistics,
               tools & mind
Feb-Apr 2011   Build a prototype of PrEdE and a
               Math DSL
May-Dec 2011   Work on a Java projectional editor
May 2011…      Composability of Web-Services
Roadmap 2012


2012   Case studies with PrEdE
2012   Bi-directional trasformations,
       deeper integration with other EMF
       tools, complete bootstrapping
What is Federico doing?

Contenu connexe

En vedette

Model Driven Web Development Solutions
Model Driven Web Development SolutionsModel Driven Web Development Solutions
Model Driven Web Development SolutionsFederico Tomassetti
 
TDD Introduction with Kata FizzBuzz
TDD Introduction with Kata FizzBuzzTDD Introduction with Kata FizzBuzz
TDD Introduction with Kata FizzBuzzRick Liu
 
Apl – a programming language
Apl – a programming languageApl – a programming language
Apl – a programming languageBryan Wilson
 
Introduction to kdb+
Introduction to kdb+Introduction to kdb+
Introduction to kdb+Rory Winston
 
Real-TIme Market Data in R
Real-TIme Market Data in RReal-TIme Market Data in R
Real-TIme Market Data in RRory Winston
 

En vedette (6)

Model Driven Web Development Solutions
Model Driven Web Development SolutionsModel Driven Web Development Solutions
Model Driven Web Development Solutions
 
Apl
AplApl
Apl
 
TDD Introduction with Kata FizzBuzz
TDD Introduction with Kata FizzBuzzTDD Introduction with Kata FizzBuzz
TDD Introduction with Kata FizzBuzz
 
Apl – a programming language
Apl – a programming languageApl – a programming language
Apl – a programming language
 
Introduction to kdb+
Introduction to kdb+Introduction to kdb+
Introduction to kdb+
 
Real-TIme Market Data in R
Real-TIme Market Data in RReal-TIme Market Data in R
Real-TIme Market Data in R
 

Similaire à What is Federico doing?

The Four Principles Of Object Oriented Programming
The Four Principles Of Object Oriented ProgrammingThe Four Principles Of Object Oriented Programming
The Four Principles Of Object Oriented ProgrammingDiane Allen
 
Introduction to Domain-Driven Design
Introduction to Domain-Driven DesignIntroduction to Domain-Driven Design
Introduction to Domain-Driven DesignR-P-Azevedo
 
Universal design for learners
Universal design for learnersUniversal design for learners
Universal design for learnerssterrone
 
A survey paper of virtual friend
A survey paper of virtual friendA survey paper of virtual friend
A survey paper of virtual friendSiddiq Abu Bakkar
 
Java As A Programming Language
Java As A Programming LanguageJava As A Programming Language
Java As A Programming LanguageJennifer Wright
 
Universal design for learners
Universal design for learnersUniversal design for learners
Universal design for learnerssterrone
 
Applying Science to Conversational UX Design
Applying Science to Conversational UX DesignApplying Science to Conversational UX Design
Applying Science to Conversational UX DesignRaphael Arar
 
Up to speed in domain driven design
Up to speed in domain driven designUp to speed in domain driven design
Up to speed in domain driven designRick van der Arend
 
Dino Esposito. Polyglot Persistence: From Architecture to Solutions
Dino Esposito. Polyglot Persistence: From Architecture to SolutionsDino Esposito. Polyglot Persistence: From Architecture to Solutions
Dino Esposito. Polyglot Persistence: From Architecture to SolutionsCodeFest
 
Why Languages Matter 20090123
Why Languages Matter 20090123Why Languages Matter 20090123
Why Languages Matter 20090123David Wood
 
NL Context Understanding 23(6)
NL Context Understanding 23(6)NL Context Understanding 23(6)
NL Context Understanding 23(6)IT Industry
 
IS-EUD-2015, Madrid, Spain, 27 May 2015
IS-EUD-2015, Madrid, Spain, 27 May 2015IS-EUD-2015, Madrid, Spain, 27 May 2015
IS-EUD-2015, Madrid, Spain, 27 May 2015Charith Perera
 
Building DSLs: Marriage of High Essence and Groovy Metaprogramming
Building DSLs: Marriage of High Essence and Groovy MetaprogrammingBuilding DSLs: Marriage of High Essence and Groovy Metaprogramming
Building DSLs: Marriage of High Essence and Groovy MetaprogrammingSkills Matter
 
I Innovate Lesson Template 1 Vanessa
I Innovate Lesson Template 1 VanessaI Innovate Lesson Template 1 Vanessa
I Innovate Lesson Template 1 VanessaVanessa Gallardo
 
Language as social sensor - Marko Grobelnik - Dubrovnik - HrTAL2016 - 30 Sep ...
Language as social sensor - Marko Grobelnik - Dubrovnik - HrTAL2016 - 30 Sep ...Language as social sensor - Marko Grobelnik - Dubrovnik - HrTAL2016 - 30 Sep ...
Language as social sensor - Marko Grobelnik - Dubrovnik - HrTAL2016 - 30 Sep ...Marko Grobelnik
 
A Strong Object Recognition Using Lbp, Ltp And Rlbp
A Strong Object Recognition Using Lbp, Ltp And RlbpA Strong Object Recognition Using Lbp, Ltp And Rlbp
A Strong Object Recognition Using Lbp, Ltp And RlbpRikki Wright
 
ISSS Language-Action Perspective Basics
ISSS Language-Action Perspective BasicsISSS Language-Action Perspective Basics
ISSS Language-Action Perspective BasicsPeter Jones
 
Beyond Sharing: Open Source Design
Beyond Sharing: Open Source DesignBeyond Sharing: Open Source Design
Beyond Sharing: Open Source DesignMushon Zer-Aviv
 
Sign language converter
Sign language converterSign language converter
Sign language converterIJCSES Journal
 

Similaire à What is Federico doing? (20)

The Four Principles Of Object Oriented Programming
The Four Principles Of Object Oriented ProgrammingThe Four Principles Of Object Oriented Programming
The Four Principles Of Object Oriented Programming
 
Introduction to Domain-Driven Design
Introduction to Domain-Driven DesignIntroduction to Domain-Driven Design
Introduction to Domain-Driven Design
 
Universal design for learners
Universal design for learnersUniversal design for learners
Universal design for learners
 
A survey paper of virtual friend
A survey paper of virtual friendA survey paper of virtual friend
A survey paper of virtual friend
 
Java As A Programming Language
Java As A Programming LanguageJava As A Programming Language
Java As A Programming Language
 
Universal design for learners
Universal design for learnersUniversal design for learners
Universal design for learners
 
Applying Science to Conversational UX Design
Applying Science to Conversational UX DesignApplying Science to Conversational UX Design
Applying Science to Conversational UX Design
 
Up to speed in domain driven design
Up to speed in domain driven designUp to speed in domain driven design
Up to speed in domain driven design
 
Dino Esposito. Polyglot Persistence: From Architecture to Solutions
Dino Esposito. Polyglot Persistence: From Architecture to SolutionsDino Esposito. Polyglot Persistence: From Architecture to Solutions
Dino Esposito. Polyglot Persistence: From Architecture to Solutions
 
Why Languages Matter 20090123
Why Languages Matter 20090123Why Languages Matter 20090123
Why Languages Matter 20090123
 
NL Context Understanding 23(6)
NL Context Understanding 23(6)NL Context Understanding 23(6)
NL Context Understanding 23(6)
 
Scratch day 2011
Scratch day 2011Scratch day 2011
Scratch day 2011
 
IS-EUD-2015, Madrid, Spain, 27 May 2015
IS-EUD-2015, Madrid, Spain, 27 May 2015IS-EUD-2015, Madrid, Spain, 27 May 2015
IS-EUD-2015, Madrid, Spain, 27 May 2015
 
Building DSLs: Marriage of High Essence and Groovy Metaprogramming
Building DSLs: Marriage of High Essence and Groovy MetaprogrammingBuilding DSLs: Marriage of High Essence and Groovy Metaprogramming
Building DSLs: Marriage of High Essence and Groovy Metaprogramming
 
I Innovate Lesson Template 1 Vanessa
I Innovate Lesson Template 1 VanessaI Innovate Lesson Template 1 Vanessa
I Innovate Lesson Template 1 Vanessa
 
Language as social sensor - Marko Grobelnik - Dubrovnik - HrTAL2016 - 30 Sep ...
Language as social sensor - Marko Grobelnik - Dubrovnik - HrTAL2016 - 30 Sep ...Language as social sensor - Marko Grobelnik - Dubrovnik - HrTAL2016 - 30 Sep ...
Language as social sensor - Marko Grobelnik - Dubrovnik - HrTAL2016 - 30 Sep ...
 
A Strong Object Recognition Using Lbp, Ltp And Rlbp
A Strong Object Recognition Using Lbp, Ltp And RlbpA Strong Object Recognition Using Lbp, Ltp And Rlbp
A Strong Object Recognition Using Lbp, Ltp And Rlbp
 
ISSS Language-Action Perspective Basics
ISSS Language-Action Perspective BasicsISSS Language-Action Perspective Basics
ISSS Language-Action Perspective Basics
 
Beyond Sharing: Open Source Design
Beyond Sharing: Open Source DesignBeyond Sharing: Open Source Design
Beyond Sharing: Open Source Design
 
Sign language converter
Sign language converterSign language converter
Sign language converter
 

Plus de Federico Tomassetti

Jariko - A JVM interpreter for RPG written in kotlin
Jariko - A JVM interpreter for RPG written in kotlinJariko - A JVM interpreter for RPG written in kotlin
Jariko - A JVM interpreter for RPG written in kotlinFederico Tomassetti
 
JavaParser - A tool to generate, analyze and refactor Java code
JavaParser - A tool to generate, analyze and refactor Java codeJavaParser - A tool to generate, analyze and refactor Java code
JavaParser - A tool to generate, analyze and refactor Java codeFederico Tomassetti
 
How do you create a programming language for the JVM?
How do you create a programming language for the JVM?How do you create a programming language for the JVM?
How do you create a programming language for the JVM?Federico Tomassetti
 
Automatically Spotting Cross-language Relations
Automatically Spotting Cross-language RelationsAutomatically Spotting Cross-language Relations
Automatically Spotting Cross-language RelationsFederico Tomassetti
 
Lifting variability from C to mbeddr-C
Lifting variability from C to mbeddr-CLifting variability from C to mbeddr-C
Lifting variability from C to mbeddr-CFederico Tomassetti
 
Maturity of Software Modelling and Model Driven Engineering: a Survey in the ...
Maturity of Software Modelling and Model Driven Engineering: a Survey in the ...Maturity of Software Modelling and Model Driven Engineering: a Survey in the ...
Maturity of Software Modelling and Model Driven Engineering: a Survey in the ...Federico Tomassetti
 
Eclipse Florence Day: Modeling in the Italian Industry
Eclipse Florence Day: Modeling in the Italian IndustryEclipse Florence Day: Modeling in the Italian Industry
Eclipse Florence Day: Modeling in the Italian IndustryFederico Tomassetti
 
Estendere Java con il Meta Programming System di JetBrains
Estendere Java con il Meta Programming System di JetBrains Estendere Java con il Meta Programming System di JetBrains
Estendere Java con il Meta Programming System di JetBrains Federico Tomassetti
 
Xtext Un Framework Per La Creazione Di Dsl
Xtext   Un Framework Per La Creazione Di DslXtext   Un Framework Per La Creazione Di Dsl
Xtext Un Framework Per La Creazione Di DslFederico Tomassetti
 

Plus de Federico Tomassetti (11)

Jariko - A JVM interpreter for RPG written in kotlin
Jariko - A JVM interpreter for RPG written in kotlinJariko - A JVM interpreter for RPG written in kotlin
Jariko - A JVM interpreter for RPG written in kotlin
 
JavaParser - A tool to generate, analyze and refactor Java code
JavaParser - A tool to generate, analyze and refactor Java codeJavaParser - A tool to generate, analyze and refactor Java code
JavaParser - A tool to generate, analyze and refactor Java code
 
How do you create a programming language for the JVM?
How do you create a programming language for the JVM?How do you create a programming language for the JVM?
How do you create a programming language for the JVM?
 
Building languages with Kotlin
Building languages with KotlinBuilding languages with Kotlin
Building languages with Kotlin
 
Building languages with Kotlin
Building languages with KotlinBuilding languages with Kotlin
Building languages with Kotlin
 
Automatically Spotting Cross-language Relations
Automatically Spotting Cross-language RelationsAutomatically Spotting Cross-language Relations
Automatically Spotting Cross-language Relations
 
Lifting variability from C to mbeddr-C
Lifting variability from C to mbeddr-CLifting variability from C to mbeddr-C
Lifting variability from C to mbeddr-C
 
Maturity of Software Modelling and Model Driven Engineering: a Survey in the ...
Maturity of Software Modelling and Model Driven Engineering: a Survey in the ...Maturity of Software Modelling and Model Driven Engineering: a Survey in the ...
Maturity of Software Modelling and Model Driven Engineering: a Survey in the ...
 
Eclipse Florence Day: Modeling in the Italian Industry
Eclipse Florence Day: Modeling in the Italian IndustryEclipse Florence Day: Modeling in the Italian Industry
Eclipse Florence Day: Modeling in the Italian Industry
 
Estendere Java con il Meta Programming System di JetBrains
Estendere Java con il Meta Programming System di JetBrains Estendere Java con il Meta Programming System di JetBrains
Estendere Java con il Meta Programming System di JetBrains
 
Xtext Un Framework Per La Creazione Di Dsl
Xtext   Un Framework Per La Creazione Di DslXtext   Un Framework Per La Creazione Di Dsl
Xtext Un Framework Per La Creazione Di Dsl
 

Dernier

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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 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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK 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 Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 

Dernier (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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 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...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding 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...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

What is Federico doing?

  • 1. What is Federico doing? A secret now revealed!
  • 2. Index Language and tools How is this stuff related Model-driven to programming? development Intentional Roadmap Programming
  • 4. Linguistic relativity We cut nature up, organize it into concepts, and ascribe significances as we do, largely because we are parties to an agreement […] codified in the patterns of our language. […] We cannot talk at all except by subscribing to the organization and classification of data which the agreement decrees. [2] Native American languages impose on their speakers a picture of reality that is totally different from ours, so their speakers would simply not be able to understand some of our most basic concepts, like the flow of time or the distinction between objects (like “stone”) and actions (like Benjamin Lee Whorf, “fall”) A chemical engineer [Whorf as cited by 3] [2] B. Whorf, T. Review. Science and linguistics. 42(6), 1940. [3] G. Deutscher, Does Your Language Shape How You Think?, The New York Times, August 26, 2010
  • 5. Linguistic relativity We see and hear and otherwise experience very largely as we do because the language habits of our community predispose certain choices of interpretation. [1] As strange as it may sound, our experience of a Chagall painting actually depends to some extent on whether our language has a word for blue. [3] [1] E. Sapir. The status of linguistics as a science. Language, 5(209), 1929.
  • 6. Linguistic relativity By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and in effect increases the mental power of the race. [5] 120 CXX x (?) 14 XIV [5] A. N. Whitehead. An introduction to Mathematics. Williams & Northgate, 1911.
  • 7. Tools support a wide range of activities…
  • 8. …including reasoning Just as you cannot do very much carpentry with your bare hands, there is not much thinking you can do with your bare brain. [7] [7] Bo Dahlbom and Lars-Erik Janlert (unpublished, cited by Donnett, 2000)
  • 9. Tools for the mind Nersessian concludes that engineering scientists think by means of the artifact models they design and build and without them they are almost unable to think [6] We use intelligence to structure our environment so that we can succeed with less intelligence. Our brains make the world smart so we can be dumb in peace! –Andy Clark, 1997 [6] Nersessian, N.J. (2009). How do engineering scientists think? Model- based simulation in biomedical engineering laboratories, Topics in Cognitive Science, 1:730-757.
  • 10. The Extended Mind Your mind is not just in your skull but it includes also the tools supporting reasoning, which play an active role in thinking. Andy Clark and David Chalmers
  • 11. …what about programming? The tools we are trying to use and the language or notation we are using to express or record our thoughts are the major factors determining what we can think or express at all! [4] Edsger Dijkstra 1972 Turing Award [4] E. W. Dijkstra. The humble programmer. Commun. ACM, 15:859–866, October 1972.
  • 12. …what about programming? A language that doesn’t affect the way you think about programming, is not worth knowing. Kenneth E. Iverson 1979 Turing Award
  • 13. Model-driven development Express using the problem language Generate code using the solution language Account number, JSP, Java class, Interest rate, Database, Translation Bond, HTML, CSS Inflation rate
  • 14. Step 1) Tools to express and reason 1 Tools are 2 created to manipulate the models Step 2) Use the information to feed automatization
  • 15. Model-driven development • There are high barriers bewteen languages. • It is costly to make GPLs and DSLs communicate • GPLs are immutable.
  • 16. GPLs are immutable AspectJ public class ArrayOps { private /*@ spec_public @*/ Object[] a; //@ public invariant 0 < a.length; /*@ requires 0 < arr.length; @ ensures this.a == arr; @*/ public void init(Object[] arr) { this.a = arr; } @Contract interface BankAccount { JML @Post(“$return >= 0”); float getBalance(); @Pre(“amount >= 0”) @Post(“$this.balance == $old($this.balance) +amount && $return == $this.balance”) float deposit(float amount); Contract4J }
  • 17. Intentional Programming • Inventor of the Hungarian notation • Oversaw the development of Word and Excel • He flight in the space Charles Simonyi 1995: The Death Of 2002: He found 2006: Computer Languages, The Microsoft choose 2009: Industrial Intentational Presentation at Birth of Intentional .NET case-studies Software OOPSLA Programming
  • 19. 1.Languages can evolve 2.Languages can be mixed 3.More notations for each element
  • 20. Teneo XPand EMFText GMF XText MWE JET ATL
  • 21. All the information is stored in EMF models or «view» as EMF models
  • 22. All the information is stored in EMF models or «view» as EMF models class Order { Each editor component is boolean isPaid() String getNumber() able to represent certain } information
  • 23. All the information is stored in EMF models or «view» as EMF models class Order { Each editor component is boolean isPaid() String getNumber() able to represent certain } information I can mix models and build new editor components C# reusing and composing Java existing components
  • 25. Roadmap 2011 Gen-Feb 2011 Read about cognitive linguistics, tools & mind Feb-Apr 2011 Build a prototype of PrEdE and a Math DSL May-Dec 2011 Work on a Java projectional editor May 2011… Composability of Web-Services
  • 26. Roadmap 2012 2012 Case studies with PrEdE 2012 Bi-directional trasformations, deeper integration with other EMF tools, complete bootstrapping