Teallach: A Model-Based User Interface Development Environment for Object Databases

Size: px
Start display at page:

Download "Teallach: A Model-Based User Interface Development Environment for Object Databases"

Transcription

1 Teallach: A Model-Based User Interface Development Environment for Object Databases Tony Griffiths 1, Peter J. Barclay 2, Jo McKirdy 3, Norman W. Paton 1, Philip D. Gray 3, Jessie Kennedy 2, Richard Cooper 3, Carole A. Goble 1, Adrian West 1 and Michael Smyth 2 1 Department of Computer Science, University of Manchester, Oxford Road, Manchester M13 9PL, UK. { griffitt, norm, carole, 2 Department of Computing Studies, Napier University, Canal Court, 42 Craiglockhart Avenue, Edinburgh EH14 1LT, UK. { pjb, jessie, 3 Department of Computing Science, University of Glasgow, Glasgow G12 8QQ, UK. { jo, rich, Abstract Model-based user interface development environments show promise for improving the productivity of user interface developers, and possibly for improving the quality of developed interfaces. However, model-based techniques have rarely been applied to the important area of database interfaces. This lack of experience with data intensive systems may have led to model-based projects failing to support certain requirements that are essential in data intensive applications, and has prevented database interface developers from benefiting from model-based techniques. This paper presents a model-based user interface development environment for object databases, describing the models it supports, the relationships between these models, and the tool used to construct interfaces using the models. 1. Introduction In many organisations a significant proportion of the user interfaces developed are user interfaces to databases [20]. Although most commercial interface development packages include facilities tailored for use with databases (e.g., [2]), and most database vendors supply interface building tools (e.g., [16]), such products rarely build upon the most recent research activities on user interface development environments, and provide little support for specifying the dynamics of the developed interface. This paper provides an overview of the Teallach project, which is developing a model-based user interface development environment for use with object databases. Model-based user interface development environments (MB-IDEs) [19] seek to describe the functionality of a user interface using a collection of declarative models. In such a context, constructing a user interface involves building and linking a collection of models. In practice, these models often include, but may not be limited to, a domain model, a task model, a dialogue model and a presentation model. It can be argued that the model-based approach improves upon current component-based programming environments, for example, by making the interface development process more systematic, and by shielding developers from certain low-level aspects of interface implementation through judicious use of abstract models. The features of MB-IDEs are discussed more fully in Section 2. At this point, we note only that MB-IDEs are the focus of significant attention in the user interface development environment community, and that very little work has been done to date that seeks to bring this distinctive technology to bear on database problems [8]. Object databases are now in reasonably widespread use in a range of advanced applications [5]. These applications are typically characterised by the presence of rich information models and complex processing or analyses. User interface requirements vary widely from application

2 to application, but many applications use complex custombuilt visualisations (e.g. in geographic, scientific or design domains), which indicates a need for an open architecture into which different visual components can be incorporated. Furthermore, many applications must make use of operations associated with database objects, and displays often have to present information that is not directly associated with a small number of persistent objects. This means that interface development environments for object databases must incorporate effective facilities for communication and temporary storage of application data within the interface. This paper describes how techniques from MB-IDEs can be used to support the development of user interfaces to object databases. In particular, the paper provides an overview of the models and tools of the Teallach system, which is a MB-IDE designed specifically for use with object databases. The development of a MB-IDE in this context has highlighted a number of limitations in earlier systems, and thus hopefully advances the area of modelbased user interface development, as well as bringing recent interface development techniques into contact with data intensive applications. The paper is structured as follows. Section 2 provides an introduction to model-based user interface development environments. Section 3 describes the Teallach models, of which there are three a domain model, a task model and a presentation model. Section 3 also describes how the models relate to each other, which is important to the functionality of the overall environment. Section 4 provides an overview of the method that directs interface development, and the application development tools that support the method. Section 5 presents some conclusions. 2. Model-Based User Interface Development Environments Early interactive design environments [3,12] provided programmers with a way of developing user interfaces semi-automatically via a specification of the dialogue, or interactive behaviour, of the run-time system. Although clearly superior to manual coding in a general-purpose language, these systems generated rather crude interfaces, and the designer is left with the substantial job of configuring the system to take into account the nature of the application data and operations, the resources of the graphics or window system, and the abilities of users. Over the past ten years, one strand of research has focused on enhancing the user interface design environment with additional information organised into components which model design-relevant aspects of the target system and its proposed context of use. The MB-IDEs arising from this work exploit the information in their models to provide full- or semi-automated generation of user interface prototypes, and design assistance tools such as computerbased design critics, simulators and model-checkers. MB-IDEs may be compared with respect to the number and expressiveness of their models, and the design tools which exploit the model-based information. For comparisons of collections of proposals, see [15, 8]. Early MB-IDEs, such as UIDE [6] and Humanoid [17], incorporate relatively simple application, dialogue and presentation (i.e., user interface component) models, plus a rule-based user interface generator. ADEPT [9] adds a model of user-system tasks, at a higher level of abstraction than dialogue, to produce prototype interfaces for evaluation and subsequent refinement. DRIVE [11] includes a user model that captures capabilities and limitations of the user population for automatic selection of an appropriate interaction technique from several candidates. As well as using sophisticated application, task, dialogue and user models, TADEUS [15] partitions presentation specification into abstract and concrete presentation models, representing respectively the dialogue role and the toolkit-dependent appearance and behaviour of interface objects. In addition to semi-automatic interface generation, a variety of forms of design assistance can be found in the family of MB-IDEs. Humanoid produces applicationrelated and context-sensitive help and undo/redo. TRIDENT [1] uses a knowledge-base of design guidelines to offer to the designer a set of appropriate presentation components plus a human-readable rationale for the selection. TADEUS s dialogue model can be translated into a Petri Net for simulation and model-checking. With the exception of some highly domain-specific applications such as those found in the avionics industry, MB-IDEs have yet to receive acceptance in an industrial setting. The most common tool for interface construction remains the GUI-builder, which typically holds no information about the components of the system beyond the composition and configurable properties of interaction objects. It has been hypothesised that model-based systems may not yet be expressive enough [14]. Clearly, the models must be able to capture sufficient relevant information to provide useful assistance, and to do so via a specification language and tools which retain a positive cost/benefit ratio for the developer. Also, generation rules may produce poor initial interfaces via automatic generation. A MB-IDE must support, or at least accommodate, the construction of user interfaces as sophisticated as those which can be built by other means. Additionally, the tools must not impose an unacceptable method of working on developers (e.g., a rigidly top-down approach which leaves prototype construction until the end of the design process [8]).

3 3. The Teallach Models 3.1 The Domain Model Teallach assumes the pre-existence of the underlying application for which a user interface is to be developed. The application may take the form of standard Java classes or may involve the services of an object-oriented database management system (OODBMS). Irrespective of its guise, if the application is to inform and link into the user interface, it must be modelled within the Teallach system. The Teallach domain model is the means by which this is realised. In other words, the domain model reflects the structure and functionality of the underlying application and, where applicable, database connectivity and interaction The Structure of the Domain Model. With a view to providing a measure of platform independence, the domain model represents applications in terms of the concepts specified in the ODMG object database standard [4]. The ODMG specification lists a collection of interfaces covering a range of issues, including the fundamental methods used for manipulating every component type in the model. The domain model is essentially a meta-model that realises each of the ODMG concepts as an instantiable class. For example, consider the metadata for Operation, which is provided by ODMG to describe the methods available on a type or class. To realise this, Teallach has defined a class called dm_operation that captures the ODMG specification for Operation, including its relationships with multiple Parameters, a result Type and a list of Exceptions. A similar process was followed for all the constructs of the ODMG object model, resulting in a collection of classes that are the core building blocks for domain models. An individual domain model is a collection of related instances of these building block types as dictated by the structure and functionality of the underlying application. The principal role of the domain model is to represent the underlying application, and database connectivity and interaction. In addition, however, it models auxiliary data types that may be required to describe transient data vital to the runtime operation of the application and interface. Examples of auxiliary domain information include class libraries that may be needed to manipulate the data input to the system via the user interface before it is used directly with the underlying application. These facilities are required for the runtime operation of the user interface, but are not an inherent part of the application itself. Auxiliary data is also modelled using the ODMG derived building blocks in order that the representation of domain components is orthogonal to their source and persistence Using the Domain Model. Where Teallach is being used to build an interface to an OODB application, the schema of the database has to be analysed and converted into a domain model using the building blocks discussed above. Of those OODBMSs that claim ODMG compliance, few, if any, have adopted the ODMG standard schema definition language ODL as the means by which the schemas of their databases are specified, and instead have devised individual means for schema definition. This in turn means that Teallach, via the domain model, has to interface to each ODMG compliant OODBMS using a different mechanism. Teallach is currently focusing on POET [13]. POET s specific manner of schema description uses a configuration file that lists, amongst other things, the name of the application database and schema, and the fully qualified names of Java classes that are to be persistent within the application database. The schema information is extracted from a POET database in a two stage process. Firstly, the configuration file is parsed to ascertain the names of the persistent classes defined for the database. Secondly, each of the classes is then introspected over to discover its internal structure in terms of its fields, methods and exceptions. This information is then used to guide the construction of the appropriate instances of the building block types mentioned previously. Figure 1 shows a very simple class called Person which has a single field of type String, a constructor method, and two access methods. Given this information, the model as shown in figure 2 is constructed to represent the class Person within the domain model. public class Person { private String name; public Person(){name = ;} public String getname() {return(name); } public void setname(string n){name = n;} } Figure 1. Definition of class Person When modelling the auxiliary types mentioned previously, introspection over the required classes is again used to inform the instantiation of the appropriate domain model constructs. 3.2 The Task Model The task model provides support for modelling both the structure of user tasks and the flow of information between the models when carrying out the user s tasks.

4 result getname dm_operation definedin defines definedin name dm_attribute type result operations [constructor] dm_operation definedin defines Person dm_interface defines defines properties String dm_primitivetype specifies operations definedin type void dm_primitivetype operations result setname dm_operation signature operation n dm_parameter Basic Task Model Structure. The task model shares its basic structure with the task models of several MB-IDEs such as Adept [10], Mastermind [17] and TADEUS [7]. An example of a task model in the context of the Teallach tool is given in figure 3. The task model is a goal-oriented task hierarchy, with its leaf nodes (termed primitive tasks) representing interaction or action tasks. The temporal relationship between sibling tasks is specified by their parent task. The task model provides seven temporal relations, namely: Sequential: The subtasks must be performed in the specified order; all subtasks must be completed before the task s goal is considered achieved. Order-independent: The subtasks may be performed in any order; all subtasks must be completed before the task s goal is considered achieved. Repeatable: The sub-tasks are repeated a specified number of times, or until a condition is satisfied. Concurrent: The subtasks are performed in parallel; all subtasks must be completed before the task s goal is considered achieved. Two kinds of concurrent task are distinguished by a flag: truly concurrent tasks occur at the same time, while interleaved tasks have only one sub-task at a particular time, although all are progressing. Choice: The user must decide which one of the subtasks is to be performed; the chosen subtask must be completed before the task s goal is considered achieved. Optional: Zero or more (including all) of the subtasks of a choice task may be chosen. This task type therefore has an implicit concurrency controller; all chosen subtask(s) must be completed before the task s goal is considered achieved. Figure 2. Domain Model of class Person Conditional: There exists a choice between sub-tasks that is dependent on a specified condition State Information and Information Parameters. One of the main shortcomings of many MB- IDE task models lies in their inability to represent and handle user or application information flow within the user interface design. The task model therefore allows the declaration of local state, and the association of this state with a task. Once specified, the designer can indicate how this state information is set and utilised by tasks in the task model. State information can be associated with any nonprimitive task, with the associated task providing its scope. A state object has type information corresponding to a domain model class definition, and can therefore correspond to either an application class, a programming language class (such as those provided by a Java library), a user defined class, or a presentation model class. In the task model, information flow is specified by utilising a task s input and output parameters. In general, the output of a task is linked to the state of its parent task. Since Teallach s primary concern is interface development for object database applications, the task model requires a means of creating and invoking databasespecific functionality such as sessions, transactions and queries. Since the domain model provides a description of these concepts in terms of the ODMG meta-model, the task model can create state objects which correspond to database sessions, transactions and queries; the required functionality can be invoked through calls to a state object's methods. For example, a state object q: Query associated with a non-primitive task can be invoked through its q.execute() method.

5 Figure 3. Screen shot of Teallach tool, showing a link between the task and domain models Primitive Task Types. The lowest level building blocks of the task model are its primitive tasks. While a primitive task can be created in the task model, there may be a link to a corresponding domain model operation (either from the application database, a user-defined type, or a programming language primitive type). There are several such task types, which can generally be classified as action or interaction tasks. An action task corresponds to some low-level activity carried out by the application. An action task is associated with a domain model operation. An interaction task involves some degree of humancomputer interaction, either by the user providing input to the computer, the computer providing feedback to the user, or a combination of the two. An interaction task is associated with a presentation model component Exception Handling. Once a task model primitive task been linked to a domain model operation, the task model can ask the domain model if the operation can raise any exceptions. Typically this results in the designer specifying where in the task hierarchy control flow will continue once the exception has been handled. Any information associated with the exception is passed along the control flow. 3.3 The Presentation Model Teallach s presentation model is used to describe the presentation of the user-interface being designed; in other words, it describes the appearance and surface behaviour of the generated user interface. There are two levels of presentation, a concrete presentation model and an abstract presentation model The Concrete Presentation Model. The elements of the concrete presentation model are the widgets of the toolkit being used to build the user-interface. Teallach uses the Java Swing widget set. There are several advantages to using Swing, as it provides a rich set of widgets, has an efficient underlying implementation, and has a pluggable look-and-feel, facilitating the construction of different styles of interface. Teallach also allows the use of other, custom widgets when building interfaces; this is essential if

6 we are not to rule out domain-specific widgets that particular users may require (e.g., a standard moleculeviewer application). Teallach uses the Java Beans conventions as an adapter between itself and external widgets to allow such user-supplied widgets to be registered within the presentation model. Fragments of interfaces that the user has created earlier may also be saved for later reuse. The concrete presentation model is represented in two ways: there is a GUI view, which may be considered to be a preview of part of the user-interface being constructed; and there is a tree view, which represents the interface as a hierarchical structure, based on the containment hierarchy of its components. The tree view shows a higher-level view of the concrete presentation, where the types and interrelations of widgets are shown, but details such as position, font and colour are omitted. The tree view is contained in the main Presentation Editor window, whereas the GUI view is free-floating. Both views are shown in figure 4. The Teallach user may construct parts of interfaces by hand, or use automatic generation to create parts that are subsequently modified interactively. To facilitate the first of these approaches, a palette of Swing widgets is provided, which may be inserted into the interface as desired (Figure 4 shows a subset of the palette, for demonstration purposes; a complete, customisable, freefloating palette is to be added). Methods for automatically generating presentation fragments from fragments of other models are described in Section The Abstract Presentation Model. Teallach s abstract presentation model defines abstract categories to which concrete presentation widgets are assigned. For example, radio-buttons, a drop-down list and a scrollable list are all concrete widgets that may allow the end-user to choose one option from several; hence, they are all examples of an abstract category Chooser. The abstract presentation model pre-defines a number of such standard abstract categories, such as Displays (for showing data), Editors (for changing data), and ActionItems (for invoking behaviour). Furthermore, Teallach users may customise the model by adding their own categories. Note that a single concrete widget may be associated with more than one abstract category. These abstract categories have features that characterise all their members. To use a widget with the abstract presentation model, is it necessary first to register it. Registering a widget involves declaring the category to which it belongs and, for each category, specifying the relationship between the properties of the concrete widget and the features of the abstract category. For example, the abstract TextDisplay category has the feature input, representing the text to be displayed. To use a Swing JTextField widget as a TextDisplay, it is necessary to indicate that the JTextField s input is provided by its settext method. Therefore, the registration requires specification of the mapping TextDisplay.input -> JTextField.setText. Such mappings are specified in a script file, which the user can author directly. It is intended to add a Registration Wizard to Teallach that guides the user through this registration process and generates the script file automatically. However, only usersupplied custom widgets need be registered by the user; in the Teallach system, the widgets provided by Swing are pre-registered with the standard categories. In the current prototype, the abstract presentation model may be shown in the presentation editor s tree view, by rendering the abstract category of a widget instead of its concrete Swing type; the user may toggle between the abstract and the concrete views of the presentation. Figure 4. Example concrete presentation model views

7 A benefit that derives from the use of the abstract presentation model is that (a notion of) style is supported in the design of the end-user interface. For example, where several different concrete presentations may represent the same abstract presentation (as in the chooser example above), a choice must be made; a collection of such choices may be collected together into a style-sheet. A style-sheet defines a named style as a collection of such choices, which may then be applied to a fragment of an interface. The style-sheet also describes any fixed customisations of widgets to be used within the style it defines. This approach provides three advantages: style decisions can be applied consistently across an interface; when mapping between models, presentation fragments can be generated in terms of abstract categories, which are then made concrete by applying an appropriate style; and the designer is relieved of the need to specify the same choice repeatedly. Style-sheets are again to be represented as script files showing mappings, but a planned style editor will not only allow the user to view and apply different styles, but will also contain a Style Wizard to guide the user through the process of creating additional styles. 3.4 Interaction Between Models This section briefly reviews the ways that the three Teallach models can interact. There are two ways of associating elements from different models: linking and deriving. In linking, an association is made between existing components in two models. In deriving, components in one model are constructed based on components in another; the derive mode also creates associations between the newly created component and the source of the derivation. In the modelling environment, linking and deriving are different modelling tasks, expressed using different interaction techniques. The following subsections outline the ways in which components from the different models can be associated and derived. It should be noted that the domain model is fixed, and as such cannot be changed by a derive operation From Domain to Task. Linking a domain operation to a leaf task specifies that the task will be an invocation of this operation on a particular instance of a domain model class T:<Type> that defines the operation. The designer must therefore first construct a new state object t:t in the leaf tasks s immediate parent, and then link the leaf task to the state object. Teallach then uses a Link Wizard to guide the designer through the process of creating the link. Such a link is shown between the Connect task and the con:teallachdemo.connection state object to create the link to the con.connect(string, String,Integer) method in Figure 3. Using a domain class as the source of a derive operation with a non-leaf node of the task model as its target creates a new task structure, rooted in a new sub-task, that will perform the default action (usually edit) on the domain class. The public operations and attributes of the class are added as subtasks to this new task. Figure 6 shows the task hierarchy generated by using the Librarian class from the domain model to derive a new sub-task (called edit librarian) in the task model From Presentation to Task. Linking a node of the presentation model to a node of the task model specifies that an instance of the presentation object is to be used to visualise the task. An example could be the linking of a pre-built, custom editor for Librarian instances to the task edit librarian. In this case, both elements are considered as leaves, as we do not wish to view them at a finer granularity. The designer will therefore create a state object which corresponds to an instance of the presentation model information in the task model and link using the Link Wizard. Deriving a non-leaf node in the task model from the information contained in a presentation model node generates a new task structure which describes the dynamics of the presentation object. For example, using the librarian editor shown in Figure 5 as the source of the derive operation with the root of the task model as the target would generate the task structure shown in Figure From Task to Presentation, Linking a leaf of the task model to a leaf of the presentation model has the same effect as creating a link in the opposite direction, as described in Section A task model node can be used to derive the structure of a presentation model node whose purpose is to create a default presentation for the task sub-hierarchy. For example, the login dialog shown in Figure 4 could be derived from a task structure like the one shown in Figure From Domain to Presentation. Domain items may be used to generate presentation items directly, or may be linked to them through the task model. For example, linking a task set salary (which uses a method setsalary(int amount) defined in the domain model) to a presentation leaf representing an action-item (eg, a button) causes the task, and hence the domain method, to be invoked by the presentation item. If the presentation item is not capable of invoking behaviour, an error is reported. If the operation is associated with a nonleaf presentation, a new action-item (leaf node) is added to the presentation, which can be used to invoke the task.

8 Figure 5. Basic editor for Librarian generated from the domain model Deriving a node in the presentation model from the information contained in a domain model class (e.g., Librarian) creates a basic default editor for Librarian. This editor is constructed by examining the get- and setmethods of the class, and inserting appropriate display or edit fields in the generated presentation object. Figure 5 shows the result of deriving the Librarian class from the domain to the root of the presentation model. Of course, the user may wish to treat this generated object only as a starting point, and may subsequently modify it. 4. The Teallach Design Method and Tools 4.1 The Method MB-IDEs typically support a single fixed method for developing their component models, frequently stipulating Figure 6. Task hierarchy generated from a domain class that their task model must be constructed before any other model. This results in an inflexible interface development lifecycle, imposing a methodology that not all developers will be comfortable with. Teallach attempts to circumvent this problem by removing constraints on the order in which its three models must be constructed. This flexibility removes restrictions on the order in which links between related model components can be defined. For example, one mode of working could be to create a high level task model, and then to use the presentation model to articulate each of these high level tasks. Once this process has been completed, the designer must then specify how the presentation model s designs relate to the task model s high level tasks by linking the related components, as described in Section 3.4.

9 Model Store Mapping Rules Task Model Presentation Model Code Generator ODMG API Domain Model Database or Application programming language classes Project Store Widgets Teallach s ability to provide clean and transparent access to its underlying application stems from the domain model s abstract view of the application. This shields the remaining Teallach models from the complexities and idiosyncrasies of external systems. Although there is no stipulation that the domain model must be constructed before the other models, Teallach assumes that all references to domain model concepts must be resolved before an interface can be generated. Figure 7 presents an overview of the Teallach architecture, which has been heavily influenced by the requirement to support a flexible methodology. Central to this architecture is the Teallach model store, which provides several core facilities, including: Model linkage information: The store is responsible for maintaining links created by the designer between related model components. Mapping information: The store acts as a centralised repository of information about the possible mappings between the Teallach models. These mappings are utilised when automatically generating model fragments in one model from the information captured in another. Once models have been constructed and linked, the user interface to the underlying application can be generated. This is achieved through the use of a code generator, which outputs Java programs corresponding to the developed models. During the process of code generation the links between the Teallach models are verified, and calls to underlying domain data and functionality are resolved. Figure 7. Teallach architecture management, editing, model linking and code generation facilities. The toolkit uses a desktop metaphor and direct manipulation techniques for model construction. As previously discussed, a designer can create links between related model components. In the Teallach tools this is achieved by switching to link mode and drawing a rubber-banded line from an element in the task model to a state object representing the other model construct, to associate the two. This can be seen in Figure 3, which shows a link being created between the task model Connect action task and the domain model connect operation defined on the con: Connect state object. The Link Wizard guides the designer through this process. Once an operation has been associated with a task, the icon in the task model is updated to reflect this change. Teallach currently uses a simple hyperlink metaphor so show associations between linked model components; this allows the designer to jump to an associated component by invoking its show linked components operation from a popup menu. To derive information from one model into another, the designer simply drags a component from one model and drops it at the desired location in the target model. For example, the designer may construct a partial task hierarchy corresponding to some constructed presentation (or vice versa). Once the new structure has been generated, the relationships between components are maintained through the services provided by the Teallach store. 5. Conclusions 4.2 The Tools Teallach provides an integrated toolkit that a designer can use to construct and link the individual models that form the model-based UI design. This toolkit supports Teallach s flexible design method. As shown in figure 3, the Teallach toolkit consists of editors for the three models within an overall tool environment providing project This paper has provided an overview of the Teallach MB-IDE for object databases. Distinctive features of Teallach include: A rich domain model that provides an abstract view of structural and behavioural features of applications in terms of the ODMG object model. A hierarchical task modelling language that is fully integrated with the domain model so that not only can

10 user tasks be described, but also the data associated with those tasks. A presentation model in which abstract descriptions of displays can be associated with task and domain model concepts, and which is associated with an extensible concrete presentation based on Java Beans and Swing. A flexible methodology, in which the models provide abstract facilities for describing the user interface without imposing a prescriptive approach to model construction. A design environment that supports the flexible methodology, and in particular the association of components from different models. An open architecture, in which both application classes and auxiliary functionality can be made accessible to other Teallach models through the domain model, and in which additional presentation components can be registered using the Java Beans protocol. The design of the Teallach system has from the start been motivated by the desire to make the development of user interfaces to object database systems more systematic and more efficient. However, although we were willing to trade some measure of generality in the Teallach system for greater productivity in the database context, we believe that there is very little that is database specific about Teallach. While the domain model is clearly a data model from a database, the ODMG model has much in common with object models from other settings. What the database orientation has provided is a requirement to take the exchange of information between models seriously, and the early identification of a library case study has acted as a useful reality check throughout. A further feature of Teallach is that it is decidedly nonradical in a number of respects. In particular, the domain model and the (concrete) presentation model are, respectively, an existing data model and an existing widget set, and the basic building blocks of the task model are familiar from other MB-IDEs. We consider this conservatism to be a virtue, as it allows reuse of software systems and experience, and has allowed the Teallach development effort to focus on what is required to integrate these existing components effectively. As a result, where Teallach makes a contribution in the area of MB-IDEs, it is not in its individual components, but rather in the way these components have been combined. Teallach is unusual both in the extent to which the different models are integrated (e.g. few other systems address issues relating to the transmission of domain model concepts through the task model), and in allowing associations to be constructed between models in such a flexible manner. Thus Teallach can be seen as contributing to model-based interface development research by: clarifying how models can be integrated; demonstrating how the use of model-based systems need not lead to the imposition of a specific development method; and by showing how tools can support flexibility in model construction. Acknowledgements: This research is funded by the UK Engineering and Physical Sciences Research Council (EPSRC), whose support we are pleased to acknowledge. References [1] F. Bodart, A.-M. Hennebert, J.-M. Leheureux, I. Provot, B. Sacre, J. Vanderdonckt, "Towards a Systematic Building of Software Architectures: the TRIDENT Methodological Guide", Interactive Systems: Design, Specification and Verification. Springer, 1995, pp [2] Borland Delphi. [3] W. Buxton, M.R. Lamb, D. Sherman, and K.E. Smith, "Towards a comprehensive user interface management system", Computer Graphics, 17(3), 1983,pp [4] R.G.G. Cattell et al, The Object Database Standard: 2.0, Morgan Kaufmann Publishers Inc., 1997 [5] A.B. Chaudhri and M. Loomis, Object Databases in Practice, Prentice-Hall, [6] J. Foley, W.C. Kim, S. Kovacevic, and K. Murray, "Defining Interfaces at a High Level of Abstraction", IEEE Computer, 1989, pp [7] T. Elwert, T. Schlungbaum, "Modelling and Generation of Graphical User Interfaces in the TADEUS Approach", Designing, Specification, and Verification of Interactive Systems (Palanque, P., Bastide, R. Eds.). Wien, Springer, 1995, pp [8] T. Griffiths et al., "Exploiting Model-Based Techniques for User Interfaces to Databases", Proc. Visual Database Systems 4, (Y. Ioannidis and W. Klas (eds)), Chapman & Hall, 1998, [9] P. Johnson, H. Johnson, and S. Wilson, "Rapid Prototyping of User Interfaces Driven by Task Models", Scenario-Based Design, (Carroll, J. ed). John Wiley & Son, 1995, pp [10] P. Markopoulos, J. Pycock, S. Wilson, and P. Johnson, "Adept - A task based design environment", Proceedings of the 25th Hawaii International Conference on System Sciences, IEEE Computer Society Press, 1992, pp [11] K. Mitchell, J. Kennedy, P. Barclay, "A Framework for User Interfaces to Databases". Proc. AVI, ACM Press, [12] D.R. Olsen, "MIKE: The Menu Interaction Kontol Environment", ACM Transactions on Graphics, 5(4), 1987, pp [13] Poet Software. [14] A. Puerta, H. Eriksson, J. Gennari, and M. Musen, "Model- Based Automated Generation of User Interfaces", Proc. National Conference on Artificial Intelligence (AAAI), [15] E. Schlungbaum, T. Elwert, "Automatic User Interface Generation from Declarative Models" Proc. CADUI, 1996, pp [16] Visual dbase [17] P. Szekely, P. Luo, and R. Neches, "Facilitating the Exploration of Interface Design Alternatives: The HUMANOID Model of Interface Design", Proc. CHI 92, 1992, pp

11 [18] P. Szekely, P. Sukaviriya, P. Castells, J. Muhtkumarasamy, E. Salcher, "Declarative Interface Models For User Interface Construction Tools: The MASTERMIND Approach Engineering For Human-Computer Interaction", 2nd Workshop on Database Issues for Data Visualization (A. Wierse, G.G. Grinstein, U. Lang, (eds.)), Springer-Verlag, [19] P. Szekely, "Retrospective and Challenges for Model-Based Interface Development", Proc. DSVIS, (F. Bodart and J. Vanderdonckt (eds)), Springer-Verlag, 1996, pp [20] M.M. Zloof, "Selected Ingredients in End-User Programming", Proc. Visual Database Systems (VDB) 4, (Y. Ioannidis and W. Klas (eds)), Chapman & Hall, 1998.

Conceptual Modelling for Database User Interfaces

Conceptual Modelling for Database User Interfaces 9 Conceptual Modelling for Database User Interfaces Richard Cooperl, Jo McKirdyl, Tony Griffiths2, Peter J. Barclay3, Norman W. Paton2, Philip D. Grayl, Jessie Kenned/ and Carole A. Goble2 IDeepartment

More information

The Teallach Tool: Using Models for Flexible User Interface Design

The Teallach Tool: Using Models for Flexible User Interface Design The Teallach Tool: Using Models for Flexible User Interface Design Peter J. Barclay 2, Tony Griffiths 1, Jo McKirdy 3, Norman W. Paton 1, Richard Cooper 3, Jessie Kennedy 2 1 Department of Computer Science,

More information

Teallach: a model-based user interface development environment for object databases q

Teallach: a model-based user interface development environment for object databases q T. Grif ths et al. / Interacting with Computers 14 2001) 31±68 31 Interacting with Computers 14 2001) 31±68 www.elsevier.com/locate/intcom Teallach: a model-based user interface development environment

More information

THE TASK-TO-PRESENTATION-DIALOG MAPPING PROBLEM

THE TASK-TO-PRESENTATION-DIALOG MAPPING PROBLEM THE TSK-TO-PRESENTTION-LOG MPNG PROBLEM Quentin Limbourg and Jean Vanderdonckt Université catholique de Louvain, Place des Doyens, 1 B-1348 Louvain-la-Neuve, Belgium {Limbourg, Vanderdonckt}@isys.ucl.ac.be

More information

Individual User Interfaces and. Model-based User Interface Software Tools. Egbert Schlungbaum

Individual User Interfaces and. Model-based User Interface Software Tools. Egbert Schlungbaum Individual User Interfaces and Model-based User Interface Software Tools by Egbert Schlungbaum GIT-GVU-96-28 November 1996 Graphics, Visualization & Usability Center Georgia Institute of Technology Atlanta,

More information

Supporting User-Centered Design of Adaptive User Interfaces Via Interface Models

Supporting User-Centered Design of Adaptive User Interfaces Via Interface Models Supporting User-Centered Design of Adaptive User Interfaces Via Interface Models Angel R. Puerta Stanford University 251 Campus Drive MSOB x215 Stanford, CA 94305-5479 USA +1 650 723 5294 puerta@smi.stanford.edu

More information

Interactively Mapping Task Models to Interfaces in MOBI-D

Interactively Mapping Task Models to Interfaces in MOBI-D Interactively Mapping Task Models to Interfaces in MOBI-D Angel Puerta and Jacob Eisenstein Stanford University 251 Campus Drive MSOB x215 Stanford, CA 94305-5479 USA +1 650 723 5294 puerta@smi.stanford.edu

More information

Towards a General Computational Framework for Model-Based Interface Development Systems

Towards a General Computational Framework for Model-Based Interface Development Systems Towards a General Computational Framework for Model-Based Interface Development Systems Angel Puerta and Jacob Eisenstein Stanford University 251 Campus Drive MSOB x215 Stanford, CA 94305-5479 USA puerta@smi.stanford.edu,

More information

XXL: A VISUAL+TEXTUAL ENVIRONMENT FOR BUILDING GRAPHICAL USER INTERFACES

XXL: A VISUAL+TEXTUAL ENVIRONMENT FOR BUILDING GRAPHICAL USER INTERFACES Chapter 1 XXL: A VISUAL+TEXTUAL ENVIRONMENT FOR BUILDING GRAPHICAL USER INTERFACES Eric Lecolinet Ecole Nationale Supérieure des Télécommunications & CNRS URA 820 Dept. INFRES, 46 rue Barrault, 75013 Paris,

More information

Chapter 1 INTEGRATING MODEL-BASED AND TASK- BASED APPROACHES TO USER INTERFACE GENERATION 1. INTRODUCTION

Chapter 1 INTEGRATING MODEL-BASED AND TASK- BASED APPROACHES TO USER INTERFACE GENERATION 1. INTRODUCTION Chapter 1 INTEGRATING MODEL-BASED AND TASK- BASED APPROACHES TO USER INTERFACE GENERATION Sergio España, Inés Pederiva, Jose Ignacio Panach Department of Information Systems and Computation Valencia University

More information

Spatio-Temporal Databases: Contentions, Components and Consolidation

Spatio-Temporal Databases: Contentions, Components and Consolidation Spatio-Temporal Databases: Contentions, Components and Consolidation Norman W. Paton, Alvaro A.A. Fernandes and Tony Griffiths Department of Computer Science University of Manchester Oxford Road, Manchester

More information

Issues surrounding model consistency and QVT

Issues surrounding model consistency and QVT Issues surrounding model consistency and QVT Laurence Tratt, Tony Clark laurie@tratt.net, anclark@dcs.kcl.ac.uk December 6, 200. Introduction This document is intended to outline some of the issues surrounding

More information

Resource-Based User Interface Design

Resource-Based User Interface Design Resource-Based User Interface Design Eva, Yi hwa Chen The Human Computer Interaction Group Department of Computer Science The University of York Submitted for the degree of Doctor of Philosophy August

More information

An Approach to Software Component Specification

An Approach to Software Component Specification Page 1 of 5 An Approach to Software Component Specification Jun Han Peninsula School of Computing and Information Technology Monash University, Melbourne, Australia Abstract. Current models for software

More information

Plastic User Interfaces: Designing for Change

Plastic User Interfaces: Designing for Change Plastic User Interfaces: Designing for Change Montserrat Sendín, Jesús Lorés Computer Science Department University of Lleida 69, Jaume II St., 25001- Lleida, SPAIN +34 973 70 2 700 {msendin, jesus}@eup.udl.es

More information

AADL Graphical Editor Design

AADL Graphical Editor Design AADL Graphical Editor Design Peter Feiler Software Engineering Institute phf@sei.cmu.edu Introduction An AADL specification is a set of component type and implementation declarations. They are organized

More information

Chapter 13 ONE MODEL, MANY INTERFACES 1. INTRODUCTION

Chapter 13 ONE MODEL, MANY INTERFACES 1. INTRODUCTION Chapter 13 ONE MODEL, MANY INTERFACES Fabio Paternò, Carmen Santoro ISTI, CNR Institute, Via G. Moruzzi 1 I-56010 Ghezzano, Pisa (Italy) E-mail: {f.paterno, c.santoro}@cnuce.cnr.it URL: http://giove.cnuce.cnr.it/~fabio/

More information

Issues raised developing

Issues raised developing Loughborough University Institutional Repository Issues raised developing AQuRate (an authoring tool that uses the question and test interoperability version 2 specification) This item was submitted to

More information

MOBILE: User-Centered Interface Building

MOBILE: User-Centered Interface Building MOBILE: User-Centered Interface Building Angel R. Puerta, Eric Cheng, Tunhow Ou, Justin Min, Stanford University 251 Campus Drive MSOB x215 Stanford, CA 94305-5479 USA +1 650 723 5294 puerta@smi.stanford.edu

More information

Teiid Designer User Guide 7.5.0

Teiid Designer User Guide 7.5.0 Teiid Designer User Guide 1 7.5.0 1. Introduction... 1 1.1. What is Teiid Designer?... 1 1.2. Why Use Teiid Designer?... 2 1.3. Metadata Overview... 2 1.3.1. What is Metadata... 2 1.3.2. Editing Metadata

More information

Models, Tools and Transformations for Design and Evaluation of Interactive Applications

Models, Tools and Transformations for Design and Evaluation of Interactive Applications Models, Tools and Transformations for Design and Evaluation of Interactive Applications Fabio Paternò, Laila Paganelli, Carmen Santoro CNUCE-C.N.R. Via G.Moruzzi, 1 Pisa, Italy fabio.paterno@cnuce.cnr.it

More information

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements. Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful

More information

Lupin: from Web Services to Web-based Problem Solving Environments

Lupin: from Web Services to Web-based Problem Solving Environments Lupin: from Web Services to Web-based Problem Solving Environments K. Li, M. Sakai, Y. Morizane, M. Kono, and M.-T.Noda Dept. of Computer Science, Ehime University Abstract The research of powerful Problem

More information

XIML: A Universal Language for User Interfaces

XIML: A Universal Language for User Interfaces XIML: A Universal Language for User Interfaces Angel Puerta and Jacob Eisenstein RedWhale Software 277 Town & Country Palo Alto, CA USA +1 650 321 0348 {puerta, jacob}@redwhale.com ABSTRACT In recent years,

More information

The Guilet Dialog Model and Dialog Core for Graphical User Interfaces

The Guilet Dialog Model and Dialog Core for Graphical User Interfaces The Guilet Dialog Model and Dialog Core for Graphical User Interfaces Jürgen Rückert and Barbara Paech Institute of Computer Science, University of Heidelberg, Germany {rueckert,paech}@uni-heidelberg.de

More information

User Interface Design: The WHO, the WHAT, and the HOW Revisited

User Interface Design: The WHO, the WHAT, and the HOW Revisited User Interface Design: The WHO, the WHAT, and the HOW Revisited Chris Stary T-Group at the University of Technology Vienna CD-Lab for Expert Systems and Department for Information Systems Paniglgasse 16,

More information

IDEF* - A comprehensive Modelling Methodology for the Development of Manufacturing Enterprise Systems

IDEF* - A comprehensive Modelling Methodology for the Development of Manufacturing Enterprise Systems SIMTech Technical Report () IDEF* - A comprehensive Modelling Methodology for the Development of Manufacturing Dr Ang Cheng Leong (Operations & Supply Chain Applications Group, Manufacturing Information

More information

Exploiting model-based techniques for user interfaces to databases

Exploiting model-based techniques for user interfaces to databases 2 Exploiting model-based techniques for user interfaces to databases T.Griffiths+, ]. McKird/, G.Forrester, NPaton+, ].Kennedy, P.Barclay, R.Cooper, C.Goble+, P.Gra/ +Department of Computer Science, University

