AdaControl is a free (GMGPL) tool that detects the use of various kinds of constructs in Ada programs. Its first goal is to control proper usage of style or programming rules, but it can also be used as a powerful tool to search for use (or non-use) of various forms of programming styles or design patterns. Searched elements range from very simple, like the occurrence of certain entities, declarations, or statements, to very sophisticated, like verifying that certain programming patterns are being obeyed.
AdaControl can be fully integrated into the GPS IDE, so you can run AdaControl, fix the violations and edit the rules directly from GPS. Handy!
AdaControl is GMGPL licensed.