SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
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?

Más contenido relacionado

Destacado (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
 

Similar a 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 Programming
Diane Allen
 
A survey paper of virtual friend
A survey paper of virtual friendA survey paper of virtual friend
A survey paper of virtual friend
Siddiq Abu Bakkar
 
Universal design for learners
Universal design for learnersUniversal design for learners
Universal design for learners
sterrone
 
I Innovate Lesson Template 1 Vanessa
I Innovate Lesson Template 1 VanessaI Innovate Lesson Template 1 Vanessa
I Innovate Lesson Template 1 Vanessa
Vanessa Gallardo
 
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
Rikki Wright
 
ISSS Language-Action Perspective Basics
ISSS Language-Action Perspective BasicsISSS Language-Action Perspective Basics
ISSS Language-Action Perspective Basics
Peter Jones
 

Similar a 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
 

Más de Federico 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 Industry
Federico 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 Dsl
Federico Tomassetti
 

Más 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
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
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
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

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