More information

Configuration Management for Component-based Systems

Configuration Management for Component-based Systems Configuration Management for Component-based Systems Magnus Larsson Ivica Crnkovic Development and Research Department of Computer Science ABB Automation Products AB Mälardalen University 721 59 Västerås,

More information

An Annotation Tool for Semantic Documents

An Annotation Tool for Semantic Documents An Annotation Tool for Semantic Documents (System Description) Henrik Eriksson Dept. of Computer and Information Science Linköping University SE-581 83 Linköping, Sweden her@ida.liu.se Abstract. Document

More information

Topics in Object-Oriented Design Patterns

Topics in Object-Oriented Design Patterns Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;

More information

A Top-Down Visual Approach to GUI development

A Top-Down Visual Approach to GUI development A Top-Down Visual Approach to GUI development ROSANNA CASSINO, GENNY TORTORA, MAURIZIO TUCCI, GIULIANA VITIELLO Dipartimento di Matematica e Informatica Università di Salerno Via Ponte don Melillo 84084

More information

Content Sharing and Reuse in PTC Integrity Lifecycle Manager

Content Sharing and Reuse in PTC Integrity Lifecycle Manager Content Sharing and Reuse in PTC Integrity Lifecycle Manager Author: Scott Milton 1 P age Table of Contents 1. Abstract... 3 2. Introduction... 4 3. Document Model... 5 3.1. Reference Modes... 6 4. Reusing

