LARA: an aspect-oriented programming language for embedded systems

  • Authors:
  • João M.P. Cardoso;Tiago Carvalho;José G.F. Coutinho;Wayne Luk;Ricardo Nobre;Pedro Diniz;Zlatko Petrov

  • Affiliations:
  • Universidade do Porto, Faculdade de Engenharia (FEUP), Porto, Portugal;Universidade do Porto, Faculdade de Engenharia (FEUP), Porto, Portugal;Imperial College London, London, United Kingdom;Imperial College London, London, United Kingdom;INESC-ID, Lisboa, Portugal;INESC-ID, Lisboa, Portugal;Honeywell International s.r.o, Brno, Czech Rep

  • Venue:
  • Proceedings of the 11th annual international conference on Aspect-oriented Software Development
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

The development of applications for high-performance embedded systems is typically a long and error-prone process. In addition to the required functions, developers must consider various and often conflicting non-functional application requirements such as performance and energy efficiency. The complexity of this process is exacerbated by the multitude of target architectures and the associated retargetable mapping tools. This paper introduces an As-pect-Oriented Programming (AOP) approach that conveys domain knowledge and non-functional requirements to optimizers and mapping tools. We describe a novel AOP language, LARA, which allows the specification of compi-lation strategies to enable efficient generation of software code and hardware cores for alternative target architectures. We illustrate the use of LARA for code instrumentation and analysis, and for guiding the application of compiler and hardware synthesis optimizations. An important LARA feature is its capability to deal with different join points, action models, and attributes, and to generate an aspect intermediate representation. We present examples of our aspect-oriented hardware/software design flow for mapping real-life application codes to embedded platforms based on Field Programmable Gate Array (FPGA) technology.