modern programming languages
play

Modern Programming Languages (Seminar) Guido Salvaneschi Joscha - PowerPoint PPT Presentation

Design and Implementation of Modern Programming Languages (Seminar) Guido Salvaneschi Joscha Drechsler Outline Administrivia Intro Schedule Topics GENERAL INFORMATION Administrivia Guido Salvaneschi Best way to find me


  1. Design and Implementation of Modern Programming Languages (Seminar) Guido Salvaneschi Joscha Drechsler

  2. Outline • Administrivia • Intro • Schedule • Topics

  3. GENERAL INFORMATION

  4. Administrivia • Guido Salvaneschi – Best way to find me is by email – salvaneschi@st.informatik.tu-darmstadt.de – Office A222 – Group of Mira Mezini

  5. Intro • Introduce students to the core techniques of scientific work – Give a scientific talk – Process of writing and publishing research papers – Review a paper • Learn an advanced topic on PL – Compare and evaluate existing solutions

  6. Timeline • Paper submission: June 11 th • Reviews submission: June 18 th (1 Week!) • Feedback meetings: June, Week of 22 nd through 26 th • Camera ready: Friday, July 3 rd • Seminars: Friday, July 10 th Start Early!

  7. Guidelines and Suggestions • Find new references – Try not to summarize everything that's written in references or in the references' references. • Be complete in the bibliography, deep in the analysis • Tell a coherent story about one aspect of the topic. • Please present technologies, with your own words and your own examples. – E.g. : the same running example through the paper

  8. Reviews • A summary of the paper – To demonstrate that you read and understood • Suggestions for the author, regarding both content and presentation – Be realistic and concrete • A list of the major positive and negative issues – Honest! mainly used to grade the reviewer, not the paper

  9. Grades • Paper 40 % • Talk 40 % • Reviews 20 % • Once more. Tell a nice story. Compare things. Find advantages and limitations. Provide examples in different cases. – Papers are there to read – This is the value that you add

  10. Where to start • Send me an email with your name and a list of 3 topics – Order by preference. – Or consider synergies with DAIMPL • Check the details on the course website. – Time slots for seminars – Paper length and format – … • Topics will be assigned • We provide you some references as a starting point

  11. TOPICS

  12. .NET Reactive Extensions and Bacon.js • Data-flow programming model – Event streams – Everything is Observable – C#, Java, Scala, Javascript – Asynchronous – Functional combinators var suggestion1Stream = close1ClickStream .combineLatest(responseStream, function(click, listUsers) { return listUsers[Math.floor(Math.random()*listUsers.length)]; } ) .merge( refreshClickStream.map(function(){ return null; }) ) .startWith(null);

  13. Testing for event-based systems • Map-reduce – Events can be async – Nondeterminism! • How to explore the whole space ?

  14. Omniscient debugging • What if debuggers can go back in time? • Register ALL events – Performance / memory issues • Navigate back in time – Find the root source of a bug

  15. Programming models for massive data processing • Map-reduce – Huge amount of data e.g., from the Internet require efficient processing – Formulation in terms of basic operations (map, reduce) – Highly-optimized backends , e.g. clusters, clouds, etc… – Extension to the basic model: Twister, HaLoop , Spark,… • Incremental approaches: – Not only batch processing: view maintenance-like systems

  16. THE END

Recommend


More recommend