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

modern programming languages
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Design and Implementation of Modern Programming Languages (Seminar)

Guido Salvaneschi Joscha Drechsler

slide-2
SLIDE 2

Outline

  • Administrivia
  • Intro
  • Schedule
  • Topics
slide-3
SLIDE 3

GENERAL INFORMATION

slide-4
SLIDE 4

Administrivia

  • Guido Salvaneschi

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

slide-5
SLIDE 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

slide-6
SLIDE 6

Timeline

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

Start Early!

slide-7
SLIDE 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

slide-8
SLIDE 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

slide-9
SLIDE 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

slide-10
SLIDE 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
slide-11
SLIDE 11

TOPICS

slide-12
SLIDE 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);

slide-13
SLIDE 13

Testing for event-based systems

  • Map-reduce

– Events can be async – Nondeterminism!

  • How to explore the whole space ?
slide-14
SLIDE 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

slide-15
SLIDE 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

slide-16
SLIDE 16

THE END