A naive implementation is going to use a system function that recurses through the tag tree to find active alarms. That’s fine for shallow trees and small systems, but won’t scale well. If you want to scale, you’ll arrange one or more alarm pipelines that call out to a project script module that caches status in a persistent jython data structure (dictionaries and nested dictionaries, in particular). That eliminates the recursion, but does require careful initialization of the caching hierarchy.