The UI package defines a set of meta-model elements whose purpose is to represent facets of information related to user interfaces, including their composition, their sequence of operations, and their relationships to the existing software systems.
The UIModel class diagram follows the uniform pattern for KDM models to extend the KDM framework with specific meta-model elements related to static representations of the principal components of a user interface. The class diagram shown in See - UIModel Class Diagram. captures these classes and their relations.
The UIModel is the specific KDM model which corresponds to the user interface of the existing software system.
The AbstractUIElement is the abstract superclass for various concrete user interface elements. As such, it is the class that represents both compound and elementary items in a model of a system's user interface.
It is the implementer's responsibility to map specific user interface element types determined by the particular user-interface system of the existing software system, into concrete subclasses of the AbstractUIElement. It is the implementer's responsibility to map each user interface element into some instance of the AbstactUIElement. Implementation elements are one or more ComputationalObject or ActionElement from some CodeModel that are represented by the current UI element. "Abstraction" actions can be used to represent precise semantics of the UI Element.
The AbstractUIRelationship is the abstract superclass for various user interface relationships.
It is the implementer's responsibility to map specific user interface association types determined by the particular user-interface system of the existing software system, into concrete subclasses of the AbstractUIRelationship. It is the implementer's responsibility to map each user interface association into some instance of the AbstactUIRelationship.
The UIInheritances class diagram defines how classes of the UI package subclass core meta-model elements from the KDM Core package. The classes and associations that make up the UIInheritances class diagram are shown in See - UIInheritances Class Diagram..
The UIResource class diagram defines several specific KDM containers that own collections of user interface elements. The class diagram shown in See - UIResources Class Diagram. captures these classes and their relations.
The UIResource is the superclass for several user interface elements that can be containers for other user interface elements. For example, it represents a compound unit of display. This is a generic element.
The UIDisplay is the superclass of Screen and Report. It represents a compound unit of display.
The Screen is a compound unit of display, such as a Web page or character-mode terminal that is used to present and capture information. The screen may be composed of multiple instances of AbstractUIElement and its subclasses.
The Report is a compound unit of display, such as a printed report, that is used to present information. The report may be composed of multiple instances of AbstractUIElement and its subclasses.
The UIField is a unit of display, such as a control on a form, a text field on a character-mode terminal, or a field printed on a report.
The UIEvent class is a meta-model element representing various events and callsbacks associated with user interfaces. This class follows the KDM event pattern, common to Resource Layer packages.
UIAction class follow the pattern of a "resource action" class, specific to the UI package. The nature of the action represented by a particular element is designated by its "kind" attribute. Descriptions of the common platform action kind are provided in Appendix 2. Resource Layer actions.
The UIRelations class diagram provides basic meta-model constructs to define the binding between elements of a display and their content. The class diagram shown in See - UIRelations Class Diagram. captures these classes and their relations.
The UIFlow relationship class captures the behavior of the user interface as the sequential flow from one instance of Display to another.
The UIActions class diagram defines several KDM relations for the UI package. It provides basic meta-model constructs to define the sequence of display in a user interface, and the mapping between a user interface and the events it may generate.
The class diagram shown in See - UIActions Class Diagram. captures these classes and their relations.
The Displays relationship class represents the relationship between an instance of CallableInterface and the instance of UIElement that is presented on the interface as a result of the execution of the CallableInterface.
The DisplaysImage captures the relationship between an image file - an instance of Image - and its presentation on a user interface - an instance of DisplayUnit.
ManagesUI class follows the pattern of a "resource action relationship". It represents various types of accesses to user interface resources that are not related to the flow of data to and from the resource. ManagesUI relationship is similar to Addresses relationship from Action Package. The nature of the operation on the resource is represented by the "kind" attribute of the UIAction that owns this relationship through the "abstracted" action container property.
ReadsUI class follows the pattern of a "resource action relationship". It represents various types of accesses to user interface resources where there is a flow of data from the resource. ReadsUI relationship is similar to Reads relationship from Action Package. The nature of the operation on the resource is represented by the "kind" attribute of the UIAction that owns this relationship through the "abstracted" action container property.
WritesUI class follows the pattern of a "resource action relationship". It represents various types of accesses to user interface resources where there is a flow of data to the resource. WritesUI relationship is similar to Writes relationship from Action Package. The nature of the operation on the resource is represented by the "kind" attribute of the UIAction that owns this relationship through the "abstracted" action container property.
The ExtendedUIElements class diagram defines two "wildcard" generic elements for the UI model as determined by the KDM model pattern: a generic UI entity and a generic UI relationship.
The class diagram shown in See - ExtendedUIElements Class Diagram. captures these classes and their relations.
The UIElement class is a generic meta-model element that can be used to define new "virtual" meta-model elements through the KDM light-weight extension mechanism
A UI entity with under specified semantics. It is a concrete class that can be used as the base element of a new "virtual" meta-model entity types of the UI model. This is one of the KDM extension points which can integrate additional language-specific, application-specific or implementer-specific pieces of knowledge into the standard KDM representation.
The UIRelationship relationship is a generic meta-model element that can be used to define new "virtual" meta-model elements through the KDM light-weight extension mechanism
A UI relationship with under specified semantics. It is a concrete class that can be used as the base element of a new "virtual" meta-model relationship types of the UI model. This is one of the KDM extension points which can integrate additional language-specific, application-specific or implementer-specific pieces of knowledge into the standard KDM representation.