Also support interfaces during FAME-specific annotation scanning (Product, Output, Input)

Request Summary

Currently, only child classes of Agent are scanned for FAME annotations. It is not possible to, e.g., define an Agent's Product in an interface and share it between different agents.

Use case

Some Agents may be very different but have the same Product. In this case it is unreasonable to force these agents into a class hierarchy with a common super class. Creating two different Products with the same name on two branches of the class hierarchy will also not work, as they will not be recognised. Thus, it should be possible to define, e.g., Products in an interface and implement it with two different agents. The same might apply for Output and Input annotations.

Edited by Christoph Schimeczek