One of the core concepts in OpsMgr is modules. There are four
modules types in OpsMgr: DataSource, Condition Detection, Probe,
and Write Action. When you write any workflow such as
rule/monitor/discovery/task/diagnostic/recovery you are using
one or more module type that are already defined in system
management packs. One of the hard things sometimes is to
actually figure out what modules exist and what are their
properties such as:  1 - What parameters need to be passed to a
module?  2 - What is the input and output type of a module?  3 -
Which parameters are mandatory and which are optional?  4 - What
are the data types of the parameters?  To try to simplify this a
bit, I wrote a small utility last night to provide some
visibility into the library of modules and information about
each module. The utility shows a tree of modules. At the top of
the tree are the code based modules and the child nodes are the
modules that use these code based modules.  This is the first
version of the utility so it might not an