Aspects in hardware: what do they look like?

Aspect-oriented programming methods today have gained a significant following in the area of object-oriented high-level programming languages since their invention more than ten years ago. More recent developments have also found use cases for AOP in procedural programming languages operating at the system programming level. However, if one digs further down towards the hardware layer, only few signs of AOP usage can be found so far. This paper motivates the use of aspect-oriented approaches in hardware development, which today is mostly done in domain-specific hardware description languages (HDLs). These languages deviate from the programming language model by providing explicit notions for concurrency and time, resulting in synthesizable circuit descriptions that can be turned into a piece of hardware. A survey of crosscutting concerns in hardware descriptions and a first definition of join-points and pointcuts for HDLs is augmented by an aspect-related analysis of a production-quality hardware component and an overview of current developments regarding AOP and hardware development.

[1]  Kunle Olukotun,et al.  Niagara: a 32-way multithreaded Sparc processor , 2005, IEEE Micro.

[2]  Petcharat Burapathana,et al.  An applying aspect-oriented concept to sequential logic design , 2005, International Conference on Information Technology: Coding and Computing (ITCC'05) - Volume II.

[3]  David Déharbe,et al.  Aspect-oriented design in systemC: implementation and applications , 2006, SBCCI '06.

[4]  Erik Hilsdale Aspect-Oriented Programming with Aspectj , 2001, TOOLS.

[5]  Matan Vax,et al.  Conservative aspect-orientated programming with the e language , 2007, AOSD.

[6]  Edward A. Lee,et al.  Taming heterogeneity - the Ptolemy approach , 2003, Proc. IEEE.

[7]  Yoav Hollander,et al.  The e language: a fresh separation of concerns , 2001, Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 38.

[8]  Wolfgang Schröder-Preikschat,et al.  Static and Dynamic Weaving in System Software with AspectC++ , 2006, Proceedings of the 39th Annual Hawaii International Conference on System Sciences (HICSS'06).

[9]  Julia L. Lawall,et al.  On the automatic evolution of an OS kernel using temporal logic and AOP , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[10]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[11]  Andrew Bainbridge-Smith,et al.  ADH: an aspect described hardware programming language , 2005, Proceedings. 2005 IEEE International Conference on Field-Programmable Technology, 2005..

[12]  Jiri Gaisler A portable and fault-tolerant microprocessor based on the SPARC v8 architecture , 2002, Proceedings International Conference on Dependable Systems and Networks.

[13]  S. Chaiworawitgul,et al.  The Options Approach to Hardware Design Decision: Switching from Object-Oriented to Aspect-Oriented Concepts , 2006, 2006 IEEE International Engineering Management Conference.