More information

Review. Designing Interactive Systems II. Review. Base Window System. Apps UITK BWS GEL. 4-Layer Model Graphics and Event Library BWS GEL

Review. Designing Interactive Systems II. Review. Base Window System. Apps UITK BWS GEL. 4-Layer Model Graphics and Event Library BWS GEL Window Manager Base Window System Graphics & Event Library Hardware more abstract, application-/user- Applications User Interface Toolkit Review Designing Interactive Systems II 4-Layer Model Graphics

More information

Component-Based Software Engineering TIP

Component-Based Software Engineering TIP Component-Based Software Engineering TIP X LIU, School of Computing, Napier University This chapter will present a complete picture of how to develop software systems with components and system integration.

More information

Exploration of Data from Modelling and Simulation through Visualisation

Exploration of Data from Modelling and Simulation through Visualisation Exploration of Data from Modelling and Simulation through Visualisation Tao Lin: CSIRO Mathematical and Information Sciences, PO Box 664, ACT 2601, Australia. Robert Cheung*: CRC for Advanced Computational

More information

Automatic Reconstruction of the Underlying Interaction Design of Web Applications

Automatic Reconstruction of the Underlying Interaction Design of Web Applications Automatic Reconstruction of the Underlying Interaction Design of Web Applications L.Paganelli, F.Paternò C.N.R., Pisa Via G.Moruzzi 1 {laila.paganelli, fabio.paterno}@cnuce.cnr.it ABSTRACT In this paper

