Your SlideShare is downloading. ×
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
What is Federico doing?
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

What is Federico doing?

424

Published on

My PHD proposal informally presented at a group meeting.

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
424
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. What is Federico doing? A secret now revealed!
  • 2. Index Language and toolsHow is this stuff related Model-driven to programming? development Intentional Roadmap Programming
  • 3. Languages matter a lot
  • 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. 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 inCognitive Science, 1:730-757.
  • 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. …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. Iverson1979 Turing Award
  • 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. 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 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. 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. Intentional Programming
  • 19. 1.Languages can evolve2.Languages can be mixed3.More notations for each element
  • 20. Teneo XPand EMFText GMFXText MWE JET ATL
  • 21. All the information isstored 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
  • 24. More notations
  • 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. Roadmap 20122012 Case studies with PrEdE2012 Bi-directional trasformations, deeper integration with other EMF tools, complete bootstrapping

×