ESP

Due Monday Oct 28th @ 9 am

From this assignment, students may show...

Technical Reading - Reasoning, Radiance

Usability and Documentation - Reasoning

Software Ecosystem - Reasoning

Feedback - Reasoning

... in addition to other learning objectives students feel their work accomplishes.

For radiance objectives, I am looking for analysis that would have boarder impacts or relation to (future) work outside the scope of this class. This can be achieved by providing deeper speculation on how you think the topics of this paper impact real language design "in the wild" (providing concrete details), or doing your own light research/fact finding and bringing in citations to compare/contrast.

Let's begin

The ESP paper can be found here in addition to the reading repo.

Reading Comprehension

Open Essay Question:

What do you believe people do in practice to program firmware or embedded devices?

What tool(s) do they use, and how does it compare to the design of ESP?

One similar toolchain Matthew has used before is the nesC programming language which runs specifically on the TinyOS ecosystem. You can pick whatever you like for comparison.

Usability + Ecosystem + Feedback

After reading Section 5, and with the spin verification tool documentation as reference , describe what you imagine the debugging process in Section 5.3 looked like from a user's perspective.. Please include what you believe the language does and does not handle for the users, what you are unsure about, and what your best guess is for anything you are unsure about.

How do you think this workflow would look given the metaprogramming strategies we've learned in class?

What advice, expectations, or feedback do you have for the authors of ESP about the user experience of composing a language with an external tool? E.g. do you expect it to be seamless, or to have set stages of interaction, etc.

Optional META.md

META.md should include
  1. your name
  2. your utln
  3. how much time you spent on this assignment
  4. the witness "proof" for how you earned each learning objective

Please Submit

Contents to be submitted

Method of submission

Please commit your changes in the hw15-1 directory of your private repo and push them to the remote server before 9 am.