More information

Automated Improvement for Component Reuse

Automated Improvement for Component Reuse Automated Improvement for Component Reuse Muthu Ramachandran School of Computing The Headingley Campus Leeds Metropolitan University LEEDS, UK m.ramachandran@leedsmet.ac.uk Abstract Software component

More information

Bringing Usability to Industrial Control Systems by Marcus Reul, RWTH Aachen University, Aachen, Germany, aachen.

Bringing Usability to Industrial Control Systems by Marcus Reul, RWTH Aachen University, Aachen, Germany, aachen. Bringing Usability to Industrial Control Systems by Marcus Reul, RWTH Aachen University, 52056 Aachen, Germany, marcus.reul@rwth aachen.de Abstract I want to examine how domain specific HCI design patterns

More information

GUI framework communication via the WWW

GUI framework communication via the WWW GUI framework communication via the WWW Thomas Tilley, School of Information Technology, Griffith University, Australia 4215, T.Tilley@gu.edu.au Peter Eklund, School of Information Technology, Griffith

More information

ESPRIT Project No Work packages D,E,F. Technical Summary

ESPRIT Project No Work packages D,E,F. Technical Summary ESPRIT Project No. 25 338 Work packages D,E,F Agent Framework Technical Summary ID: Document-Name V. 1.0 Date: 23-Mar-99 Author(s): SAB Status: draft Reviewer(s): Distribution: Change History Document

