What is Federico doing?   A secret now revealed!
Index                   Language and toolsHow is this stuff related       Model-driven  to programming?               deve...
Languages matter a lot
Linguistic relativity                                We cut nature up, organize it into concepts, and ascribe             ...
Linguistic relativity                                                                We see and hear and otherwise        ...
Linguistic relativity                By relieving the brain of all unnecessary work, a good notation                sets i...
Tools support a wide range of  activities…
…including           reasoning       Just as you cannot do very       much carpentry with your bare       hands, there is ...
Tools for the mind                                       Nersessian concludes that engineering                            ...
The Extended Mind   Your mind is not just in your skull but itincludes also the tools supporting reasoning,    which play ...
…what about programming?                                       The tools we are trying to use and                         ...
…what about programming?                     A language that doesn’t affect                     the way you think about   ...
Model-driven developmentExpress using the problem language        Generate code using the solution language           Acco...
Step 1) Tools to express and          reason             1                   Tools are                2                   ...
Model-driven development• There are high barriers bewteen  languages.• It is costly to make GPLs and DSLs  communicate• GP...
GPLs are immutable                   AspectJpublic class ArrayOps {private /*@ spec_public @*/ Object[] a;//@ public invar...
Intentional Programming                                        • Inventor of the Hungarian                                ...
Intentional Programming
1.Languages can evolve2.Languages can be mixed3.More notations for each element
Teneo         XPand           EMFText                                 GMFXText        MWE                JET              ...
All the information isstored in EMF models or«view» as EMF models
All the information is                                        stored in EMF models or                                     ...
All the information is                                                stored in EMF models or                             ...
More notations
Roadmap 2011Gen-Feb 2011   Read about cognitive linguistics,               tools & mindFeb-Apr 2011   Build a prototype of...
Roadmap 20122012   Case studies with PrEdE2012   Bi-directional trasformations,       deeper integration with other EMF   ...
What is Federico doing?
Upcoming SlideShare
Loading in …5
×

What is Federico doing?

656 views

Published on

My PHD proposal informally presented at a group meeting.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
656
On SlideShare
0
From Embeds
0
Number of Embeds
39
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

What is Federico doing?

  1. 1. What is Federico doing? A secret now revealed!
  2. 2. Index Language and toolsHow is this stuff related Model-driven to programming? development Intentional Roadmap Programming
  3. 3. Languages matter a lot
  4. 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 NewYork Times, August 26, 2010
  5. 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. 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. 7. Tools support a wide range of activities…
  8. 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. 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 inCognitive Science, 1:730-757.
  10. 10. The Extended Mind Your mind is not just in your skull but itincludes also the tools supporting reasoning, which play an active role in thinking. Andy Clark and David Chalmers
  11. 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. 12. …what about programming? A language that doesn’t affect the way you think about programming, is not worth knowing.Kenneth E. Iverson1979 Turing Award
  13. 13. Model-driven developmentExpress 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. 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. 15. Model-driven development• There are high barriers bewteen languages.• It is costly to make GPLs and DSLs communicate• GPLs are immutable.
  16. 16. GPLs are immutable AspectJpublic 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. 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
  18. 18. Intentional Programming
  19. 19. 1.Languages can evolve2.Languages can be mixed3.More notations for each element
  20. 20. Teneo XPand EMFText GMFXText MWE JET ATL
  21. 21. All the information isstored in EMF models or«view» as EMF models
  22. 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. 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
  24. 24. More notations
  25. 25. Roadmap 2011Gen-Feb 2011 Read about cognitive linguistics, tools & mindFeb-Apr 2011 Build a prototype of PrEdE and a Math DSLMay-Dec 2011 Work on a Java projectional editorMay 2011… Composability of Web-Services
  26. 26. Roadmap 20122012 Case studies with PrEdE2012 Bi-directional trasformations, deeper integration with other EMF tools, complete bootstrapping

×