Towards an aspect language for bus protocols
Kathi Fisler, Paul Michael Freitas, Dan Bjorge · 2012
Hardware-level protocol specifications provide an interesting case study for aspect-oriented programming. Bus protocols are defined around events and values that hold between events. Variables within the protocol synchronize around events. Aspects must alter both events and values on multiple variables while maintaining synchronization. In effect, these are two-dimensional aspects, crosscutting both variables and time. This paper explores and contrasts two styles of aspects for capturing such protocols, using a widely-used bus protocol as a running example. Our main contribution lies in raising questions about how AOP can support domains with highly synchronized, two-dimensional aspects.