More information

Minsoo Ryu. College of Information and Communications Hanyang University.

Minsoo Ryu. College of Information and Communications Hanyang University. Software Reuse and Component-Based Software Engineering Minsoo Ryu College of Information and Communications Hanyang University msryu@hanyang.ac.kr Software Reuse Contents Components CBSE (Component-Based

More information

Lecture 6. Design (3) CENG 412-Human Factors in Engineering May

Lecture 6. Design (3) CENG 412-Human Factors in Engineering May Lecture 6. Design (3) CENG 412-Human Factors in Engineering May 28 2009 1 Outline Prototyping techniques: - Paper prototype - Computer prototype - Wizard of Oz Reading: Wickens pp. 50-57 Marc Rettig: Prototyping

More information

JQueryScapes: customizable Java code perspectives

JQueryScapes: customizable Java code perspectives JQueryScapes: customizable Java code perspectives [Forum Demonstration Proposal] Lloyd Markle, Kris De Volder Department of Computer Science University of British Columbia Vancouver, BC, Canada 604-822-1290

More information

This paper should be referenced as:

This paper should be referenced as: This paper should be referenced as: Farkas, A.M., Dearle, A., Kirby, G.N.C., Cutts, Q.I., Morrison, R. & Connor, R.C.H. Persistent Program Construction through Browsing and User Gesture with some Typing.

More information

Statistical Testing of Software Based on a Usage Model

Statistical Testing of Software Based on a Usage Model SOFTWARE PRACTICE AND EXPERIENCE, VOL. 25(1), 97 108 (JANUARY 1995) Statistical Testing of Software Based on a Usage Model gwendolyn h. walton, j. h. poore and carmen j. trammell Department of Computer

More information

Business Intelligence and Reporting Tools

Business Intelligence and Reporting Tools Business Intelligence and Reporting Tools Release 1.0 Requirements Document Version 1.0 November 8, 2004 Contents Eclipse Business Intelligence and Reporting Tools Project Requirements...2 Project Overview...2

More information

Comparing the performance of object and object relational database systems on objects of varying complexity

Comparing the performance of object and object relational database systems on objects of varying complexity Comparing the performance of object and object relational database systems on objects of varying complexity Kalantari, R and Bryant, CH http://dx.doi.org/10.1007/978 3 642 25704 9_8 Title Authors Type

More information

Facet Folders: Flexible Filter Hierarchies with Faceted Metadata

Facet Folders: Flexible Filter Hierarchies with Faceted Metadata Facet Folders: Flexible Filter Hierarchies with Faceted Metadata Markus Weiland Dresden University of Technology Multimedia Technology Group 01062 Dresden, Germany mweiland@acm.org Raimund Dachselt University

More information

Design Patterns for Description-Driven Systems

Design Patterns for Description-Driven Systems Design Patterns for Description-Driven Systems N. Baker 3, A. Bazan 1, G. Chevenier 2, Z. Kovacs 3, T Le Flour 1, J-M Le Goff 4, R. McClatchey 3 & S Murray 1 1 LAPP, IN2P3, Annecy-le-Vieux, France 2 HEP

More information

Human-Computer Interaction IS4300

Human-Computer Interaction IS4300 Human-Computer Interaction IS4300 1 Quiz 3 1 I5 due next class Your mission in this exercise is to implement a very simple Java painting applet. The applet must support the following functions: Draw curves,

More information

Emulation of modular manufacturing machines

Emulation of modular manufacturing machines Loughborough University Institutional Repository Emulation of modular manufacturing machines This item was submitted to Loughborough University's Institutional Repository by the/an author. Citation: CASE,

More information

Comprehensive Task and Dialog Modelling

Comprehensive Task and Dialog Modelling López Jaquero, V., Montero, F. Comprehensive Task And Dialog Modelling. HCI International 2007 (HCII 2005). 22-27 July 2007, Beijing, China. In Human Computer Interaction, part I, HCII 2007. J. Jacko (Ed.)

More information

AUTOMATIC GRAPHIC USER INTERFACE GENERATION FOR VTK

AUTOMATIC GRAPHIC USER INTERFACE GENERATION FOR VTK AUTOMATIC GRAPHIC USER INTERFACE GENERATION FOR VTK Wilfrid Lefer LIUPPA - Université de Pau B.P. 1155, 64013 Pau, France e-mail: wilfrid.lefer@univ-pau.fr ABSTRACT VTK (The Visualization Toolkit) has

More information

Automatic User Interface Generation from Declarative Models

Automatic User Interface Generation from Declarative Models Automatic User Interface Generation from Declarative Models Egbert Schlungbaum and Thomas Elwert Universität Rostock, Fachbereich Informatik, Albert-Einstein-Straße 21, D- 18051 Rostock, Germany Phone:

More information

Migrating to Object Data Management

Migrating to Object Data Management Migrating to Object Data Management Arthur M. Keller * Stanford University and Persistence Software Paul Turner Persistence Software Abstract. We discuss issues of migrating to object data management.

More information

ESPRIT Project N Work Package H User Access. Survey

ESPRIT Project N Work Package H User Access. Survey ESPRIT Project N. 25 338 Work Package H User Access Survey ID: User Access V. 1.0 Date: 28.11.97 Author(s): A. Sinderman/ E. Triep, Status: Fast e.v. Reviewer(s): Distribution: Change History Document

More information

DESIGN PATTERN - INTERVIEW QUESTIONS

DESIGN PATTERN - INTERVIEW QUESTIONS DESIGN PATTERN - INTERVIEW QUESTIONS http://www.tutorialspoint.com/design_pattern/design_pattern_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Design Pattern Interview Questions

More information

PROCESS DEVELOPMENT METHODOLOGY The development process of an API fits the most fundamental iterative code development

PROCESS DEVELOPMENT METHODOLOGY The development process of an API fits the most fundamental iterative code development INTRODUCING API DESIGN PRINCIPLES IN CS2 Jaime Niño Computer Science, University of New Orleans New Orleans, LA 70148 504-280-7362 jaime@cs.uno.edu ABSTRACT CS2 provides a great opportunity to teach an

More information

By Chung Yeung Pang. The Cases to Tackle:

By Chung Yeung Pang. The Cases to Tackle: The Design of Service Context Framework with Integration Document Object Model and Service Process Controller for Integration of SOA in Legacy IT Systems. By Chung Yeung Pang The Cases to Tackle: Using

More information

D WSMO Data Grounding Component

D WSMO Data Grounding Component Project Number: 215219 Project Acronym: SOA4All Project Title: Instrument: Thematic Priority: Service Oriented Architectures for All Integrated Project Information and Communication Technologies Activity

More information

Abstract. 1. Conformance. 2. Introduction. 3. Abstract User Interface

Abstract. 1. Conformance. 2. Introduction. 3. Abstract User Interface MARIA (Model-based language for Interactive Applications) W3C Working Group Submission 3 February 2012 Editors: Fabio Paternò, ISTI-CNR Carmen Santoro, ISTI-CNR Lucio Davide Spano, ISTI-CNR Copyright 2012

More information

MetaData for Database Mining

MetaData for Database Mining MetaData for Database Mining John Cleary, Geoffrey Holmes, Sally Jo Cunningham, and Ian H. Witten Department of Computer Science University of Waikato Hamilton, New Zealand. Abstract: At present, a machine

More information

Internet Application Developer

Internet Application Developer Internet Application Developer SUN-Java Programmer Certification Building a Web Presence with XHTML & XML 5 days or 12 evenings $2,199 CBIT 081 J A V A P R O G R A M M E R Fundamentals of Java and Object

More information

On Object Orientation as a Paradigm for General Purpose. Distributed Operating Systems

On Object Orientation as a Paradigm for General Purpose. Distributed Operating Systems On Object Orientation as a Paradigm for General Purpose Distributed Operating Systems Vinny Cahill, Sean Baker, Brendan Tangney, Chris Horn and Neville Harris Distributed Systems Group, Dept. of Computer

More information

Applied Metamodelling to Collaborative Document Authoring

Applied Metamodelling to Collaborative Document Authoring Applied Metamodelling to Collaborative Document Authoring Anna Kocurova and Samia Oussena School of Computing and Technology University of West London London, UK Email: Anna.Kocurova,Samia.Oussena@uwl.ac.uk

More information

Tools for Task Modelling: Where we are, Where we are headed

Tools for Task Modelling: Where we are, Where we are headed Tools for Task Modelling: Where we are, Where we are headed Fabio Paternò C.N.R. - CNUCE Via G.Moruzzi, 1 56100 Pisa +39 050 3153066 fabio.paterno@cnuce.cnr.it ABSTRACT Task models represent the intersection

More information

Making Frameworks More Useable: Using Model Introspection and Metadata to Develop Model Processing Tools

Making Frameworks More Useable: Using Model Introspection and Metadata to Develop Model Processing Tools Making Frameworks More Useable: Using Model Introspection and Metadata to Develop Model Processing Tools J.M.Rahman,S.Seaton,S.M.Cuddy Cooperative Research Centre for Catchment Hydrology, CSIRO Land and

More information

Simulating Task Models Using Concrete User Interface Components

Simulating Task Models Using Concrete User Interface Components Simulating Task Models Using Concrete User Interface Components David Paquette Department of Computer Science University of Saskatchewan dnp972@cs.usask.ca April 29, 2004 Abstract Interaction Templates

More information

Context as Foundation for a Semantic Desktop

Context as Foundation for a Semantic Desktop Context as Foundation for a Semantic Desktop Tom Heath, Enrico Motta, Martin Dzbor Knowledge Media Institute, The Open University, Walton Hall, Milton Keynes, MK7 6AA, United Kingdom {t.heath, e.motta,

More information

Coordination Patterns

Coordination Patterns Coordination Patterns 1. Coordination Patterns Design Patterns and their relevance for Coordination Oscar Nierstrasz Software Composition Group Institut für Informatik (IAM) Universität Bern oscar@iam.unibe.ch

More information

Teiid Designer User Guide 7.7.0

Teiid Designer User Guide 7.7.0 Teiid Designer User Guide 1 7.7.0 1. Introduction... 1 1.1. What is Teiid Designer?... 1 1.2. Why Use Teiid Designer?... 2 1.3. Metadata Overview... 2 1.3.1. What is Metadata... 2 1.3.2. Editing Metadata

More information

Motivating Ontology-Driven Information Extraction

Motivating Ontology-Driven Information Extraction Motivating Ontology-Driven Information Extraction Burcu Yildiz 1 and Silvia Miksch 1, 2 1 Institute for Software Engineering and Interactive Systems, Vienna University of Technology, Vienna, Austria {yildiz,silvia}@

More information

User-Centred Evaluation Criteria for a Mixed Reality Authoring Application

User-Centred Evaluation Criteria for a Mixed Reality Authoring Application User-Centred Evaluation Criteria for a Mixed Reality Authoring Application Marjaana Träskbäck, Toni Koskinen, Marko Nieminen Helsinki University of Technology, Software Business and Engineering Institute

More information

A Component Framework for HPC Applications

A Component Framework for HPC Applications A Component Framework for HPC Applications Nathalie Furmento, Anthony Mayer, Stephen McGough, Steven Newhouse, and John Darlington Parallel Software Group, Department of Computing, Imperial College of

More information

European Component Oriented Architecture (ECOA ) Collaboration Programme: Architecture Specification Part 2: Definitions

European Component Oriented Architecture (ECOA ) Collaboration Programme: Architecture Specification Part 2: Definitions European Component Oriented Architecture (ECOA ) Collaboration Programme: Part 2: Definitions BAE Ref No: IAWG-ECOA-TR-012 Dassault Ref No: DGT 144487-D Issue: 4 Prepared by BAE Systems (Operations) Limited

More information

Tools to Develop New Linux Applications

Tools to Develop New Linux Applications Tools to Develop New Linux Applications IBM Software Development Platform Tools for every member of the Development Team Supports best practices in Software Development Analyst Architect Developer Tester

More information

Bridging the Generation Gap: From Work Tasks to User Interface Designs

Bridging the Generation Gap: From Work Tasks to User Interface Designs Bridging the Generation Gap: From Work Tasks to User Interface Designs Stephanie Wilson and Peter Johnson Department of Computer Science, Queen Mary and Westfield College, University of London, Mile End

More information

Designing for Multimedia

Designing for Multimedia 1 ing for Multi Phil Gray Outline What s Special about Multi? A Method Based on the City Method Developed by Alistair Sutcliffe and Stephanie Wilson Evaluation 2 What s Special About Multi? Rich forms

More information

Evaluation Checklist Data Warehouse Automation

Evaluation Checklist Data Warehouse Automation Evaluation Checklist Data Warehouse Automation October 2017 General Principles Requirement Question Ajilius Response Primary Deliverable Is the primary deliverable of the project a data warehouse, or is

More information

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE Andrei Kirshin, Dany Moshkovich, Alan Hartman IBM Haifa Research Lab Mount Carmel, Haifa 31905, Israel E-mail: {kirshin, mdany, hartman}@il.ibm.com

More information

ODMG 2.0: A Standard for Object Storage

ODMG 2.0: A Standard for Object Storage Page 1 of 5 ODMG 2.0: A Standard for Object Storage ODMG 2.0 builds on database, object and programming language standards to give developers portability and ease of use by Doug Barry Component Strategies

More information

Research Placement Technical Report Cross-Platform OpenGL Shader Authoring

Research Placement Technical Report Cross-Platform OpenGL Shader Authoring Research Placement Technical Report Cross-Platform OpenGL Shader Authoring Matthew O'Loughlin 2 nd June, 2012 Supervisor: Dr. Christian Sandor Introduction During my time working with the Magic Vision

More information

JOURNAL OF OBJECT TECHNOLOGY Online at Published by ETH Zurich, Chair of Software Engineering. JOT, 2002

JOURNAL OF OBJECT TECHNOLOGY Online at  Published by ETH Zurich, Chair of Software Engineering. JOT, 2002 JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering. JOT, 2002 Vol. 1, No. 2, July-August 2002 Representing Design Patterns and Frameworks in UML Towards

More information

WPS Workbench. user guide. "To help guide you through using the WPS user interface (Workbench) to create, edit and run programs"

WPS Workbench. user guide. To help guide you through using the WPS user interface (Workbench) to create, edit and run programs WPS Workbench user guide "To help guide you through using the WPS user interface (Workbench) to create, edit and run programs" Version: 3.1.7 Copyright 2002-2018 World Programming Limited www.worldprogramming.com

More information

SUIT Context Sensitive Evaluation of User Interface Development Tools

SUIT Context Sensitive Evaluation of User Interface Development Tools SUIT Context Sensitive Evaluation of User Interface Development Tools Joanna Lumsden 1 and Philip Gray Department of Computing Science, University of Glasgow 17 Lilybank Gardens, Glasgow, G12 8RZ {jo,

More information

A Process-Oriented Interactive Design Environment for Automatic User-Interface Adaptation

A Process-Oriented Interactive Design Environment for Automatic User-Interface Adaptation INTERNATIONAL JOURNAL OF HUMAN COMPUTER INTERACTION, 20(2), 79 116 Copyright 2006, Lawrence Erlbaum Associates, Inc. A Process-Oriented Interactive Design Environment for Automatic User-Interface Adaptation

More information

Human-Computer Interaction IS4300

Human-Computer Interaction IS4300 Human-Computer Interaction IS4300 1 Ethnography Homework I3 2 1 Team Projects User analysis. Identify stakeholders (primary, secondary, tertiary, facilitating) For Primary Stakeholders Demographics Persona(s)

More information

Collaborative Framework for Testing Web Application Vulnerabilities Using STOWS

Collaborative Framework for Testing Web Application Vulnerabilities Using STOWS Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology ISSN 2320 088X IMPACT FACTOR: 5.258 IJCSMC,

More information

The Corticon Rule Modeling Methodology. A Case Study. Mortgage Approval

The Corticon Rule Modeling Methodology. A Case Study. Mortgage Approval The Corticon Rule Modeling Methodology A Case Study Mortgage Approval By Mike Parish Contents Table Of Figures... 4 The Business Problem... 6 Basic Rule Modeling... 6 Identify the Business Decision(s)

More information

Design Pattern and Software Architecture: IV. Design Pattern

Design Pattern and Software Architecture: IV. Design Pattern Design Pattern and Software Architecture: IV. Design Pattern AG Softwaretechnik Raum E 3.165 Tele.. 60-3321 hg@upb.de IV. Design Pattern IV.1 Introduction IV.2 Example: WYSIWYG Editor Lexi IV.3 Creational

More information

Requirements Engineering for Enterprise Systems

Requirements Engineering for Enterprise Systems Association for Information Systems AIS Electronic Library (AISeL) AMCIS 2001 Proceedings Americas Conference on Information Systems (AMCIS) December 2001 Requirements Engineering for Enterprise Systems

More information

Oracle Warehouse Builder 10g Release 2 What is an Expert?

Oracle Warehouse Builder 10g Release 2 What is an Expert? Oracle Warehouse Builder 10g Release 2 What is an Expert? May 2006 Note: This document is for informational purposes. It is not a commitment to deliver any material, code, or functionality, and should

More information

Semi-automatic user interface generation considering pointing granularity

Semi-automatic user interface generation considering pointing granularity Proceedings of the 2009 IEEE International Conference on Systems, Man, and Cybernetics San Antonio, TX, USA - October 2009 Semi-automatic user interface generation considering pointing granularity Sevan

More information

Automatic Generation of Workflow Provenance

Automatic Generation of Workflow Provenance Automatic Generation of Workflow Provenance Roger S. Barga 1 and Luciano A. Digiampietri 2 1 Microsoft Research, One Microsoft Way Redmond, WA 98052, USA 2 Institute of Computing, University of Campinas,

More information

Evolving SQL Queries for Data Mining

Evolving SQL Queries for Data Mining Evolving SQL Queries for Data Mining Majid Salim and Xin Yao School of Computer Science, The University of Birmingham Edgbaston, Birmingham B15 2TT, UK {msc30mms,x.yao}@cs.bham.ac.uk Abstract. This paper

More information

Tools for Remote Web Usability Evaluation

Tools for Remote Web Usability Evaluation Tools for Remote Web Usability Evaluation Fabio Paternò ISTI-CNR Via G.Moruzzi, 1 56100 Pisa - Italy f.paterno@cnuce.cnr.it Abstract The dissemination of Web applications is enormous and still growing.

More information

HyperFrame - A Framework for Hypermedia Authoring

HyperFrame - A Framework for Hypermedia Authoring HyperFrame - A Framework for Hypermedia Authoring S. Crespo, M. F. Fontoura, C. J. P. Lucena, D. Schwabe Pontificia Universidade Católica do Rio de Janeiro - Departamento de Informática Universidade do

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

More information

Coral: A Metamodel Kernel for Transformation Engines

Coral: A Metamodel Kernel for Transformation Engines Coral: A Metamodel Kernel for Transformation Engines Marcus Alanen and Ivan Porres TUCS Turku Centre for Computer Science Department of Computer Science, Åbo Akademi University Lemminkäisenkatu 14, FIN-20520

More information