Abstract User Interface
The MARIA Abstract User Interface (AUI) level describes a UI only through the semantics of the interaction, without referring to a particular device capability, interaction modality or implementation technology. An AUI is composed by various Presentations that groups model elements presented to the user at once. The model elements are of two types: ''Interactor'' or ''InteractorComposition''. The former represents every type of user interaction object, the latter groups together elements that have a logical relationship. According to its semantics an interactor belongs to one of the following subtypes: * Selection. Allows the user to select one or more values among the elements of a predefined list. According to the number of values that can be selected, the interactor can be a Single Choice or a Multiple Choice. * Edit. Allows the user to manually edit the object represented by the interactor, which can be text (''TextEdit''), a number (''NumericalEdit''), a position (''PositionEdit'') or a generic object (''ObjectEdit''). * Control. Allows the user to switch between presentations (''Navigator'') or to activate UI functionalities (''Activator''). * OnlyOutput. Represents information that is submitted to the user, not affected by user actions. It can be a text a ''Description'' that represents different types of media, an ''Alarm'', a ''Feedback'' or a generic ''Object''. The different types of interactor-compositions are: * Grouping: a generic group of interactor elements. * Relation: a group where two or more elements are related to each other. * CompositeDescription: represents a group aimed to present contents through a mixture of Description and Navigator elements. * Repeater which is used to repeat the content according to data retrieved from a generic data source MARIA allows describing not only the presentation aspects but also the interactive behaviour. For this purpose it has various features: * Data Model: the description of the data types bound with elements of the interface. At runtime, modifying the state of an interactor will change also the value of the bound data element and vice versa, in order to describe dynamic UI changes (correlation between UI elements, conditional layout, conditional connections between presentations, input values format etc.). The data model is defined using the standardConcrete User Interface
A Concrete User Interface (CUI) in MARIA provides platform-dependent but implementation language-independent details of a UI. A platform is a set of software and hardware interaction resources that characterize a given set of devices. MARIA currently supports the following platforms: * Desktop CUIs model graphical interfaces for desktop computers. * Mobile CUIs model graphical interfaces for mobile devices. * Multimodal Desktop CUIs model interfaces that combine the graphical and vocal modalities for desktop computers. * Multimodal Mobile CUIs model interfaces that combine the graphical and vocal modalities for mobile devices. * Vocal CUIs interfaces with vocal message rendering and speech recognition. Each platform meta-model is a refinement of the AUI, which specifies how a given abstract interactor can be represented in the current platform. For instance, if we consider the abstract Single Choice interactor, it can be implemented (on a graphical desktop platform) with a radio button, a drop down list or a list box, while on the vocal platform it can be rendered with a list of vocal messages for each option associated to a given keyword. The same applies for the interactor compositions: in a desktop platform a grouping can be implemented using background colours, borders etc., while in a vocal platform it is possible to use sounds before the first group element. The model definition can be exploited for creating (or deriving with a code generator) final implementations in different target languages.Tool Support
The creation and editing of MARIA models, together with the generation of the final UI code is supported by the MARIAE tool.References
{{Reflist User interface markup languages XML-based standards World Wide Web Consortium standards