<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">UML Profile for Specifying User Interfaces of Business Applications</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Gordana</forename><surname>Milosavljević</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Faculty of Technical Sciences</orgName>
								<orgName type="institution">University of Novi Sad</orgName>
								<address>
									<country key="RS">Serbia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Igor</forename><surname>Dejanović</surname></persName>
							<email>igord@uns.ac.rs</email>
							<affiliation key="aff0">
								<orgName type="department">Faculty of Technical Sciences</orgName>
								<orgName type="institution">University of Novi Sad</orgName>
								<address>
									<country key="RS">Serbia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Branko</forename><surname>Perišić</surname></persName>
							<email>perisic@uns.ac.rs</email>
							<affiliation key="aff0">
								<orgName type="department">Faculty of Technical Sciences</orgName>
								<orgName type="institution">University of Novi Sad</orgName>
								<address>
									<country key="RS">Serbia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Branko</forename><surname>Milosavljević</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Faculty of Technical Sciences</orgName>
								<orgName type="institution">University of Novi Sad</orgName>
								<address>
									<country key="RS">Serbia</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">UML Profile for Specifying User Interfaces of Business Applications</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">B340E94A8601C9AE1178113D56A86C0E</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T12:11+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>user interface</term>
					<term>code generation</term>
					<term>MDA</term>
					<term>UML profile</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>This paper presents a domain-specific language (DSL) in the form of a UML profile that facilitates efficient modeling and generation of fully-functional UIs of enterprise business applications. DSL is based on an internal HCI standard that defines layout and behaviour of coarsegrained objects for business applications. Being a regular UML extension, this language can be used in any general-purpose UML modelling tool and can easily be integrated with other UML-based models of the application.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Various aspects of model-based development of user interfaces (UIs) are the subject of intensive research efforts. However, the majority of presented solutions is hardly applicable to development of real-world information systems because too much time and effort is spent on developing and synchronisation of different types of user interface models (for example, presentation model, content model, navigation model, interaction model), the complexity of sharing the knowledge embedded in different models, the lack of support in development tools, and the lack of consensus over which types of models best describe UIs <ref type="bibr" target="#b22">[23]</ref>. Most tools for modelling user interfaces use its own set of notations, thus impeding the integration with other application models <ref type="bibr" target="#b25">[26]</ref>. This is especially the problem in developing business applications that require tight integration of UI models with models that specify business logic.</p><p>In order to overcome the problem of integration and to facilitate the exchange of information among different tools, UML can be used to model all aspects of an application, including the user interface <ref type="bibr" target="#b2">[3]</ref>. Although very powerful, UML without extensions is not suitable for modelling UIs <ref type="bibr" target="#b25">[26,</ref><ref type="bibr" target="#b2">3,</ref><ref type="bibr" target="#b18">19]</ref>.</p><p>This paper presents a UML extension in the form of a UML profile for specifying UIs of business applications named EUIS (Enterprise User Interface Specification profile). EUIS is developed in order to enable rapid user interface modelling at a high level of abstraction. EUIS is based on an internal HCI (humancomputer interaction) standard of a business application that defines functional and presentational features of coarse-grained building blocks thus enabling the generation of a fully functional UI, without the need for defining a multitude of models used for developing UIs in the general case.</p><p>It is important to note that the UI model is not a model of an application (from the implementation standpoint); it defines the structure of the application using building blocks at a high abstraction level (different types of screen forms, reports, procedures) and their relationships. Depending on the development platform, the intended application architecture, and the implementation of a code generator, one class from the UI model may be mapped to one or more classes or modules of an application, or may even be not mapped to the program code at all but to application repository data instead, if a data-driven application architecture is used (for example, see <ref type="bibr" target="#b12">[13,</ref><ref type="bibr" target="#b13">14]</ref>). The development of a whole business application using the EUIS profile comprises the following activities (see Figure <ref type="figure" target="#fig_0">1</ref>):</p><p>-The development of PIM (platform independent model) of a problem domain by means of class diagrams in a general-purpose UML modelling tool. -The automatic transformation of a PIM to PSMs (platform-specific model):</p><p>database schema model, user interface model, and the middle-tier model (in the case a three-tier architecture is chosen). -Automatic generation of artifacts needed for implementation based on PSMs: database schema creation or alteration scripts, middle-tier implementation artifacts (such as EJBs), fully functional application UI (depending on the target architecture of the client application), and atomic "CRUD" transactions implementing creation, retrieval, update, and deletion of every entity in the persistence layer.</p><p>The rest of the paper is structured as follows. Section 2 describes the basics of the internal HCI standard. Section 3 presents the EUIS profile. Section 4 reviews the related work. The last section concludes the paper and outlines some directions of future work.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">The HCI standard</head><p>Our internal human-computer interaction (HCI) standard is aimed at defining functional and visual features of course-grained application components. Its goals include the following: simplicity of use, quick user training, and the automation of user interface construction.</p><p>The papers <ref type="bibr" target="#b15">[16,</ref><ref type="bibr" target="#b16">17]</ref> define a number of types of screen forms. For this discussion, the following types are relevant:</p><p>standard data management form, standard panel, parent-child form, and many-to-many form.</p><p>Standard form is designed to display data and all available operations so the user can choose a data item and invoke an operation on it without memorising commands (the object-action approach <ref type="bibr" target="#b23">[24]</ref>). Standard operations common to all entities are represented by buttons/icons at the top of the form, while specific operations (if they exist) are represented by links/buttons at the right hand side. The standard form layout is presented in Figure <ref type="figure" target="#fig_1">2</ref>. Operations common to all entities include search (query by form), display, addition, update, removal, copying, data navigation and view mode toggle (grid view or single record view). Specific operations include complex data processing procedures associated with the given entity (transactions), invocation of related (next) screen forms, and invocation of reports. The standard mandates that the specific operations always use the currently selected (viewed) record.</p><p>Standard panel has the appearance and the behaviour of the standard form but, instead being shown in its own window, it is used as an element of a complex form. Standard panels are regularly used for parent-child and many-tomany forms.</p><p>A parent-child form is used for data that have hierarchical structure, where each element in the hierarchy is modelled as an entity in the database. Each element in the hierarchy is represented by a standard panel, where a panel at the n-th hierarchy level filters its content according to the selected data item at the level n − 1.</p><p>The many-to-many form is used for intensive management of data belonging to entities connected by "many-to-many" relationships, with or without associate classes. Its layout is presented in Figure <ref type="figure" target="#fig_2">3</ref>. This screen form is used as follows:</p><p>-A number of desired records are selected in the upper panel. These records are "dragged" to the lower panel by clicking the button with the downwards arrow. If a record is dragged by mistake, it can be revoked back by clicking the upwards arrow button. -The values of non-key attributes of a record selected in the lower panel may be changed. Relationships among screen forms are represented by three mechanisms: zoom, next, and activate. The zoom mechanism represents the invocation of the form associated with the given entity where the user can choose a data item and "drag" it (pick its values) to the fields of the previously viewed form.</p><p>The next mechanism, invoked from the form associated with the current entity, displays the form associated with the child entity with its data filtered so that only connected objects are displayed. The key or a representation of the parent entity is displayed in the form header, so the user easily recognises the current context. A next can be invoked by menu items, buttons, or links.</p><p>The activate mechanism enables direct invocation of a form by another form, without restrictions on the data displayed. The invoked form does not need to be related to the current one.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">The EUIS Profile</head><p>The EUIS profile extends the following metaclasses from the UML::Kernel package: Element, Class, Property, Operation, Parameter, Constraint, and Package. It is complementary to the profile for modelling persistent data that is available in a majority of modelling tools (see Figure <ref type="figure">4</ref>). Therefore, EUIS is independent on modelling tools, persistence layer and the database of choice. Profile that models persistent data comprises only the stereotypes present in the majority of modelling tools (possibly under a different name): persistent class, persistent property, persistent data type, and persistent operations (methods implemented in the persistence layer) -see Figure <ref type="figure">5</ref>. When using the EUIS profile, these stereotypes are replaced with concrete stereotypes of the chosen modelling tool. In order to specify additional information needed for transforming a problem domain model to a user interface model, another profile is developed (see Figure <ref type="figure" target="#fig_4">6</ref>) that provides the following: defining a set of one or more properties as a business key -the BusinessKey stereotype <ref type="bibr" target="#b3">[4]</ref>, designation of a method as a complex business procedure -the Transaction stereotype, and the designation of a method as a report -the Report stereotype. Due to space constraints, the rest of the section presents only the most important stereotypes and tags. Validators, business subsystem and formal OCL constraints are not presented.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>PersistenceProfile</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Visible Elements</head><p>Stereotype VisibleElement (see Figure <ref type="figure" target="#fig_5">7</ref>) represents a model element that is mapped to a user interface element in the generated application. Since Element metaclass is a common superclass of all UML metaclasses, this facilitates the representation of all model elements with a UI component and a label, where applicable. The enumerated type ComponentType defines a set of available UI component types. The set of components is designed to be platform-independent. Mapping these values to particular UI components of the chosen development platform is performed in the application generator.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Visible Classes</head><p>Stereotype VisibleClass (see Figure <ref type="figure" target="#fig_6">8</ref>) represents a class that is mapped to a panel (a regular or a tabulated panel) in the application UI. If a panel is associated to an empty window or a web page, it becomes a screen form that can be independently activated (opened). Stereotype VisibleClass is not abstract because of the possibility of modelling specific panels that are not comprised by the HCI standard, but still occur rarely enough that there is no need to extend the HCI standard with a new element.</p><p>The inherited tag label is used as a window title or a label that explains the purpose of the panel if displayed within a complex panel.</p><p>Stereotype StandardPanel denotes that the given persistent class is associated with a standard panel whose layout and behaviour are defined by the internal HCI standard. The standard panel implements three interfaces: Stan-dardOperations -operations defined by the HCI standard: add, update, copy, delete, search, change mode, navigate data; StdPanelSettings -settings that define panel's runtime behaviour; and DataSettings -defines data filtering and sorting.</p><p>Stereotype ParameterPanel represents a class that is mapped to a panel for entering parameters for a visible method (see VisibleOperation stereotype) that is invoked by a button or a menu item. Since the majority of parameter panels in an application is created implicitly, as a result of a visible method and its parameters, classes with this stereotype rarely occur. It can be used in situations where a user successively invokes a number of methods with the same set of parameter values.</p><p>The ContainerPanel is an abstract stereotype that represents a complex panel that can contain other panels (simple or complex), as well as a number of properties and methods. It defines additional attributes, methods, and constraints for its descendants (ParentChild, ManyToMany, and PanelGroup). The layout and behaviour of ParentChild and ManyToMany panels is defined by the HCI standard, while their relationship to the contained panels is defined by hierarchical relationships (associations with ends having the Hierarchy stereotype). For details on associating panels, see section 3.7.</p><p>The layout and behaviour of a PanelGroup is not defined by the HCI standard. It is used for modelling special-purpose complex panels. The class with a PanelGroup stereotype defines only the contained elements, while their relationship is implemented in application code.</p><p>Classes with the MainPanel stereotype are used for modelling the main form of a business subsystem Stereotype VisibleProperty (see Figure <ref type="figure">9</ref>) is a property of a "visible" class and is mapped to a UI component contained in the panel associated to the class. Its tags provide customisation of appearance and behaviour of the UI component, or the table column in the case of tabular display of data (label, columnLabel, dataFormat, disabled ), default values in the UI component (default, defaultVal-ueGetter ), and automatic focus traversal (autoGo). Tag default contains an OCL expression that defines the initial value, while defaultValueGetter contains the reference to the method used for fetching the default value (in cases when OCL expression cannot be used). Tag representative indicates that the given property can be used to represent the whole class from the users' point of view (for example, company name, first name + " " + last name).</p><p>Aggregated represents an aggregated property, whose value is calculated using one of the aggregation functions (min, max, sum, avg, count) over the selected property (aggregatingAttribute). The set of values being aggregated is specified by an OCL expression (selection) or by a method (performsSelection).</p><p>Stereotype Calculated represents a property whose value is calculated according to the given formula over the values in objects of this or some other class. Calculation method can be specified by an OCL expression (expression) or by a method (performsCalculation).</p><p>Abstract stereotype Persistent represents a property that is mapped to a persistent property in the problem domain model. Its descendants include Editable (enables editing the value of the persistent property in the UI component) and ReadOnly (disables editing). Editing values is allowed if the user has appropriate permissions.</p><p>Editable has an AutoDuplicate descendant that represents a persistent property where the value entered in the UI component is kept as default when entering a new record. It is usually applied to properties whose values are repeated across many records, so the user is spared some effort while entering data.</p><p>ReadOnly has an AutoIncrement descendant that denotes a persistent property whose value is automatically incremented with each new record entered. Contrary to identity columns or database sequences, this property allows the counter value to be reset if a condition is met (using an OCL expression in incrementSpec or a method in performsIncrement).</p><p>Stereotype Lookup describes a property whose value is formed from property values of referenced objects, directly or indirectly. Direct reference means that there is an association with the class that provides the data; indirect reference means that such class can be reached by traversing a series of associations. Properties forming a lookup can specified as an OCL expression (expression) or by specifying the class that provides the data. In the latter case, the representative property of that class is used. Stereotype VisibleParameter (see Figure <ref type="figure" target="#fig_8">10</ref>) denotes a parameter of a visible method (having the VisibleOperation stereotype) that behaves as follows. If it is an input or an input/output parameter, then it enables entering parameter values by means of a UI component contained in the parameter panel associated with a visible method, or it defines the way of fetching the parameter values in the case when the user is not supposed to enter its value (using tag valueSpec contains an OCL expression that calculates the value, or tag valueGetter that specifies the method for calculating the value).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.4">Visible Parameters</head><p>If it is an output parameter or a method result, it enables the display of its value by means of a UI component contained in the parameter panel associated with a visible method. Stereotype ElementsGroup (see Figure <ref type="figure" target="#fig_9">11</ref>) represents an attribute of a class with the VisibleClass stereotype used for grouping its elements (properties, methods, associations), thus forming semantic groups that map to groups of UI components in a panel associated with the class. Each group can define the following: an ordered collection of contained elements (tag element), the UI element orientation in layout (orientation), the location of the group in the panel (location), and the alignment of elements in the group (alignment).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.5">Groups of Elements</head><p>The inherited tag label represents a label displayed in a UI component associated with the group (frame title, panel title, name of the menu item that opens a submenu).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.6">Visible Methods</head><p>Stereotype VisibleOperation (see Figure <ref type="figure" target="#fig_10">12</ref>) denotes the method of a visible class that has an associated UI component (a button or a menu item) that enables its invocation by the user. If the method has input parameters, they must have the VisibleParameter stereotype (see section 3.4).</p><p>Abstract stereotype BusinessOperation represents a method that is mapped to an activity in the problem domain. Its descendants are Report and Transaction. Report describes a method that invokes a report created by one of the reporting tools. Report's tags enable specifying the report name, and the filtering and sorting criteria. Transaction represents a complex business transaction that is implemented as a stored procedure in the database or a method in a middle tier. Its tags enable specifying the UI behaviour immediately before and after its invocation (requesting the confirmation from the user, display refresh mode, error display mode, etc). </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.7">Visible Association Ends</head><p>Abstract stereotype VisibleAssociationEnd (see Figure <ref type="figure" target="#fig_11">13</ref>) is applied to a property belonging to a binary association between two visible classes. It defines the relationship between the panel belonging to the class that owns the property (activation panel) and the panel belonging to the class at the other end (destination panel). The nature of the relationship is determined by this stereotype's descendants. VisibleAssociationEnd only introduces common properties and constraints that enable destination panel to adjust its layout and behaviour to the context it is used in. For this purpose, VisibleAssociationEnd implements the following interfaces: StandardOperations, DataSettings, StdPanelSettings, and Pan-elAdjustment. Tag values specified by PanelAdjustment can be set for all types of panels (VisibleClass and its descendants), while tag values specified by Stan-dardOperations, DataSettings, and StdPanelSettings can be applied to standard panels only (stereotype StandardPanel, see section 3.2).</p><p>If tag values are not defined at the association end, values defined at the standard panel are used. If values of tags add, update, copy, delete, search, and changeMode are set to false in the standard panel, the value set at the association end is ignored. This helps adhering to rules that are usually consequences of problem domain constraints independent of the usage context.</p><p>Stereotypes Zoom, Next, and Activation model the corresponding type of activation as defined by the HCI standard. Stereotype Hierarchy denotes that the destination panel has the role of an element in the parent-child or many-tomany panel. Role of the destination panel is set by the value of the level tag. For many-to-many complex panels, level = 1 is the panel that represents the header, level = 2 is the panel for choosing data, and level = 3 is the panel that contains the transferred data (for example, see class PickAuthors in Figure <ref type="figure" target="#fig_13">15</ref>). For parent-child complex panels, level = 1 is the standard panel being the root of the tree, level = 2 is the child panel, level = 3 is the child of the child panel, and so forth: for n &gt; 2, level = n is a panel that is the child for panel at level = n − 1 (for example, see class JournalPaperComposite in Figure <ref type="figure" target="#fig_13">15</ref>).</p><p>Composing parent-child and many-to-many complex panels requires defining only levels of hierarchy for each contained panel; runtime association of panels is performed by analysing their associations. If two or more associations exist between two panels, or there is a recursive association, association end to be used must be explicitly stated in the viaAssociationEnd tag.</p><p>Stereotype GroupElement denotes that the destination panel is an element of a complex panel, where its role and behaviour are defined in the application code and/or using values of tags inherited from VisibleAssociationEnd.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.8">Example</head><p>Figure <ref type="figure" target="#fig_12">14</ref> presents a domain model of a part of a CERIF-compliant research management system presented in <ref type="bibr" target="#b16">[17]</ref>. All classes and attributes in this model are persistent, but their stereotypes are not displayed for the sake of brevity.</p><p>The problem domain model in Figure <ref type="figure" target="#fig_12">14</ref> is automatically transformed into the UI model presented in Figure <ref type="figure" target="#fig_13">15</ref> that contains an initial version of the user interface. The application developer can manually change this version to meet the users' requirements. The diagram in Figure <ref type="figure" target="#fig_13">15</ref> shows manually added classes PickAuthors (a many-to-many form for choosing paper authors) and Journal-PaperComposite (a parent-child form for managing journal papers) with corresponding associations. Properties with Lookup and ElementsGroup stereotypes in all classes are also manually added. The rest of the model is automatically generated: persistent classes from the domain model was mapped to UI classes with StandardPanel stereotype, persistent properties to UI properties with Editable stereotype, association ends with cardinality 0..* to UI association ends with Next stereotype and association ends with cardinality 0..1 or 1 to UI association ends with Zoom stereotype.    In order to compare the EUIS profile with other profiles presented in the literature, this section reviews recent papers ranging in subject from modelling user interfaces of business applications to complete methodologies and tools for information system development, including its presentation aspects. Papers that deal with developing user interfaces in general are not discussed here.</p><p>The papers <ref type="bibr" target="#b20">[21,</ref><ref type="bibr" target="#b21">22]</ref>, like this paper, propose the use of the problem domain model as a starting point that is transformed into a model of the user interface. The approach to modelling of application views based on the available classes (various complex panels, navigation among them) is also similar. However, <ref type="bibr" target="#b20">[21,</ref><ref type="bibr" target="#b21">22]</ref> introduces more transformation levels in order to achieve portability across different implementation platforms while not restricting to a particular fixed set of components (we deal with portability as well, but with a limited set of components). Besides, <ref type="bibr" target="#b20">[21,</ref><ref type="bibr" target="#b21">22]</ref> require the development of an information retrieval model in order to implement fetching of data used in the user interface, while we opt for implicit mapping of the user interface model to the persistence layer (the cases where implicit mapping is insufficient are defined by OCL constraints or an associated method).</p><p>The papers <ref type="bibr" target="#b9">[10,</ref><ref type="bibr" target="#b4">5]</ref> present a way of automatic user interface generation based on the following: a business logic model (UML activity diagrams) and a user interface model (UML class diagrams). An activity diagram is supplied with elements of the UML profile for defining system and user actions with the specified inputs and outputs, while the class diagram that is produced from the activity diagram is supplied with elements of the UML profile for user interface specification (e.g., ContainerElement, GuiElement, ActionElement). The profile does not support modelling the relationships between forms (navigation is omitted). Furthermore, obtaining classes that provide management of data from the problem domain model is not specified, although their presence is assumed (the dataProvider attribute in the ChoiceElement stereotype, and the methodURL attribute in the ActionElement stereotype).</p><p>In <ref type="bibr" target="#b22">[23]</ref>, the authors propose the use of patterns for accelerating the user interface development. Those patterns are at a higher abstraction level and may be used in task models, presentation models, and component layout models. This paper also proposes the use of a number of tools that guide the designer in the choice and the application of patterns during modelling, assist in model synchronisation, and generate the user interface.</p><p>Compared to elements of the standard presented in Section 2, the patterns used in <ref type="bibr" target="#b22">[23]</ref> represent finer-grained application components. The paper <ref type="bibr" target="#b22">[23]</ref> does not specify neither the relationship between the problem domain model and the user interface model, nor if there is a mapping of the generated user interface to the data persistence layer (whether the generated user interface is immediately testable in the real users' environment).</p><p>The paper <ref type="bibr" target="#b26">[27]</ref> presents a method for developing web-based information systems based on problem domain models, applications and navigations that are directly mapped to existing development frameworks. The mapping is provided by the UML profile named FrameWeb whose stereotypes correspond with the categories of the framework used, so that the development team can deliver the implementation in a straightforward way (the implementation is manual, there are no code generators used). The majority of stereotypes in the presented UML profile are aimed at the development of the problem domain model and its mapping to the persistence layer, while support for specifying the user interface is relatively modest (there are only four stereotypes that specify the type of the web page).</p><p>The series of papers <ref type="bibr" target="#b1">[2,</ref><ref type="bibr" target="#b7">8,</ref><ref type="bibr" target="#b6">7,</ref><ref type="bibr" target="#b17">18]</ref> presents a methodology for developing webbased information systems UWE (UML-based Web Engineering) that uses a UML profile for modelling hypermedia and the ArgoUWE tool that provides for definition of different application models, their transformation, and semiautomatic code generation. The UML profile provides for the creation of navigation models, navigation structure models, and presentation models.</p><p>The concept of modelling an application in UWE methodology is the closest to the proposition in this paper -in both cases, the starting point is the problem domain model expressed as a class diagram that is automatically mapped to the application model, data model, and other models needed. Thanks to this approach, there is a direct mapping of application elements to the layer that implements business logic, a feature missing in the majority of reviewed solutions. The most notable differences between UWE and EUIS approaches are the following:</p><p>-The UWE methodology and profile are focused solely on developing webbased systems, while the methods presented here can be applied to both web and "classical" information systems. -The UWE method does not rely on an internal HCI standard (there is only one type of forms). -Our approach proposes a single user interface model that defines coarsegrained application building elements, their structure and layout (using the ElementsGroup stereotype), and navigation among them. Sketches of forms need not be made thanks to the mechanism for intelligent component layout that forms a usable user interface according to rules and groups, and which can be further adapted during implementation.</p><p>Although not based on a UML profile, the concept of specifying GUI forms and generating the database schema and the functional prototype of the application using the IIS*Case tool <ref type="bibr" target="#b19">[20,</ref><ref type="bibr" target="#b10">11,</ref><ref type="bibr" target="#b5">6]</ref> is similar to the solution presented here, apart from the order in which artifacts are implemented. Using IIS*Case, the modelling starts with specifying form types, while database schema and the prototype application are generated. Here we start with the model of the problem domain, that is used to generate the user interface model, database schema model, and the middle-tier model (in the case of three-tier architectures). After manual changes applied to these automatically obtained models, the application is generated.</p><p>Our previously implemented tools for generating UIs of business applications for various platforms are presented in <ref type="bibr" target="#b11">[12]</ref><ref type="bibr" target="#b12">[13]</ref><ref type="bibr" target="#b13">[14]</ref><ref type="bibr" target="#b14">[15]</ref><ref type="bibr" target="#b15">[16]</ref><ref type="bibr" target="#b8">9]</ref>. All tools are based on the internal HCI standard presented in Section 2, but the difference is that UI model was not generated from the domain model, but was kept as metadata in the application repository. Metadata was further customised by the Form Generator tool, which utilised this information to generate source code. Metadata in the application repository, although stored in the database or an XML file and edited by a special-purpose tool, can be considered to be a DSL (domain specific language) for the description of UIs. The UI model enriched with EUIS stereotypes is based on the same metadata, but this UML-based form is more suitable for team work of experts from different fields (developers, UI design specialists, problem domain specialists, users) during application development.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Conclusions</head><p>Automatic generation of UIs in the general case requires the development of a number of UI models and thus requires much time and effort, often with unsatisfactory results. Synchronisation and integration among different UI models, as well as with domain models, is another big problem.</p><p>If we restrict to the problem of developing special-purpose UIs, these problems are largely simplified. This paper presents UML profile that facilitates efficient modeling and generation of fully-functional UIs of enterprise business applications which is based on an internal HCI standard that defines layout and behaviour of coarse-grained objects for business applications. Relying on this standard has enabled the rapid development of UIs for this particular type of applications. Being a regular UML extension, this language can be used in any general-purpose UML modelling tool and can easily be integrated with other UML-based models of the application.</p><p>Our tools developed to support the presented concepts <ref type="bibr" target="#b11">[12]</ref><ref type="bibr" target="#b12">[13]</ref><ref type="bibr" target="#b13">[14]</ref><ref type="bibr" target="#b14">[15]</ref><ref type="bibr" target="#b15">[16]</ref><ref type="bibr" target="#b8">9]</ref> are used for the implementation of more than 70 projects of business information systems by several different development teams. The percentage of the generated code in the overall code base (database, middle tier, UI) ranged from 81.8% to 98.2%, depending on the type of application. The code generation tool that relies on the presented EUIS profile is still in development, but initial results show that the percentage of the generated code will increase when all elements are implemented. The current version does not support parsing OCL constraints. Since we have already implemented a dynamic general-purpose parser Arpeggio <ref type="bibr" target="#b0">[1]</ref>, the support for OCL expressions is soon to be finalised.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. Model transformations</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. Standard form layout</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 3 .</head><label>3</label><figDesc>Fig. 3. Many-to-many form layout</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Fig. 4 .Fig. 5 .</head><label>45</label><figDesc>Fig. 4. Profile structure</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Fig. 6 .</head><label>6</label><figDesc>Fig. 6. Profile used in the problem domain model Stereotypes and enumerated types of the EUIS profile are organised in the following categories: a visible element: extension of Element metaclass</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Fig. 7 .</head><label>7</label><figDesc>Fig. 7. Visible element</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Fig. 8 .</head><label>8</label><figDesc>Fig. 8. Visible classes</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_7"><head>3. 3 Fig. 9 .</head><label>39</label><figDesc>Fig. 9. Visible properties</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_8"><head>Fig. 10 .</head><label>10</label><figDesc>Fig. 10. Visible parameters</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_9"><head>Fig. 11 .</head><label>11</label><figDesc>Fig. 11. Groups of elements</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_10"><head>Fig. 12 .</head><label>12</label><figDesc>Fig. 12. Visible methods</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_11"><head>Fig. 13 .</head><label>13</label><figDesc>Fig. 13. Visible association ends</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_12"><head>Fig. 14 .</head><label>14</label><figDesc>Fig. 14. A domain model of a part of CERIF-compatible system</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_13"><head>Fig. 15 .</head><label>15</label><figDesc>Fig. 15. A UI model of a part of CERIF-compatible system</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_14"><head>Fig. 16 .</head><label>16</label><figDesc>Fig. 16. Managing journal papers data</figDesc><graphic coords="14,138.81,101.60,207.34,198.43" type="bitmap" /></figure>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<ptr target="http://code.google.com/p/arpeggio/" />
		<title level="m">Arpeggio Parser</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Towards a UML Extension for Hypermedia Design</title>
		<author>
			<persName><forename type="first">H</forename><surname>Baumeister</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Koch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Mandel</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of The Unified Modelling Language Conference: Beyond the Standard (UML 1999</title>
		<title level="s">LNCS</title>
		<editor>
			<persName><forename type="first">R</forename><surname>France</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">B</forename><surname>Rumpe</surname></persName>
		</editor>
		<meeting>The Unified Modelling Language Conference: Beyond the Standard (UML 1999<address><addrLine>Heidelberg</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="1999">1999</date>
			<biblScope unit="volume">1723</biblScope>
			<biblScope unit="page" from="614" to="629" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Using UML 2.0 and Profiles for Modelling Con-textSensitive User Interfaces</title>
		<author>
			<persName><forename type="first">J</forename><surname>Van Den Bergh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Coninx</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Model Driven Development of Advanced User Interfaces</title>
				<meeting><address><addrLine>Montego Bay, Jamaica</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">A Domain-Specific Language for Defining Static Structure of Database Applications</title>
		<author>
			<persName><forename type="first">I</forename><surname>Dejanović</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Milosavljević</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Perišić</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Tumbas</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Computer Science and Information Systems</title>
		<imprint>
			<biblScope unit="volume">7</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="409" to="440" />
			<date type="published" when="2010-06">June 2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Model-driven Instrumentation of Graphical User Interfaces</title>
		<author>
			<persName><forename type="first">M</forename><surname>Funk</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Hoyer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Link</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Second International Conference on Advances in Computer-Human Interaction</title>
				<meeting><address><addrLine>Cancun, Mexico</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Generating XML Based Specifications of Information Systems</title>
		<author>
			<persName><forename type="first">M</forename><surname>Govedarica</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Luković</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Mogin</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Computer Science And Information Systems</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="117" to="140" />
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Modelling the Structure of Web Applications with ArgoUWE</title>
		<author>
			<persName><forename type="first">A</forename><surname>Knapp</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Koch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Zhang</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">LNCS</title>
		<imprint>
			<biblScope unit="volume">3140</biblScope>
			<date type="published" when="2004">2004</date>
			<publisher>Springer</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">The Expressive Power of UML-based Web Engineering</title>
		<author>
			<persName><forename type="first">N</forename><surname>Koch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Kraus</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. 2nd International Workshop on Web Oriented Software Technology</title>
				<meeting>2nd International Workshop on Web Oriented Software Technology</meeting>
		<imprint>
			<date type="published" when="2002">2002</date>
			<biblScope unit="page" from="105" to="119" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">XML Schema-Driven GUI Forms Environment</title>
		<author>
			<persName><forename type="first">S</forename><surname>Komazec</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Milosavljević</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Konjović</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">11th IASTED Intl. Conf. Software Engineering and Applications</title>
				<meeting><address><addrLine>Cambridge, MA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="342" to="348" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Focusing Graphical User Interfaces in Model-Driven Software Development</title>
		<author>
			<persName><forename type="first">S</forename><surname>Link</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Schuster</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Hoyer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Abeck</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">First International Conference on Advances in Computer-Human Interaction</title>
				<meeting><address><addrLine>Saint Luce, Martinique</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">An Approach to Developing Complex Database Schemas Using Form Types</title>
		<author>
			<persName><forename type="first">I</forename><surname>Luković</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Mogin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Pavievi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Risti</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Software: Practice and Experience</title>
		<imprint>
			<biblScope unit="volume">37</biblScope>
			<biblScope unit="issue">15</biblScope>
			<biblScope unit="page" from="1621" to="1656" />
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Automatic Code Generation for Database-Oriented Web Applications</title>
		<author>
			<persName><forename type="first">B</forename><surname>Milosavljević</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Vidaković</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Milosavljević</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Recent Advances in Java Technology: Theory, Application, Implementation</title>
				<editor>
			<persName><forename type="first">J</forename><surname>Power</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">J</forename><surname>Waldron</surname></persName>
		</editor>
		<meeting><address><addrLine>Trinity College Dublin</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="89" to="97" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">User Interface Code Generation for EJB-Based Data Models Using Intermediate Form Representations</title>
		<author>
			<persName><forename type="first">B</forename><surname>Milosavljević</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Vidaković</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Komazec</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Milosavljević</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Principles and Practice of Programming in Java</title>
				<meeting><address><addrLine>Kilkenny, Ireland</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="125" to="132" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">User Interface Code Generation for Data-Intensive Applications with EJB-Based Data Models</title>
		<author>
			<persName><forename type="first">B</forename><surname>Milosavljević</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Vidaković</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Komazec</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Milosavljević</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Software Engineering Research and Practice (SERP&apos;03)</title>
				<meeting><address><addrLine>Las Vegas, NV</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="23" to="27" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Really Rapid Prototyping of Large-Scale Business Information Systems</title>
		<author>
			<persName><forename type="first">G</forename><surname>Milosavljević</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Perišić</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE Intl. Workshop on Rapid System Prototyping</title>
				<meeting><address><addrLine>San Diego, CA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="100" to="106" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">A Method and a Tool for Rapid Prototyping of Large-Scale Business Information Systems</title>
		<author>
			<persName><forename type="first">G</forename><surname>Milosavljević</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Perišić</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Computer Science And Information Systems</title>
		<imprint>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="57" to="82" />
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<monogr>
		<author>
			<persName><forename type="first">G</forename><surname>Milosavljević</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Ivanović</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Surla</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Milosavljević</surname></persName>
		</author>
		<title level="m">Automated Construction of the User Interface for a CERIF-Compliant Research Management System, The Electronic Library</title>
				<imprint/>
	</monogr>
	<note>in print</note>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Addresing New Concerns in Model-Driven Web Engineering Approaches</title>
		<author>
			<persName><forename type="first">N</forename><surname>Moreno</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Melia</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Koch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Vallecillo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. Web Information Systems Engineering (WISE), LNCS</title>
				<meeting>Web Information Systems Engineering (WISE), LNCS<address><addrLine>Heidelberg</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2008">2008</date>
			<biblScope unit="volume">5175</biblScope>
			<biblScope unit="page" from="426" to="442" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Towards a UML for Interactive Systems</title>
		<author>
			<persName><forename type="first">F</forename><surname>Paterno</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. Engineering for Human-Computer Interaction</title>
				<meeting>Engineering for Human-Computer Interaction<address><addrLine>Toronto, Canada</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2001">2001</date>
			<biblScope unit="page" from="7" to="18" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Information System Design And Prototyping Using Form Types</title>
		<author>
			<persName><forename type="first">J</forename><surname>Pavićević</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Luković</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Mogin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Govedarica</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Software and Data Technologies</title>
				<meeting><address><addrLine>Setubal, Portugal</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2006">2006</date>
			<biblScope unit="page" from="157" to="160" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Towards Employing UML Model Mappings for Platform Independent User Interface Design</title>
		<author>
			<persName><forename type="first">T</forename><surname>Schattkowsky</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Lohmann</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Model Driven Development of Advanced User Interfaces</title>
				<meeting><address><addrLine>Montego Bay, Jamaica</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">UML Model Mappings for Platform Independent User Interface Design</title>
		<author>
			<persName><forename type="first">T</forename><surname>Schattkowsky</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Lohmann</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">MoDELS 2005 Workshops</title>
				<meeting><address><addrLine>Heidelberg</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2006">2006</date>
			<biblScope unit="volume">3844</biblScope>
			<biblScope unit="page" from="201" to="209" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">Model-Based User Interface Engineering with Design Patterns</title>
		<author>
			<persName><forename type="first">A</forename><surname>Seffah</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Gaffar</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Systems and Software</title>
		<imprint>
			<biblScope unit="volume">80</biblScope>
			<biblScope unit="issue">8</biblScope>
			<biblScope unit="page" from="1408" to="1422" />
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<monogr>
		<title level="m" type="main">Designing the User Interface: Strategies for Effective Human-Computer Interaction</title>
		<author>
			<persName><forename type="first">B</forename><surname>Shneiderman</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1998">1998</date>
			<publisher>Third Edition</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<analytic>
		<title level="a" type="main">User Interface Declarative Models and Development Environments: A Survey</title>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">P</forename><surname>Da Silva</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. Design, Specification and Verification of Interactive Systems, LNCS</title>
				<meeting>Design, Specification and Verification of Interactive Systems, LNCS<address><addrLine>Limerick, Ireland</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2000">2000</date>
			<biblScope unit="volume">1946</biblScope>
			<biblScope unit="page" from="207" to="226" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<analytic>
		<title level="a" type="main">Improving UML Support for User Interface Design: A Metric Assessment of UMLi</title>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">P</forename><surname>Da Silva</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><forename type="middle">W</forename><surname>Paton</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Workshop on Bridging the Gaps Between Software Engineering and Human-Computer Interaction at International Conference on Software Engineering (ICSE 03)</title>
				<meeting><address><addrLine>Portland, Oregon, USA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="76" to="83" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b26">
	<analytic>
		<title level="a" type="main">A UML Profile for Modelling Framework-based Web Information Systems</title>
		<author>
			<persName><forename type="first">Estêvão</forename><surname>Silva Souza</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Almeida Falbo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Guizzardi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Workshop on Exploring Modelling Methods for Systems Analysis and Design (EMMSAD&apos;07)</title>
				<imprint>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="149" to="158" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
