HOME

TheInfoList



OR:

MARIA (Model-based lAnguage foR Interactive Applications) is a universal, declarative, multiple
abstraction level In computing, an abstraction layer or abstraction level is a way of hiding the working details of a subsystem. Examples of software models that use layers of abstraction include the OSI model for network protocols, OpenGL, and other graphics li ...
,
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
-based
user interface markup language A user interface markup language is a markup language that renders and describes graphical user interfaces and controls. Many of these markup languages are dialects of XML and are dependent upon a pre-existing scripting language engine, usually ...
for modelling interactive applications in
ubiquitous Omnipresence or ubiquity is the property of being present anywhere and everywhere. The term omnipresence is most often used in a religious context as an attribute of a deity or supreme being, while the term ubiquity is generally used to describ ...
environments. MARIA one of the languages that has been submitted for standardization at
W3C The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 and led by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working to ...
.


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 standard
XML Schema Definition XSD (XML Schema Definition), a recommendation of the World Wide Web Consortium (W3C), specifies how to formally describe the elements in an Extensible Markup Language (XML) document. It can be used by programmers to verify each piece of item cont ...
constructs. * Generic Back End. The interface definition contains a set of ExternalFunctions declarations, which represents functionalities exploited by the UI but implemented by a generic application back-end support (e.g. web services, code libraries, databases etc.). * Event Model. Each interactor definition has a number of associated events that allow the specification of UI reaction triggered by the user interaction. * Dialog Model. The dialog model contains constructs for specifying the dynamic behaviour of a presentation, specifying what events can be triggered at a given time. The dialog expressions are connected using CTT operators in order to define their temporal relationships. * Continuous update of fields. It is possible to specify that a given field should be periodically updated invoking an external function. * Dynamic Set of User Interface Elements. The language contains constructs for specifying partial presentation updates (dynamically changing the content of entire groupings) and the possibility to specify a conditional navigation between presentations. This set of new features allows having already at the abstract level a model of the user interface that is not tied to layout details, but it is complete enough for reasoning on how UI supports both the user interaction and the application back end.


Concrete 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