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
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 is by email – salvaneschi@st.informatik.tu-darmstadt.de – Office A222 – Group of Mira Mezini
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
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!
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
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
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
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
TOPICS
.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);
Testing for event-based systems • Map-reduce – Events can be async – Nondeterminism! • How to explore the whole space ?
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
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
THE END
Recommend
More recommend
Explore More Topics
Stay informed with curated content and fresh updates.