Affiliation:
1. Luleå University of Technology
Abstract
The course in Compiler Construction is part of the Computer Science masters program at Luleå University of Technology (LTU). Since the fall of 2014, the course is given by the Embedded Systems group. This paper outlines the course syllabus and its relation to CPS/IoT and embedded systems in general. In particular, the course introduces domain specific language design with the outset from the imperative RTFM-core language. Students are exposed to design choices for the language, spanning from programming model, compiler design issues, back-end tools, and even runtime environments. The intention is to give a holistic perspective and motivate the use of compilation techniques towards robust, efficient, and verifiable (embedded) software. Of course, developing basic skills is not overlooked and as part of the laboratory assignments, students extend the min-imalistic Object Oriented language RTFM-cOOre and develop the compiler accordingly targeting the RTFM-core language as an intermediate representation. As the RTFM-core/-cOOre compilers are implemented using OCaml/Men-hir, the students are also exposed to functional languages and to their advantages in the context of compiler construction. However, for their own development they may choose alternative design tools and languages. This gives us the opportunity to review and correlate achievements and efficiency to the choice of tools and languages and it is an outset for future course development.
Publisher
Association for Computing Machinery (ACM)
Subject
Engineering (miscellaneous),Computer Science (miscellaneous)
Reference18 articles.
1. OCaml. (webpage) Last accessed 2014-07-28. [Online]. Available: http://ocaml.org OCaml. (webpage) Last accessed 2014-07-28. [Online]. Available: http://ocaml.org
2. Menhir. (webpage) Last accessed 2014-08-07. [Online]. Available: http://gallium.inria.fr/~fpottier/menhir/ Menhir. (webpage) Last accessed 2014-08-07. [Online]. Available: http://gallium.inria.fr/~fpottier/menhir/
3. Real-time for the masses, step 1: Programming API and static priority SRP kernel primitives;Eriksson J.;SIES. IEEE,2013
4. A stack-based resource allocation policy for realtime processes
5. RTFM-RT: A threaded runtime for RTFM-core - towards execution of IEC 61499