The CriticADT Component
See Also: Critic Framework Overview.
High-Level Description: The CriticADT component is responsible for maintaining
a set of open issues, as discovered by critics, and sending out notifications whenever
these issues change, or in response to a CriticGetIssuesMessage
.
Top Interface Requests: (The following are requests sent out by this component to components above).
- None
Top Interface Notifications: (The following are notifications handled by this component from components above).
edu.uci.ics.xarchutils.XArchFileEvent
: These events, which usually come from XArchADT, indicate when a new file has been opened or closed. CriticADT responds to file-close messages by removing all open issues related to that file automatically.
Bottom Interface Requests: (The following are requests handled by this component).
archstudio.critics.CriticGetIssuesMessage
: This message is a request to send out notifications of open issues. It may include either a set of critic IDs, or a set of architecture URIs. If the message contains a set of critic IDs, then all issues opened by those critics are sent downward asCriticIssueMessage
s. If the message contains a set of architecture URIs, then all issues related to those architecture URIs are sent downward asCriticIssueMessage
s. The exception is when both sets are empty, in which case this component will send all open issues downward asCriticIssueMessage
s (i.e. dump its entire state).archstudio.critics.CriticIssueMessage
: These messages, usually sent from critics, indicate that an issue is open or resolved. If the issue is open, and the CriticADT doesn't already know about it, the CriticADT will add it to its list of open issues. If the issue is reported as resolved, then the CriticADT will remove it from its list (if it isn't in the list, nothing happens to the list). In any case, the CriticADT will always send out a copy of theCriticIssueMessage
as a notification when it receives one.archstudio.critics.CriticReplaceIssuesMessage
: This message, usually sent from critics, indicates that a critic would like to replace some or all of its open issues with a new set. Any new issues are treated as if they had arrived asCriticIssueMessage
s, see above. Any resolved issues are treated likewise.archstudio.critics.CriticStatusMessage
: This message, usually sent by critics, indicates the status of a critic. If a critic is going unavailable or inactive, the CriticADT will automatically remove all issues originating from that critic.
Bottom Interface Notifications: (The following are notifications sent out by this component).
archstudio.critics.CriticIssueMessage
: These messages, indicating the current status of an issue, are sent out in response to requests, as described above.
Required EBI Service Interfaces: (The following are interfaces used by this component via the EBI Wrapper Mechanism and should be made available by a component above this one).
- None.
Provided EBI Service Interfaces: (The following are interfaces implemented by this component via the EBI Wrapper Mechanism and are made available to components below this one).
- None.